一种指针表读数识别方法、装置及存储介质与流程

文档序号:29695602发布日期:2022-04-16 12:55阅读:164来源:国知局
一种指针表读数识别方法、装置及存储介质与流程

1.本公开涉及计算机技术领域,提供了一种指针表读数识别方法、装置及存储介质。


背景技术:

2.仪表是各行各业中常见的测量工具,例如,可通过仪表获知水、电、燃气等的消耗情况。在实际应用过程中,通常,先通过摄像头等终端设备来采集水、电、燃气、压力表等的图像,之后利用图像识别技术,对仪表照片进行识别,并获得读数。上述识别过程具有使用范围广、安装简单、易于使用等特点。
3.然而,由于仪表分为示数表和指针表两种,相比于示数表可以通过读数识别直接进行ocr字符检测即可得出读数,指针表的识别的难点为:指针表读数需要根据指针偏转角度近似估算得出。因此,需要对表盘、指针、仪表量程进行精确定位并做相对位置关系运算,算法链路长,并且引入误差的可能性大。
4.目前,针对指针表读数识别的方案主要有两种:1、基于传统图像处理的方法。这种方案对环境要求高、精度不够、可靠性低。2、应用深度学习结合图像处理方法建模。现有的应用深度学习结合图像处理的方案,主要缺点是建模不合理,即该方案用刻度作为多边形的点,刻度点之间连线作为多边形的边,近似代替量程优弧,那么,直线两端点距离越大,近似误差越大,相应的会产生鲁棒性低、误差大、可靠性低等现象最终导致不满足实际应用场景。
5.综上,目前尚无有效的解决方案来保障指针表在读数识别过程中的准确性和可靠性。


技术实现要素:

6.本公开实施例提供一种指针表读数识别方法、装置及存储介质,用以提升指针表在读数识别过程中的准确性和可靠性。
7.本公开提供的具体技术方案如下:
8.第一方面,本公开实施例提供了一种指针表读数识别方法,方法应用于计算设备,包括:
9.对包含指针表的图像进行识别,得到模拟量程和模拟指针,将模拟量程和模拟指针进行拟合,得到模拟指针表,其中,模拟量程为用于表征指针表的量程起点、量程终点和量程长度的弧线,模拟指针为用于表征指针表在模拟量程上的指针头的指向;
10.获取模拟指针与模拟量程的交点,基于交点和量程起点在模拟指针表上形成的弧长,确定第一指针表读数;
11.基于模拟指针表的模拟圆心分别与模拟指针、量程起点和量程终点之间连线的夹角,确定第二指针表读数;
12.基于第一指针表读数和第二指针表读数,确定指针表的目标读数。
13.可选地,对包含指针表的图像进行识别,得到模拟量程和模拟指针,包括:
14.通过语义分割模型对包含指针表的图像进行识别,得到模拟量程;以及
15.通过指针目标检测模型对包含指针表的图像进行识别,得到模拟指针。
16.可选地,对包含指针表的图像进行识别,得到模拟量程和模拟指针之前,还包括:
17.获取前端设备采集的仪表图像,并通过指针表目标检测模型对仪表图像进行目标检测,基于目标检测的结果截取出包含指针表的图像。
18.可选地,将模拟量程和模拟指针进行拟合,得到模拟指针表,包括:
19.分别对模拟量程和模拟指针进行图形图像学操作,得到去除噪点后的模拟量程和模拟指针;
20.连接模拟圆心和交点得到调整后的模拟指针;
21.运用托马斯角点检测模拟量程,得到量程起点、量程终点和量程长度;
22.运用累计概率霍夫变换对模拟量程、调整后的模拟指针、量程起点、量程终点和量程长度进行拟合,得到模拟指针表。
23.可选地,获取模拟指针与模拟量程的交点,基于交点和量程起点在模拟指针表上形成的弧长,确定第一指针表读数,包括:
24.基于模拟圆心和量程起点,确定第一连接线,以及,基于模拟圆心和量程终点,确定第二连接线;
25.确定模拟指针的交点与量程起点在量程长度上的第一弧线,以及,确定模拟指针的交点与量程终点在量程长度上的第二弧线,并计算第一弧线和第二弧线的弧线和;
26.分别确定模拟指针的交点与第一连接线之间的第一位置关系,以及,模拟指针的交点与第二连接线之间的第二位置关系;
27.若第一位置关系和第二位置关系表征模拟指针与量程起点的距离小于模拟指针与量程终点的距离,则基于第一弧线和弧线和,确定第一指针表读数;
28.若第一位置关系和第二位置关系表征模拟指针与量程起点的距离大于模拟指针与量程终点的距离,则基于第二弧线和弧线和,确定第一指针表读数。
29.可选地,基于模拟指针表的模拟圆心分别与模拟指针、量程起点和量程终点之间连线的夹角,确定第二指针表读数,包括:
30.分别计算第一线段与第二线段之间的第一夹角,第一线段与第三线段之间的第二夹角,以及,第二线段与第三线段之间的第三夹角;其中,第一线段是模拟指针表的模拟圆心和模拟指针的交点之间的线段、第二线段是模拟指针表的模拟圆心和量程起点之间的线段、第三线段是模拟指针表的模拟圆心和量程终点之间的线段;
31.若第一夹角大于或等于第二夹角,则基于第二夹角、第三夹角、第一夹角对应的误差偏移量、第二夹角对应的误差偏移量,确定第二指针表读数;
32.若第一夹角小于或等于第二夹角,则基于第一夹角、第三夹角、第一夹角对应的误差偏移量、第二夹角对应的误差偏移量,确定第二指针表读数;
33.其中,第一夹角对应的误差偏移量表征模拟指针与调整后的模拟指针之间的位置差异在模拟量程上对应的角度偏移量,第二夹角对应的误差偏移量表征模拟量程对应的角度偏移量。
34.可选地,基于第一指针表读数和第二指针表读数,确定指针表的目标读数,包括:
35.将第一指针表读数和第二指针表读数的均值确定为指针表的目标读数。
36.第二方面,本公开实施例还提供了一种指针表读数识别装置,包括:
37.识别单元,用于对包含指针表的图像进行识别,得到模拟量程和模拟指针,将模拟量程和模拟指针进行拟合,得到模拟指针表,其中,模拟量程为用于表征指针表的量程起点、量程终点和量程长度的弧线,模拟指针为用于表征指针表在模拟量程上的指针头的指向;
38.第一读数单元,用于获取模拟指针与模拟量程的交点,基于交点和量程起点在模拟指针表上形成的弧长,确定第一指针表读数;
39.第二读数单元,用于基于模拟指针表的模拟圆心分别与模拟指针、量程起点和量程终点之间连线的夹角,确定第二指针表读数;
40.读数确定单元,用于基于第一指针表读数和第二指针表读数,确定指针表的目标读数。
41.可选地,对包含指针表的图像进行识别,得到模拟量程和模拟指针,识别单元,用于:
42.通过语义分割模型对包含指针表的图像进行识别,得到模拟量程;以及
43.通过指针目标检测模型对包含指针表的图像进行识别,得到模拟指针。
44.可选地,对包含指针表的图像进行识别,得到模拟量程和模拟指针之前,还包括:
45.获取前端设备采集的仪表图像,并通过指针表目标检测模型对仪表图像进行目标检测,基于目标检测的结果截取出包含指针表的图像。
46.可选地,将模拟量程和模拟指针进行拟合,得到模拟指针表,识别单元,用于:
47.分别对模拟量程和模拟指针进行图像图形学操作,得到去除噪点后的模拟量程和模拟指针;
48.连接模拟圆心和交点得到调整后的模拟指针;
49.运用托马斯角点检测模拟量程,得到量程起点、量程终点和量程长度;
50.运用累计概率霍夫变换对模拟量程、调整后的模拟指针、量程起点、量程终点和量程长度进行拟合,得到模拟指针表。
51.可选地,获取模拟指针与模拟量程的交点,基于交点和量程起点在模拟指针表上形成的弧长,确定第一指针表读数,第一读数单元,用于:
52.基于模拟圆心和量程起点,确定第一连接线,以及,基于模拟圆心和量程终点,确定第二连接线;
53.确定模拟指针的交点与量程起点在量程长度上的第一弧线,以及,确定模拟指针的交点与量程终点在量程长度上的第二弧线,并计算第一弧线和第二弧线的弧线和;
54.分别确定模拟指针的交点与第一连接线之间的第一位置关系,以及,模拟指针的交点与第二连接线之间的第二位置关系;
55.若第一位置关系和第二位置关系表征模拟指针与量程起点的距离小于模拟指针与量程终点的距离,则基于第一弧线和弧线和,确定第一指针表读数;
56.若第一位置关系和第二位置关系表征模拟指针与量程起点的距离大于模拟指针与量程终点的距离,则基于第二弧线和弧线和,确定第一指针表读数。
57.可选地,基于模拟指针表的模拟圆心分别与模拟指针、量程起点和量程终点之间连线的夹角,确定第二指针表读数,第二读数单元,用于:
58.分别计算第一线段与第二线段之间的第一夹角,第一线段与第三线段之间的第二夹角,以及,第二线段与第三线段之间的第三夹角;其中第一线段是模拟指针表的模拟圆心和模拟指针的交点之间的线段、第二线段是模拟指针表的模拟圆心和量程起点之间的线段、第三线段是模拟指针表的模拟圆心和量程终点之间的线段;
59.若第一夹角大于或等于第二夹角,则基于第二夹角、第三夹角、第一夹角对应的误差偏移量、第二夹角对应的误差偏移量,确定第二指针表读数;
60.若第一夹角小于或等于第二夹角,则基于第一夹角、第三夹角、第一夹角对应的误差偏移量、第二夹角对应的误差偏移量,确定第二指针表读数;
61.其中,第一夹角对应的误差偏移量表征模拟指针与调整后的模拟指针之间的位置差异在模拟量程上对应的角度偏移量,第二夹角对应的误差偏移量表征模拟量程对应的角度偏移量。
62.可选地,基于第一指针表读数和第二指针表读数,确定指针表的目标读数,读数确定单元,用于:
63.将第一指针表读数和第二指针表读数的均值确定为指针表的目标读数。
64.第三方面,一种计算设备,包括:
65.存储器,用于存储可执行指令;
66.处理器,用于读取并执行存储器中存储的可执行指令,以实现如第一方面任一项的方法。
67.第四方面,一种计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行上述第一方面任一项所述的方法。
68.本公开有益效果如下:
69.综上所述,本公开实施例中,提供的一种指针表读数识别方法、装置及存储介质,该指针表读数识别方法包括:对包含指针表的图像进行识别,得到模拟量程和模拟指针,将模拟量程和模拟指针进行拟合,得到模拟指针表,上述模拟量程为用于表征指针表的量程起点、量程终点和量程长度的弧线,模拟指针为用于表征指针表在模拟量程上的指针头的指向,获取模拟指针与模拟量程的交点,基于交点和量程起点在模拟指针表上形成的弧长,确定第一指针表读数,基于模拟指针表的模拟圆心分别与模拟指针、量程起点和量程终点之间连线的夹角,确定第二指针表读数,基于第一指针表读数和第二指针表读数,确定指针表的目标读数,上述指针表读数识别过程中分别采取了根据弧长和夹角确定指针表读数的方式,并将上述两种方式的均值作为指针表最终的目标读数,从而保障了指针表在读数识别过程中的准确性和可靠性。
70.本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
71.此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
72.图1为本公开实施例中的对指针表读数进行识别的系统架构示意图;
73.图2为本公开实施例中对指针表读数进行识别的流程示意图;
74.图3为本公开实施例中获取模拟指针表的流程示意图;
75.图4为本公开实施例中获取第一指针表读数的流程示意图;
76.图5为本公开实施例中获取第二指针表读数的流程示意图;
77.图6为本公开实施例中指针表读数识别装置的逻辑架构示意图;
78.图7为本公开实施例中计算设备的实体架构示意图。
具体实施方式
79.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开技术方案的一部分实施例,而不是全部的实施例。基于本公开文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开技术方案保护的范围。
80.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够使用除了在这里图示或描述的那些以外的顺序实施。
81.下面结合附图对本公开优选的实施方式进行详细说明。
82.参阅图1所示,本公开实施例中,系统中包含了至少一个仪表、前端设备和计算设备,在图1中,以仪表来示例性表示工业应用中的各种带有指针的仪表,例如,压力表、水表等。实施过程中,前端设备用来采集上述仪表的图像,常见的前端设备为摄像头、照相机、录像机等,待前端设备采集到上述仪表图像后,将该仪表图像发送给计算设备进行识别,以获取指针表读数。
83.下面具体介绍由计算设备执行指针表读数识别方法的情况。参阅图2所示,本公开实施例中,计算设备对指针表读数进行识别的具体流程如下:
84.步骤201:对包含指针表的图像进行识别,得到模拟量程和模拟指针,将模拟量程和模拟指针进行拟合,得到模拟指针表,其中,模拟量程为用于表征指针表的量程起点、量程终点和量程长度的弧线,模拟指针为用于表征指针表在模拟量程上的指针头的指向。
85.考虑到工业生产中的仪表各式各样,仪表在生产设备中所安装的位置和作用也不同。为了使计算设备所得到的待处理的包含指针表的图像进行统一,实施过程中,对包含指针表的图像进行识别,得到模拟量程和模拟指针之前,还包括:
86.获取前端设备采集的仪表图像,并通过指针表目标检测模型对仪表图像进行目标检测,基于目标检测的结果截取出包含指针表的图像。
87.这里要说明的是,前端设备所采集的仪表图像是前端设备直接对仪表进行拍摄后获取的包含复杂背景的原始图像。由于,仪表的完好程度不同、仪表的型号不同、前端设备的型号不同以及前端设备与仪表之间的距离不同等因素,导致前端设备采集的仪表图像千差万别。
88.在实施过程中,可采用基于yolov5的指针表目标检测模型对仪表图像进行目标检测,从而去除仪表图像中其他部件(例如,仪表支撑杆等)的影响,获得仅包含原始表盘和原
始指针的仪表图像。
89.在得到包含指针表的图像之后,对包含指针表的图像进行识别,得到模拟量程和模拟指针,包括:
90.(1)通过语义分割模型对包含指针表的图像进行识别,得到模拟量程;以及
91.由于,工业仪表中的表盘多为包含起始点和终止点的弧线,在对指针表读数进行识别的过程中,先要确定出该仪表图像中所包含的表盘以及表盘的量程。具体实施过程中,通过语义分割模型对包含指针表的图像进行识别,得到模拟量程,即区分出包含指针表的图像中所包括的弧线,通常,语义分割后得到的弧线是带有宽度的,即上述模拟量程通常是由至少两根相对应的弧线以及弧线之间的填充面积组成的。
92.(2)通过目标检测模型对包含指针表的图像进行识别,得到指针目标模拟指针。
93.在识别指针表读数的过程中,除了确定指针表的量程范围模拟量程以外,还需要确定指针在指针表表盘上的具体指向,实施过程中,通过目标检测模型对包含指针表的图像进行识别,得到模拟指针,这里的目标检测模型是预先训练好的针对指针所在位置所设置的模型。对于指针目标,通过采用自适应阈值分割的方法将指针区域于背景分割出来。
94.在获取到模拟量程和模拟指针的基础上,将模拟量程和模拟指针进行拟合,得到模拟指针表,参阅图3所示,具体包括:
95.步骤2011:分别对模拟量程和模拟指针进行图形图像学操作,得到去除噪点后的模拟量程和模拟指针。
96.考虑到上述检测出来的模拟量程和模拟指针,可能会存在因为原始的指针表上的损坏或者污点等的影响,导致得到的模拟量程和模拟指针是包括多个噪点的。因此,在实施过程中,分别对模拟量程和模拟指针进行图形图像学操作,具体的,对模拟量程和模拟指针所在的图形区域进行开运算、闭运算之后,找到其中的最大连通域以去掉其中的噪点,从而得到去除噪点后的模拟量程和模拟指针。
97.步骤2012:连接模拟圆心和交点得到调整后的模拟指针。
98.实施过程中,为了保证模拟指针的完整性,可在获取到上述模拟指针的基础上,进一步确定模拟指针的完整指向,具体的:先获取上述模拟指针与模拟量程的交点,即锁定该模拟指针的指向点,然后,连接获取到的模拟圆心和交点得到调整后的模拟指针,即将上述交点和模拟圆心之间的线段作为完整的模拟指针。
99.步骤2013:运用托马斯角点检测模拟量程,得到量程起点、量程终点和量程长度。
100.由于,工业中的仪表都是带有刻度的,并且,绝大多数工业中使用的仪表都是扇形区域的表盘,基于此,实施过程中,运用托马斯角点检测上述模拟量程,即运用函数cv.goodfeaturestotrack()对模拟量程的起始点和量程等进行检测,得到模拟量程上的量程起点、量程终点和量程长度。
101.步骤2014:运用累计概率霍夫变换对模拟量程、调整后的模拟指针、量程起点、量程终点和量程长度进行拟合,得到模拟指针表。
102.在经过步骤2012和2013,分别得到模拟指针、模拟量程以及模拟量程上的量程起点、量程终点和量程长度后,需要进一步将其组合成模拟指针表,实施过程中,运用累计概率霍夫变换对模拟量程、调整后的模拟指针、量程起点、量程终点和量程长度进行拟合,即运用函数cv2.houghlinesp()拟合上述模拟指针和模拟量程等,得到模拟指针表。
103.为了获取到准确的指针表的读数,本技术实施例中,分别采用弧长和夹角这两种指标参数,来分别得到指针表的读数,最终再基于上述两种方式得到的指针表的读数来确定指针表的最终读数。下面先介绍采用弧长来得到指针表的读数的方案。
104.步骤202:获取模拟指针与模拟量程的交点,基于交点和量程起点在模拟指针表上形成的弧长,确定第一指针表读数。
105.由于,识别到的模拟指针通常是包括指针头部的一个不规则矩形,即该模拟指针中至少包括在模拟量程上的指针头的指向,而并不能确定该模拟指针与模拟量程对应的模拟圆心是否有交点。因此,将该模拟指针或者是模拟指针的延长线与模拟量程相交,得到上述模拟指针与模拟量程的交点。
106.实施过程中,采用弧长来得到指针表的读数的步骤,参阅图4所示,具体包括:
107.步骤2021:基于模拟圆心和量程起点,确定第一连接线,以及,基于模拟圆心和量程终点,确定第二连接线。
108.考虑到弧线的量程是有长短不同的,实施过程中,先通过模拟量程上的模拟圆心、量程起点和量程终点来确定不同弧线的划分线。
109.具体的,连接模拟圆心和量程起点,得到第一连接线,该第一连接线通常作为得到用于在从量程起点处顺时针旋转时的指示读数的弧线的参考线。以及,模拟圆心和量程终点,得到第二连接线,该第二连接线通常作为得到用于在从量程终点处逆时针旋转时的指示读数的弧线的参考线。
110.步骤2022:确定模拟指针的交点与量程起点在量程长度上的第一弧线,以及,确定模拟指针的交点与量程终点在量程长度上的第二弧线,并计算第一弧线和第二弧线的弧线和。
111.由于,模拟指针的交点是落在模拟量程上的,因此,在实施过程中,模拟指针的交点与模拟量程上的量程起点之间的弧线可用来表征模拟指针已经走过的量程,即指针表读数。
112.考虑到模拟量程是一个近似圆周的形状,为了计算简便,在实施过程中,先判定模拟指针是靠近量程起点,还是更靠近量程终点,然后,再依据模拟指针的交点在模拟量程上形成的弧长来计算指针表读数。具体的,在模拟量程上确定模拟指针的交点与量程起点之间形成的第一弧线,以及,在模拟量程上确定模拟指针的交点与量程终点之间形成的第二弧线。另外,还需要计算上述第一弧线和第二弧线的弧线和,以弧线和作为判定第一弧线或者第二弧线在模拟量程上所对应的角度。
113.步骤2023:分别确定模拟指针的交点与第一连接线之间的第一位置关系,以及,模拟指针的交点与第二连接线之间的第二位置关系。
114.实施过程中,将模拟指针的交点的坐标代入到上述第一连接线中,从而确定该模拟指针的交点是在该第一连接线上,还是在该第一连接线的左侧或者右侧,以进一步确定模拟指针的交点与第一连接线之间的第一位置关系。举例说明,若模拟指针的交点在第一连接线上,则说明指针还在量程起点的位置处,指针表读数为零。
115.同样的,将模拟指针的交点的坐标代入到上述第二连接线中,从而确定该模拟指针的交点是在该第二连接线上,还是在该第二连接线的左侧或者右侧,以进一步确定模拟指针的交点与第二连接线之间的第二位置关系。举例说明,若模拟指针的交点在第二连接
线上,则说明指针还在量程终点的位置处,指针表读数为满量程对应的刻度值。
116.步骤2024:若第一位置关系和第二位置关系表征模拟指针与量程起点的距离小于模拟指针与量程终点的距离,则基于第一弧线和弧线和,确定第一指针表读数。
117.实施过程中,如果第一位置关系和第二位置关系表征模拟指针与量程起点的距离小于模拟指针与量程终点的距离,即当步骤2023中的模拟指针的交点更靠近第一连接线时,说明模拟指针从量程起点处走过的量程不过半,在这种情况下,利用模拟指针的交点与量程起点所构成的第一弧线来计算第一指针表读数。
118.例如,上述模拟圆心的坐标为pc=(xc,yc),上述量程起点的坐标为p1=(x1,y1),上述量程终点的坐标为p2=(x2,y2),上述第一连接线为上述第二连接线为第一弧线为l1,第二弧线为l2,弧线和为l1+l2。
119.在确定模拟指针与量程起点的距离小于模拟指针与量程终点的距离后,基于第一弧线l1和弧线和l1+l2,确定第一指针表读数为
120.步骤2025:若第一位置关系和第二位置关系表征模拟指针与量程起点的距离大于模拟指针与量程终点的距离,则基于第二弧线和弧线和,确定第一指针表读数。
121.实施过程中,如果第一位置关系和第二位置关系表征模拟指针与量程起点的距离大于模拟指针与量程终点的距离,即当步骤2023中的模拟指针的交点更靠近第二连接线时,说明模拟指针从量程起点处走过的量程已经过半,在这种情况下,利用模拟指针的交点与量程起点所构成的第二弧线来计算第一指针表读数。
122.仍以上例来进行说明,即模拟圆心的坐标为pc=(xc,yc),上述量程起点的坐标为p1=(x1,y1),上述量程终点的坐标为p2=(x2,y2),上述第一连接线为上述第二连接线为第一弧线为l1,第二弧线为l2,弧线和为l1+l2。
123.在确定模拟指针与量程起点的距离大于模拟指针与量程终点的距离后,基于第二弧线l2和弧线和l1+l2,确定第一指针表读数为
124.在介绍完上述采用弧长来得到指针表的读数的方案后,下面介绍另一种基于夹角来确定第二指针表读数的方案。
125.步骤203:基于模拟指针表的模拟圆心分别与模拟指针、量程起点和量程终点之间连线的夹角,确定第二指针表读数。
126.需要进行说明的是,在确定第二指针表读数的过程中忽略各个连线的宽度对所形成的夹角的影响。
127.参阅图5所示,具体包括:
128.步骤2031:分别计算第一线段与第二线段之间的第一夹角,第一线段与第三线段
之间的第二夹角,以及,第二线段与第三线段之间的第三夹角;其中第一线段是模拟指针表的模拟圆心和模拟指针的交点之间的线段、第二线段是模拟指针表的模拟圆心和量程起点之间的线段、第三线段是模拟指针表的模拟圆心和量程终点之间的线段。
129.实施过程中,首先确定第一线段、第二线段和第三线段,具体的,连接模拟指针表的模拟圆心和模拟指针的交点,获得第一线段;连接模拟指针表的模拟圆心和量程起点的交点,获得第二线段;连接模拟指针表的模拟圆心和量程终点的交点,获得第三线段。
130.之后,计算第一线段与第二线段之间的夹角的大小,得到第一夹角;计算第一线段与第三线段之间的夹角的大小,得到第二夹角;以及,计算第二线段与第三线段之间的夹角的大小,得到第三夹角。
131.步骤2032:若第一夹角大于或等于第二夹角,则基于第二夹角、第三夹角、第一夹角对应的误差偏移量、第二夹角对应的误差偏移量,确定第二指针表读数。
132.为了判定模拟指针表在模拟量程上走过的量程是否过半,可采用比较第一夹角与第二夹角之间的大小的方式来确定。实施过程中,如果第一夹角大于或等于第二夹角,则说明模拟指针表更靠近模拟量程的量程起点,这种情况下,基于第二夹角、第三夹角、第一夹角对应的误差偏移量、第二夹角对应的误差偏移量,确定第二指针表读数。
133.这里需要进行补充说明的是,上述步骤2032和步骤2033中,第一夹角对应的误差偏移量表征模拟指针与调整后的模拟指针之间的位置差异在模拟量程上对应的角度偏移量,第二夹角对应的误差偏移量表征模拟量程对应的角度偏移量。
134.例如,上述模拟圆心的坐标为pc=(xc,yc),上述量程起点的坐标为p1=(x1,y1),上述量程终点的坐标为p2=(x2,y2),上述模拟指针的交点的坐标为p
t
=(x
t
,y
t
),上述第一线段的长度为l
c-1
,上述第二线段的长度为l
c-2
,上述第三线段的长度为l
c-t
。根据余弦定理计算出上述第一夹角为θ
1-c-t
,计算出上述第二夹角为θ
2-c-t
计算出上述第三夹角为θ
1-c-2
。第一夹角对应的误差偏移量为bias_s,第二夹角对应的误差偏移量为bias_m。
135.计算第二指针表读数为
136.步骤2033:若第一夹角小于或等于第二夹角,则基于第一夹角、第三夹角、第一夹角对应的误差偏移量、第二夹角对应的误差偏移量,确定第二指针表读数。
137.实施过程中,如果第一夹角小于或等于第二夹角,则说明模拟指针表更靠近模拟量程的量程终点,这种情况下,基于第一夹角、第三夹角、第一夹角对应的误差偏移量、第二夹角对应的误差偏移量,确定第二指针表读数。
138.这里需要进行补充说明的是,上述步骤2032和步骤2033中,第一夹角对应的误差偏移量表征模拟指针与调整后的模拟指针之间的位置差异在模拟量程上对应的角度偏移量,第二夹角对应的误差偏移量表征模拟量程对应的角度偏移量。
139.例如,上述模拟圆心的坐标为pc=(xc,yc),上述量程起点的坐标为p1=(x1,y1),上述量程终点的坐标为p2=(x2,y2),上述模拟指针的交点的坐标为p
t
=(x
t
,y
t
),上述第一线段的长度为l
c-1
,上述第二线段的长度为l
c-2
,上述第三线段的长度为l
c-t
。根据余弦定理计算出上述第一夹角为θ
1-c-t
,计算出上述第二夹角为θ
2-c-t
计算出上述第三夹角为θ
1-c-2
。第一夹角对应的误差偏移量为bias_s,第二夹角对应的误差偏移量为bias_m。
140.计算第二指针表读数为
141.步骤204:基于第一指针表读数和第二指针表读数,确定指针表的目标读数。
142.实施过程中,将第一指针表读数和第二指针表读数的均值确定为指针表的目标读数。与仅根据弧长或者仅根据夹角计算指针表读数的方式相比,采用上述第一指针表读数和第二指针表读数的均值的方式计算出来的指针表的读数更加精确。
143.基于同一发明构思,参阅图6所示,本公开实施例中提供一种指针表读数识别装置,包括:
144.识别单元601,用于对包含指针表的图像进行识别,得到模拟量程和模拟指针,将模拟量程和模拟指针进行拟合,得到模拟指针表,其中,模拟量程为用于表征指针表的量程起点、量程终点和量程长度的弧线,模拟指针为用于表征指针表在模拟量程上的指针头的指向;
145.第一读数单元602,用于获取模拟指针与模拟量程的交点,基于交点和量程起点在模拟指针表上形成的弧长,确定第一指针表读数;
146.第二读数单元603,用于基于模拟指针表的模拟圆心分别与模拟指针、量程起点和量程终点之间连线的夹角,确定第二指针表读数;
147.读数确定单元604,用于基于第一指针表读数和第二指针表读数,确定指针表的目标读数。
148.可选地,对包含指针表的图像进行识别,得到模拟量程和模拟指针,识别单元601,用于:
149.通过语义分割模型对包含指针表的图像进行识别,得到模拟量程;以及
150.通过指针目标检测模型对包含指针表的图像进行识别,得到模拟指针。
151.可选地,对包含指针表的图像进行识别,得到模拟量程和模拟指针之前,还包括:
152.获取前端设备采集的仪表图像,并通过指针表目标检测模型对仪表图像进行目标检测,基于目标检测的结果截取出包含指针表的图像。
153.可选地,将模拟量程和模拟指针进行拟合,得到模拟指针表,识别单元601,用于:
154.分别对模拟量程和模拟指针进行图形图像学操作,得到去除噪点后的模拟量程和模拟指针;
155.连接模拟圆心和交点得到调整后的模拟指针;
156.运用托马斯角点检测模拟量程,得到量程起点、量程终点和量程长度;
157.运用累计概率霍夫变换对模拟量程、调整后的模拟指针、量程起点、量程终点和量程长度进行拟合,得到模拟指针表。
158.可选地,获取模拟指针与模拟量程的交点,基于交点和量程起点在模拟指针表上形成的弧长,确定第一指针表读数,第一读数单元602,用于:
159.基于模拟圆心和量程起点,确定第一连接线,以及,基于模拟圆心和量程终点,确定第二连接线;
160.确定模拟指针的交点与量程起点在量程长度上的第一弧线,以及,确定模拟指针的交点与量程终点在量程长度上的第二弧线,并计算第一弧线和第二弧线的弧线和;
161.分别确定模拟指针的交点与第一连接线之间的第一位置关系,以及,模拟指针的
交点与第二连接线之间的第二位置关系;
162.若第一位置关系和第二位置关系表征模拟指针与量程起点的距离小于模拟指针与量程终点的距离,则基于第一弧线和弧线和,确定第一指针表读数;
163.若第一位置关系和第二位置关系表征模拟指针与量程起点的距离大于模拟指针与量程终点的距离,则基于第二弧线和弧线和,确定第一指针表读数。
164.可选地,基于模拟指针表的模拟圆心分别与模拟指针、量程起点和量程终点之间连线的夹角,确定第二指针表读数,第二读数单元603,用于:
165.分别计算第一线段与第二线段之间的第一夹角,第一线段与第三线段之间的第二夹角,以及,第二线段与第三线段之间的第三夹角;其中第一线段是模拟指针表的模拟圆心和模拟指针的交点之间的线段、第二线段是模拟指针表的模拟圆心和量程起点之间的线段、第三线段是模拟指针表的模拟圆心和量程终点之间的线段;
166.若第一夹角大于或等于第二夹角,则基于第二夹角、第三夹角、第一夹角对应的误差偏移量、第二夹角对应的误差偏移量,确定第二指针表读数;
167.若第一夹角小于或等于第二夹角,则基于第一夹角、第三夹角、第一夹角对应的误差偏移量、第二夹角对应的误差偏移量,确定第二指针表读数;
168.其中,第一夹角对应的误差偏移量表征模拟指针与调整后的模拟指针之间的位置差异在模拟量程上对应的角度偏移量,第二夹角对应的误差偏移量表征模拟量程对应的角度偏移量。
169.可选地,基于第一指针表读数和第二指针表读数,确定指针表的目标读数,读数确定单元604,用于:
170.将第一指针表读数和第二指针表读数的均值确定为指针表的目标读数。
171.基于同一发明构思,参阅图7所示,本公开实施例中提供一种计算设备,包括:存储器702,用于存储可执行指令;处理器701,用于读取并执行存储器702中存储的可执行指令,并执行上述第一方面的任意一种方法。
172.基于同一发明构思,本公开实施例提供一种计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行上述第一方面任一项所述的方法。
173.综上所述,本公开实施例中,提供的一种指针表读数识别方法、装置及存储介质,该指针表读数识别方法包括:对包含指针表的图像进行识别,得到模拟量程和模拟指针,将模拟量程和模拟指针进行拟合,得到模拟指针表,上述模拟量程为用于表征指针表的量程起点、量程终点和量程长度的弧线,模拟指针为用于表征指针表在模拟量程上的指针头的指向,获取模拟指针与模拟量程的交点,基于交点和量程起点在模拟指针表上形成的弧长,确定第一指针表读数,基于模拟指针表的模拟圆心分别与模拟指针、量程起点和量程终点之间连线的夹角,确定第二指针表读数,基于第一指针表读数和第二指针表读数,确定指针表的目标读数,上述指针表读数识别过程中分别采取了根据弧长和夹角确定指针表读数的方式,并将上述两种方式的均值作为指针表最终的目标读数,从而保障了指针表在读数识别过程中的准确性和可靠性。
174.本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品系统。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计
算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品系统的形式。
175.本公开是参照根据本公开的方法、设备(系统)、和计算机程序产品系统的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
176.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
177.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
178.显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1