基于主动形状模型的焊缝定位算法*
2019-03-22刘美菊姜金怿
刘美菊, 姜金怿
(沈阳建筑大学 信息与控制工程学院, 沈阳 110168)
伴随我国现代化建设与发展,焊接工艺将越来越显现出其重要性,智能化和柔性化的焊接方式已成为焊接发展的必然趋势[1].精准可靠的视觉焊缝跟踪系统在焊接自动化领域中备受重视,成为国内外科研机构和学者的研究热点.
中国科学院李原等学者设计了一种基于激光结构光的视觉传感器可以对不同形状的焊缝图像进行处理,但循环周期较长,处理效率有待提高[2].湘潭大学刘习文等学者根据激光在坡口图像中的特点进行Radon变换,计算出激光条纹所在的位置,再利用Radon逆变换复原图像,这种方法具有较强的抗干扰性,处理周期短但焊接精度有待于加强[3].中心线提取法和曲线拟合法是当今常用的焊缝定位方法.中心线提取法多采用灰度分布曲线峰值提取算法,其准确度较好但是检测时间长.曲线拟合方法多采用霍夫变换[4]、最小二乘法[5]和小波分析[6]等算法,运行时间短但准确性较差,难以满足日益精确的焊接质量要求.此外,这两种方法容易受到焊件本身材质反光、热变形、焊缝走向等误差影响,从而造成焊枪偏离焊缝中心,焊接质量严重下降.
为了解决上述算法所涉及的问题,本文提出了一种改进主动形状模型的算法用于焊缝定位.首先用方向梯度直方图和支持向量机进行初始形状定位,然后根据焊缝图像特征构建特征模型,从而实现了焊缝定位检测.
1 算法描述
1.1 HOG确定初始形状
初始形状距离真实形状较远时,主动形状模型的迭代次数增加,收敛到局部值的可能性也会增加.为了能更快更精准地确定初始形状,先对图像进行初始形状定位[7].
方向梯度直方图[8](HOG)是一种对图像局部重叠区域的密集型描述符,它通过计算局部区域的梯度方向直方图来构成特征.HOG特征结合支持向量机(SVM)的方法已经被广泛应用于图像识别中.为了减少光照因素对图像的影响,本文采用Gamma校正方法对图像进行归一化处理,其表达式为
(1)
计算梯度信息,统计局部图像梯度信息并进行量化,得到局部图像区域的特征描述向量.将提取好的HOG特征输入SVM分类器进行训练,训练后的分类器可以用于焊缝图像的初定位.
1.2 建立形状模型
1.2.1 手动记录每个训练样本的特征点
主动形状模型是基于统计学的方法,在建立形状模型之前需要手动标记若干个特征点,并且把这些特征点作为原始形状向量[9].常在目标的边缘位置、拐角点位置、连接等处标定特征点.
本文以“V”字型焊缝为例,随机选择N幅焊缝图像作为训练数据,为每幅图像手动标记n个特征点,如图1所示.
图1 手动标记特征点Fig.1 Manually marked feature points
1.2.2 构建训练集的形状向量
根据标记的特征点可以得到的特征点集为
X={(x1,y1),(x2,y2),…,(xn,yn)}
(2)
可以把它看成一个形状向量,即
Si=(xi1,yi1,yi2,yi2,…,xin,yin)T
(3)
式中:(xij,yij)为第i幅图像第j个特征点的坐标;n为每幅图像标记的点数.每一幅图像的特征点代表一个形状向量,一共有n个形状向量.
1.2.3 形状归一化
E= (Xi-M(S,θj)[xj]-tj)T·
W(Xi-M(S,θj)[xj]-tj)
(4)
1.2.4 对形状向量进行PCA处理
前文得到的2K维向量维数较高,但它们之间有很强的相关性,彼此位置距离大致不变.因此,采用常用主成分分析法(PCA)进行降维,具体步骤如下:
1) 平均形状向量为
(5)
2) 协方差矩阵为
(6)
3) 计算Z的特征值λ并从大到小排列以及对应的特征向量P=(p1,p2,…,pt),则任何一个用于训练的形状向量都可以表示为
(7)
式中:P为特征向量;b为t维特征值向量.
1.3 构建局部特征
在查找每一个特征点的新位置时需要用到每个特征点的局部特征模型,如图2所示,在第I个特征点的周围建立一个半径为m像素的圆,在圆内阈值为0的像素点向圆心特征点I做方向向量,即
gIJ=(gIJ1,gIJ2,…,gIJ(2m+1))T
(8)
图2 构建特征点局部特征Fig.2 Local characteristics for establishingfeature points
将方向向量进行差分和归一化计算可得
(9)
对其他样本的第I个特征点进行同样计算,可以得到每个特征点的局部特征,即
(10)
1.4 测试样本搜索
主动形状模型的搜索过程[10-11]为:
1) 对平均形状进行仿射变换得到初始模型,即
X=M(s,θ)[ai]+Xc
(11)
dX=(dX1,dX2,…,dXk)
(12)
3) 调整参数ds、dθ、dXc、dYc,使得当前特征点的位置X与对应的新位置X+dX最为接近.
4) 当仿射变换的参数变化不是很大或者迭代次数达到Nmax时,结束该搜索过程.
综上所述,本文算法实验流程如图3所示.
图3 实验流程图Fig.3 Experimental flow chart
2 实验与分析
本文在Windows系统下,利用Qt平台使用Opencv库进行焊缝检测实验.利用激光三角法拍摄100张图片作为焊缝样本,如图4所示,其中80张作为训练库,另外20张作为测试样本.图5为测试样本初定位结果,图6为本文算法测试结果.
图4 焊缝样本Fig.4 Weld samples
图5 测试样本初定位检测结果Fig.5 Detection results of initial positioningof test samples
利用曲线拟合和中心线提取两种焊缝检测方法对焊缝图像进行处理得到如图7所示的检测结果.
图6 本文算法检测结果Fig.6 Detection results of proposed algorithm
图7 传统激光焊缝检测结果Fig.7 Detection results of traditional laser weld
由图6、7可以看出,对于传统的焊缝检测方法,当焊缝有光照因素或者焊件本身材质反光影响时无法准确地检测出焊缝位置.本文基于主动形状模型的方法可以免去光照影响和焊件本身做工误差,从而使检测更精确.
3 仿真对比
本文采用平均定位准确性方法衡量算法的定位结果[12],认为特征点偏差在3像素内为定位正确,误差在3像素内所占的比例为
(13)
式中:errij为特征点偏移量;Is(x)为判定函数.
针对传统的焊缝定位方法与本文算法进行定量对比分析,根据不同算法对焊缝定位的精度进行了计算和比较,结果如表1所示.
表1 定位精度比较Tab.1 Comparison in positioning accuracy
根据不同算法的运行时间进行比较,得到的结果如表2所示.
表2 运行时间比较Tab.2 Comparison in running time
通过实验数据对比可以看出,基于主动形状模型的焊缝定位方法比曲线拟合和中心线提取法的定位精度更高.从运行时间上看,本文算法的运行时间比曲线拟合法要低很多,且大部分运行时间低于中心线提取法.
综合两项对比得出本文提出的基于主动形状模型的焊缝定位方法具有精度高、抗干扰能力强、时间短的优点.
4 结 论
本文对激光焊缝定位提出了一种新的方法.借助梯度方向信息作为表征进行初始形状定位减小迭代次数,提高焊缝定位效率,建立特征模型并构建特征点局部特征,用特征模型在新的图像中进行搜索计算求得新位置.从定性和定量两种不同的角度进行分析可知,本文所提出的方法运行时间较短,抗干扰能力强,准确性更高.