一种倾斜指针式仪表自动读数方法

文档序号:36625159发布日期:2024-01-06 23:18阅读:23来源:国知局
一种倾斜指针式仪表自动读数方法

本发明涉及智能仪表的自动识别技术,尤其涉及一种倾斜指针式仪表自动读数方法。


背景技术:

1、随着深度学习、模式识别的发展,深度学习算法在工业仪表图像识别处理领域的应用越来越广泛。工业场景中采集仪表图像时是通过对摄像头的预置位进行调整,使得一个摄像头尽可能多的拍摄到多个仪表的画面,通过后续深度卷积神经网络识别的方式,提取出指针,进而计算指针角度,计算指针读数图像识别的方式,得到仪表的读数。由于摄像头安装以及需要对多个仪表的拍摄,拍摄的仪表往往存在一定的倾斜。在现有的矫正倾斜仪表图像的方法中,透射变换是最主要的方式。透射变换作用于指针提取之后,计算指针角度之前,其原理是基于二维空间对图像进行坐标变换,利用特征点的匹配和对应的坐标关系,构建透射矩阵,在进行大幅度的透射变换时,可能会产生图像拉伸、变形或剪裁的问题,这就使得计算指针角度的时候会产生偏差,引起误差,使得仪表读数不准确。

2、通过透射变换对倾斜的图像进行矫正时,可能需要进行图像的拉伸、压缩或裁剪,以使得倾斜的对象变得垂直或水平。这样可能会造成图像中的某些区域被裁剪或变形,导致丢失细节或造成图像质量下降。尤其在进行大角度倾斜矫正时,由于透射变换是基于二维坐标的变换,不可避免地会引入一定程度的图像形变,特别是在图像的边缘部分。同时,在进行透射变换时,至少需要4对匹配的特征点来估计透射矩阵,然而,在某些情况下,可能很难找到足够数量和质量的匹配点,尤其是在复杂的场景或图像中,这可能导致透射变换无法准确估计,从而影响矫正效果。

3、为此,如何解决倾斜状态下仪表识别的问题成为当前亟需解决的技术问题。


技术实现思路

1、(一)要解决的技术问题

2、针对现有技术的不足,本发明实施例提供一种倾斜指针式仪表自动读数方法。

3、(二)技术方案

4、为了达到上述目的,本发明采用的主要技术方案包括:

5、第一方面,本发明实施例提供一种倾斜指针式仪表自动读数方法,包括:

6、步骤101、基于预先训练的深度卷积神经网络对待识别的仪表倾斜图进行识别,获得深度卷积神经网络识别输出的角度值一ang_net,以及获取角度值一ang_net所属的三维坐标[x_net y_net z_net];

7、步骤102、基于预先设置的仪表正面图和待识别的仪表倾斜图,选择至少三个特征点进行旋转识别方式,获取仪表正面图旋转至仪表倾斜图的状态时的旋转角度(θx,θy,θz)和旋转矩阵(rotmx,rotmy,rotmz);

8、步骤103、根据所述角度值一ang_net所属的三维坐标[x_net y_net z_net]、仪表正面图旋转至仪表倾斜图的状态时的旋转角度(θx,θy,θz)和旋转矩阵(rotmx,rotmy,rotmz),获取仪表倾斜图中仪表指针处于正面时的角度值θpoint;

9、步骤104、根据仪表正面图时仪表的基本参数和所述仪表指针处于正面时的角度值θpoint,获得待识别的仪表倾斜图中仪表读数r。

10、可选地,所述步骤104包括:

11、根据下述公式获取所述仪表读数r;

12、

13、其中,r是仪表读数,vmin,vmax分别为仪表的最小读数和最大读数,θmin,θmax分别为仪表最小读数和水平线夹角角度,仪表最大读数和水平线夹角角度,θpoint为仪表指针处于正面时的角度值即处于正面时与水平线夹角角度。

14、可选地,所述步骤103包括:

15、根据下述公式获取仪表指针处于正面时的角度值θpoint;

16、

17、front_x=xn*rotmx*rotmy*rotmz

18、front_y=yn*rotmx*rotmy*rotmz

19、front_z=0

20、

21、其中,仪表倾斜图中倾斜仪表的指针顶点处于正面时的坐标front_x,front_y,front_z;

22、[x_net y_net z_net]是仪表倾斜图中倾斜仪表指针顶点的三维坐标,[xn yn zn]是指针顶点在旋转斜面上面的坐标;

23、所述旋转斜面为旋转角度(θx,θy,θz)所构成的平面;

24、nl是通过[x_net y_net z_net]得到的旋转斜面的法线。

25、可选地,所述步骤103包括:

26、根据下述公式获取旋转面的法线nl;

27、up=[0 1 0]

28、r=[1 0 0]

29、up_r=rotmx×rotmy×rotmz×up

30、r_r=rotmx×rotmy×rotmz×r

31、nl=-(r_r×up_r)

32、其中,up和r分别为仪表正面图的y轴上的正向单位坐标,x轴上的正向单位坐标,up_r和r_r分别是仪表倾斜图旋转后y轴上的正向单位坐标、x轴上的正向单位坐标。

33、可选地,所述步骤101之前,所述方法还包括:

