CN114743189A - 指针式仪表读数识别方法、装置、电子设备及存储介质 - Google Patents
指针式仪表读数识别方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114743189A CN114743189A CN202210408478.2A CN202210408478A CN114743189A CN 114743189 A CN114743189 A CN 114743189A CN 202210408478 A CN202210408478 A CN 202210408478A CN 114743189 A CN114743189 A CN 114743189A
- Authority
- CN
- China
- Prior art keywords
- image
- detected
- pointer
- feature data
- matching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000013135 deep learning Methods 0.000 claims abstract description 50
- 239000011159 matrix material Substances 0.000 claims description 83
- 238000012545 processing Methods 0.000 claims description 56
- 230000006870 function Effects 0.000 claims description 22
- 230000009467 reduction Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 238000001914 filtration Methods 0.000 claims description 11
- 238000007781 pre-processing Methods 0.000 claims description 11
- 238000013528 artificial neural network Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims description 8
- 238000010606 normalization Methods 0.000 claims description 7
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 4
- 238000012549 training Methods 0.000 abstract description 27
- 230000008569 process Effects 0.000 abstract description 22
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000001514 detection method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 8
- 229920001651 Cyanoacrylate Polymers 0.000 description 7
- 239000004830 Super Glue Substances 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000003889 chemical engineering Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及人工智能技术领域,提供一种指针式仪表读数识别方法、装置、电子设备及存储介质,该方法包括:获取待测图像,并将待测图像输入到深度学习网络模型中,得到多个关键点的特征数据;其中,每三个关键点构建一段圆形弧线,每两段半径不同、但圆心重合的圆形弧线构成包含待测图像的指针仪表刻度的弧形区域;计算待测图像上每一个关键点的特征数据与待测图像对应的模板图像上关键点对应的特征数据的匹配度,并基于匹配度得到包含指针的弧形区域,识别弧形区域中的指针读数。这样,可以直接识别出待测图像的关键点的特征数据,进而精准识别出指针读数,提高识别的准确性,且可以简化模型的训练过程,训练模型识别关键点即可。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种指针式仪表读数识别方法、装置、电子设备及存储介质。
背景技术
随着科学技术、计算机技术、深度学习等多种技术的不断完善和发展,通过图像处理技术的方法对仪表进行读数识别逐渐用于实际应用中,而指针式仪表具有结构简单,抗潮湿,成本低,精度高,抗高温以及抗电磁干扰等优势,因此,指针式仪表广泛应用于机械、医疗、军事、土木、化工等各个领域。
现有技术中,可以通过将表盘区域图像输入到预训练的表计检测模型中得到读数识别目标图像,进一步识别目标图像得到表计的仪表读数。
但是,上述方法需要大量的训练样本去训练表计检测模型,耗费大量时间,且需要检测的表盘类型越多,训练数据越多,表计检测模型越复杂,使得检测的准确性降低。
发明内容
本申请提供一种指针式仪表读数识别方法、装置、电子设备及存储介质,可以简化仪表读数识别模型的训练过程,节省时间,还可以提高检测的准确性。
第一方面,本申请提供一种指针式仪表读数识别方法,所述方法包括:
获取待测图像,并将所述待测图像输入到深度学习网络模型中,得到多个关键点的特征数据;其中,每三个关键点构建一段圆形弧线,每两段半径不同、但圆心重合的圆形弧线构成包含所述待测图像的指针仪表刻度的弧形区域;
计算所述待测图像上每一个关键点的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度,并基于所述匹配度得到包含指针的弧形区域,识别所述弧形区域中的指针读数。
可选的,所述关键点的特征数据包括特征点数据和描述子数据;将所述待测图像输入到深度学习网络模型中,得到多个关键点的特征数据,包括:
将所述待测图像和所述待测图像对应的模板图像输入到深度学习网络模型中进行降维处理,得到所述待测图像对应的第一数据和所述模板图像对应的第二数据;
利用损失函数对所述第一数据和所述第二数据进行处理,得到所述待测图像和所述模板图像各自对应的多个特征点数据和多个描述子数据;所述特征点数据包括关键点的位置坐标;所述描述子数据包括关键点的方向、对应的半径、对应的像素点。
可选的,计算所述待测图像上每一个关键点的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度,包括:
将所述待测图像上每一个关键点的特征数据输入到降噪自动编码器中,筛除所述特征数据中的噪声数据;
分别计算筛除噪声数据后的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度。
可选的,基于所述匹配度得到包含指针的弧形区域,识别所述弧形区域中的指针读数,包括:
基于所述待测图像上每一个关键点的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度,依次查找所述待测图像对应的匹配特征数据;
将所述匹配特征数据映射到所述待测图像中,得到包含指针的弧形区域,并利用图像垂直投影法定位所述弧形区域中指针位置,识别对应的指针读数。
可选的,基于所述待测图像上每一个关键点的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度,依次查找所述待测图像对应的匹配特征数据,包括:
针对所述待测图像上每一关键点,获取所述关键点的特征数据与所述模板图像上关键点对应的特征数据的多个匹配度,并基于所述多个匹配度中的最大值确定目标特征数据;
将所述待测图像上每一关键点对应的目标特征数据和所述模板图像上关键点对应的特征数据输入到注意力图神经网络中,得到所述待测图像对应的第一特征矩阵和所述模板图像对应的第二特征矩阵;
计算所述第一特征矩阵与所述第二特征矩阵的匹配得分,并基于所述匹配得分依次查找匹配特征数据。
可选的,计算所述第一特征矩阵与所述第二特征矩阵的匹配得分,并基于所述匹配得分依次查找匹配特征数据,包括:
计算所述第一特征矩阵与所述第二特征矩阵的内积,得到N组匹配得分集,每组匹配得分集包括M个匹配得分;所述第一特征矩阵为N行,所述第二特征矩阵为M列;
选取依次查找所述N组匹配得分集中最大值对应的特征数据,并基于过滤通道对查找到的N个特征数据进行过滤,用于滤出与所述模板图像上不匹配的关键点对应的数据;
对过滤后的N个特征数据进行归一化处理,得到最优匹配特征数据。
可选的,将所述匹配特征数据映射到所述待测图像中,得到包含指针的弧形区域,包括:
计算所述匹配特征数据的匹配对信息;所述匹配对信息为与模板图像上关键点匹配好的所述待测图像上的关键点的位置坐标与匹配得分;
基于所述匹配对信息计算单应矩阵,所述单应矩阵用于投影到对应的模板图像;
将所述单应矩阵与所述模板图像上关键点对应的坐标进行仿射变换,得到包含指针的弧形区域。
可选的,利用图像垂直投影法定位所述弧形区域中指针位置,识别对应的指针读数,包括:
对所述弧形区域进行预处理,并将预处理后的弧形区域进行极坐标转换,得到矩形区域;所述预处理用于去除干扰数据;
对所述矩形区域进行二值化处理,并通过垂直投影法获取经过二值化处理后对应的投影指针的位置坐标;
基于所述位置坐标得到指针位置,并基于量程范围识别所述指针位置对应的指针读数;所述量程范围用于标识位于不同区域对应的指针读数,每一量程范围对应有指针读数。
第二方面,本申请提供一种指针式仪表读数装置,所述装置包括:
获取模块,用于获取待测图像,并将所述待测图像输入到深度学习网络模型中,得到多个关键点的特征数据;其中,每三个关键点构建一段圆形弧线,每两段半径不同、但圆心重合的圆形弧线构成包含所述待测图像的指针仪表刻度的弧形区域;
处理模块,用于计算所述待测图像上每一个关键点的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度,并基于所述匹配度得到包含指针的弧形区域,识别所述弧形区域中的指针读数。
第三方面,本申请提供一种电子设备,包括:处理器,存储器以及计算机程序;其中,所述计算机程序被存储在所述存储器中,并且被配置为由所述处理器执行,所述计算机程序包括用于执行如第一方面中任一项所述的指针式仪表读数识别方法的指令。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面中任一项所述的指针式仪表读数识别方法。
综上所述,本申请提供一种指针式仪表读数识别方法、装置、电子设备及存储介质,可以通过获取待测图像,并将待测图像输入到深度学习网络模型中,得到多个关键点的特征数据;其中,每三个关键点可以构建一段圆形弧线,每两段半径不同、但圆心重合的圆形弧线可以构成包含待测图像的指针仪表刻度的弧形区域;进一步的,计算待测图像上每一个关键点的特征数据与待测图像对应的模板图像上关键点对应的特征数据的匹配度,并基于匹配度得到包含指针的弧形区域,识别弧形区域中的指针读数。这样,可以直接识别出待测图像的关键点的特征数据,进而精准识别出指针读数,提高识别的准确性,且可以简化模型的训练过程,不需要大量的训练样本训练模型,只需要训练模型可以识别关键点即可。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种指针式仪表读数识别方法的流程示意图;
图3为本申请实施例提供的SuperPoint网络处理图像的架构示意图;
图4为本申请实施例提供的Denoising Autoencoder网络处理流程示意图;
图5为本申请实施例提供的SuperGlue网络处理流程示意图;
图6为本申请实施例提供的一种指针定位过程示意图;
图7为本申请实施例提供的一种具体的指针式仪表读数识别方法的流程示意图;
图8为本申请实施例提供的一种指针式仪表读数识别装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一设备和第二设备仅仅是为了区分不同的设备,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
下面结合附图对本申请实施例进行介绍。图1为本申请实施例提供的一种应用场景示意图,本申请提供的一种指针式仪表读数识别方法可以应用于如图1所示的应用场景中。该应用场景包括:指针式仪表101,摄像头102,服务器103,终端设备104和用户105。在该场景下,摄像头102可以拍摄指针式仪表101的表盘图像,并将拍摄到的表盘图像发送给服务器103进行处理,进一步的,服务器103可以接收表盘图像输入到深度学习网络模型并进行仪表表盘读数识别,进一步的,服务器103可以将识别出的结果发送给具有显示屏幕的终端设备104,终端设备104接收该识别出的结果并在屏幕上展示给用户105进行查看。
可以理解的是,摄像头102可以按照预设的周期拍摄指针式仪表101的表盘图像,也可以拍摄其他的指针式仪表的表盘图像,本申请实施例对输入到深度学习网络模型中表盘图像的数量不作限定,但是输入到模型中的表盘图像会依次进行处理。
需要说明的是,终端设备104可以是大屏(或称为智慧屏)、手机、平板电脑、智能手表、智能手环、智能眼镜或其他具备显示屏幕的终端设备等,本发明实施例对此不作具体限定。
现有技术中,通过人工手动记录的方式识别表计的仪表读数,由于在仪表数量巨大且仪表种类繁多的背景下,且在条件恶劣、人员稀少的环境下,人工介入存在有限性,因为指针仪表种类繁多、安装位置复杂,人工抄表读数需要耗费大量的人力、物力。同时,人工抄表过程人员容易疲劳出现漏检、错检的情况。
所以,通常可以采取通过将表盘区域图像输入到预训练的表计检测模型中得到读数识别目标图像,进一步识别目标图像得到表计的仪表读数。
但是,上述方法中预训练的表计检测模型需要大量的训练样本来训练才可以使用,耗费大量时间,且需要检测的表盘类型越多,训练数据越多,表计检测模型越复杂,使得检测的准确性降低。
因此,本申请实施例提供了一种指针式仪表读数识别方法,可以通过将待测图像输入到深度学习网络模型中,进而可以在待测图像的表盘区域提取多个关键点构成包含待测图像的指针仪表刻度的弧形区域,进一步的,与模板图像进行匹配,进而识别出弧形区域中的指针读数,有效解决了表盘特征提取过程中稳定性不足的缺陷,还极大地提高了特征匹配的准确性,以及检测的速度。
可以理解的是,本申请提供的深度学习网络模型在训练过程只需要采用虚拟的三维物体作为深度学习网络模型训练的数据集,训练深度学习网络模型具备提取角点功能即可,并不需要大量的包含表盘图像的训练样本去训练模型,节省训练时间。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
示例性的,图2为本申请实施例提供的一种指针式仪表读数识别方法的流程示意图;如图2所示,所述方法可以包括:
S201、获取待测图像,并将所述待测图像输入到深度学习网络模型中,得到多个关键点的特征数据;其中,每三个关键点构建一段圆形弧线,每两段半径不同、但圆心重合的圆形弧线构成包含所述待测图像的指针仪表刻度的弧形区域。
本申请实施例中,深度学习指的是学习样本数据的内在规律和表示层次,可以让机器能够像人一样具有分析学习能力,能够识别文字、图像等数据,具体的,深度学习网络模型可以有卷积神经网络(Convolutional Neural Network)模型、贝叶斯概率生成模型(Dynamic Bayes Network,DBN)和堆栈自编码网络(stacked auto-encoder network)模型等,可以用于自动从数据中提取特征,本申请实施例对深度学习网络模型对应的具体模型不作限定。
在本步骤中,关键点可以为待测图像中表盘刻度的起始位置、终止位置、表盘圆心位置、待测图像的半径缩小预定义大小后表盘刻度的起始位置、终止位置、表盘圆心位置等,其中,预定义大小可以视不同表盘特征而定,使得半径缩小后起始位置、终止位置、表盘圆心位置构成的圆形弧线位于表盘刻度之下且与指针可能移动的所有范围内均有交叉即可,如预定义大小为待测图像表盘半径的十分之一。
具体的,将待测图像输入到深度学习网络模型中,得到多个关键点的过程可以为:以待测图像的表盘圆心为圆心点,以刻度起始点到圆心点的距离为半径,以刻度起始位置作为起点,刻度终止位置作为终点画一段圆弧,即三个关键点构建的一段圆形弧线,选取圆弧的起始点、中间点、终止点作为标注的3个关键点,进一步的,将待测图像的表盘半径缩小十分之一后,以刻度起始位置作为起点,刻度终止位置作为终点画一段圆弧,选取对应半径圆弧上的起始点、中间点、终止点作为标注的另外3个关键点;上述两段半径不同、但圆心重合的圆形弧线可以构成包含待测图像的指针仪表刻度的弧形区域。
可以理解的是,在训练深度学习网络模型时,可以利用上述过程标注表盘图像中的六个关键点,进一步的,可以通过将表盘图像和对应的六个关键点作为训练数据,输入到深度学习网络模型进行训练,其中,训练数据可以为不同类型的表盘图像和对应的六个关键点,多个训练数据构成训练数据集,还可以利用数据增强操作,对每张表盘图像的图片进行随机的旋转和缩放形成新的图片,丰富训练数据集,进而训练深度学习网络模型提取角点的功能。
需要说明的是,本申请实施例对待测图像输入到深度学习网络模型中得到关键点的数量不作具体限定,例如也可以为一条圆形弧线上的4个关键点,另外一条圆形弧线上的3或4个关键点,本申请对此不作具体限定,以上仅是示例说明,三个点为构成一条圆形弧线最少点数,也可以为其他数量的关键点。
在本申请实施例中,关键点的特征数据包括特征点数据和描述子数据,其中,特征点数据用于表征关键点的位置特征信息,可以包括关键点的位置坐标等数据;描述子数据用于表征关键点的数据结构特征信息,可以包括关键点的方向、对应的半径、对应的像素点等数据。
示例性的,在图1的应用场景下,服务器103可以接收摄像头102发送的指针式仪表101的表盘图像,进一步的,将指针式仪表101的表盘图像输入到深度学习网络模型中,可以得到六个关键点的特征数据,如指针式仪表101的表盘图像刻度起始点、中间点、终止点、指针式仪表101的表盘图像半径缩小十分之一后对应的刻度起始点、中间点、终止点的特征数据。
S202、计算所述待测图像上每一个关键点的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度,并基于所述匹配度得到包含指针的弧形区域,识别所述弧形区域中的指针读数。
在本步骤中,模板图像可以指的是待测图像对应的表盘类型在深度学习网络模型中存储的图像,训练过的深度学习网络模型,使得任何待测图像均有对应的模板图像,在获取待测图像对应的模板图像后,便可以知道提取待测图像中哪几个关键点的特征数据,其中,模板图像可以是人为输入的,也可以是将待测图像输入到深度学习网络模型中,可以识别到的,本申请实施例对此不作具体限定。
本申请实施例中,匹配度可以指的是待测图像上每一个关键点的特征数据与待测图像对应的模板图像上关键点对应的特征数据相似度的数据化衡量,通过查找匹配度最高的特征数据对,进而确定待测图像上对应的最优关键点的特征数据;其中,特征数据对指的是待测图像上一个关键点的特征数据与待测图像对应的模板图像上一个关键点对应的特征数据。
可以理解的是,将待测图像输入到深度学习网络模型中,得到多个关键点的特征数据的数量为多组,通过计算每组数据中待测图像上每一个关键点的特征数据与待测图像对应的模板图像上关键点对应的特征数据相似度,找到最优的关键点的特征数据,进而可以确定包含指针的弧形区域。
示例性的,在图1的应用场景下,服务器102在获取到指针式仪表101的表盘图像中多组关键点的特征数据后,每组关键点的特征数据包括六个关键点的特征数据,进一步的,可以计算指针式仪表101的表盘图像上每一个关键点的特征数据与指针式仪表101的表盘图像对应的模板图像上关键点对应的特征数据的匹配度,进一步的,查找匹配度最高的特征数据对,进而确定待测图像上对应的最优六个关键点的特征数据,进而可以由最优六个关键点的特征数据进行映射,构成包含指针的弧形区域,这样,就可以识别弧形区域中的指针读数。
因此,本申请实施例提供一种指针式仪表读数识别方法,可以通过获取待测图像,并将待测图像输入到深度学习网络模型中,得到两段圆形弧线上多个关键点的特征数据;其中,两段圆形弧线的半径不同、但圆心重合,且可以构成包含待测图像的指针仪表刻度的弧形区域;进一步的,通过计算待测图像上每一个关键点的特征数据与待测图像对应的模板图像上关键点对应的特征数据的匹配度,查找每一特征数据对的匹配度确定最优关键点的特征数据,进而得到包含指针的弧形区域,识别弧形区域中的指针读数。这样,可以直接识别出待测图像的关键点的特征数据,进而精准识别出指针读数,提高识别的准确性,且可以简化模型的训练过程,不需要大量的训练样本训练模型,只需要训练模型可以识别关键点即可。
可选的,所述关键点的特征数据包括特征点数据和描述子数据;将所述待测图像输入到深度学习网络模型中,得到多个关键点的特征数据,包括:
将所述待测图像和所述待测图像对应的模板图像输入到深度学习网络模型中进行降维处理,得到所述待测图像对应的第一数据和所述模板图像对应的第二数据;
利用损失函数对所述第一数据和所述第二数据进行处理,得到所述待测图像和所述模板图像各自对应的多个特征点数据和多个描述子数据;所述特征点数据包括关键点的位置坐标;所述描述子数据包括关键点的方向、对应的半径、对应的像素点。
在本步骤中,第一数据可以指的是经过卷积层处理将待测图像的尺寸降低后对应的数据,相应的,第二数据可以指的是经过卷积层处理将模板图像的尺寸降低后对应的数据。
一种可能的实现方式中,获取待测图像和人工输入的所述待测图像对应的模板图像,并将所述待测图像和所述模板图像输入到深度学习网络模型中,得到所述待测图像对应的多个关键点的特征数据和所述模板图像对应的多个关键点的特征数据。
另一种可能的实现方式中,获取待测图像,并将待测图像输入到深度学习网络模型中,可以直接获取到所述待测图像对应的模板图像,进一步的,深度学习网络模型对所述待测图像和所述模板图像进行处理,得到所述待测图像对应的多个关键点的特征数据和所述模板图像对应的多个关键点的特征数据。
具体的,将待测图像和模板图像输入到深度学习网络模型中得到特征点数据和描述子数据的过程可以理解为SuperPoint网络(即全卷积神经网络结构)进行特征提取,得到特征点和描述子的过程,主要包括以下四部分:编码网络(Shared Encoder)、解码网络(Interest Point Decoder)、描述子检测(Descriptor Decoder)、损失函数构造,SuperPoint网络处理待测图像和模板图像的过程类似,在此不重复描述,下面以SuperPoint网络处理待测图像为例进行说明。
示例性的,图3为本申请实施例提供的SuperPoint网络处理图像的架构示意图,如图3所示,SuperPoint网络处理图像的步骤如下:
步骤1:将待测图像(尺寸为H×W)输入SuperPoint网络,经过共享的编码网络进行降维处理,具体的,在待测图像输入SuperPoint网络后,可以利用VGG-style的编码器(encoder)降低图像尺寸,encoder包括卷积层,最大池化(max-pooling)层,以及非线性激活层,进一步的,通过3个max-pooling层将图像大小为H×W的尺寸变成HC=H/8和WC=W/8,经过encoder后,图像由I∈RH×W变为张量其中,H为待测图像的原始图像尺寸,HC降维处理后的尺寸,执行步骤2和步骤3,其中,步骤2和步骤3同时执行。
步骤2:降维处理后的图像经过特征点解码器处理,得到包含特征点的待测图像,具体的,采用子像素卷积(Sub-pixel Convolution)的方法降低计算量以减小模型计算量(子像素卷积),例如:输入张量的维度(即图像的尺寸)是则输出维度为RH×W,65表示原始图像的8x8局部区域,进一步的,经过归一化指数(Softmax)函数对特征点位置进行优化,以及Reshape函数的处理,可以得到更精确的位置信息。
步骤3:降维处理后的图像经过描述子解码器处理,得到包含描述子的待测图像,即进行描述子检测,具体的,首先利用类似于UCN的网络得到一个半稠密的描述子,这样可以减少算法训练内存开销同时减少算法运行时间,进一步的,通过双三次多项式插值(Bi-Cubic Interpolate)得到其余描述子,然后通过L2范数,即欧氏距离(L2-normalizes)归一化描述子得到统一的长度描述,此时,特征维度由变为RH×W×D。
进一步的,利用上述损失函数对包含特征点的待测图像和包含描述子的待测图像进行处理,可以得到待测图像的特征点及描述子,即特征点数据和描述子数据,特征点数据对应的是关键点的位置坐标等数据;描述子数据对应的是关键点的方向、对应的半径、对应的像素点等数据。
因此,本申请实施例中的深度学习网络模型可以结合训练好的SuperPoint网络来提取特征点数据以及描述算子数据,使得提取数据的准确性大大提高。
可选的,计算所述待测图像上每一个关键点的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度,包括:
将所述待测图像上每一个关键点的特征数据输入到降噪自动编码器中,筛除所述特征数据中的噪声数据;
分别计算筛除噪声数据后的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度。
在本步骤中,可以将多个关键点的特征数据,即多个关键点对应的特征点数据及描述子数据经过降噪自动编码器(Denoising Autoencoder)处理,将输入特征数据进行压缩,先编码再解码,进而筛除噪声数据,提取出数据中最具代表性的信息,得到更新后的特征点数据及描述子数据。
其中,Denoising Autoencoder就是在自动编码器(Autoencoder)的基础之上,为了防止过拟合问题而对输入的数据(网络的输入层)加入噪音,使训练过的编码器具有较强的鲁棒性,从而增强深度学习网络模型的泛化能力。例如,可以随机把某些像素从0->1)后送进深度学习网络模型,然后期望可以恢复称没有噪声的原始图像。
具体的,图4为本申请实施例提供的Denoising Autoencoder网络处理流程示意图,如图4所示,以一个关键点的特征数据为例,其中x是原始的关键点的特征数据,Denoising Autoencoder以一定概率把输入层节点的值置为0,从而得到筛除噪音数据的模型输入进一步的,利用现有的自动编码器的处理过程对特征数据进行处理,即经过中间层fθ的处理,得到数据y,数据y经过解码层gθ'解码,输出到n个神经元的输出层,得到数据z,其中,若输入的数据为位向量或者是位概率向量,可以使用交叉熵方法对x进行处理,交叉熵方法的公式表示如下:
示例性的,在图1的应用场景下,服务器102可以将指针式仪表101的表盘图像中每一个关键点的特征数据输入到降噪自动编码器中,筛除特征数据中的噪声数据,由于,服务器102可以获取多组关键点的特征数据,且每组关键点的特征数据包括六个关键点的特征数据,进一步的,分别计算筛除噪声数据后的特征数据与指针式仪表101的表盘图像对应的模板图像上关键点对应的特征数据的匹配度,每组均可以得到6个匹配度。
因此,本申请实施例中的深度学习网络模型可以结合降噪自动编码器筛除噪声数据,从而提高数据处理的鲁棒性。
可选的,基于所述匹配度得到包含指针的弧形区域,识别所述弧形区域中的指针读数,包括:
基于所述待测图像上每一个关键点的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度,依次查找所述待测图像对应的匹配特征数据;
将所述匹配特征数据映射到所述待测图像中,得到包含指针的弧形区域,并利用图像垂直投影法定位所述弧形区域中指针位置,识别对应的指针读数。
本申请实施例中,图像垂直投影法可以指的将地面点沿铅垂线投到水平面上,得到地面点在水平面上的平面位置,构成地面点的相应平面图形的几何投影方式,用于定位图像中的指针位置。
在本步骤中,可以利用基于图卷积神经网络的特征匹配算法(SuperGlue)进行特征匹配,即通过待测图像上每一关键点特征数据与对应的模板图像上关键点的匹配度,依次查找待测图像对应的匹配特征数据,其中,由于每一关键点特征数据有多组,所以每一关键点特征数据与对应的模板图像上关键点的匹配度有多个,进一步的,将匹配特征数据映射到待测图像中,即通过与模板图像上标注好的坐标进行仿射变换,可以将6个关键点映射到待测图像上,可以得到包含指针的弧形区域并扣取,进而利用图像垂直投影法定位到指针位置,最终可以识别得到指针读数。
因此,本申请实施例中的深度学习网络模型可以结合SuperGlue到得到匹配信息,增加了特征匹配的准确性,并结合图像垂直投影法定位指针位置,使得可在复杂背景图案下提取并定位指针区域。
可选的,基于所述待测图像上每一个关键点的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度,依次查找所述待测图像对应的匹配特征数据,包括:
针对所述待测图像上每一关键点,获取所述关键点的特征数据与所述模板图像上关键点对应的特征数据的多个匹配度,并基于所述多个匹配度中的最大值确定目标特征数据;
将所述待测图像上每一关键点对应的目标特征数据和所述模板图像上关键点对应的特征数据输入到注意力图神经网络中,得到所述待测图像对应的第一特征矩阵和所述模板图像对应的第二特征矩阵;
计算所述第一特征矩阵与所述第二特征矩阵的匹配得分,并基于所述匹配得分依次查找匹配特征数据。
在本步骤中,由于待测图像上每一关键点特征数据有多组,如待测图像输入到深度学习网络模型时,可以对应多个旋转角度的图像,所以每一关键点特征数据与对应的模板图像上关键点的匹配度有多个,通过查找每一个关键点与模板图像上关键点计算得到的多个匹配度中的最大值,可以确定目标特征数据,即与对应模板图像上关键点最匹配的待测图像上关键点数据。
本申请实施例中,注意力图神经网络可以指的是通过注意力机制来对邻居节点做聚合操作,以实现对不同邻居权重的自适应分配,可以提高图神经网络模型的表达能力。其中,注意力机制可以特征点的位置以及视觉外观进行处理,可以理解为人类通过来回浏览两个图像试探性筛选匹配关键点,并进行来回检查(如果不是匹配的特征,观察一下周围有没有匹配的更好的点,直到找到匹配点/或没有匹配);注意力机制可以通过主动寻找上下文来增加特征点特异性,这样可以排除一些具有奇异性的匹配,能够提高其特异性。
其中,将目标特征数据和模板图像上关键点对应的特征数据输入到注意力图神经网络中,得到待测图像对应的第一特征矩阵和模板图像对应的第二特征矩阵,目的是提高待测图像对应的特征数据的鲁棒性,通过汇总关键点自身的特征和邻居的特征来生成符合需求的特征数据。
进一步的,通过计算第一特征矩阵与第二特征矩阵对应的匹配得分,并基于匹配得分依次查找匹配特征数据,即最优的特征数据,进而可以确定最终待测图像对应的最优的多个关键点的特征数据,所述最优的多个关键点的特征数据可以用于构成包含指针仪表刻度的弧形区域。
因此,本申请实施例可以选取与模板图像中关键点匹配度高的特征数据,并计算出匹配得分,进而找到最优数据,提高获取数据的准确率。
可选的,计算所述第一特征矩阵与所述第二特征矩阵的匹配得分,并基于所述匹配得分依次查找匹配特征数据,包括:
计算所述第一特征矩阵与所述第二特征矩阵的内积,得到N组匹配得分集,每组匹配得分集包括M个匹配得分;所述第一特征矩阵为N行,所述第二特征矩阵为M列;
选取依次查找所述N组匹配得分集中最大值对应的特征数据,并基于过滤通道对查找到的N个特征数据进行过滤,用于滤出与所述模板图像上不匹配的关键点对应的数据;
对过滤后的N个特征数据进行归一化处理,得到最优匹配特征数据。
在本步骤中,计算第一特征矩阵与第二特征矩阵的内积,即将第一特征矩阵划分为N个行向量,第二特征矩阵划分为M个列向量,这样,待测图像和模板图像分别有M、N个特征,进一步的,分别计算每一个行向量与对应M个列向量的内积,得到M个匹配得分,查找所述M个匹配得分中的最大值对应的关键点的特征数据,依次类推,N个行向量分别进行上述过程,得到N组M个匹配得分,本申请实施例对M、N对应的具体数值不作限定。
本申请实施例中,在计算得到得分矩阵S(第一特征矩阵与第二特征矩阵)的最后一列/行设增加了一层过滤通道(dustbin通道),这样做的作用在于可以滤出错误的匹配点,如空白或额外的特征数据(被阴影或遮挡覆盖住),即实际上该关键点的特征数据在模板图像上没有对应的特征点数据。
结合上述实施例,图5为本申请实施例提供的SuperGlue网络处理流程示意图,如图5所示,SuperGlue网络处理流程如下:步骤1:对于待测图像A和模板图像B,每张图像上都有特征点位置p,以及对应的描述子d,待测图像A和模板图像B分别有M、N个特征,可以表示为以及将待测图像A和模板图像B的局部特征,输入到注意力图神经网络中,得到待测图像A对应的第一特征矩阵和模板图像B对应的第二特征矩阵
具体的,将待测图像A的特征点位置和模板图像B的特征点位置输入到关键点编码器中,将待测图像A的视觉描述子和模板图像B的视觉描述子输入到注意力聚合机制中,这样,特征点位置和描述子会获得更强的特征匹配特异性,所以这里将特征点的位置以及描述子合并成每个特征点ii的初始表示其中,MLP表示多层感知机(Multilayer Perceptron,MLP),用于对低维特征进行升维,上式实际上是将视觉外观以及特征点位置进行了耦合,正因如此,这使得后续的注意力机制能够充分考虑到特征的外观以及位置相似度。
其中,注意力聚合机制包括自注意力(self-attention)和交叉注意力(cross-attention),即在考虑一个单一的完全图时,它的节点是图像中每个特征点,这个图包括两种不同的无向边:一种是“Intra-image edges”(self edge),它连接了来自图像内部特征点;另外一种是“Inter-image edges”(cross edge),它连接本图特征点ii与另外一张图所有特征点,进而构成了该边;这里的self-/cross-attention实际上就是模拟了人类来回浏览匹配的过程,其中self-attention是为了使得特征更加具有匹配特异性,而cross-attention是为了用这些具有特异性的点做图像间特征的相似度比较。
将注意力机制用于特征匹配,注意力机制将self以及cross信息聚合得到mε→i。其中self-edge利用了self-attention,cross-edge利用了cross-attention。类似于数据库检索,若想要查询qi,基于元素的属性即键ki,可以检索到了某些元素的值即其中,注意力权重αij是查询与检索到对象键值相似度的Softmax函数,即
步骤2:基于第一特征矩阵和第二特征矩阵构建分配矩阵P,即每一个关键对应的匹配特征数据构成的矩阵,其中,P1N≤1M和PT1M≤1N。这个分配矩阵可以通过计算一个得分矩阵S∈RM×N来实现,即通过最大化总体得分∑i,jSijPi,j得到这个分配矩阵P,其中要注意的是P是有约束的。
进而得到N组M个匹配得分,依次查找N组M个匹配得分中最大值,进而确定N个特征数据,进一步的,基于图像A上的特征点被分配到图像B上某个特征匹配或者被分配到dustbin通道的原理,这就意味着每个dustbin有N,M个匹配,使得分配矩阵有如下约束:
步骤3:对过滤后的N个特征数据进行归一化处理,即求解最大化总体得分,可由Sinkhorn算法进行求解,即把一个概率分布以最小代价转换成另外一个分布,具体的。对于分配矩阵,先逐行做归一化处理,就是将第一行的每个元素除以第一行每个元素的和,得到新的"第一行";对于每行都做相同的操作;再逐列做归一化。重复以上的两步,并进行部分赋值,最终可以收敛到一个行和为1,列和也为1的匹配特征数据构成的矩阵。
可以理解的是,在SuperGlue网络处理流程过程中,均使用到了Loss损失函数,即图神经网络以及计算匹配度都是可微的,这使得反向传播训练成为可能,而网络训练使用了一种监督学习的方式,即有了匹配的真值(如,由真值相对位姿变换得到的匹配关系),当然也可以获得一些没有匹配的特征点以及当给定真值标签,就可以去最小化分配矩阵负对数似然函数,因此针对原有的Loss函数进行改进:是通过为正对分配更高的权重来平衡损失项,通过修改bin分数的值,在精度和匹配分数之间进行权衡,所使用的Loss函数为:
这样,这个监督学习的目标可以同时最大化精度以及匹配的召回率。
因此,本申请实施例与可以SuperGlue网络相结合,进行特征点的匹配,增加了过滤通道,用于过滤掉图像中阴影及遮挡部分,提高获取数据的准确性。
可选的,将所述匹配特征数据映射到所述待测图像中,得到包含指针的弧形区域,包括:
计算所述匹配特征数据的匹配对信息;所述匹配对信息为与模板图像上关键点匹配好的所述待测图像上的关键点的位置坐标与匹配得分;
基于所述匹配对信息计算单应矩阵,所述单应矩阵用于投影到对应的模板图像;
将所述单应矩阵与所述模板图像上关键点对应的坐标进行仿射变换,得到包含指针的弧形区域。
在本步骤中,计算匹配特征数据的匹配对信息,即可以利用LO-RANSAC算法对得到的匹配特征数据进行提纯,筛选出错误匹配对,进而得到与模板图像上关键点匹配好的待测图像上的关键点的位置坐标与匹配得分等数据。
进一步的,基于计算得到的匹配对信息,可计算得到对应的单应矩阵H,所述单应矩阵用于投影到对应的模板图像,即可以将单应矩阵与模板图像上标注好的坐标进行仿射变换;其中,单应矩阵H可以表示为:
一个单应矩阵H其实就是一个3×3的透视变换矩阵,通过这个矩阵,可以把图像中的点,投影到对应的图像对上去,对应的公式为:
具体的,以6个关键点的特征数据为例,服务器可以将6个关键点的特征数据映射到待测图像上,连接6个点可沿着刻度方向得到弧形区域,进一步的,可以截取得到包含指针的弧形区域,参照附图6中的B图。
因此,本申请实施例可以将关键点对应信息进行映射到图像上,得到包含指针的弧形区域,可以进行识别,提高识别的精度。
可选的,利用图像垂直投影法定位所述弧形区域中指针位置,识别对应的指针读数,包括:
对所述弧形区域进行预处理,并将预处理后的弧形区域进行极坐标转换,得到矩形区域;所述预处理用于去除干扰数据;
对所述矩形区域进行二值化处理,并通过垂直投影法获取经过二值化处理后对应的投影指针的位置坐标;
基于所述位置坐标得到指针位置,并基于量程范围识别所述指针位置对应的指针读数;所述量程范围用于标识位于不同区域对应的指针读数,每一量程范围对应有指针读数。
本申请实施例中,预处理指的是对图像进行灰度处理,二值化处理可以指的是将图像上的像素点进行改变,使得整个图像呈现出明显的黑白效果,如附图6中的C图。
在本步骤中,量程范围可以指的是提前预设好的指针位于某一区域对应的指针读数,量程范围可以存储在的范围查找表中,该范围查找表中每一量程范围对应有指针读数,本申请实施例对量程范围以及其对应指针读数的存储位置不作具体限定。
示例性的,可以采用图像处理技术首先对截取到的弧形区域进行图像预处理操作,去除部分干扰信息,进而利用极坐标转换将弧形区域转成矩形区域,具体操作为:利用极坐标系和平面直角坐标系之间的转换公式对所述弧形区域进行极坐标转换,得到矩形区域,对应公式为:
其中M(ρ,θ)为点M的极坐标,M′(x,y)为对应点M的直角坐标,M为关键点。
进一步的,通过图像垂直投影法定位指针所在位置结合指针所在矩形框的位置及量程范围可得到最终的仪表读数。具体的,对矩形区域进行二值化处理,通过垂直投影,获取每一列的二值图,根据投影的位置坐标,得到指针位置,最终结合量程范围得到最终的仪表读数。
示例性的,图6为本申请实施例提供的一种指针定位过程示意图,如图6所示,获取指针表盘图像A的待测图像,并将待测图像输入到深度学习网络模型中进行处理,得到包含指针的弧形区域B,进一步的,对弧形区域进行预处理,得到弧形区域C,进一步的,对弧形区域进行极坐标转换,并进行二值化处理,得到矩形区域D,进一步的,可以利用垂直投影法获取矩形区域D对应的投影指针的位置图E,进而可以识别指针位置对应的指针读数。
因此,本申请实施例可以对弧形区域进行预处理和二值化处理使得指针的图像更清晰,提高识别的准确度。
结合上述实施例,图7为本申请实施例提供的一种具体的指针式仪表读数识别方法的流程示意图,如图7所示,所述指针式仪表读数识别方法包括如下步骤:
步骤A:在使用深度学习网络模型前,将深度学习网络模型提前训练好,即在使用深度学习网络模型时,便可以获取到待测图像模板图像标注关键点以及关键点构建弧形区域,进一步的,获取待测图像、模板图像并初始化网络,将待测图像和模板图像输入SuperPoint(即深度学习网络)模型网络中得到特征点及描述算子,进一步的,对特征点及描述算子经过降噪自动编码器调优,得到更新后的多个特征点及描述算子,执行步骤B。
步骤B:将更新后的多个特征点及描述算子输入SuperGlue网络进行特征匹配,并利用LO-RANSAC算法消除错误的匹配对,得到匹配对信息,执行步骤C。
步骤C:基于匹配对信息计算得到单应矩阵,结合标注坐标将单应矩阵映射到待测图像中,得到弧形区域,进一步的,将弧形区域的极坐标转换矩形区域,并利用梯度投影法对矩形区域进行处理定位到指针区域,进而基于量程范围识别指针读数,最后输出结果。
基于此,本申请利用深度学习技术,提出了一种基于深度学习的指针式仪表读数识别方法,该方法可以实时进行表计读数识别,与现有技术相比,本申请可以通过在表盘区域提取中采用SuperPoint+Denoising AutoEncoder+SuperGlue+LO-RANSAC等结合技术,有效解决了表盘特征提取过程中稳定性不足和易受光照影响的缺陷,与现有方法相比增加了特征匹配的准确性,并且在速度上也具有非常大的优势,在指针位置定位则采用SuperGlue,在得到匹配对信息后计算得到单应矩阵,由单应矩阵与在模板图像中所标注的弧形区域坐标映射到待测图像的位置,进而截取弧形区域,通过极坐标转换得到拉直的矩形区域,最后采用图像垂直投影法定位矩形区域,该方法可在复杂背景图案下提取并定位指针区域。
在前述实施例中,对本申请实施例提供的指针式仪表读数方法进行了介绍,而为了实现上述本申请实施例提供的方法中的各功能,作为执行主体的电子设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
例如,图8为本申请实施例提供的一种指针式仪表读数装置的结构示意图,如图8所示,该装置包括:获取模块810和处理模块820,其中,所述获取模块810,用于获取待测图像,并将所述待测图像输入到深度学习网络模型中,得到多个关键点的特征数据;其中,每三个关键点构建一段圆形弧线,每两段半径不同、但圆心重合的圆形弧线构成包含所述待测图像的指针仪表刻度的弧形区域;
所述处理模块820,用于计算所述待测图像上每一个关键点的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度,并基于所述匹配度得到包含指针的弧形区域,识别所述弧形区域中的指针读数。
可选的,所述关键点的特征数据包括特征点数据和描述子数据;获取模块810,具体用于:
将所述待测图像和所述待测图像对应的模板图像输入到深度学习网络模型中进行降维处理,得到所述待测图像对应的第一数据和所述模板图像对应的第二数据;
利用损失函数对所述第一数据和所述第二数据进行处理,得到所述待测图像和所述模板图像各自对应的多个特征点数据和多个描述子数据;所述特征点数据包括关键点的位置坐标;所述描述子数据包括关键点的方向、对应的半径、对应的像素点。
可选的,所述处理模块820包括计算模块和识别模块,所述计算模块,用于:
将所述待测图像上每一个关键点的特征数据输入到降噪自动编码器中,筛除所述特征数据中的噪声数据;
分别计算筛除噪声数据后的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度。
可选的,所述识别模块包括查找单元和识别单元;
具体的,所述查找单元,用于基于所述待测图像上每一个关键点的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度,依次查找所述待测图像对应的匹配特征数据;
所述识别单元,用于将所述匹配特征数据映射到所述待测图像中,得到包含指针的弧形区域,并利用图像垂直投影法定位所述弧形区域中指针位置,识别对应的指针读数。
可选的,所述查找单元包括确定单元,输入单元和计算单元;
具体的,所述确定单元,用于针对所述待测图像上每一关键点,获取所述关键点的特征数据与所述模板图像上关键点对应的特征数据的多个匹配度,并基于所述多个匹配度中的最大值确定目标特征数据;
所述输入单元,用于将所述待测图像上每一关键点对应的目标特征数据和所述模板图像上关键点对应的特征数据输入到注意力图神经网络中,得到所述待测图像对应的第一特征矩阵和所述模板图像对应的第二特征矩阵;
所述计算单元,用于计算所述第一特征矩阵与所述第二特征矩阵的匹配得分,并基于所述匹配得分依次查找匹配特征数据。
可选的,所述计算单元,具体用于:
计算所述第一特征矩阵与所述第二特征矩阵的内积,得到N组匹配得分集,每组匹配得分集包括M个匹配得分;所述第一特征矩阵为N行,所述第二特征矩阵为M列;
选取依次查找所述N组匹配得分集中最大值对应的特征数据,并基于过滤通道对查找到的N个特征数据进行过滤,用于滤出与所述模板图像上不匹配的关键点对应的数据;
对过滤后的N个特征数据进行归一化处理,得到最优匹配特征数据。
可选的,所述识别单元,具体用于:
计算所述匹配特征数据的匹配对信息;所述匹配对信息为与模板图像上关键点匹配好的所述待测图像上的关键点的位置坐标与匹配得分;
基于所述匹配对信息计算单应矩阵,所述单应矩阵用于投影到对应的模板图像;
将所述单应矩阵与所述模板图像上关键点对应的坐标进行仿射变换,得到包含指针的弧形区域。
可选的,所述识别单元,具体用于:
对所述弧形区域进行预处理,并将预处理后的弧形区域进行极坐标转换,得到矩形区域;所述预处理用于去除干扰数据;
对所述矩形区域进行二值化处理,并通过垂直投影法获取经过二值化处理后对应的投影指针的位置坐标;
基于所述位置坐标得到指针位置,并基于量程范围识别所述指针位置对应的指针读数;所述量程范围用于标识位于不同区域对应的指针读数,每一量程范围对应有指针读数。
本申请实施例提供的指针式仪表读数装置的具体实现原理和效果可以参见上述实施例对应的相关描述和效果,此处不做过多赘述。
本申请实施例还提供了一种电子设备的结构示意图,图9为本申请实施例提供的一种电子设备的结构示意图,如图9所示,该电子设备可以包括:处理器901以及与所述处理器通信连接的存储器902;该存储器902存储计算机程序;该处理器901执行该存储器902存储的计算机程序,使得该处理器901执行上述任一实施例所述的方法。
其中,存储器902和处理器901可以通过总线903连接。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序执行指令,计算机执行指令被处理器执行时用于实现如本申请前述任一实施例中的所述的方法。
本申请实施例还提供了一种运行指令的芯片,该芯片用于执行如本申请前述任一实施例中由电子设备所执行的前述任一实施例中所述的方法。
本申请实施例还提供了一种计算机程序产品,该程序产品包括计算机程序,该计算机程序被处理器执行时可实现如本申请前述任一实施例中由电子设备所执行的前述任一实施例中所述的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速随机存取存储器(Random Access memory,简称RAM),也可能还包括非不稳定的存储器(Non-volatile Memory,简称NVM),例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种指针式仪表读数识别方法,其特征在于,所述方法包括:
获取待测图像,并将所述待测图像输入到深度学习网络模型中,得到多个关键点的特征数据;其中,每三个关键点构建一段圆形弧线,每两段半径不同、但圆心重合的圆形弧线构成包含所述待测图像的指针仪表刻度的弧形区域;
计算所述待测图像上每一个关键点的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度,并基于所述匹配度得到包含指针的弧形区域,识别所述弧形区域中的指针读数。
2.根据权利要求1所述的方法,其特征在于,所述关键点的特征数据包括特征点数据和描述子数据;将所述待测图像输入到深度学习网络模型中,得到多个关键点的特征数据,包括:
将所述待测图像和所述待测图像对应的模板图像输入到深度学习网络模型中进行降维处理,得到所述待测图像对应的第一数据和所述模板图像对应的第二数据;
利用损失函数对所述第一数据和所述第二数据进行处理,得到所述待测图像和所述模板图像各自对应的多个特征点数据和多个描述子数据;所述特征点数据包括关键点的位置坐标;所述描述子数据包括关键点的方向、对应的半径、对应的像素点。
3.根据权利要求1所述的方法,其特征在于,计算所述待测图像上每一个关键点的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度,包括:
将所述待测图像上每一个关键点的特征数据输入到降噪自动编码器中,筛除所述特征数据中的噪声数据;
分别计算筛除噪声数据后的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度。
4.根据权利要求1-3任一项所述的方法,其特征在于,基于所述匹配度得到包含指针的弧形区域,识别所述弧形区域中的指针读数,包括:
基于所述待测图像上每一个关键点的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度,依次查找所述待测图像对应的匹配特征数据;
将所述匹配特征数据映射到所述待测图像中,得到包含指针的弧形区域,并利用图像垂直投影法定位所述弧形区域中指针位置,识别对应的指针读数。
5.根据权利要求4所述的方法,其特征在于,基于所述待测图像上每一个关键点的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度,依次查找所述待测图像对应的匹配特征数据,包括:
针对所述待测图像上每一关键点,获取所述关键点的特征数据与所述模板图像上关键点对应的特征数据的多个匹配度,并基于所述多个匹配度中的最大值确定目标特征数据;
将所述待测图像上每一关键点对应的目标特征数据和所述模板图像上关键点对应的特征数据输入到注意力图神经网络中,得到所述待测图像对应的第一特征矩阵和所述模板图像对应的第二特征矩阵;
计算所述第一特征矩阵与所述第二特征矩阵的匹配得分,并基于所述匹配得分依次查找匹配特征数据。
6.根据权利要求5所述的方法,其特征在于,计算所述第一特征矩阵与所述第二特征矩阵的匹配得分,并基于所述匹配得分依次查找匹配特征数据,包括:
计算所述第一特征矩阵与所述第二特征矩阵的内积,得到N组匹配得分集,每组匹配得分集包括M个匹配得分;所述第一特征矩阵为N行,所述第二特征矩阵为M列;
依次查找所述N组匹配得分集中最大值对应的特征数据,并基于过滤通道对查找到的N个特征数据进行过滤,用于滤出与所述模板图像上不匹配的关键点对应的数据;
对过滤后的N个特征数据进行归一化处理,得到匹配特征数据。
7.根据权利要求4所述的方法,其特征在于,将所述匹配特征数据映射到所述待测图像中,得到包含指针的弧形区域,包括:
计算所述匹配特征数据的匹配对信息;所述匹配对信息为与模板图像上关键点匹配好的所述待测图像上的关键点的位置坐标与匹配得分;
基于所述匹配对信息计算单应矩阵,所述单应矩阵用于投影到对应的模板图像;
将所述单应矩阵与所述模板图像上关键点对应的坐标进行仿射变换,得到包含指针的弧形区域。
8.根据权利要求4所述的方法,其特征在于,利用图像垂直投影法定位所述弧形区域中指针位置,识别对应的指针读数,包括:
对所述弧形区域进行预处理,并将预处理后的弧形区域进行极坐标转换,得到矩形区域;所述预处理用于去除干扰数据;
对所述矩形区域进行二值化处理,并通过垂直投影法获取经过二值化处理后对应的投影指针的位置坐标;
基于所述位置坐标得到指针位置,并基于量程范围识别所述指针位置对应的指针读数;所述量程范围用于标识位于不同区域对应的指针读数,每一量程范围对应有指针读数。
9.一种指针式仪表读数装置,其特征在于,所述装置包括:
获取模块,用于获取待测图像,并将所述待测图像输入到深度学习网络模型中,得到多个关键点的特征数据;其中,每三个关键点构建一段圆形弧线,每两段半径不同、但圆心重合的圆形弧线构成包含所述待测图像的指针仪表刻度的弧形区域;
处理模块,用于计算所述待测图像上每一个关键点的特征数据与所述待测图像对应的模板图像上关键点对应的特征数据的匹配度,并基于所述匹配度得到包含指针的弧形区域,识别所述弧形区域中的指针读数。
10.一种电子设备,其特征在于,包括:处理器,存储器以及计算机程序;其中,所述计算机程序被存储在所述存储器中,并且被配置为由所述处理器执行,所述计算机程序包括用于执行如权利要求1-8任一项所述的指针式仪表读数识别方法的指令。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8任一项所述的指针式仪表读数识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210408478.2A CN114743189A (zh) | 2022-04-19 | 2022-04-19 | 指针式仪表读数识别方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210408478.2A CN114743189A (zh) | 2022-04-19 | 2022-04-19 | 指针式仪表读数识别方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114743189A true CN114743189A (zh) | 2022-07-12 |
Family
ID=82281270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210408478.2A Pending CN114743189A (zh) | 2022-04-19 | 2022-04-19 | 指针式仪表读数识别方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114743189A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115171091A (zh) * | 2022-09-06 | 2022-10-11 | 浩鲸云计算科技股份有限公司 | 一种面向变电站巡检的表计识别方法 |
CN115311469A (zh) * | 2022-08-08 | 2022-11-08 | 北京百度网讯科技有限公司 | 图像标注方法、训练方法、图像处理方法以及电子设备 |
CN115331014A (zh) * | 2022-10-17 | 2022-11-11 | 暨南大学 | 一种基于机器视觉的指针仪表读数方法及系统、存储介质 |
CN117368670A (zh) * | 2023-11-07 | 2024-01-09 | 东莞市一丁精密模具组件有限公司 | 一种模具放电特性柔性检测方法及系统 |
-
2022
- 2022-04-19 CN CN202210408478.2A patent/CN114743189A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115311469A (zh) * | 2022-08-08 | 2022-11-08 | 北京百度网讯科技有限公司 | 图像标注方法、训练方法、图像处理方法以及电子设备 |
CN115171091A (zh) * | 2022-09-06 | 2022-10-11 | 浩鲸云计算科技股份有限公司 | 一种面向变电站巡检的表计识别方法 |
CN115331014A (zh) * | 2022-10-17 | 2022-11-11 | 暨南大学 | 一种基于机器视觉的指针仪表读数方法及系统、存储介质 |
CN115331014B (zh) * | 2022-10-17 | 2023-03-07 | 暨南大学 | 一种基于机器视觉的指针仪表读数方法及系统、存储介质 |
CN117368670A (zh) * | 2023-11-07 | 2024-01-09 | 东莞市一丁精密模具组件有限公司 | 一种模具放电特性柔性检测方法及系统 |
CN117368670B (zh) * | 2023-11-07 | 2024-03-26 | 东莞市一丁精密模具组件有限公司 | 一种模具放电特性柔性检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114743189A (zh) | 指针式仪表读数识别方法、装置、电子设备及存储介质 | |
CN108399386A (zh) | 饼图中的信息提取方法及装置 | |
CN111860398B (zh) | 遥感图像目标检测方法、系统及终端设备 | |
CN114187450B (zh) | 一种基于深度学习的遥感图像语义分割方法 | |
CN111680678B (zh) | 目标区域识别方法、装置、设备及可读存储介质 | |
CN110060237A (zh) | 一种故障检测方法、装置、设备及系统 | |
CN115311730B (zh) | 一种人脸关键点的检测方法、系统和电子设备 | |
CN111488937B (zh) | 一种基于多尺度邻居深度神经网络的图像匹配方法 | |
CN114758249B (zh) | 基于野外夜间环境的目标物监测方法、装置、设备及介质 | |
CN110704652A (zh) | 基于多重注意力机制的车辆图像细粒度检索方法及装置 | |
CN111104941B (zh) | 图像方向纠正方法、装置及电子设备 | |
CN110659637A (zh) | 一种结合深度神经网络和sift特征的电能表示数与标签自动识别方法 | |
CN111461113A (zh) | 一种基于变形平面物体检测网络的大角度车牌检测方法 | |
CN115565020A (zh) | 一种基于改进神经网络的齿面损伤识别方法及装置 | |
CN114241194A (zh) | 一种基于轻量级网络的仪表识别及读数方法 | |
Peng et al. | Deep learning-based autonomous real-time digital meter reading recognition method for natural scenes | |
CN117830701A (zh) | 基于注意力机制的多尺度特征融合星图识别方法和装置 | |
CN117058437B (zh) | 一种基于知识蒸馏的花卉分类方法、系统、设备及介质 | |
CN112990213A (zh) | 一种基于深度学习的数字万用表字符识别系统和方法 | |
CN113128518A (zh) | 基于孪生卷积网络和特征混合的sift误匹配检测方法 | |
CN113704276A (zh) | 地图更新方法、装置、电子设备及计算机可读存储介质 | |
US20230401670A1 (en) | Multi-scale autoencoder generation method, electronic device and readable storage medium | |
CN114463764A (zh) | 表格线检测方法、装置、计算机设备和存储介质 | |
CN108073934A (zh) | 近重复图像检测方法与装置 | |
Guo et al. | Change detection for high resolution remote sensing image based on co-saliency strategy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |