一种基于目标检测的指针式仪表全过程自动读数方法
未命名
08-22
阅读:131
评论:0
1.本发明涉及智能视觉检测的技术领域,尤其是指一种基于目标检测的指针式仪表全过程自动读数方法。
背景技术:
2.仪表是显示数值仪器的总称,是用于测量生产生活中各种数据的重要工具,对于了解生产和环境状态有着重要作用。虽然目前已经进入数字化时代,很多生产场景都在用数字化传感系统替换传统指针式仪表,但是在很多传统工业场景如:电力生产、油气生产中,指针式仪表因为其抗干扰能力强,结构简单,成本低等特性,仍被广泛应用。
3.在典型场景中,人工巡检员进行现场巡检抄录获取各个仪表的读数信息。这种工作枯燥乏味又要求人员读表时注意力高度集中,很容易产生疲劳感,容易因此引发错误记录。因此,使用巡检机器人替代人工巡检就具有很强的现实意义,而仪表自动读数算法又是此类巡检机器人所需的核心环节和关键技术。
4.现有方法主要分为基于传统图像方法和基于深度学习方法。基于传统图像处理方法通常是直接输入分割好的高质量表盘图像或者使用hough圆检测来获取表盘部分,然后利用hough变换等直线检测器检测指针的角度,然后利用表盘的先验信息,通常是人工建立了角度和读数的映射表,然后根据映射表依据指针角度的检测结果得到读数结果;基于深度学习的方法通常使用目标检测网络进行表盘区域的检测,然后处理表盘的过程中和传统方法相似。上述方法应用传统的图像处理技术检测指针信息,参数敏感性强且在整个表盘中对指针检测的干扰较多,对于识别比较不利,且标度盘的信息几乎完全依赖于先验的信息,不具备通用的全过程自动读数能力。部分深度学习的方法使用了ocr模型等更加复杂的深度学习模型,计算开销大,占用内存多且推理时间长,不利于方法在实际应用中的部署。
5.上述现有方法的种种不足之处导致了仪表读数方法存在泛化能力不足、鲁棒性不足、检测实时性和部署所需资源难以满足实际的工程应用等问题。因此,设计一种尽可能通用和全过程的仪表自动读数方法,仍然是一项有待解决的挑战性问题。
技术实现要素:
6.本发明的目的在于克服现有技术的缺点与不足,提出了一种基于目标检测的指针式仪表全过程自动读数方法,能够基于表盘字符自动建立标度盘信息,并使用了改进的指针提取和读数计算方法,为解决仪表智能读数问题提供了一种通用、有效、快速的解决方案。
7.为实现上述目的,本发明所提供的技术方案为:一种基于目标检测的指针式仪表全过程自动读数方法,包括以下步骤:
8.1)使用经过训练的目标检测网络提取仪表表盘图像的读数相关信息,所述读数相关信息包括指针尖端点、指针旋转中心点和标度数字;
9.2)利用目标检测网络的标度数字检测结果估算仪表的指针旋转中心点位置坐标;
10.3)利用目标检测网络指针检测结果得到的指针区域图像拟合指针所在直线,获取指针尖端点原始位置坐标;
11.4)定义所有标度数字到指针旋转中心点的平均距离为仪表的标度数字圆半径,利用该仪表的标度数字圆优化指针尖端点位置坐标;
12.5)对指针尖端点和标度数字进行匹配,确定指针关联标度区间;
13.6)利用仪表读数计算公式,基于指针尖端点、指针旋转中心点和指针关联标度区间的相关信息计算得到最终的仪表读数。
14.进一步,在步骤1)中,所述目标检测网络需经过针对仪表自动读数任务的训练,输入仪表表盘图像后输出结果为对应表盘的标度数字和指针区域的边界框和预测标签,所述边界框用其左上角和右下角的两点坐标描述,所述标度数字包括两个属性:标度数值和位置坐标,一个标度数字的标度数值为其对应的预测标签,位置坐标为其对应的边界框中心点坐标(xs,ys),能够由边界框左上角坐标(x
tl
,y
tl
)和右下角坐标(x
br
,y
br
)计算得到,具体计算公式如下:
[0015][0016][0017]
进一步,在步骤2)中,所述仪表的指针旋转中心点位置坐标为指针尖端点转动过程中形成圆弧轨迹的圆心坐标,标度数字也分布在这一圆上,每三个标度数字位置坐标能够确定一个唯一的公共圆,记该公共圆圆心为一个拟合点;对标度数字进行三个一组的全排列并计算每组标度数字对应的拟合点,所有拟合点构成拟合点集,将拟合点集的中心坐标作为指针旋转中心点的估计结果;
[0018]
上述拟合点的具体求解过程如下:
[0019]
2.1)定义圆的一般方程为:
[0020]
(x2+y2)+bx+cy+d=0
[0021]
b2+c
2-4*d2>0
[0022]
式中,圆上任意一点坐标为(x,y);b,c,d分别为方程的参数矩阵;
[0023]
2.2)将已知点(x1,y1)、(x2,y2)和(x3,y3)带入圆的一般方程后能够得到关于b,c,d的齐次方程组,在三个点不共线的情况下该方程有关于b,c,d唯一的解;
[0024][0025]
2.3)根据圆的一般方程能够推导得到圆心坐标(xc,yc)计算公式,带入步骤2.2)中计算得到的系数b,c,d,能够得到圆心坐标,也就是一个拟合点坐标:
[0026]
[0027][0028]
进一步,在步骤2)中,所述拟合点集在估算指针旋转中心点之前需筛选剔除离群拟合点,即距离其它拟合点远的拟合点;定义反映一个拟合点和拟合点集离散程度的距离指标,称为离群指数,若拟合点的离群指数大于设定的阈值,则判定为离群拟合点,对该点进行剔除;所述离群指数的计算过程具体如下:
[0029]
计算拟合点到拟合点集中所有其它拟合点的距离;
[0030]
选取所有距离中最近的前1/4个距离求平均数,得到的结果即为该拟合点的离群指数。
[0031]
进一步,在步骤3)中,所述指针尖端点原始位置坐标为指针尖端点在表盘图像中的坐标,具体过程包括:
[0032]
3.1)提取指针掩膜,利用自适应阈值分割ostu方法对目标检测网络得到的指针区域图像进行二值化并提取二值图像中的所有轮廓,将面积小的轮廓判定为噪声并去除;
[0033]
3.2)使用pca主成分分析方法进行直线检测,得到直线方程,所述直线方程用直线的斜率k和截距b描述,具体计算过程如下:
[0034]
3.2.1)获取二值图像中所有白色像素的位置坐标构成直线拟合的样本集x;
[0035]
3.2.2)对该样本集x进行样本中心化后,计算该样本集x的协方差矩阵xx
t
;
[0036]
3.2.3)对该协方差矩阵xx
t
进行特征值分解,并取最大特征值所对应的特征向量作为投影向量,选取样本均值附近任意两点坐标,利用投影向量求其在拟合直线上的投影点坐标,即可用这两个投影点确定拟合直线的两点式直线方程;
[0037]
3.3)计算直线方程和指针区域边界框的两个交点,选择距离指针旋转中心点远的交点作为指针尖端原始位置,其坐标为指针尖端点原始位置坐标。
[0038]
进一步,在步骤4)中,调整指针尖端点坐标到标度数字圆上,计算指针尖端点原始坐标和指针旋转中心点坐标所构成的直线方程,并取该直线上距离指针旋转中心点距离为仪表标度数字圆半径长度的点作为最终的指针尖端点。
[0039]
进一步,在步骤5)中,所述指针关联标度区间是指表盘图像上两个标度数字所构成的标度区间,是能够计算指针读数的最小标度区间;通过指针尖端点和标度数字位置进行匹配计算指针关联标度区间,具体过程如下:
[0040]
5.1)计算指针尖端点到各个标度数字的距离;
[0041]
5.2)匹配距离指针尖端点最近的两个标度数字所构成的标度区间作为指针关联标度区间的匹配结果,其中标度大的标度数字为标度区间上界,标度小的标度数字为标度区间下界。
[0042]
进一步,在步骤5)中,由于指针式仪表的指针会干扰目标检测网络对其周围标度数字的预测结果,因此定义距离指针尖端点近的标度数字为不稳定标度数字;定义一个标度数字的边界框对角线长度的一半为该标度数字的指针干扰阈值,若步骤5.1)中计算得到的标度数字距离指针尖端点的距离小于指针干扰阈值,则判定该标度数字为不稳定标度数字,该不稳定标度数字不参与步骤5.2)的指针关联标度区间匹配过程。
[0043]
进一步,在步骤5)中,所述指针关联标度区间应保证标度区间所构成的角度为劣角,即小于180度的角;以指针旋转中心点为原点建立直角坐标系,验证匹配得到的两个指
针关联标度区间对应的标度数字是否一个处于第一象限,另一个处于第四象限,若存在上述情形,则保留距指针最近的标度数字,剔除距离指针第二近的标度数字并替换为剩余标度数字中距离指针最近的标度数字,构成新的指针关联标度区间,然后重复上述验证过程,直到不出现上述情况,即两个指针关联标度区间对应的标度数字,一个处于第一象限,另一个处于第四象限。
[0044]
进一步,在步骤6)中,定义图像中任意两点之间的夹角是以指针旋转中心点为顶点,该两点和指针旋转中心点所连线段为两边所构成角所对应的角,所述仪表读数计算公式如下:
[0045]
当指针所指位置大于指针关联标度区间的标度区间下界时,按公式1计算:
[0046][0047]
当指针所指位置小于指针关联标度区间的标度区间下界时,按公式2计算:
[0048][0049]
式中,v代表了仪表读数计算的读数值,v
max
代表了标度区间下界的标度数值,v
min
代表了标度区间上界的标度数值,θd代表了指针尖端和标度区间下界的夹角,θu代表了指针尖端和标度区间上界的夹角,θs代表了标度区间上下界之间的夹角;
[0050]
具体计算过程如下:
[0051]
分别计算指针尖端点和标度区间上界、标度区间下界之间的夹角θu和θd以及标度区间上下界之间的夹角θs;
[0052]
若指针尖端点到标度区间上界和标度区间下界的夹角之和θu+θd等于标度区间上下界之间的夹角θs,或者标度区间上下界之间的夹角与指针到标度区间上界的夹角之和θs+θu等于指针到标度区间下界的夹角θd,则使用公式1进行计算;
[0053]
若标度区间上下界之间的夹角与指针到标度区间下界的夹角之和θs+θd等于指针到标度区间上界的夹角θu,则使用公式2进行计算。
[0054]
本发明与现有技术相比,具有如下优点与有益效果:
[0055]
1、本发明具有良好的泛化能力,本发明的读数方法依据人眼判读仪表的基本原理,并且使用了先进的目标检测网络,使得本发明能够摆脱同类仪表自动读数算法对于表盘先验信息的高度依赖,从而实现全过程的仪表自动读数识别,即从任意输入的单指针仪表表盘图像中直接得到读数结果。
[0056]
2、本发明具有良好的检测精度,经过实验测试本发明方法对于不限仪表类型且包含复杂场景背景的读数测试集的识别准确率可达90%,属于同类通用仪表读数方法中的较高读数精度。
[0057]
3、本发明具有良好的实时性,仪表读数的阶段完全基于常规图像处理方法,运算量相比叠用多个深度学习模型的方法减少很多,运算速度快,经过实验测试可以达到17帧每秒的检测速率,能够达到电力监控检测场景下的实时性检测要求。
[0058]
4、本发明具有良好的鲁棒性和抗干扰性,对指针标度匹配和读数计算公式进行了多个改进,最大限度的提高了方法的鲁棒性和抗干扰性。
[0059]
5、本发明具有很高的实用价值,使用的目标检测网络属于较为常见和成熟的深度
学习模型,现有很多企业都提供了针对目标检测网络的嵌入式设备,可以快速基于docker等模型部署工具部署到机器上,相比一些使用更加前沿的深度学习模型方法更加易于部署。
附图说明
[0060]
图1为本发明方法总体流程图。
[0061]
图2为目标检测网络边界框示意图。
[0062]
图3为拟合点估算示意图。
[0063]
图4为离群点剔除示意图。
[0064]
图5为指针区域获取示意图。
[0065]
图6为指针检测过程示意图。
[0066]
图7为指针尖端点优化示意图。
[0067]
图8为去除不稳定标度数字示意图。
[0068]
图9为防止错误匹配示意图。
[0069]
图10为仪表读数计算示意图。
具体实施方式
[0070]
下面结合实施例及附图对本发明作进一步说明。
[0071]
如图1所示,本实施例公开了一种基于目标检测的指针式仪表全过程自动读数方法,首先,该方法需要一个经过专门训练的目标检测网络,该网络是一种卷积神经网络,能够返回待检测图像中特定目标的边界框。接着,基于目标检测网络获取的标度数字的位置坐标估算指针旋转中心点坐标,基于目标检测网络获取的指针区域估算指针尖端点原始位置坐标;之后,基于仪表标度数字圆对指针尖端点的位置坐标进行优化,并将优化后的指针尖端点和标度数字进行匹配,确定一个用于最终读数计算的指针关联标度区间,然后利用基于角度读数法改进的仪表读数计算公式算得最终的读数结果。
[0072]
在本实施例中,我们选用一种轻量级fcos模型做为使用的目标检测网络,该网络由fcos模型替换主干网络为mobilenetv2后得到,是一种较为常规的轻量级目标检测网络。(理论上任何成熟目标检测网络经过标注了仪表表盘目标的数据集的训练后都能胜任本方法所需的任务,只会在性能上会存在差异)。
[0073]
步骤1,使用经过训练的轻量级fcos模型提取仪表表盘图像的读数相关信息。如图2所示,左侧图像为轻量级fcos模型输出的所有标度数字检测结果,右图为截取的标度数字“2”的边界框示意图,轻量级fcos模型会直接输出这个边界框的左上角p
tl
(x
tl
,y
tl
)和右下角p
br
(x
br
,y
br
)坐标,根据这两个坐标就可以计算这个边界框中心点s的坐标ps(xs,ys),具体计算公式如下:
[0074][0075][0076]
本方法中其它所有标度数字的位置都用其边界框中心点来描述(下文描述标度数
值位置均指该标度数字的中心点)。
[0077]
步骤2,利用表盘图像的标度数字检测结果估算仪表的指针旋转中心点位置坐标,此过程又可以进一步细分为以下几个步骤:
[0078]
2.1)每三个标度数字计算一个拟合点,得到一个拟合点集;
[0079]
下面结合图3拟合点估算示意图对上述指针旋转中心点估计的步骤进行详细描述。如图3所示,该图示意了利用6、7、8三个标度数字估计拟合点的过程,分别记这三个点为p
s6
(x6,y6),p
s7
(x7,y7),p
s8
(x8,y8)。
[0080]
定义拟合圆的方程为:
[0081]
(x2+y2)+bx+cy+d=0
[0082]
b2+c
2-4*d2>0
[0083]
其中圆上任意一点坐标为(x,y),b,c,d分别为方程的参数矩阵;
[0084]
将已知点p
s6
(x6,y6)、p
s7
(x7,y7)和p
s8
(x8,y8)带入圆的一般方程后可以得到关于b,c,d的齐次方程组,在三个点不共线的情况下该方程有关于b,c,d唯一的解
[0085][0086]
根据圆的一般方程可以推导得到圆心坐标pc(xc,yc)计算公式,带入上述计算得到的系数b,c,d,可以得到圆心坐标也就是拟合点坐标
[0087][0088][0089]
2.2)计算每个拟合点的离群指数,并筛选去除离群指数高于阈值的那些拟合点;参考k-最近邻法的思想定义反应一个拟合点和拟合点集离散程度的距离指标,称为离群指数,若拟合点的离群指数大于设定的阈值,则判定为离群拟合点,对该点进行剔除;所述离群指数的计算过程具体如下:
[0090]
计算拟合点到拟合点集中所有其它拟合点的距离;
[0091]
选取所有距离中最近的前1/4个距离求平均数,得到的结果即为该拟合点的离群指数;
[0092]
如图4所示,图像中外围的5个白色圆点表示被剔除的离群点,在指针旋转中心点处密集的黑色圆点为保留的拟合点;本例中设定离群指数阈值为80,若调高这一阈值则更多的点会被判定为保留的拟合点;若调低这一阈值,则更多的拟合点会被判定为离群拟合点。
[0093]
2.3)计算筛选后拟合点集的中心点坐标,就是最终得到的指针旋转中心点坐标。图4中拟合点集中位置的灰色圆点表示了最终得到的指针旋转中心点,由所有的黑色原点,即保留的拟合点计算中心位置得到。
[0094]
步骤3,利用表盘图像的指针区域图像拟合指针所在直线,获取指针尖端点原始位置坐标。指针区域图像的获取过程如图5所示,轻量级fcos模型输出的指针区域的边界框绘
制在表盘图像中如图5中左图所示,利用该边界框的坐标提取指针区域图像如图5中右图所示。
[0095]
利用轻量级fcos模型获取得到的指针区域图像计算指针斜率有可以分为以下步骤:
[0096]
3.1)提取指针掩膜,利用自适应阈值分割ostu方法对指针区域图像进行二值化并提取二值图像中的所有轮廓,将面积较小的轮廓判定为噪声并去除;
[0097]
经过二值化处理之后的图像如图6中(b)所示,图中的白色部分就是计算得到的指针掩膜部分。
[0098]
3.2)基于上述指针掩膜使用pca主成分分析方法进行直线检测,得到直线方程,所述直线方程用直线的斜率k和截距b描述,具体计算过程如下:
[0099]
3.2.1)获取二值图像中所有白色像素的位置坐标构成直线拟合的样本集x;
[0100]
3.2.2)对该样本集x进行样本中心化后,计算该样本集的协方差矩阵xx
t
;
[0101]
3.2.3)对该协方差矩阵xx
t
进行特征值分解,并取最大特征值所对应的特征向量作为投影向量,可选取样本均值附近任意两点,求其在拟合直线上的投影点坐标,即可用这两个投影点确定拟合直线的两点式直线方程;
[0102]
经过上述pca计算得到该指针掩膜的投影向量为[0.982-0.191],取样本集x的均值点(390,116)作为绘制拟合直线的参照点可以绘制拟合后的直线如图6中的(c)所示。
[0103]
3.3)计算直线方程和指针区域边界框的两个交点,直线方程和指针区域边界框的两个交点连线并绘制在表盘图像当中,如图6中的(d)所示。选择其中距离指针中心较远的一个点,就得到的指针尖端点原始位置。
[0104]
步骤4,定义所有标度数字到指针旋转中心点的平均距离为仪表标度数字圆半径,利用该仪表标度数字圆半径优化指针尖端位置坐标,优化相关公式如下:
[0105][0106][0107][0108][0109]
其中,r为标度数字圆半径,pc(xc,yc)为标度数字圆心坐标(也是指针旋转中心点坐标),p
e1
为指针尖端点原始位置,k为pc和p
e1
所连直线构成的斜率,最终分别计算得到的两点(x
e21
,y
e21
)和(x
e22
,y
e22
)分别与p
e1
之间的距离,保留距离较小的一个点作为优化后的指针尖端点p
e2
。
[0110]
如图7所示,白色的圆形表示了该表盘的标度数字圆,该圆以指针旋转中心点pc为圆心,以各个标度数字到pc的平均距离为半径得到。图中p
e1
表示指针尖端的原始位置,p
e2
表示经过优化后的指针尖端点位置,从图中可以看出p
e1
和p
e2
共线,p
e2
且位于标度数字圆上。
[0111]
步骤5,对指针尖端点和标度数字进行匹配,确定指针关联标度区间;所述指针关
联标度区间是指表盘图像上两个标度数字所构成的标度区间,是能够计算指针读数的最小标度区间,本发明不对指针尖端点和指针关联标度区间的位置关系做出过多限制,指针尖端点可以位于指针关联标度区间的内部,也可以位于指针关联标度区间的外部。
[0112]
通过指针尖端点和标度数字进行匹配计算指针关联标度区间,具体过程如下:
[0113]
计算指针尖端点到各个标度数字的距离;
[0114]
匹配距离指针尖端点最近的两个标度数字所构成的标度区间作为指针关联标度区间的匹配结果,其中标度较大的标度数字为标度区间上界,标度较小的标度数字为标度区间下界。
[0115]
由于指针式仪表的指针会干扰目标检测网络对其周围标度数字的预测结果,因此定义距离指针尖端点过近的标度数字为不稳定标度数字;定义一个标度数字的边界框对角线长度的一半为该标度数字的指针干扰阈值,若一个标度数字距离指针尖端的距离小于指针干扰阈值,则判定该标度数字为不稳定标度数字,该标度数字不参与上述指针关联标度区间匹配过程。
[0116]
如图8所示,以标度数字“7”的边界框对角线长度一半为标度数字“7”的指针干扰阈值,可以用指针干扰阈值作为半径,以指针尖端点为圆心作一个圆,若标度数字“7”的位置位于这个圆内,则该标度数字不参与指针关联标度区间的匹配,该图最终得到的指针关联标度区间的匹配结果为标度数字“6”和“8”,对应标度数字位置为点pu和pd的坐标,分别为(223,619)和(311,1362),其中pu为指针关联标度区间的标度区间上界,pd为指针关联区间的标度区间下界。
[0117]
另有一种误识别情况如图9所示,由于标度数字之间的距离较大,标度数字8和标度数字16距离p
e2
的距离十分相近,导致从直线距离上计算反而将标度数字4和标度数字16匹配成了同一个指针关联标度区间,若在这个区间上计算读数,则会出现读数错误;
[0118]
上述情况典型地发生于指针尖端靠近最大或最小的标度数字时,以指针旋转中心点为原点建立直角坐标系后。若出现上述情形,则意味着指针尖端点和远离指针的指针关联标度区间端点有一个位于第三象限,另一个位于第四象限,可根据指针尖端点和标度区间上下界坐标进行判断。若判断确认出现上述情形,则舍去距指针尖端点较远的标度数字,保留较近的标度数字,并和剩余标度数字中距离指针尖端最近的标度数字共同组成指针关联区间;在图9中,舍去了距离指针尖端较远的p
16
后,p8作为剩余标度数字中距离指针尖端最近的和p4构成了正确的指针关联标度区间。
[0119]
步骤6,利用仪表读数计算公式,基于指针尖端点、指针旋转中心点和指针关联标度区间计算得到仪表读数。
[0120]
定义图像中任意两点之间的夹角是以指针旋转中心为顶点,该两点和指针旋转中心点所连线段为两边构成的角所对应的角,则所述仪表读数计算公式如下:
[0121]
当指针所指位置大于指针关联标度区间的标度区间下界时,按公式1计算:
[0122][0123]
当指针所指位置小于指针关联区间的标度区间下界时,按公式2计算:
[0124]
[0125]
式中,v代表了仪表读数计算的读数值,v
max
代表了标度区间下界的标度数值,v
min
代表了标度区间上界的标度数值,θd代表了指针尖端和标度区间下界的夹角,θu代表了指针尖端和标度区间上界的夹角,θs代表了标度区间上下界之间的夹角。
[0126]
下面结合图10指针读数计算示意图,具体计算过程如下:
[0127]
分别计算指针尖端点和标度区间上界、标度区间下界的夹角θu=∠p
e2
pcpu和θd=∠p
e2
pcpd,以及标度区间上下界之间的夹角θs=∠pupcpd;
[0128]
若指针尖端点到标度区间上界和标度区间下界的夹角之和∠p
e2
pcpu+∠p
e2
pcpd等于标度区间上下界之间的夹角∠pupcpd,或者标度区间上下界之间的夹角与指针到标度区间上界的夹角之和∠pupcpd+∠p
e2
pcpu等于指针到标度区间下界的夹角θd=∠p
e2
pcpd,则使用公式1进行计算;
[0129]
若标度区间上下界之间的夹角与指针到标度区间下界的夹角之和∠pupcpd+∠p
e2
pcpd等于指针到标度区间上界的夹角∠p
e2
pcpu,则使用公式2进行计算。
[0130]
在图10所示案例中:
[0131]
θu=∠p
e2
pcpu=36.00
[0132]
θd=∠p
e2
pcpd=36.15
[0133]
θs=∠pupcpd=72.16
[0134]
由于,∠p
e2
pcpu+∠p
e2
pcpd=∠pupcpd,故选择公式1作为计算公式,带入两个标度数字的标度数值v
min
=6,v
max
=8进入公式中得到如下的计算结果:
[0135][0136]
v=7.002
[0137]
所得读数结果约等于7,和人眼读数的结果高度一致,验证了本发明方法具有的有效性。
[0138]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
技术特征:
1.一种基于目标检测的指针式仪表全过程自动读数方法,其特征在于,包括以下步骤:1)使用经过训练的目标检测网络提取仪表表盘图像的读数相关信息,所述读数相关信息包括指针尖端点、指针旋转中心点和标度数字;2)利用目标检测网络的标度数字检测结果估算仪表的指针旋转中心点位置坐标;3)利用目标检测网络指针检测结果得到的指针区域图像拟合指针所在直线,获取指针尖端点原始位置坐标;4)定义所有标度数字到指针旋转中心点的平均距离为仪表的标度数字圆半径,利用该仪表的标度数字圆优化指针尖端点位置坐标;5)对指针尖端点和标度数字进行匹配,确定指针关联标度区间;6)利用仪表读数计算公式,基于指针尖端点、指针旋转中心点和指针关联标度区间的相关信息计算得到最终的仪表读数。2.根据权利要求1所述的一种基于目标检测的指针式仪表全过程自动读数方法,其特征在于,在步骤1)中,所述目标检测网络需经过针对仪表自动读数任务的训练,输入仪表表盘图像后输出结果为对应表盘的标度数字和指针区域的边界框和预测标签,所述边界框用其左上角和右下角的两点坐标描述,所述标度数字包括两个属性:标度数值和位置坐标,一个标度数字的标度数值为其对应的预测标签,位置坐标为其对应的边界框中心点坐标(x
s
,y
s
),能够由边界框左上角坐标(x
tl
,y
tl
)和右下角坐标(x
br
,y
br
)计算得到,具体计算公式如下:下:3.根据权利要求2所述的一种基于目标检测的指针式仪表全过程自动读数方法,其特征在于,在步骤2)中,所述仪表的指针旋转中心点位置坐标为指针尖端点转动过程中形成圆弧轨迹的圆心坐标,标度数字也分布在这一圆上,每三个标度数字位置坐标能够确定一个唯一的公共圆,记该公共圆圆心为一个拟合点;对标度数字进行三个一组的全排列并计算每组标度数字对应的拟合点,所有拟合点构成拟合点集,将拟合点集的中心坐标作为指针旋转中心点的估计结果;上述拟合点的具体求解过程如下:2.1)定义圆的一般方程为:(x2+y2)+bx+cy+d=0b2+c
2-4*d2>0式中,圆上任意一点坐标为(x,y);b,c,d分别为方程的参数矩阵;2.2)将已知点(x1,y1)、(x2,y2)和(x3,y3)带入圆的一般方程后能够得到关于b,c,d的齐次方程组,在三个点不共线的情况下该方程有关于b,c,d唯一的解;
2.3)根据圆的一般方程能够推导得到圆心坐标(x
c
,y
c
)计算公式,带入步骤2.2)中计算得到的系数b,c,d,能够得到圆心坐标,也就是一个拟合点坐标:得到的系数b,c,d,能够得到圆心坐标,也就是一个拟合点坐标:4.根据权利要求3所述的一种基于目标检测的指针式仪表全过程自动读数方法,其特征在于,在步骤2)中,所述拟合点集在估算指针旋转中心点之前需筛选剔除离群拟合点,即距离其它拟合点远的拟合点;定义反映一个拟合点和拟合点集离散程度的距离指标,称为离群指数,若拟合点的离群指数大于设定的阈值,则判定为离群拟合点,对该点进行剔除;所述离群指数的计算过程具体如下:计算拟合点到拟合点集中所有其它拟合点的距离;选取所有距离中最近的前1/4个距离求平均数,得到的结果即为该拟合点的离群指数。5.根据权利要求4所述的一种基于目标检测的指针式仪表全过程自动读数方法,其特征在于,在步骤3)中,所述指针尖端点原始位置坐标为指针尖端点在表盘图像中的坐标,具体过程包括:3.1)提取指针掩膜,利用自适应阈值分割ostu方法对目标检测网络得到的指针区域图像进行二值化并提取二值图像中的所有轮廓,将面积小的轮廓判定为噪声并去除;3.2)使用pca主成分分析方法进行直线检测,得到直线方程,所述直线方程用直线的斜率k和截距b描述,具体计算过程如下:3.2.1)获取二值图像中所有白色像素的位置坐标构成直线拟合的样本集x;3.2.2)对该样本集x进行样本中心化后,计算该样本集x的协方差矩阵xx
t
;3.2.3)对该协方差矩阵xx
t
进行特征值分解,并取最大特征值所对应的特征向量作为投影向量,选取样本均值附近任意两点坐标,利用投影向量求其在拟合直线上的投影点坐标,即可用这两个投影点确定拟合直线的两点式直线方程;3.3)计算直线方程和指针区域边界框的两个交点,选择距离指针旋转中心点远的交点作为指针尖端原始位置,其坐标为指针尖端点原始位置坐标。6.根据权利要求5所述的一种基于目标检测的指针式仪表全过程自动读数方法,其特征在于,在步骤4)中,调整指针尖端点坐标到标度数字圆上,计算指针尖端点原始坐标和指针旋转中心点坐标所构成的直线方程,并取该直线上距离指针旋转中心点距离为仪表标度数字圆半径长度的点作为最终的指针尖端点。7.根据权利要求6所述的一种基于目标检测的指针式仪表全过程自动读数方法,其特征在于,在步骤5)中,所述指针关联标度区间是指表盘图像上两个标度数字所构成的标度区间,是能够计算指针读数的最小标度区间;通过指针尖端点和标度数字位置进行匹配计
算指针关联标度区间,具体过程如下:5.1)计算指针尖端点到各个标度数字的距离;5.2)匹配距离指针尖端点最近的两个标度数字所构成的标度区间作为指针关联标度区间的匹配结果,其中标度大的标度数字为标度区间上界,标度小的标度数字为标度区间下界。8.根据权利要求7所述的一种基于目标检测的指针式仪表全过程自动读数方法,其特征在于,在步骤5)中,由于指针式仪表的指针会干扰目标检测网络对其周围标度数字的预测结果,因此定义距离指针尖端点近的标度数字为不稳定标度数字;定义一个标度数字的边界框对角线长度的一半为该标度数字的指针干扰阈值,若步骤5.1)中计算得到的标度数字距离指针尖端点的距离小于指针干扰阈值,则判定该标度数字为不稳定标度数字,该不稳定标度数字不参与步骤5.2)的指针关联标度区间匹配过程。9.根据权利要求8所述的一种基于目标检测的指针式仪表全过程自动读数方法,其特征在于,在步骤5)中,所述指针关联标度区间应保证标度区间所构成的角度为劣角,即小于180度的角;以指针旋转中心点为原点建立直角坐标系,验证匹配得到的两个指针关联标度区间对应的标度数字是否一个处于第一象限,另一个处于第四象限,若存在上述情形,则保留距指针最近的标度数字,剔除距离指针第二近的标度数字并替换为剩余标度数字中距离指针最近的标度数字,构成新的指针关联标度区间,然后重复上述验证过程,直到不出现上述情况,即两个指针关联标度区间对应的标度数字,一个处于第一象限,另一个处于第四象限。10.根据权利要求9所述的一种基于目标检测的指针式仪表全过程自动读数方法,其特征在于,在步骤6)中,定义图像中任意两点之间的夹角是以指针旋转中心点为顶点,该两点和指针旋转中心点所连线段为两边所构成角所对应的角,所述仪表读数计算公式如下:当指针所指位置大于指针关联标度区间的标度区间下界时,按公式1计算:当指针所指位置小于指针关联标度区间的标度区间下界时,按公式2计算:式中,v代表了仪表读数计算的读数值,v
max
代表了标度区间下界的标度数值,v
min
代表了标度区间上界的标度数值,θ
d
代表了指针尖端和标度区间下界的夹角,θ
u
代表了指针尖端和标度区间上界的夹角,θ
s
代表了标度区间上下界之间的夹角;具体计算过程如下:分别计算指针尖端点和标度区间上界、标度区间下界之间的夹角θ
u
和θ
d
以及标度区间上下界之间的夹角θ
s
;若指针尖端点到标度区间上界和标度区间下界的夹角之和θ
u
+θ
d
等于标度区间上下界之间的夹角θ
s
,或者标度区间上下界之间的夹角与指针到标度区间上界的夹角之和θ
s
+θ
u
等于指针到标度区间下界的夹角θ
d
,则使用公式1进行计算;若标度区间上下界之间的夹角与指针到标度区间下界的夹角之和θ
s
+θ
d
等于指针到标度区间上界的夹角θ
u
,则使用公式2进行计算。
技术总结
本发明公开了一种基于目标检测的指针式仪表全过程自动读数方法,包括:1)用目标检测网络提取仪表表盘图像的读数相关信息;2)用目标检测网络的标度数字检测结果估算仪表的指针旋转中心点坐标;3)利用目标检测网络指针检测结果得到的指针区域图像拟合指针所在直线,获取指针尖端点原始位置坐标;4)定义所有标度数字到指针旋转中心点的平均距离为仪表的标度数字圆半径,利用该仪表的标度数字圆优化指针尖端点位置坐标;5)对指针尖端点和标度数字进行匹配,确定指针关联标度区间;6)基于指针尖端点、指针旋转中心点和指针关联标度区间的相关信息计算得到最终的仪表读数。本发明实现了不依赖先验信息的仪表全过程自动读数,同时具备良好的检测速度。具备良好的检测速度。具备良好的检测速度。
技术研发人员:杜启亮 安毅 王昭霖 曲烽瑞 田联房
受保护的技术使用者:华南理工大学
技术研发日:2023.04.06
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
