CN115019290A - 仪表读数识别方法、装置及存储介质 - Google Patents
仪表读数识别方法、装置及存储介质 Download PDFInfo
- Publication number
- CN115019290A CN115019290A CN202210599037.5A CN202210599037A CN115019290A CN 115019290 A CN115019290 A CN 115019290A CN 202210599037 A CN202210599037 A CN 202210599037A CN 115019290 A CN115019290 A CN 115019290A
- Authority
- CN
- China
- Prior art keywords
- image
- coordinate
- rectangular
- point
- meter
- 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 99
- 238000003860 storage Methods 0.000 title claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 35
- 230000011218 segmentation Effects 0.000 claims abstract description 32
- 230000008569 process Effects 0.000 abstract description 32
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 13
- 238000001514 detection method Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 12
- 230000009286 beneficial effect Effects 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000007689 inspection Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000003628 erosive effect Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000007797 corrosion Effects 0.000 description 2
- 238000005260 corrosion Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000035939 shock Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/02—Recognising information on displays, dials, clocks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S20/00—Management or operation of end-user stationary applications or the last stages of power distribution; Controlling, monitoring or operating thereof
- Y04S20/30—Smart metering, e.g. specially adapted for remote reading
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
本公开提供一种仪表读数识别方法、装置及存储介质,涉及图像处理技术领域,能够降低识别仪表读数过程中的计算量。该方法包括:根据语义分割模型分割待识别仪表的图像中的指针和多个刻度,确定第一图像;其中,语义分割模型用于标识图像中的指针和刻度;将第一图像转换为矩形图像;确定在矩形图像中指针的位置和多个刻度的位置;根据矩形图像中指针的位置和多个刻度的位置,确定待识别仪表的读数。本公开实施例用于仪表读数识别过程中。
Description
技术领域
本公开涉及图像处理技术领域,尤其涉及一种仪表读数识别方法、装置及存储介质。
背景技术
在工业领域中,需要监测工业仪表(例如压力表、温度计、耐震压力表等)的读数,保证设备正常运行和厂区安全。当前监测工业仪表的主要方式依靠人工巡检读取仪表表盘读数。但是人工巡检耗时长,无法实时监测,且容易产生误差。
相关技术中提出了基于图像处理的检测工业仪表的方法,在获取工业仪表的图像之后,对图像进行倾斜矫正和旋转矫正,将获取到的图像矫正为圆形图像;然后使用虚拟旋转指针直线拟合方法构造虚拟旋转直线确定指针位置,结合表盘量程确定读数。但是在构造虚拟旋转直线时,需要计算每个刻度的像素点的旋转角度,然后根据旋转角度求出虚拟旋转拟合直线,然后再根据指针像素和虚拟旋转拟合直线的像素重合度来得出读数。但是上述过程中,对图像进行矫正的计算量较大。
发明内容
本公开提供一种仪表读数识别方法、装置及存储介质,用于降低识别仪表读数过程中的计算量。
为达到上述目的,本公开采用如下技术方案:
第一方面,提供一种仪表读数识别方法,该方法包括:根据语义分割模型分割待识别仪表的图像中的指针和多个刻度,确定第一图像;其中,所述语义分割模型用于标识图像中的指针和刻度;将所述第一图像转换为矩形图像;确定在所述矩形图像中所述指针的位置和所述多个刻度的位置;根据矩形图像中所述指针的位置和所述多个刻度的位置,确定所述待识别仪表的读数。
结合上述第一方面,在一种可能的实现方式中,所述将所述第一图像转换为矩形图像,包括:确定所述矩形图像的长度和宽度;所述矩形图像的长度为所述待识别仪表在所述第一图像中的周长;所述矩形图像的宽度为预设值;根据所述矩形图像的长度和宽度,从所述第一图像的所述待识别仪表的图像中确定待展开圆环;所述待展开圆环的外边界与所述第一图像中所述待识别仪表的外边界重合,所述待展开圆环的宽度为所述矩形图像的宽度;确定所述待展开圆环中的每一像素点对应的所述矩形图像中的点位;将所述待展开圆环中的每一像素点的像素值转换到对应的所述矩形图像的点位中,确定所述矩形图像。
结合上述第一方面,在一种可能的实现方式中,所述确定所述待展开圆环中的每一像素点对应的所述矩形图像中的点位,包括:为所述矩形图像建立第一直角坐标系,以及为所述待展开圆环建立极坐标系和第二直角坐标系;确定所述矩形图像中的目标点位在所述第一直角坐标系中的第一坐标点;所述目标点位为所述矩形图像中的任一点位;根据所述第一坐标点,确定所述目标点位在所述极坐标坐标系中对应的极坐标坐标点;根据所述极坐标坐标点,确定所述目标点位在所述第二直角坐标系中对应的第二坐标点;确定所述第二坐标点的像素点对应的所述矩形图像中的点位为所述目标点位。
结合上述第一方面,在一种可能的实现方式中,所述第一直角坐标系的原点为所述矩形图像的左上顶点,所述第一直角坐标系的x轴方向为所述矩形图像的长度方向,所述第一直角坐标系的y轴负方向为所述矩形图像的宽度方向;所述极坐标坐标系的极点为所述待识别仪表的图像中心点,所述极坐标坐标系的极轴的方向为所述第一图像的y轴负方向;所述目标点位的第一坐标点为P(row,col);所述目标点位的极坐标坐标点为P′(r,-θ),所述第一坐标点和所述极坐标坐标点之间满足以下公式:
其中,R为所述待识别表盘的半径,W为所述矩形图像的长度。
结合上述第一方面,在一种可能的实现方式中,所述第二直角坐标系的原点为所述待识别表盘水平方向最高点的切线和经过所述待识别表盘最左侧顶点的切线的交点,所述第二直角坐标系的x轴为经过待识别表盘水平方向最高点的切线,所述第二直角坐标系的y轴为经过待识别表盘最左侧顶点的切线;所述目标点位的第二坐标点为P"(x,y),所述极坐标坐标点和所述第二坐标点之间满足下公式:
结合上述第一方面,在一种可能的实现方式中,所述确定在所述矩形图像中所述指针的位置和所述多个刻度的位置,包括:为所述矩形图像建立第一直角坐标系;所述第一直角坐标系的原点为所述矩形图像的左上顶点,所述第一直角坐标系的x轴方向为所述矩形图像的长度方向,所述第一直角坐标系的y轴方向为所述矩形图像的宽度方向;确定所述多个刻度中的每个刻度对应的像素在所述第一直角坐标系中的第三坐标,以及所述指针对应的像素在所述第一直角坐标系中的第四坐标;根据所述每个刻度的第三坐标,确定所述每个刻度的位置;根据所述指针的第四坐标,确定所述指针的位置。
结合上述第一方面,在一种可能的实现方式中,根据矩形图像中所述指针的位置和所述刻度的位置,确定所述待识别仪表的读数,包括:确定所述每个刻度的第一目标坐标,以及所述指针的第二目标坐标;其中,所述第一目标坐标为第三坐标中横坐标为预设坐标值的坐标;所述第二目标坐标为所述第四坐标中横坐标为所述预设坐标值的坐标;确定所述每个刻度的第一目标坐标的第一中心坐标,以及所述指针的第二目标坐标的第二中心坐标;确定所述第一中心坐标中与所述第二中心坐标相邻的第五坐标和第六坐标;根据所述第二中心坐标,所述第五坐标、所述第六坐标以及所述待识别仪表的量程,确定所述待识别仪表的读数。
结合上述第一方面,在一种可能的实现方式中,所述待识别仪表的读数
meter_reader满足以下公式:
其中,index为所述指针所指的位置,num of scale表示所述待识别仪表的刻度的数量,max value表示所述待识别仪表的量程最大值。
所述index满足以下公式:
其中,i为与所述第五坐标对应的刻度在所述待识别仪表的刻度中的顺序;pointer为所述第二中心坐标,scale[i]为所述第五坐标,所述scale[i+1]为所述第六坐标,e-5为常数。
第二方面,提供一种仪表读数识别装置,包括:处理单元;处理单元,用于根据语义分割模型分割待识别仪表的图像中的指针和多个刻度,确定第一图像;其中,所述语义分割模型用于标识图像中的指针和刻度;处理单元,还用于将所述第一图像转换为矩形图像;处理单元,还用于确定在所述矩形图像中所述指针的位置和所述多个刻度的位置;处理单元,还用于根据矩形图像中所述指针的位置和所述多个刻度的位置,确定所述待识别仪表的读数。
结合上述第二方面,在一种可能的实现方式中,处理单元,具体用于:确定所述矩形图像的长度和宽度;所述矩形图像的长度为所述待识别仪表在所述第一图像中的周长;所述矩形图像的宽度为预设值;根据所述矩形图像的长度和宽度,从所述第一图像的所述待识别仪表的图像中确定待展开圆环;所述待展开圆环的外边界与所述第一图像中所述待识别仪表的外边界重合,所述待展开圆环的宽度为所述矩形图像的宽度;确定所述待展开圆环中的每一像素点对应的所述矩形图像中的点位;将所述待展开圆环中的每一像素点的像素值转换到对应的所述矩形图像的点位中,确定所述矩形图像。
结合上述第二方面,在一种可能的实现方式中,处理单元,具体用于:为所述矩形图像建立第一直角坐标系,以及为所述待展开圆环建立极坐标系和第二直角坐标系;确定所述矩形图像中的目标点位在所述第一直角坐标系中的第一坐标点;所述目标点位为所述矩形图像中的任一点位;根据所述第一坐标点,确定所述目标点位在所述极坐标坐标系中对应的极坐标坐标点;根据所述极坐标坐标点,确定所述目标点位在所述第二直角坐标系中对应的第二坐标点;确定所述第二坐标点的像素点对应的所述矩形图像中的点位为所述目标点位。
结合上述第二方面,在一种可能的实现方式中,所述第一直角坐标系的原点为所述矩形图像的左上顶点,所述第一直角坐标系的x轴方向为所述矩形图像的长度方向,所述第一直角坐标系的y轴负方向为所述矩形图像的宽度方向;所述极坐标坐标系的极点为所述待识别仪表的图像中心点,所述极坐标坐标系的极轴的方向为所述第一图像的y轴负方向;所述目标点位的第一坐标点为P(row,col);所述目标点位的极坐标坐标点为P′(r,-θ),所述第一坐标点和所述极坐标坐标点之间满足以下公式:
其中,R为所述待识别表盘的半径,W为所述矩形图像的长度。
结合上述第二方面,在一种可能的实现方式中,所述第二直角坐标系的原点为所述待识别表盘水平方向最高点的切线和经过所述待识别表盘最左侧顶点的切线的交点,所述第二直角坐标系的x轴为经过待识别表盘水平方向最高点的切线,所述第二直角坐标系的y轴为经过待识别表盘最左侧顶点的切线;所述目标点位的第二坐标点为P"(x,y),所述极坐标坐标点和所述第二坐标点之间满足下公式:
结合上述第二方面,在一种可能的实现方式中,处理单元,具体用于:为所述矩形图像建立第一直角坐标系;所述第一直角坐标系的原点为所述矩形图像的左上顶点,所述第一直角坐标系的x轴方向为所述矩形图像的长度方向,所述第一直角坐标系的y轴方向为所述矩形图像的宽度方向;确定所述多个刻度中的每个刻度对应的像素在所述第一直角坐标系中的第三坐标,以及所述指针对应的像素在所述第一直角坐标系中的第四坐标;根据所述每个刻度的第三坐标,确定所述每个刻度的位置;根据所述指针的第四坐标,确定所述指针的位置。
结合上述第二方面,在一种可能的实现方式中,处理单元,具体用于:确定所述每个刻度的第一目标坐标,以及所述指针的第二目标坐标;其中,所述第一目标坐标为第三坐标中横坐标为预设坐标值的坐标;所述第二目标坐标为所述第四坐标中横坐标为所述预设坐标值的坐标;确定所述每个刻度的第一目标坐标的第一中心坐标,以及所述指针的第二目标坐标的第二中心坐标;确定所述第一中心坐标中与所述第二中心坐标相邻的第五坐标和第六坐标;根据所述第二中心坐标,所述第五坐标、所述第六坐标以及所述待识别仪表的量程,确定所述待识别仪表的读数。
结合上述第二方面,在一种可能的实现方式中,所述待识别仪表的读数
meter_reader满足以下公式:
其中,index为所述指针所指的位置,num of scale表示所述待识别仪表的刻度的数量,max value表示所述待识别仪表的量程最大值。
所述index满足以下公式:
其中,i为与所述第五坐标对应的刻度在所述待识别仪表的刻度中的顺序;pointer为所述第二中心坐标,scale[i]为所述第五坐标,所述scale[i+1]为所述第六坐标,e-5为常数。
第三方面,本公开提供了一种仪表读数识别装置,该仪表读数识别装置包括:处理器以及存储器;其中,所述存储器用于存储计算机执行指令,当所述仪表读数识别装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述仪表读数识别装置执行如第一方面和第一方面的任一种可能的实现方式中描述的仪表读数识别方法。
第四方面,本公开提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机可读存储介质中的指令由仪表读数识别装置的处理器执行时,使得仪表读数识别装置能够执行如第一方面和第一方面的任一种可能的实现方式中描述的仪表读数识别方法。
在本公开中,上述仪表读数识别装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本公开类似,属于本公开权利要求及其等同技术的范围之内。
本公开的这些方面或其他方面在以下的描述中会更加简明易懂。
本公开提供的技术方案至少带来以下有益效果:本公开提供了一种仪表读数识别方法,通过语义分割模型确定待识别仪表图像中的指针和刻度;然后将语义分割后的待识别仪表图像转换为矩形图像。根据在矩形图像中指针位置和刻度位置的相对位置关系确定待识别仪表的读数。这样,本公开公开的技术方案在确定指针位置和刻度位置之后直接将待识别仪表的图像转化为矩形图形,不需要对图像进行矫正,可直接进行矩形转换,大大降低了计算量。
附图说明
图1为本公开提供的一种仪表读数识别装置的硬件结构示意图;
图2为本公开提供的一种仪表读数识别方法的流程示意图;
图3为本公开提供的一种仪表读数识别方法的详细流程示意图;
图4为本公开提供的一种图像采集装置采集到的原始图像的示意图;
图5a为本公开提供的一种仪表读数识别装置根据目标检测算法从原始图像中检测出待识别仪表的图像的示意图;
图5b为本公开提供的又一种仪表读数识别装置根据目标检测算法从原始图像中检测出待识别仪表的图像的示意图;
图6为本公开提供的一种仪表读数识别装置对待识别仪表的图像进行语义分割之后的图像的示意图;
图7为本公开提供的一种仪表读数识别装置对语义分割后的图像进行腐蚀操作后得到的图像的示意图;
图8为本公开提供的一种仪表读数识别装置将第一图像展开为矩形图像后得到的图像的示意图;
图9a为本公开提供的一种仪表读数识别装置将各个刻度压缩为高度为1个像素值的图像的示意图;
图9b为本公开提供的一种仪表读数识别装置将指针压缩为高度为1个像素值的图像;
图10为本公开提供的一种仪表读数圆环展开为矩形过程中像素点坐标转换的流程示意图;
图11a为本公开提供的一种仪表读数识别装置为矩形图像建立的第一直角坐标系的示意图;
图11b为本公开提供的一种仪表读数识别装置为待展开圆环建立的极坐标坐标系的示意图;
图11c为本公开提供的一种仪表读数识别装置为待展开圆环建立的第二直角坐标系的示意图;
图12为本公开提供的一种仪表读数识别装置的结构示意图。
具体实施方式
下面结合附图对本公开实施例提供的业务传输方法、装置及存储介质进行详细地描述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本公开的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
此外,本公开的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本公开实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本公开实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
图1为本公开实施例提供的一种仪表读数识别装置的结构示意图。如图1所示,该仪表读数识别装置100包括至少一个处理器101,通信线路102,以及至少一个通信接口104,还可以包括存储器103。其中,处理器101,存储器103以及通信接口104三者之间可以通过通信线路102连接。
处理器101可以是一个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本公开实施例的一个或多个集成电路,例如:一个或多个数字信号处理器(digital signalprocessor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)。
通信线路102可以包括一通路,用于在上述组件之间传送信息。
通信接口104,用于与其他设备或通信网络通信,可以使用任何收发器一类的装置,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless localarea networks,WLAN)等。
存储器103可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于包括或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
一种可能的设计中,存储器103可以独立于处理器101存在,即存储器103可以为处理器101外部的存储器,此时,存储器103可以通过通信线路102与处理器101相连接,用于存储执行指令或者应用程序代码,并由处理器101来控制执行,实现本公开下述实施例提供的仪表读数识别方法。又一种可能的设计中,存储器103也可以和处理器101集成在一起,即存储器103可以为处理器101的内部存储器,例如,该存储器103为高速缓存,可以用于暂存一些数据和指令信息等。
作为一种可实现方式,处理器101可以包括一个或多个CPU,例如图1中的CPU0和CPU1。作为另一种可实现方式,仪表读数识别装置100可以包括多个处理器,例如图1中的处理器101和处理器107。作为再一种可实现方式,仪表读数识别装置100还可以包括输出设备105和输入设备106。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将网络节点的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,模块和网络节点的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
相关技术中,在工业领域,设备安全稳定的运行时保证工业园区安全的关键因素。为了保证设备安全稳定的运行,需要巡检人员及时全面的巡检厂区设备,确保厂区设备在安全状态运行。当前的厂区内的各种工业设备通常都配置有专用的仪表(包括但不限于:压力表、温度计、耐震压力表)。巡检人员可以通过监测工业仪表的读数确定设备的运行是否正常。因此,当前巡检过程中,监测工业仪表是巡检人员的一项关键工作。
但是当前通过人工巡检的方式检测仪表的读数存在如下问题:人工巡检时、巡检人员记录的仪表读数受巡检人员主观影响较大,可能存在读数不准确的情况,以及仪表读数记录错误的情况;在大型园区内,由于厂区分布分散,巡检人员逐一巡检仪表的过程耗时较长,无法实时监测仪表读数;此外在一些危险生产环境中,巡检人员无法进入该生产环境监测仪表读数。
为了解决人工巡检监测仪表读数存在的问题。当前提出了通过图像处理实现监测仪表读数的技术方案。具体为,采集仪表变盘的图像,通过霍夫直线变换进行图像处理或者通过模板匹配确定仪表的读数。但是由于不同仪表的表盘和刻度不相同,当前采用图像处理监测仪表读数的方案实用性比较差,准确率低。
一种实现方式中,提供了一种识别指针式仪表读数的方法。具体包括:通过机器视觉方法与仪表模板进行匹配确定仪表的图像区域。将图像区域调整为圆形之后,确定仪表指针的最大刻度和最小刻度,以确定各个刻度的刻度值,然后根据指针和刻度的位置,确定仪表的读数。但是,在该方法中,需要通过模板匹配识别仪表图像,在该过程中需要滑动比较模板图像和采集到的图像,检测速度较慢,且只能监测在模板库中有模板的仪表,在图像拍摄角度变化也会影响匹配的准确度。如果要对拍摄到的图像进行矫正就需要标定表盘边缘坐标,利用最小二乘法拟合仪表表盘的椭圆图像,确定椭圆最小外接矩形的顶点。根据外接矩形顶点的坐标关系确定缩放因子,进而获得投影变换矩阵确定仪表表盘的圆形图像。该过程计算量大,且计算过程中存在角度误差,影响读数的准确性。
又一种实现方式中,提供了一种通过基于注意力的卷积神经网络识别指针式仪表图像,确定仪表的读数。具体包括:在采集图像之后利用FasterR-CNN检测仪表,确定仪表的表盘类型,然后使用基于注意力机制的卷积神经网络分级回归出指针读数。但是,FasterR-CNN模型运行速度较慢,且基于注意力机制的卷积神经网络分级回归是先假设仪表读数分布的刻度区间,将仪表划分为若干个无重叠的子区间,神经网络的回归损失函数的收敛速度依赖于初始的区间假定。当训练样本被提取的特征比较少,分级回归容易导致模型欠拟合。
再一种实现方式中,提供了一种通过GBS-YOLOv5s识别指针式仪表读数的方法。具体包括:获取仪表图像之后,采用透视变换对仪表图像进行倾斜矫正,计算仪表的中轴线相对于水平方向的旋转角度进行旋转矫正,将采集到的图像矫正为圆形图像。在完成矫正之后,确定每个刻度像素点的旋转角度,再根据旋转角度求出虚拟旋转拟合直线,然后再根据指针像素和虚拟旋转拟合直线的像素重合度来得出读数。但是在上述进行圆形图像的矫正时,由于采集图像中仪表图像的倾斜角不同,导致转换后的图像在高度方向上的拉伸程度不同,从而影响了指针和刻度质检的角度,进而影响根据角度关系最终识别出的读数的准确性。此外,在进行虚拟旋转拟合直线之前,还需要计算每个数值坐标对应的角度才能确定拟合直线的角度,导致拟合过程的计算量高,并且拟合出的直线与实际角度通常存在误差,导致计算出的读数的准确度较差。
为解决上述技术问题,本公开提供了一种仪表读数识别方法,通过语义分割模型确定待识别仪表图像中的指针和刻度;然后将语义分割后的待识别仪表图像转换为矩形图像。根据在矩形图像中指针位置和刻度位置的相对位置关系确定待识别仪表的读数。这样,本公开公开的技术方案在确定指针位置和刻度位置之后直接将待识别仪表的图像转化为矩形图形,不需要对图像进行矫正,可直接进行矩形转换,大大降低了计算量。
此外,在将第一图像转换为矩形之后,计算指针和刻度之间的位置关系时由于矩形中指针和刻度之间只存在距离关系不存在角度关系,因此本公开提供的技术方案无需进行拟合和角度转换,避免了拟合过程中产生的误差,提高了最终识别出的读数的准确性。
本公开实施例提供的仪表读数方法可以应用于如图1所示的仪表读数识别装置中。如图2所示,为本公开实施例提供的一种仪表读数识别方法的流程示意图,该方法具体可以通过以下步骤201-步骤204实现,以下进行详细说明。
步骤201、仪表读数识别装置根据语义分割模型分割待识别仪表的图像中的指针和多个刻度,确定第一图像。
其中,语义分割模型用于标识图像中的指针和刻度。
一种具体的实现方式中,该步骤具体可以通过以下方式实现:仪表读数识别装置获取图像采集装置采集的图像,确定该图像中待识别仪表的图像。仪表读数识别装置将待识别仪表的图像输入语义分割模型中,由语义分割模型标注待识别仪表的图像中指针的像素和刻度的像素,并输出标注结果;仪表读数识别装置确定语义分割模型输出的标注完成的图像为第一图像。
需要指出的是,上述语义分割模型为预先训练好的语义分割模型。仪表读数识别装置可以通过多张仪表的图像以及指针和刻度的标注结果训练初始语义分割模型,得到上述语义分割模型。或者仪表读数识别装置也可以从其他设备中获取已经训练好的语义分割模型,本公开对此不做限定。
需要说明的是,由于待识别仪表的表盘形状通常是圆形,因此上述待识别仪表的图像也为圆形或者近似于圆形(如椭圆)的图像。
可选的,上述语义分割模型为并行连接高低分辨率子网和重复执行多尺度融合的HRNet算法模型。
步骤202、仪表读数识别装置将第一图像转换为矩形图像。
一种可能的实现方式中,仪表读数识别装置从第一图像中待识别仪表的图像中截取待展开圆环,待展开圆环的外边界与待识别仪表外边界重合。仪表读数识别装置将待展开圆环展开为上述矩形图像。
步骤203、仪表读数识别装置确定在矩形图像中指针的位置和多个刻度的位置。
一种可能的实现方式中,仪表读数识别装置根据指针和刻度在上述待展开圆环中的位置,确定指针和刻度在矩形图像中的位置。
具体来说,仪表读数识别装置确定待展开圆环中的各个像素标记为指针的像素(记为第一像素),并确定将待展开圆环展开为矩形图像之后第一像素在矩形图像中对应的像素(记为第二像素)。仪表读数识别装置指针的位置包括第二像素的位置。
同样的,仪表读数识别装置确定待展开圆环中的各个像素标记为刻度的像素(记为第三像素),并确定将待展开圆环展开为矩形图像之后第三像素在矩形图像中对应的像素(记为第四像素)。仪表读数识别装置刻度的位置包括第四像素的位置。
步骤204、仪表读数识别装置根据矩形图像中指针的位置和多个刻度的位置,确定待识别仪表的读数。
一种可能的实现方式中,仪表读数识别装置根据矩形图像中刻度的数量,以及待识别仪表的量程,确定各个刻度的刻度值。在此之后,仪表读数识别装置确定指针指向的刻度,或者指针与相邻的两个刻度的距离。仪表读数识别装置根据指针指向的刻度的读数,或者与指针相邻的两个刻度的读数,以及指针与相邻的两个刻度的距离,确定待识别仪表的读数。
上述方案至少带来以下有益效果:本公开提供了一种仪表读数识别方法,通过语义分割模型确定待识别仪表图像中的指针和刻度;然后将语义分割后的待识别仪表图像转换为矩形图像。根据在矩形图像中指针位置和刻度位置的相对位置关系确定待识别仪表的读数。这样,本公开公开的技术方案在确定指针位置和刻度位置之后直接将待识别仪表的图像转化为矩形图形,不需要对图像进行矫正,可直接进行矩形转换,大大降低了计算量。
此外,在将第一图像转换为矩形之后,计算指针和刻度之间的位置关系时由于矩形中指针和刻度之间只存在距离关系不存在角度关系,因此本公开提供的技术方案无需进行拟合和角度转换,避免了拟合过程中产生的误差,提高了最终识别出的读数的准确性。
以上,对本公开实施例提供的仪表读数识别方法进行了详细说明。
以下,将结合上述仪表读数识别方法中的各个步骤,对本公开实施例提供的仪表读数识别方法进行进一步说明。
结合图2,如图3所示,在本公开实施例的一种可能的实现方式中,在步骤201之前,该方法还包括:
步骤301、仪表读数识别装置获取第二图像。
其中,第二图像为图像采集装置采集的待识别仪表的原始图像。
具体来说,图像采集装置采集第二图像,并向仪表读数识别装置发送第二图像。仪表读数识别装置接收来自图像采集装置的第二图像,以使得仪表读数识别装置可以根据第二图像确定待识别仪表的读数。
示例性的,图4为本公开实施例提供的一种图像采集装置采集到的原始图像。
步骤302、仪表读数识别装置根据目标检测算法检测第二图像,确定待识别仪表的图像。
其中,目标检测算法用于检测第二图像中的待识别仪表的图像。
可选的,上述目标检测算法为YOLOv5目标检测器。相比较于现有技术中的FasterR-CNN目标检测器,YOLOv5目标检测器的运行速度更快,能够更加快速的从原始图像中检测到目标图像。例如,在同一计算设备上运行时,YOLOv5的运行速度(包括端到端的读取视频、运行模型和将结果保存到文件)为52.8FPS,而FasterR-CNN ResNet50的运行速度为21.7FPS。可见YOLOv5的运行速度明显高于FasterR-CNN ResNet50的运行速度,因此本公开采用YOLOv5目标检测器可以明显提高从原始图像中检测出待识别仪表的图像的检测速度。
一种可能的实现方式中,仪表读数识别装置根据训练集对初始的YOLOv5目标检测器检进行训练,并采用训练好的YOLOv5目标检测器检测第二图像中待识别仪表的图像,并按照检测框的大小裁剪待识别仪表的图像。从而避免第二图像中其他部分(待识别仪表图像以外的部分)对后续计算过程的影响,提高计算准确率并降低计算量。
步骤303、仪表读数识别装置缩放待识别仪表的图像。
需要指出的是,在通过目标检测算法检测出待识别仪表的图像之后,需要将待识别仪表的图像输入到HRNet语义分割模型,以对待识别仪表的图像进行语义分割。由于不同尺寸的输入图像会影响HRNet算法模型的输出精度,因此在仪表读数识别装置识别出待识别仪表的图像之后,可以将待识别仪表的图像缩放为HRNet算法模型的最佳输入尺寸,以提高HRNet算法模型的检测精度。
示例性的,图5a和图5b分别为本公开实施例提供的一种仪表读数识别装置根据目标检测算法从原始图像中检测出待识别仪表的图像,并进行裁剪和缩放后得到的图像。
可以理解的是,在步骤303之后,仪表读数识别装置对缩放后的图像执行上述步骤201,此处不再赘述。
上述方案至少带来以下有益效果:在上述过程中,在对待识别仪表的图像进行语义分割之前,首先对图像采集装置采集到的原始图像进行目标检测,确定原始图像中的待识别仪表的图像,然后对原始图像进行裁剪得到待识别仪表的图像。这样,在进行语音分割时可以只对待识别仪表的图像进行分割,而无需对原始图像中的其他背景之类的图像进行分割,从而避免第二图像中其他部分对后续计算过程的影响,提高计算准确率并降低计算量。
此外,在裁剪出待识别仪表的图像之后,将裁剪的图像缩放为HRNet语义分割模型的最佳输入尺寸,可以提高HRNet算法模型的检测精度。
以上,对本公开中进行语义分割之前的图像处理操作进行了详细说明。
在对图图像进行语义分割之后,仪表读数识别装置还可以对分割后的图像进行腐蚀操作以缩减细化指针和刻度的像素。
如图3所示,在步骤201之后,结合步骤304对仪表读数识别装置对分割后的图像进行腐蚀操作的过程进行详细说明。
步骤304、仪表读数识别装置腐蚀第一图像,确定腐蚀后的第一图像。
一种可能的实现方式中,仪表读数识别装置根据卷积模板对第一图像进行腐蚀操作。
示例性的,第一图像记为A,卷积模板记为B,不同的卷积模板对应不同的卷积和,例如本公开中卷积模板B的卷积和可以为3×3。
此时,根据卷积模板B对图像进行腐蚀的具体过程为:从图像的初始位置(例如从左上角开始选择)选择3×3个像素点,根据预设规则(例如选择像素值最大/最小/均值对应的像素点)从该3×3个像素点中选择1个像素点为最终输出的像素点。根据该方法处理图像中的所有像素点,得到输出结果。
可选的,根据卷积模板B对第一图像进行腐蚀操作满足以下公式1:
其中,x为图像A中的像素点的标号,Bx表示图像A中的第x个像素点。
一种示例,如图6所示,为仪表读数识别装置对图像5a进行语义分割之后的图像。如图7所示,为仪表读数识别装置对6所示的图像进行腐蚀操作后得到的图像。
上述方案至少带来以下有益效果:仪表读数识别装置对分割后的图像进行腐蚀操作之后,可以进一步减少指针和刻度对应的像素点,从而减少了后续根据指针和刻度的像素点确定待识别仪表的读数过程中的计算量。
以上,对本公开中进行语义分割之前的图像处理操作进行了详细说明。
以下,对上述步骤202中仪表读数识别装置将第一图像转换为矩形图像的过程进行详细说明。
如图3所示,上述步骤202具体可以通过以下步骤305-步骤308实现。
步骤305、仪表读数识别装置确定矩形图像的长度和宽度。
其中,矩形图像的长度为待识别仪表在第一图像中的周长;矩形图像的宽度为预设值。
步骤306、仪表读数识别装置根据矩形图像的长度和宽度,从第一图像的待识别仪表的图像中确定待展开圆环。
待展开圆环的外边界与第一图像中待识别仪表的外边界重合,待展开圆环的宽度为矩形图像的宽度。
可以理解的是,将圆环展开为矩形比将圆形直接展开为矩形的计算量更小且展开的准确度更高。因此,本公开可以先从待识别仪表的图像中分割出待展开圆环,然后在将待展开圆环展开为矩形图像。
步骤307、仪表读数识别装置确定待展开圆环中的每一像素点对应的矩形图像中的点位。
一种可能的实现方式中,仪表读数识别装置在将待展开圆环展开为矩形图像时,可以确定待展开圆环中的像素点和矩形图像中的点位的对应关系。仪表读数识别装置可以根据该对应关系确定待展开圆环中的每一像素点对应的矩形图像中的点位。
又一种可能的实现方式中,仪表读数识别装置可以分别为待展开圆环和矩形图像建立坐标系。仪表读数识别装置根据坐标系中坐标点的对应关系,确定待展开圆环中的每一像素点对应的矩形图像中的点位。
步骤308、仪表读数识别装置将待展开圆环中的每一像素点的像素值转换到对应的矩形图像的点位中,确定矩形图像。
需要指出的是,在仪表读数识别装置将待展开圆环展开为矩形图像之后,仪表读数识别装置还可以对矩形图像中的每个像素进行均值二值化,得到黑白图像的矩形图像,并输出黑白矩形图像。基于均值二值化后的矩形图像可以更加清晰的确定指针和刻度的位置,并后续对图像进行处理的计算量。
一种示例,如图8所示,为仪表读数识别装置将第一图像展开为矩形图像后得到的图像的示意图。
上述方案至少带来以下有益效果:仪表读数识别装置在将第一图像展开为矩形图像时,根据需要展开的矩形图像的宽度从第一图像中确定出待展开圆环,并将待展开圆环展开为矩形图像。这样,可以使仪表读数识别装置更加快速准确的将待识别仪表的图像转换为矩形图像。
以上,对本公开中将第一图像展开为矩形图像的过程进行了详细说明。
以下,对上述步骤203中仪表读数识别装置确定在矩形图像中指针的位置和多个刻度的位置的过程进行详细说明。
如图3所示,上述步骤203具体可以通过以下步骤309-步骤312实现。
步骤309、仪表读数识别装置为矩形图像建立第一直角坐标系。
其中,第一直角坐标系的原点为矩形图像的左上顶点,第一直角坐标系的x轴方向为矩形图像的长度方向,第一直角坐标系的y轴方向为矩形图像的宽度方向。
步骤310、仪表读数识别装置确定多个刻度中的每个刻度对应的像素在第一直角坐标系中的第三坐标,以及指针对应的像素在第一直角坐标系中的第四坐标。
也即是说,本公开实施例中可以通过为矩形图像建立坐标系,根据刻度和指针中各个像素点的坐标值,确定刻度和指针的位置。
步骤311、仪表读数识别装置根据每个刻度的第三坐标,确定每个刻度的位置。
需要指出的是,每个刻度可以包括多个像素,该多个像素可以分别对应不同的第三坐标。在本公开实施例中,可以将每个刻度的中心点像素的第三坐标作为该刻度的第三坐标,或者也可以将每个刻度的多个像素的第三坐标的平均值作为该刻度的第三坐标,本公开对此不做限定。
步骤312、仪表读数识别装置根据指针的第四坐标,确定指针的位置。
需要指出的是,指针可以包括多个像素,该多个像素可以分别对应不同的第四坐标。在本公开实施例中,可以将指针的中心点像素的第四坐标作为该指针的第四坐标,或者也可以将指针的多个像素的第四坐标的平均值作为该指针的第四坐标,本公开对此不做限定。
上述方案至少带来以下有益效果:根据上述技术方案,仪表读数识别装置可以通过为矩形图像建立坐标系,确定指针的像素点以及刻度的像素点的坐标位置,进而确定指针的位置和刻度的位置。
以上,对本公开中仪表读数识别装置确定在矩形图像中指针的位置和多个刻度的位置的过程进行详细说明。
以下,对上述步骤204中仪表读数识别装置根据矩形图像中指针的位置和多个刻度的位置,确定待识别仪表的读数的过程进行详细说明。
如图3所示,上述步骤204具体可以通过以下步骤313-步骤316实现。
步骤313、仪表读数识别装置确定每个刻度的第一目标坐标,以及指针的第二目标坐标。
其中,第一目标坐标为第三坐标中横坐标为预设值的坐标;第二目标坐标为第四坐标中横坐标为预设坐标值的坐标。
也即是说,仪表读数识别装置将指针和刻度的图像压缩为高度为1个像素值的图像,以便于确定指针和刻度之间的相对位置关系。
举例来说,指针在矩形图像中为高×宽为:100×10个像素的图像。仪表读数识别装置将其压缩为1×10个像素的图像。
同样的,仪表读数识别装置将其他刻度按照相同的方法压缩,得到在同一水平线上,指针和各个刻度的像素值。
一种示例,如图9a所示,为将各个刻度压缩为高度为1个像素值的图像。
如图9b所示,为将指针压缩为高度为1个像素值的图像。
步骤314、仪表读数识别装置确定每个刻度的第一目标坐标的第一中心坐标,以及指针的第二目标坐标的第二中心坐标。
具体来说,针对每个刻度,仪表读数识别装置确定该刻度压缩后的像素,并确定压缩后的像素中的中心点的像素。仪表读数识别装置确定中心点的像素的坐标为该刻度的第一中心坐标。
仪表读数识别装置确定指针压缩后的像素,并确定压缩后的像素中的中心点的像素。仪表读数识别装置确定中心点的像素的坐标为指针的第二中心坐标。
举例来说,仪表读数识别装置从指针的1×10个像素中选择中心点像素,将中心点的像素作为第二中心坐标。
仪表读数识别装置根据同样的方法,确定各个刻度的第一中心坐标。
步骤315、仪表读数识别装置确定第一中心坐标中与第二中心坐标相邻的第五坐标和第六坐标。
具体来说,仪表读数识别装置计算第二中心坐标与各个第一中心坐标的距离,并选择与第二中心坐标距离最近的两个第一中心坐标为第五坐标和第六坐标。
可选的,第五坐标对应的刻度的刻度值小于第六坐标对应的刻度的刻度值。也即是说,第五坐标的横坐标小于第六坐标的横坐标。
一种示例,第五坐标,第六坐标和第二中心坐标之间满足如下公式2:
scale[i]<pointer<scale[i+1] 公式2
其中,i为与第五坐标对应的刻度在待识别仪表的刻度中的顺序;pointer为第二中心坐标,scale[i]为第五坐标,scale[i+1]为第六坐标,e-5为常数。
步骤316、仪表读数识别装置根据第二中心坐标,第五坐标、第六坐标以及待识别仪表的量程,确定待识别仪表的读数。
具体来说,仪表读数识别装置根据待识别仪表的量程,以及待识别仪表中刻度的数量,确定各个刻度的刻度值。仪表读数识别装置根据各个刻度的刻度值确定第五坐标和第六坐标对应的刻度的刻度值。仪表读数识别装置根据第二中心坐标,第五坐标和第六坐标,确定指针和相邻两个刻度之间的相对位置关系,并根据该位置关系和第五坐标和第六坐标对应的刻度的刻度值,确定待识别仪表的读数。
一种示例,待识别仪表的读数meter_reader满足以下公式3:
其中,index为指针所指的位置,num of scale表示待识别仪表的刻度的数量,maxvalue表示待识别仪表的量程最大值。
上述方案至少带来以下有益效果:在本公开中,仪表读数识别装置可以通过指针和刻度的像素的中心坐标的位置,确定指针相邻的刻度,并根据指针和相邻刻度之间的位置关系,确定指针的读数。
此外,在仪表读数识别装置确定指针和刻度的中心坐标之前,可以首先将指针和刻度压缩为线状,从而减少确定指针和刻度的中心坐标的计算量。
以上,对本公开中仪表读数识别装置根据矩形图像中指针的位置和多个刻度的位置,确定待识别仪表的读数的过程进行详细说明。
以下,对上述步骤307中仪表读数识别装置确定待展开圆环中的每一像素点对应的矩形图像中的点位的过程进行详细说明。
结合图3,如图10所示,上述步骤307具体可以通过以下步骤1001-步骤1005实现。
步骤1001、仪表读数识别装置为矩形图像建立第一直角坐标系,以及为待展开圆环建立极坐标系和第二直角坐标系。
可选的,第一直角坐标系的原点为矩形图像的左上顶点,第一直角坐标系的x轴方向为矩形图像的长度方向,第一直角坐标系的y轴负方向为矩形图像的宽度方向。
极坐标坐标系的极点为待识别仪表的图像中心点,极坐标坐标系的极轴的方向为第一图像的y轴负方向。
所述第二直角坐标系的原点为所述待识别表盘水平方向最高点的切线和经过所述待识别表盘最左侧顶点的切线的交点,所述第二直角坐标系的x轴为经过待识别表盘水平方向最高点的切线,所述第二直角坐标系的y轴为经过待识别表盘最左侧顶点的切线;
一种示例,如图11a所示,为本公开实施例提供的为矩形图像建立的第一直角坐标系的示意图。该矩形图像的长度w为第一图像中待识别仪表表盘的周长,矩形图像的宽度h为预设长度。
可以理解的是,为了保证矩形图像中能够完全显示仪表的刻度图像,矩形图像的宽度h的值一般设置为大于刻度的长度且小于待识别仪表的图像的半径。
如图11b所示,为本公开实施例提供的一种为待展开圆环建立的极坐标坐标系的示意图。
如图11c所示为本公开实施例提供的一种为待展开圆环建立的第二直角坐标系的示意图。
步骤1002、仪表读数识别装置确定矩形图像中的目标点位在第一直角坐标系中的第一坐标点。
其中,目标点位为矩形图像中的任一点位。
步骤1003、仪表读数识别装置根据第一坐标点,确定目标点位在极坐标坐标系中对应的极坐标坐标点。
一种示例,矩形图像中的目标点位为P(row,col)。则该坐标点与极轴X之间的距离为row,距离待展开圆环最外围的最近点的距离为col。
此时,仪表读数识别装置确定目标点位的第一坐标点P(row,col)与极坐标坐标点P′(r,-θ)之间满足以下公式4和公式5:
其中,R为待识别表盘的半径,W为矩形图像的长度。
步骤1004、仪表读数识别装置根据极坐标坐标点,确定目标点位在第二直角坐标系中对应的第二坐标点。
一种示例,所述目标点位的第二坐标点为P"(x,y),所述极坐标坐标点和所述第二坐标点之间满足下公式6和公式7:
具体来说,结合上述公式4和公式6,仪表读数识别装置可以确定目标点位在第二坐标系中的横坐标,根据上述公式5和公式7,仪表读数识别装置可以确定目标点位在第二坐标系中的纵坐标。基于此,仪表读数识别装置可以根据确定目标点位对应的第二坐标点。
步骤1005、仪表读数识别装置确定第二坐标点的像素点对应的矩形图像中的点位为目标点位。
进一步的,仪表读数识别装置可以将第二坐标点的像素值转换到目标点位中,确定目标点位的像素值。根据该方法,仪表读数识别装置将待展开圆环中的每个点位的像素值转换到矩形图像中,得到矩形图像。
上述方案至少带来以下有益效果:根据上述方法,仪表读数识别装置分别为矩形图像和待展开圆环建立坐标系。通过矩形图像的直角坐标系与待展开圆环的极坐标系之间的对应关系,以及待展开圆环的极坐标系与待展开圆环的直角坐标系之间的对应关系,确定矩形图像的直角坐标系和待展开圆环的直角坐标系之间的对应关系,进而确定矩形图像中各个点位与待展开圆环中各个点位的对应关系。
以上,对本公开实施例涉及到的仪表读数识别方法,以及仪表读数识别装置执行该方法的过程进行了详细说明。
可以看出,上述主要从方法的角度对本公开实施例提供的技术方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本公开实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
本公开实施例可以根据上述方法示例对仪表读数识别装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图12所示,为本公开实施例提供的一种仪表读数识别装置的结构示意图。该仪表读数识别装置包括:处理单元1202。
处理单元1202,用于根据语义分割模型分割待识别仪表的图像中的指针和多个刻度,确定第一图像;其中,语义分割模型用于标识图像中的指针和刻度;处理单元1202,还用于将第一图像转换为矩形图像;处理单元1202,还用于确定在矩形图像中指针的位置和多个刻度的位置;处理单元1202,还用于根据矩形图像中指针的位置和多个刻度的位置,确定待识别仪表的读数。
可选的,处理单元1202,具体用于:确定矩形图像的长度和宽度;矩形图像的长度为待识别仪表在第一图像中的周长;矩形图像的宽度为预设值;根据矩形图像的长度和宽度,从第一图像的待识别仪表的图像中确定待展开圆环;待展开圆环的外边界与第一图像中待识别仪表的外边界重合,待展开圆环的宽度为矩形图像的宽度;确定待展开圆环中的每一像素点对应的矩形图像中的点位;将待展开圆环中的每一像素点的像素值转换到对应的矩形图像的点位中,确定矩形图像。
可选的,处理单元1202,具体用于:为矩形图像建立第一直角坐标系,以及为待展开圆环建立极坐标系和第二直角坐标系;确定矩形图像中的目标点位在第一直角坐标系中的第一坐标点;目标点位为矩形图像中的任一点位;根据第一坐标点,确定目标点位在极坐标坐标系中对应的极坐标坐标点;根据极坐标坐标点,确定目标点位在第二直角坐标系中对应的第二坐标点;确定第二坐标点的像素点对应的矩形图像中的点位为目标点位。
可选的,第一直角坐标系的原点为矩形图像的左上顶点,第一直角坐标系的x轴方向为矩形图像的长度方向,第一直角坐标系的y轴负方向为矩形图像的宽度方向;极坐标坐标系的极点为待识别仪表的图像中心点,极坐标坐标系的极轴的方向为第一图像的y轴负方向;目标点位的第一坐标点为P(row,col);目标点位的极坐标坐标点为P′(r,-θ),第一坐标点和极坐标坐标点之间满足以下公式:
其中,R为待识别表盘的半径,W为矩形图像的长度。
可选的,第二直角坐标系的原点为待识别表盘水平方向最高点的切线和经过待识别表盘最左侧顶点的切线的交点,第二直角坐标系的x轴为经过待识别表盘水平方向最高点的切线,第二直角坐标系的y轴为经过待识别表盘最左侧顶点的切线;目标点位的第二坐标点为P"(x,y),极坐标坐标点和第二坐标点之间满足下公式:
可选的,处理单元1202,具体用于:为矩形图像建立第一直角坐标系;第一直角坐标系的原点为矩形图像的左上顶点,第一直角坐标系的x轴方向为矩形图像的长度方向,第一直角坐标系的y轴方向为矩形图像的宽度方向;确定多个刻度中的每个刻度对应的像素在第一直角坐标系中的第三坐标,以及指针对应的像素在第一直角坐标系中的第四坐标;根据每个刻度的第三坐标,确定每个刻度的位置;根据指针的第四坐标,确定指针的位置。
可选的,处理单元1202,具体用于:确定每个刻度的第一目标坐标,以及指针的第二目标坐标;其中,第一目标坐标为第三坐标中横坐标为预设坐标值的坐标;第二目标坐标为第四坐标中横坐标为预设坐标值的坐标;确定每个刻度的第一目标坐标的第一中心坐标,以及指针的第二目标坐标的第二中心坐标;确定第一中心坐标中与第二中心坐标相邻的第五坐标和第六坐标;根据第二中心坐标,第五坐标、第六坐标以及待识别仪表的量程,确定待识别仪表的读数。
可选的,待识别仪表的读数meter_reader满足以下公式:
其中,index为指针所指的位置,num of scale表示待识别仪表的刻度的数量,maxvalue表示待识别仪表的量程最大值。
index满足以下公式:
其中,i为与第五坐标对应的刻度在待识别仪表的刻度中的顺序;pointer为第二中心坐标,scale[i]为第五坐标,scale[i+1]为第六坐标,e-5为常数。
可选的,仪表读数识别装置还包括通信单元1201,通信单元1201用于与其他设备通信,例如与图像采集装置通信,获取图像采集装置采集的图像。或者,通信单元1201还用于输出待识别仪表的读数结果。
本公开实施例提供了一种仪表读数识别装置,用于执行上述数据完整性确定系统中任一设备所需执行的方法。该仪表读数识别装置可以为本公开中涉及的仪表读数识别装置,或者仪表读数识别装置中的模块;或者是仪表读数识别装置中的芯片,也可以是其他用于执行仪表读数识别方法的装置,本公开对此不做限定。
本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,该计算机执行上述方法实施例所示的方法流程中的各个步骤。
本公开的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行上述方法实施例中的仪表读数识别方法。
本公开的实施例提供一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如上述方法实施例中的仪表读数识别方法。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘。随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的人以合适的组合、或者本领域数值的任何其他形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(Application Spec ific Integrated Circuit,ASIC)中。在本公开实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
由于本公开的实施例中的装置、设备、计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本公开实施例在此不再赘述。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何在本公开揭露的技术范围内的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应该以权利要求的保护范围为准。
Claims (11)
1.一种仪表读数识别方法,其特征在于,包括:
根据语义分割模型分割待识别仪表的图像中的指针和多个刻度,确定第一图像;其中,所述语义分割模型用于标识图像中的指针和刻度;
将所述第一图像转换为矩形图像;
确定在所述矩形图像中所述指针的位置和所述多个刻度的位置;
根据矩形图像中所述指针的位置和所述多个刻度的位置,确定所述待识别仪表的读数。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一图像转换为矩形图像,包括:
确定所述矩形图像的长度和宽度;所述矩形图像的长度为所述待识别仪表在所述第一图像中的周长;所述矩形图像的宽度为预设值;
根据所述矩形图像的长度和宽度,从所述第一图像的所述待识别仪表的图像中确定待展开圆环;所述待展开圆环的外边界与所述第一图像中所述待识别仪表的外边界重合,所述待展开圆环的宽度为所述矩形图像的宽度;
确定所述待展开圆环中的每一像素点对应的所述矩形图像中的点位;
将所述待展开圆环中的每一像素点的像素值转换为对应的所述矩形图像的点位中,确定所述矩形图像。
3.根据权利要求2所述的方法,其特征在于,所述确定所述待展开圆环中的每一像素点对应的所述矩形图像中的点位,包括:
为所述矩形图像建立第一直角坐标系,以及为所述待展开圆环建立极坐标系和第二直角坐标系;
确定所述矩形图像中的目标点位在所述第一直角坐标系中的第一坐标点;所述目标点位为所述矩形图像中的任一点位;
根据所述第一坐标点,确定所述目标点位在所述极坐标坐标系中对应的极坐标坐标点;
根据所述极坐标坐标点,确定所述目标点位在所述第二直角坐标系中对应的第二坐标点;
确定所述第二坐标点的像素点对应的所述矩形图像中的点位为所述目标点位。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述确定在所述矩形图像中所述指针的位置和所述多个刻度的位置,包括:
为所述矩形图像建立第一直角坐标系;所述第一直角坐标系的原点为所述矩形图像的左上顶点,所述第一直角坐标系的x轴方向为所述矩形图像的长度方向,所述第一直角坐标系的y轴方向为所述矩形图像的宽度方向;
确定所述多个刻度中的每个刻度对应的像素在所述第一直角坐标系中的第三坐标,以及所述指针对应的像素在所述第一直角坐标系中的第四坐标;
根据所述每个刻度的第三坐标,确定所述每个刻度的位置;
根据所述指针的第四坐标,确定所述指针的位置。
7.根据权利要求6所述的方法,其特征在于,所述根据矩形图像中所述指针的位置和所述刻度的位置,确定所述待识别仪表的读数,包括:
确定所述每个刻度的第一目标坐标,以及所述指针的第二目标坐标;其中,所述第一目标坐标为第三坐标中横坐标为预设坐标值的坐标;所述第二目标坐标为所述第四坐标中横坐标为所述预设坐标值的坐标;
确定所述每个刻度的第一目标坐标的第一中心坐标,以及所述指针的第二目标坐标的第二中心坐标;
确定所述第一中心坐标中与所述第二中心坐标相邻的第五坐标和第六坐标;
根据所述第二中心坐标,所述第五坐标、所述第六坐标以及所述待识别仪表的量程,确定所述待识别仪表的读数。
9.一种仪表读数识别装置,其特征在于,包括:处理单元;
所述处理单元,用于根据语义分割模型分割待识别仪表的图像中的指针和多个刻度,确定第一图像;其中,所述语义分割模型用于标识图像中的指针和刻度;
所述处理单元,还用于将所述第一图像转换为矩形图像;
所述处理单元,还用于确定在所述矩形图像中所述指针的位置和所述多个刻度的位置;
所述处理单元,还用于根据矩形图像中所述指针的位置和所述多个刻度的位置,确定所述待识别仪表的读数。
10.一种仪表读数识别装置,其特征在于,包括:处理器以及存储器;其中,所述存储器用于存储计算机执行指令,当所述仪表读数识别装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述仪表读数识别装置执行权利要求1-8中任一项所述的仪表读数识别方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当计算机可读存储介质中的指令由仪表读数识别装置的处理器执行时,使得所述仪表读数识别装置执行权利要求1-8中任一项所述的仪表读数识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210599037.5A CN115019290A (zh) | 2022-05-30 | 2022-05-30 | 仪表读数识别方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210599037.5A CN115019290A (zh) | 2022-05-30 | 2022-05-30 | 仪表读数识别方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115019290A true CN115019290A (zh) | 2022-09-06 |
Family
ID=83070455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210599037.5A Pending CN115019290A (zh) | 2022-05-30 | 2022-05-30 | 仪表读数识别方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115019290A (zh) |
-
2022
- 2022-05-30 CN CN202210599037.5A patent/CN115019290A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111814740B (zh) | 指针仪表读数的识别方法、装置、计算机设备和存储介质 | |
WO2021017000A1 (zh) | 获取仪表读数的方法、装置、存储器、处理器和终端 | |
CN108955901B (zh) | 一种红外测温方法、系统及终端设备 | |
CN114549835A (zh) | 一种基于深度学习的指针式仪表矫正识别方法及装置 | |
CN114881955A (zh) | 基于切片的环状点云缺陷提取方法、装置、设备存储介质 | |
EP2169620A1 (en) | Characteristic attribute calculation device, characteristic amount extraction device, pattern matching device, method, and program | |
CN111368906A (zh) | 一种基于深度学习的指针式油位计读数识别方法 | |
CN113379712A (zh) | 一种基于计算机视觉的钢桥螺栓病害检测方法及系统 | |
CN112991459A (zh) | 一种相机标定方法、装置、设备以及存储介质 | |
CN110796095A (zh) | 仪表模板建立方法、终端设备以及计算机存储介质 | |
CN113269193A (zh) | 指针式表计的示数读取方法、装置及存储介质 | |
Lauridsen et al. | Reading circular analogue gauges using digital image processing | |
CN114898198A (zh) | 一种用于指针式压力表自动读数的图像处理方法 | |
CN117877011A (zh) | 一种基于神经网络的仪表动态追踪与识别方法和系统 | |
CN116310285B (zh) | 一种基于深度学习的指针式仪表自动读数方法及系统 | |
CN110162362B (zh) | 动态控件位置检测与测试方法、装置、设备及存储介质 | |
CN117152727A (zh) | 一种用于巡检机器人的指针式仪表自动读数方法 | |
CN115019290A (zh) | 仪表读数识别方法、装置及存储介质 | |
CN116403223A (zh) | 一种基于机器学习的指针式仪表读数识别方法和系统 | |
CN114140608B (zh) | 一种光伏板标记方法、装置、电子设备及存储介质 | |
CN112417975A (zh) | 一种获取指针式仪表读数的方法及装置 | |
CN118429953B (zh) | 仪表盘识别读数方法及装置 | |
Wang et al. | The comparison of canny and structured forests edge detection application in precision identification of pointer instrument | |
US20240151556A1 (en) | Analog meter reading system and method | |
CN111932491B (zh) | 一种部件检测方法、装置及存储介质 |
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 |