34、获取训练数据集,采用训练数据集训练深度神经网络模型;

35、训练数据集包括多个标注有特征点的仪表正面图和标注有对应仪表正面图中特征点的仪表倾斜图;

36、训练过程的损失函数为:

37、loss=λ1*angle loss+λ2*lbox loss+λ3*lobj loss+λ4*lcls loss;

38、其中,angle loss用于衡量深度神经网络模型预测的指针角度与实际指针角度之间的差异;lbox loss则用于测量深度神经网络模型的位置误差;lobj loss用于度量深度神经网络模型的置信度误差,lcls loss用于衡量深度神经网络模型的类别误差;λ1,λ2,λ3,λ4分别为四个权重参数λ1,λ2,λ3,λ4;

39、和/或,

40、采用训练数据集训练深度神经网络模型的训练过程包括:

41、对每一图进行预处理,并将预处理后的640*640*3的仪表图像经过n次卷积,进行深度卷积和逐点卷积、深度可分离卷积处理,得到的是40*40*64大小的特征图,对40*40*64的特征图执行softmax操作,得到特征图中每个像素点分别属于各个类别的概率,再经过argmax运算将概率转换成每个像素具体所属的类别,最后将40*40*64尺寸的特征图还原得到640*640*3大小的特征图,并预测输出是多个特征点的像素坐标,根据预测出的多个特征点的像素坐标,计算出指针基于图像底边的斜率,根据斜率获得指针角度。

42、可选地,所述步骤101包括:

43、根据下述公式获取角度值一ang_net所属的三维坐标

44、[x_net y_net z_net];

45、

46、

47、z_net=-1,z_net表示仪表倾斜图是仪表正面图通过旋转后的投影生成的,z=0表示仪表正面图。

48、可选地,所述步骤102包括:

49、步骤102-1、对仪表正面图和仪表倾斜图分别标注对应的三个特征点;针对正面图像中特征点的二维坐标值和仪表倾斜图中特征点的坐标,基于下述公式获取各自的第一角度值;

50、

51、其中,ang是特征点的角度值,x,y是特征点的坐标值;

52、步骤102-2、根据各自的第一角度值,基于下述公式获取仪表正面图和仪表倾斜图中每一特征点的三维坐标;

53、

54、

55、z=0  (公式3);

56、步骤102-3、基于仪表正面图中每一特征点的三维坐标和仪表倾斜图中每一特征点的三维坐标,获取仪表正面图至仪表倾斜图的旋转矩阵(rotmx,rotmy,rotmz);

57、

58、

59、

60、其中:θx,θy,θz是从(0~180°)进行遍历取值的。

61、可选地,所述步骤102还包括:

62、采用遍历方式获取θx,θy,θz;具体包括:

63、根据下述公式5求出仪表正面图中三个特征点旋转后的坐标(x_r、y_r、z_r),把旋转后的三个坐标点投影到一个z=0的平面上,通过公式6计算出这三个特征点在z=0的平面上的角度rotang1,rotang2,rotang3;

64、其中rotang1对应(x_r1,y_r1),rotang2对应(x_r2,y_r2),rotang3对应(x_r3,y_r3);

65、如果旋转之后的三个特征点的角度都与仪表倾斜图上的三个特征点的第一角度值在误差范围内,则得到三个旋转角;

66、即:(x1,y1,z1)-》(x_r1,y_r1,z_r1),

67、(x2,y2,z2)-》(x_r2,y_r2,z_r2),

68、(x3,y3,z3)-》(x_r3,y_r3,z_r3),

69、r1,r2,r3分别表示旋转的三个特征点,x_r1,y_r1,z_r1分别表示仪表正面图的三个特征点分别旋转后的坐标x轴坐标,y轴坐标和z轴坐标,

70、x_r=x*rotmz*rotmy*rotmx

71、y_r=y*rotmz*rotmy*rotmx  (公式5)

72、z_r=z*rotmz*rotmy*rotmx

73、公式5中,x_r,y_r,z_r分别代表仪表正面图的特征点通过旋转后的x坐标,y坐标,z坐标,x,y,z分别表示仪表正面图的特征点坐标,rotmz,rotmy,rotmx分别表示绕z轴的旋转矩阵,绕y轴的旋转矩阵,绕x轴的旋转矩阵;

74、

75、θ-thr<rotang<θ+thr  (公式7)

76、如果ang4-thr<rotang1<ang4+thr,ang5-thr<rotang2<ang5+thr,ang6-thr<rotang3<ang6+thr,则此时的θx,θy,θz就是最终得到的三个旋转角。

77、第二方面,本发明实施例还提供一种电子设备,包括:存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述存储器中存储的计算机程序,并执行第一方面任一所述的一种倾斜指针式仪表自动读数方法的步骤。

78、(三)有益效果

79、本发明的目的是针对仪表倾斜的问题,对现有的深度卷积神经网络进行改进,通过叠加特征提取层并将旋转角度嵌入到网络的损失函数中的方法提升识别的精度,利用改进后的深度卷积神经网络进行指针提取,然后再利用本发明的倾斜矫正算法然后进行三维图像还原,计算出三维下的旋转角度,实现三维图像的还原,解决在倾斜状态下的仪表识别问题,提高了识别精度。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1