System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及仪表图像识别领域,具体而言,具体涉及一种多类型仪表智能定位和校正方法。
技术介绍
1、各类仪器仪表是工业生产环境中的重要组成部分,如指针式仪表和数显式仪表,为生产环境有条不紊地运行和量化生产数据打下基础。随着工业智能化的发展,基于计算机视觉的仪表智能读数成为焦点。在进行读数之前,需要人工或者巡检机器人对生产环境中的仪表进行图像采集,然而,由于图像采集过程中需要一张图像采集多个仪表,不能保证每个仪表都为最佳拍摄角度,部分仪表会带有倾斜的情况,从而影响刻度比例变化或数值比例变化,这会导致仪表读数的误差增大。因此,在仪表进行读数之前进行角度校正有助于提高读数的准确性。
2、现有技术也有对仪表进行校正的技术,例如中国专利文献cn115512343a使用yolov5算法检测仪表盘中的刻度值作为关键点,并使用最小二乘法拟合关键点椭圆的方法进行仪表的透视校正、透视变换和旋转校正。
3、中国专利文献cn112801094a使用卷积神经网络检测仪表盘中的刻度值作为关键点,再构建同类型指针仪表的模板图像。根据表盘刻度数字关键点坐标和构建的模板图像的刻度坐标进行关键点匹配,计算单应矩阵,根据单应矩阵,对仪表图像进行透视变换,校正仪表图像。
4、在工业生产环境,使用现有技术进行仪表图像校正具有以下现实问题:
5、(1)工业仪表形状种类众多,现有校正算法都是针对圆形仪表校正,无法校正方形仪表;
6、(2)对于椭圆区域不规则以及非圆形刻度区域的仪表,传统方法难以拟合外轮廓椭圆以及表盘
技术实现思路
1、本专利技术所要解决的技术问题是提供一种多类型仪表智能定位并校正方法,通过计算机视觉方法定位仪表区域,使用深度学习的方法分割仪表表盘区域,区分表盘种类并计算四对关键点,通过透视变换校正图像,得到仪表图像的正视图像。
2、为解决上述技术问题,本专利技术所采用的技术方案是:
3、一种多类型仪表智能定位和校正方法,包括以下步骤:
4、s1、构建倾斜仪表数据集;
5、s2、使用yolo系列算法识别仪表类型;
6、s3、使用u-net系列算法分割仪表表盘区域;
7、s4、对于圆形仪表,拟合最小外接圆进行透视变换校正;对于方形仪表,通过拟合表盘四边形区域进行矩形变换校正。
8、上述s1构建倾斜仪表数据集的具体过程为:
9、s1.1、通过采集实际工业环境中的各种类型仪表,包括方形、圆形仪表,采集设备处于倾斜角度,使采集到的图像为非正视视角;
10、s1.2、对数据集进行标签标注,使用labelimg标注仪表在图像中的位置,制作仪表位置数据集,使用labelme标注仪表表盘区域,制作仪表表盘区域数据集。
11、上述s2识别定位仪表的具体过程为:
12、s2.1、选择yolov7算法为仪表定位算法;
13、s2.2、将s1中的仪表位置数据集用于yolov7训练,并设置相应的batchsize、训练迭代次数;
14、s2.3、使用训练后的yolov7定位并分类仪表表盘区域。
15、上述s3中,通过得到定位后的仪表图像,分割出其表盘区域,具体过程为:
16、s3.1、选用u2-net为仪表表盘区域分割网络;
17、s3.2、将s1中的仪表表盘区域数据集用于u2-net训练,并设置相应的batchsize、训练迭代次数;
18、s3.3、使用训练后的u2-net分割来自s2.3中定位的仪表表盘区域;
19、s3.4、二值化处理u2-net分割的表盘区域,得到清晰的仪表轮廓信息;
20、s3.5、调用opencv中的findcontours()函数,得到仪表表盘轮毂点集(xi,yi),i=1,2,...,n,调用opencv中的arclength()和approxpolydp()得到最小轮毂点集(xj,yj),j=1,2,...,m,如果m>8,则为椭圆区域,否则为方形仪表区域。
21、上述s3得到仪表表盘区域,针对椭圆仪表通过拟合外接圆进行校正,针对方形仪表通过匹配四边形四个顶点进行校正,具体过程为:
22、s4.1、对于椭圆仪表,根据s3.3分割后的区域坐标集合(xi,yi),i=1,2,...,n,调用opencv中的fitellipse()函数得到最小外接椭圆的圆心x0,y0,长短轴长度a、b,椭圆与水平轴的夹角θ;
23、s4.2、计算椭圆长短轴与椭圆四个交点(xk,yk),k=1,2,3,4:
24、
25、s4.3、调用opencv中的minenclosingcircle()函数,将(xk,yk),k=1,2,3,4四个点输入到函数中,得到椭圆的最小外接圆,圆心坐标为(x′0,y′0),半径为r;
26、s4.4、根据s4.1中椭圆与水平轴的夹角θ可得到长短轴直线方程为:
27、y=tanθx+y1-tanθx1 (11)
28、
29、s4.5、根据外接圆方程与长短轴所在直线计算两者的交点(x′k,y′k),k=1,2,3,4;
30、s4.6、根据四对点的坐标(xk,yk),k=1,2,3,4和(x′k,y′k),k=1,2,3,4,调用opencv中的getperspectivetransform()函数得到单应性矩阵h,调用opencv中的warpperspective()函数,代入椭圆原坐标(xk,yk),k=1,2,3,4和单应性矩阵h,得到校正后的图像p′。
31、s4.7、对于方形仪表,调用opencv中的arclength()和approxpolydp()得到最小四边形轮毂点集(xr,yr),r=1,2,3,4。当有多个轮廓图层时,遍历图层,当点集(xr,yr),r=1,2,...,m中m=4时,为拟合的四边形区域;
32、s4.8、计算四个坐标点之间的距离l(l1,l2,l3,l4),得到最大值lmax=max(l);
33、s4.9、lmax所在直线的两点(x1,y1),(x2,y2),计算直线与x轴夹角θx、直线与y轴夹角θy:
34、
35、
36、θy=90°-θx (15)
37、s4.10、当直线与x轴夹角更小时,即θx<θy,以(x1,y1),(x2,y2)中y更小的点作为定点对线段旋转θx,使两点y轴齐平,设(x1,y1)为y更小的点,那么经变换后(x2,y2)的坐标:
38、(x′2,y′2)=(x1+lmax,y1) (16)
39、由此可得变换后的另外两点坐标:
40、(x′3,y′3)=(x1,y1+lmax) (17)
41、(x′4,y′4)=(x1+lmax本文档来自技高网...
【技术保护点】
1.一种多类型仪表智能定位和校正方法,其特征在于,该方法包括如下步骤:
2.根据权利要求1所述多类型仪表智能定位和校正方法,其特征在于,所述S1的具体过程为:
3.根据权利要求1所述多类型仪表智能定位和校正方法,其特征在于,所述S2的具体过程为:
4.根据权利要求1所述多类型仪表智能定位和校正方法,其特征在于,所述S3的具体过程为:
5.根据权利要求1所述多类型仪表定位和校正方法,其特征在于,所述S4的具体过程为:
【技术特征摘要】
1.一种多类型仪表智能定位和校正方法,其特征在于,该方法包括如下步骤:
2.根据权利要求1所述多类型仪表智能定位和校正方法,其特征在于,所述s1的具体过程为:
3.根据权利要求1所述多类型仪表智能定位和校正方法...
【专利技术属性】
技术研发人员:乔逸天,谢维成,毛骞,刘芷萌,董刚,
申请(专利权)人:西华大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。