1.本公开属于智能运维技术相关领域,尤其涉及一种基于深度学习的指针式仪表智能识别方法及系统。
背景技术:2.本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
3.目前,指针式仪表被广泛应用于工农业生产、科学计数、电力计量、日常生活等各个方面,现有方法多采用巡检机器人或固定点摄像机来代替人工对仪表进行读数获取,克服人工巡检面临的工作量大、危险系数高、效率低和可靠性差等问题,以保障仪表所监测设备的安全运行。以变电站为例,其指针式仪表的识别多数采用模式识别方法进行检测识别。
4.发明人发现,当前研究人员虽然针对指针式仪表的识别提供了一系列的解决方案,但是现有方案中仍然存在以下问题:
5.(1)室外复杂应用场景下,受光照、水雾、油污等因素的影响,采集的图像数据存在模糊、灰暗、过亮等问题,继而导致模式识别方法的准确识别率较低;
6.(2)现场应用环境下,指针式仪表的种类繁多,指针式仪表的指针大小粗细颜色不尽相同,继而不同指针式仪表需要不同的模式识别方法;
7.(3)深度学习训练的模型需要足量的样本数据,实际中每一类的指针仪表的数据很难达到数量上的均衡,继而导致训练的深度学习模型只对某一种指针式仪表的正确识别率较高;同时,现场应用环境下指针式仪表的种类较多,指针形状、量程、指针颜色等都不尽相同,单模型难以做到每一种指针式仪表的识别率都比较高,另外多模型的话又对硬件配置要求较高,从缩小成本实际应用的角度上,单纯的深度学习不适合现场部署应用。同时,因现场应用环境下的指针式仪表种类繁多,且数量分布及其不平衡,即现场某种指针式仪表只有一块,进而导致样本很少,深度学习模型对该类仪表的识别准确度比较低。
技术实现要素:8.本公开为了解决上述问题,提供了一种基于深度学习的指针式仪表智能识别方法及系统,所述方案有效克服了复杂环境下光照、水雾、油污等因素的干扰,实现多种类指针式仪表检测识别的全覆盖,有效提升了指针式仪表的正确识别率,以较低的硬件成本满足现场环境的实际应用要求,确保巡检任务的高质量完成,提升智能运维能力。
9.根据本公开实施例的第一个方面,提供了一种基于深度学习的指针式仪表智能识别方法,包括:
10.获取待识别的指针式仪表图像;
11.对所述指针式仪表图像及其对应的模板图像进行特征匹配,获得映射关系;
12.基于预先训练的指针区域识别模型及待识别的指针式仪表图像,获得指针区域;
13.基于所述指针区域的中心点位置及仪表圆心位置,以单位角度上各像素的像素值
之和最大为目标,确定指针方向;
14.基于所述映射关系及指针方向,确定当前指针式仪表的准确读数。
15.进一步的,所述模板图像为针对每种待检测识别的指针式仪表分别配置模板图像,并对图像仪表圆心的位置、圆盘大小以及仪表量程刻度信息进行配置。
16.进一步的,所述对所述指针式仪表图像及其对应的模板图像进行特征匹配,具体为:采用sift或surf特征匹配算法对模板图像与待识别图像进行特征匹配,获取二者的匹配关系,基于所述匹配关系,获得模板图像与待检测识别图像中圆心、圆盘和仪表刻度的对应关系。
17.进一步的,所述以单位角度上各像素的像素值之和最大为目标,确定指针方向,具体为:获取指针区域的中心位置坐标,根据指针区域中心位置坐标与圆心的位置坐标确定局部指针方向的搜索范围,在所述指针方向搜索范围内顺序遍历获取每一单位角度上所有像素点的像素值之和,选择像素值之和最大的角度方向作为指针方向。
18.进一步的,基于所述映射关系及指针方向,确定当前指针式仪表的准确读数,具体为:基于模板图像与待检测识别图像中圆心、仪表刻度的映射关系和指针方向角度获取指针式仪表的准确读数。
19.根据本公开实施例的第二个方面,提供了一种基于深度学习的指针式仪表智能识别系统,包括:
20.数据获取单元,其用于获取待识别的指针式仪表图像;
21.映射关系确定单元,其用于对所述指针式仪表图像及其对应的模板图像进行特征匹配,获得映射关系;
22.指针区域确定单元,其用于基于预先训练的指针区域识别模型及待识别的指针式仪表图像,获得指针区域;
23.指针方向确定单元,其用于基于所述指针区域的中心点位置及仪表圆心位置,以单位角度上各像素的像素值之和最大为目标,确定指针方向;
24.读数获取单元,其用于基于所述映射关系及指针方向,确定当前指针式仪表的准确读数。
25.根据本公开实施例的第三个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种基于深度学习的指针式仪表智能识别方法。
26.根据本公开实施例的第四个方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种基于深度学习的指针式仪表智能识别方法。
27.与现有技术相比,本公开的有益效果是:
28.(1)本公开提供了一种基于深度学习的指针式仪表智能识别方法,所述方案有效克服了复杂环境下光照、水雾、油污等因素的干扰,实现多种类指针式仪表检测识别的全覆盖,有效提升了指针式仪表的正确识别率,以较低的硬件成本满足现场环境的实际应用要求,确保巡检任务的高质量完成,提升智能运维能力。
29.(2)所述方案在训练集的构建上通过不同方式采集现场应用复杂环境下所有的指针式仪表图像,并且从多种背景、多种角度、不同距离、不同自然环境下对指针式仪表进行
图像采集,以获取不同背景、不同角度、不同比例,不同光照下的样本数据,有效保证训练数据集的丰富度;同时,对数量较少的指针式仪表种类通过数据扩展的方式增加其样本数量,最终达到每种指针式仪表图像数量基本一致。通过上述训练集训练的模型能够克服室外复杂环境下光照、水雾、油污等因素的干扰,针对模糊、灰暗、过亮等仪表图像也能达到较高精度的识别,且保证了模型对于不同种类指针式仪表的适用性。
30.(3)本公开所述方案针对每种类型的指针式仪表分别设置模板图像,并通过模板图像与待识别图像之间的映射关系及待识别图像的指针方向,确定当前指针式仪表的准确读数;所述方案能实现多种类指针式仪表检测识别的全覆盖;同时,该算法具有较好的鲁棒性;对硬件配置的要求较低,便于现场部署应用。
31.本公开附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
32.构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
33.图1为本公开实施例一中所述的利用labelimg标注工具进行指针区域标注的指针式仪表图像示意图;
34.图2为本公开实施例一中所述的基于深度学习的指针式仪表智能识别方法流程图。
具体实施方式
35.下面结合附图与实施例对本公开做进一步说明。
36.应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
37.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
38.在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
39.实施例一:
40.本实施例的目的是提供一种基于深度学习的指针式仪表智能识别方法。
41.一种基于深度学习的指针式仪表智能识别方法,包括:
42.获取待识别的指针式仪表图像;
43.对所述指针式仪表图像及其对应的模板图像进行特征匹配,获得映射关系;
44.基于预先训练的指针区域识别模型及待识别的指针式仪表图像,获得指针区域;
45.基于所述指针区域的中心点位置及仪表圆心位置,以单位角度上各像素的像素值之和最大为目标,确定指针方向;
46.基于所述映射关系及指针方向,确定当前指针式仪表的准确读数。
47.进一步的,所述模板图像为针对每种待检测识别的指针式仪表分别配置模板图像,并对图像仪表圆心的位置、圆盘大小以及仪表量程刻度信息进行配置。
48.进一步的,所述对所述指针式仪表图像及其对应的模板图像进行特征匹配,具体为:采用sift或surf特征匹配算法对模板图像与待识别图像进行特征匹配,获取二者的匹配关系,基于所述匹配关系,获得模板图像与待检测识别图像中圆心、圆盘和仪表刻度的对应关系。
49.进一步的,所述指针区域识别模型采用深度学习模型,其训练过程中采用的训练集包括不同环境条件下采集的不同种类的指针式仪表图像。
50.进一步的,所述指针区域识别模型输出指针区域的矩形区域范围,通过矩形区域的四个顶点进行表示。
51.进一步的,所述以单位角度上各像素的像素值之和最大为目标,确定指针方向,具体为:获取指针区域的中心位置坐标,根据指针区域中心位置坐标与圆心的位置坐标确定局部指针方向的搜索范围,在所述指针方向搜索范围内顺序遍历获取每一单位角度上所有像素点的像素值之和,选择像素值之和最大的角度方向作为指针方向。
52.进一步的,基于所述映射关系及指针方向,确定当前指针式仪表的准确读数,具体为:基于模板与待检测识别图像中圆心、仪表刻度的映射关系和指针方向角度获取指针式仪表的准确读数。
53.具体的,为了便于理解,以下结合附图及具体实现过程上对本公开所述方案进行详细说明(本实施例中以变电站内指针式仪表的识别为例):
54.步骤1:图像数据采集,通过不同方式采集变电站室外复杂环境下所有的指针式仪表图像,每一种指针式仪表图像数量尽量多,并且从多种背景、多种角度、不同距离、不同自然环境下对指针式仪表进行图像采集,以获取不同背景、不同角度、不同比例,不同光照下的样本数据;有效保证训练数据集的丰富度。
55.步骤2:图像数据预处理及扩充,对收集到的指针式仪表图像数据进行预处理,删除不可用的图像数据(严重模糊、严重虚焦等人眼无法识别的图像数据);然后对指针式仪表图像数据进行分类,统计每一类指针式仪表图像数量,对数量较少的种类通过数据扩展的方式增加样本数量,最终达到每种指针式仪表图像数量基本一致。
56.其中,所述数据扩展方式包括对原始图像进行旋转不同角度、反转、放缩、适当扭曲、加噪等多种操作,尽可能保证不同类别样本数量相近。
57.进一步的,所述对指针式仪表图像数据进行分类,可采用手动分类或自动化分类,其分类标准可以按照指针式仪表种类进行分类,所述自动化分类可以采用神经网络模型进行分类,所述神经网络模型可采用卷积神经网络(cnn)、前馈神经网络(bp)等。
58.步骤3:对待检测识别的指针式仪表配置模板图像,并配置仪表圆心、圆盘、仪表刻度信息;
59.对待检测识别的每种类型指针式仪表分别配置模板图像(即标准模板图像,可从采集的数据图像中人工选择拍摄质量较好的图像,即人眼能够看清指针读数为准),预先将所述模板图像仪表圆心的位置信息、圆盘大小信息、仪表量程刻度信息(包括刻度读数数值及其在笛卡尔坐标系下的与坐标轴之间的偏角大小)配置好,记录在数据库中,用于在实际检测识别时进行使用。
60.步骤4:利用sift/surf特征匹配算法,获取样本中每一幅待检测识别图像的特征,通过匹配算法获取样本中每一幅待检测识别图像中仪表区域图像,最终获得模型训练的样本集;
61.步骤5:利用随机算法从每一种指针式仪表图像中选择适当数量的图像作为测试集,剩下的作为训练集;最后利用labelimg标注工具对训练集中的指针区域进行手工标注,如图1展示了手工标注结果示意图;
62.步骤6:基于darknet及已标注好的训练集进行深度学习模型的训练,获得训练好的模型和权重;对于获得的模型利用测试集测试模型效果,根据测试效果,对训练数据和darknet模型的超参数等进行多次调整和模型再训练,从中选择检测识别效果最好的模型作为最终的指针区域识别模型;
63.步骤7:对待识别图像及其对应的模板图像进行预处理,并利用sift(scale-invariant feature transform)或surf(speeded up robust feature)(本实施例中采用sift方法)特征匹配算法对模板图像与待识别图像进行匹配,获得二者的匹配关系,基于所述匹配关系得到模板图像与待检测识别图像中圆心、圆盘和仪表刻度的对应关系;
64.其中,确定待识别图像对应的模板图像的方法为:通过图像匹配算法提取所有模板图像和待识别图像的图像特征;进行特征匹配;计算图像匹配度,选择匹配度最高的模板图像作为待识别图像对应的模板图像。
65.进一步的,已知模板图像中圆心的位置信息、圆盘大小信息、仪表量程刻度信息,故可以根据模板图像的特征点及特征向量的求解结果获得所需特定位置(即圆心的位置信息、圆盘大小信息、仪表量程刻度信息)的特征点及其特征向量,同时,基于模板图像与待检测识别图像的匹配关系,能够获得待检测识别图像中圆心、仪表刻度的对应特征点。
66.步骤8:利用训练好的深度学习模型检测待识别图像,获取待识别图像中的指针区域;当检测出的指针区域多于一个,则采用目标指针区域筛选方法对其进行筛选,以获取最优最准确的一个仪表指针区域,其中,所述指针区域筛选方法具体为:计算不同指针区域中心与仪表圆心间的距离,选择距离最小的指针区域作为最优的仪表指针区域。
67.步骤9:利用指针区域的四个顶点坐标信息(即如图1所示的矩形框的四个顶点)获取中心位置坐标,根据指针区域中心位置坐标与圆心的位置坐标确定局部指针方向的搜索方式及范围,在指针方向搜索范围内顺序遍历获取每一单位角度上所有像素点的像素值之和,选择像素值之和最大的角度方向作为指针方向。
68.具体的,通过检测出的指针区域的中心坐标与圆心坐标比较(本实施例中采用笛卡尔坐标系),能够判断出指针区域的中心坐标位于以圆心所在坐标系的哪一个象限或者哪一个坐标轴上,据此能够确定指针方向的局部搜索方式(基于确定的矩形范围在所述坐标轴中所处象限的角度范围)和范围(即中心坐标与圆心坐标组成的矩形范围),基于利用指针区域识别模型获得的指针区域,通过确定所述局部范围,能够缩小指针位置及指针指向刻度的搜索范围,通过缩小搜索范围,进而提高检测效率。
69.进一步的,在搜索过程中,在所述局部范围图像内按照预设方向(如以圆心位置为中心逆时针或顺时针方向)逐单位角度(所述单位角度可根据实际需求进行设定)确定每一单位角度上所有像素点的像素值之和,选择像素值之和最大的角度方向作为指针方向。
70.步骤10:基于模板图像与待检测识别图像中圆心、仪表刻度的关系和指针方向角
度获取指针式仪表的准确读数。
71.具体的,基于指针方向角度值及所述映射关系,从所述模板图像中查询同一指针方向角度的刻度位置,并基于该刻度位置的读数数值,确定待检测识别图像的针式仪表读数。
72.实施例二:
73.本实施例的目的是一种基于深度学习的指针式仪表智能识别系统。
74.一种基于深度学习的指针式仪表智能识别系统,包括:
75.数据获取单元,其用于获取待识别的指针式仪表图像;
76.映射关系确定单元,其用于对所述指针式仪表图像及其对应的模板图像进行特征匹配,获得映射关系;
77.指针区域确定单元,其用于基于预先训练的指针区域识别模型及待识别的指针式仪表图像,获得指针区域;
78.指针方向确定单元,其用于基于所述指针区域的中心点位置及仪表圆心位置,以单位角度上各像素的像素值之和最大为目标,确定指针方向;
79.读数获取单元,其用于基于所述映射关系及指针方向,确定当前指针式仪表的准确读数。
80.在更多实施例中,还提供:
81.一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例一中所述的方法。为了简洁,在此不再赘述。
82.应理解,本实施例中,处理器可以是中央处理单元cpu,处理器还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic,现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
83.存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
84.一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一中所述的方法。
85.实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
86.本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
87.上述实施例提供的一种基于深度学习的指针式仪表智能识别方法及系统可以实
现,具有广阔的应用前景。
88.以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。