基于遗传算法的激光视觉焊缝特征点提取 下载: 1027次
1 引言
对于形状复杂、易变形或定位误差较大的焊缝,对其进行跟踪是实现自动化焊接的关键技术之一[1-2]。基于激光视觉系统的测量跟踪方式具有结构简单、测量精度高、适用范围广等优点,受到了国内外学者的广泛关注[3-4],其关键问题之一是通过数字图像处理技术,实现噪声环境下激光条纹与焊缝特征点(即激光条纹与焊缝坡口的交点)的准确提取。对于平面焊缝,理想状态下的激光条纹为边缘规则且具有一定宽度的直线型条纹。作为经典的几何检测方法,Hough变换是焊缝特征点检测的常用方法之一。Kiddee等[5]和叶震等[6]在图像预处理的基础上,采用Hough变换对焊缝边缘进行识别,利用边缘信息采用几何中心法获得了激光条纹中心线的位置,进而得出了焊缝特征点的位置。该方法需要预先对激光条纹图像进行腐蚀、膨胀等形态学处理,并采用类焊缝边缘查找法进一步消除与焊缝边缘连接的噪声部分,存在时间复杂度高、图像信息易丢失、过度依赖图像预处理等缺点。针对这些问题,张振杰等[7]提出了一种改进的Hough直线检测法,利用Hough一维空间变换对直线边缘进行检测并编组,再通过对直线组的精确处理解决了过连接、端点确定等问题。除Hough法外,洪磊等[8]利用斜率分析法,通过斜率变化特征计算了光点在各条纹直线上的分布数量,并完成了点集划分,拟合后得出了焊缝特征点。李琳等[9]利用小波变换模极大值理论确定了焊缝特征点的初始位置,并从该位置出发进行最小二乘法拟合。Shah等[10]提出了一种基于轮廓提取的区域点生成算法,根据面积阈值提取出焊缝区域后进行插值计算,拟合得到了焊缝特征点信息。江永付等[11]利用加权灰度重心法获得了腐蚀细化后激光条纹中心的初始点,并采用多项式曲线拟合获得了其亚像素中心坐标。
近年来,随着计算机图像分析与处理能力的加强以及各类机器学习算法的成熟,机器学习在激光视觉领域的研究也得到了重视。杨雪等[12]提出了一种基于差图像的阈值分割方法,并将阈值分割后的结构光轮廓通过神经网络进行细化处理。邹媛媛等[13]提出了一种基于支持向量机的三线结构光视觉传感器标定方法,通过设计相应的标靶提取特征点信息,并采用基于支持向量机的方法建立特征点的图像坐标与三维空间坐标的映射模型,实现了对三线结构光视觉传感器的标定工作。邹焱飚等[14]研究了基于深度分层特征的焊缝检测和跟踪系统,利用深度卷积神经网络精确地从图像中确定焊缝位置。Aviles-Viñas等[15]提出了一种基于神经网络的工业机器人焊接自动学习系统,并设计了基于激光视觉传感器的实时处理算法来提取训练模式,实验结果表明,在经过若干次训练后,该系统可以精确测量当前焊缝的几何外形、尺寸等。
在激光条纹与焊缝特征点的提取过程中,Hough变换法、斜率分析法、直线拟合法等传统图像处理方法对外部环境的适应性较差,处理过程较为繁琐,算法复杂度较高。而学习类算法在处理速度、识别率上具有较大优势,但也存在模型构建难度大、训练成本高等缺点。针对这一问题,本文提出了一种基于遗传算法的激光视觉焊缝特征点提取方法。针对预处理后的焊缝图像,采用改进的遗传算法提取激光条纹骨架的初始位置,再通过法线方向上的扫描进一步提取出准确的骨架中心点坐标,最后利用拉依达准则迭代剔除噪声点并进行直线拟合,获得了激光条纹的准确位置及焊缝特征点的坐标。
2 系统构成及工作原理
如
3 焊缝图像预处理与数学模型的建立
3.1 图像预处理
图像预处理能够有效消除原始图像中的噪声,降低激光条纹中心点提取的复杂程度,提高提取结果的准确性。如
黑白工业摄像机采集到的原始图像为灰度图。焊接过程中的飞溅、电弧光等产生的高频前景噪声多呈离散态。对于离散噪声,中值滤波器具有较好的去噪效果。阈值分割的实质是将灰度图像转化为二值图像,从而进一步降低数据的冗杂程度。使用Otsu法[17]选取二值化阈值,该算法简单且不易受图像亮度、对比度的影响。图像预处理过程的效果如
3.2 图像分割
图像预处理无法完全消除工业现场复杂的光照环境所产生的噪声。采用连通域提取法,根据面积特征对各部分进行识别,将激光条纹以外的区域进行背景色填充,以实现图像分割。焊缝图像对连通
图 3. 图像预处理效果。(a)焊缝激光检测的原始图像;(b)中值滤波结果;(c) Otsu法阈值分割结果
Fig. 3. Image preprocessing effect. (a) Original image of weld laser detection; (b) median filtering results; (c) threshold segmentation results with Otsu method
域提取的精度与速度均有一定要求,故采用种子填充法进行连通域分析。种子填充法的基本思路为:选取一个前景像素点作为种子,然后根据连通区域的两个基本条件(像素值相同、位置相邻)将与种子相邻的前景像素合并到同一个像素集合中,最后得到的该像素集合为一个连通区域。
通过种子填充法对连通域进行扫描,扫描完毕后利用连通域面积参数进行甄别。根据图像特征可知,含有激光条纹与焊缝的连通域的面积一般为最大的两个值。如
图 4. 连通域的提取与填充。(a)提取结果;(b)填充结果
Fig. 4. Extraction and filling of connected domain. (a) Extraction result; (b) filling result
3.3 激光条纹骨架的提取
对图像进行预处理与分割后,线激光在焊接平面上所成图像为一条具有一定宽度的直线型条纹。为了获得激光条纹与焊缝坡口交点(即特征点)的位
图 5. 复杂噪声环境下连通域的提取与填充。(a)原始图像;(b)连通域填充结果
Fig. 5. Extraction and filling of connected domain in complex noise environments. (a) Original image; (b) connected domain filling result
图 6. 扫描直线位置确定示意图。(a) α∈[0°,90°];(b) α=90°;(c) α∈(90°,180°)
Fig. 6. Scanning line position determination diagrams. (a) α∈[0°,90°); (b) α=90°; (c) α∈(90°,180°)
置坐标信息,需要提取出激光条纹骨架信息。
本课题组提出了一种利用直线扫描提取激光条纹骨架的算法,具体步骤如下。
步骤1):建立如
步骤2):确定坐标平面上扫描直线与
步骤3):根据参数
当
当
根据截距与斜率可求得该直线方程。由任意两条直线间距
当
此时
当
同理,根据
此时
步骤4):根据构造的扫描直线组对激光条纹图像进行扫描,步骤如伪代码算法1所示。
算法1 激光条纹骨架扫描步骤如下:
输入:参变量
输出:重合度
1.begin
2. if 当前直线
3. {
4. 对该直线上每一像素点的灰度值进行判断,统计灰度值与激光条纹一致的点的数量
5.
6. 返回步骤3,根据
7. 返回第1步继续迭代;
8. }
9. else //若当前直线
10. {
11. 找出直线组
12. }
13. end
经过以上步骤,可以确定激光条纹骨架提取的目标函数为
式中
4 基于遗传算法的骨架提取
4.1 基本原理
受变量个数、取值范围等因素的影响,多变量最值问题的求解需要对大规模的数据进行处理,而一般的算法难以满足要求。基于生物在天然环境中遗传、进化过程的研究,遗传算法的概念被提出,其本质是一种最优解搜索算法[18]。遗传算法具有良好的全局优化能力,可直接根据结构对象运行,对优化函数的连续性、可导性并无特殊要求,通常被用来处理多变量函数的近似最优解问题。
针对提出的目标,本课题组设计了一种改进的遗传算法来处理焊缝骨架直线的提取问题。首先把整体分为若干个相互独立的子种群,在高层部分,利用分层遗传算法进行优化,同时加入最优保存策略,使适应程度最高的个体,即与激光条纹具有最佳重合度的个体得以保留。在分层遗传算法的低层,各组种群是相互独立的,故采用自适应遗传算法。各遗传算子可根据实际情况动态改变,从而可以有效避免局部最小问题的干扰。
4.2 高层编解码设计
编码方式将直接影响算法的执行效率与最终结果[19]。根据数据特征,在高层遗传算法中共涉及
4.3 高层适应度函数
适应度函数作为遗传算法执行过程中的唯一依据,它的选择至关重要。针对函数最大值的求解问题,在设计分层遗传算法的高层时,以目标函数作为适应度函数,即
4.4 高层初始种群设计
分层遗传算法的基本思想是对原始种群按某一特征进行分层,不同层间的种群互相独立,且可单独编码,运行时每层中可有多个不同种群同时进行遗传算法的相关操作。其中,初始种群的设计与进化过程息息相关。初始种群的生成过程如下:在初始状态下,
4.5 低层自适应遗传算法设计
编解码设计。扫描直线与图像坐标系
式中:decimal(
适应度函数的确定。将目标函数转化为适应度。对于最大值求解问题,适应度即目标函数,可表示为
选择概率的确定。选用最优解保存策略与轮盘赌法结合的方式,把每组子种群中适应度最高的个体原样保留。若组内多个个体的适应度值相等且为最大值,则优先选取其中
则此时组内对应每个样本的选择概率为
此时组内单一个体的累计概率为
选择新种群的个体按以下过程完成。
1) 生成一个[0,1]间的随机数
2) 如果
交叉概率
式中:
交叉运算采取两点交叉方法。为提高运行效率,同时因为高层遗传算法分组时已对
变异运算采取基本位变异方法。在组内同样只针对
经实验验证后可知,通过10代左右的进化后,组内的最佳适应度值趋于一致,此时得到最佳个体。根据初始化的参数进行低层自适应遗传算法的相关操作,如伪代码算法2——低层自适应遗传算法所示:
输入:12个初始子群
输出:12个新子群
1. begin
初始化相关参数,产生第一代子群
2. do
3. {
4.
5. do
6. {
7. 根据最优解保存策略,保存
8. 根据轮盘赌法,对
9. 在
10. if random(0,1)<
11. { 将2个个体染色体中9~18位按交叉概率
12. if random(0,1)<
13. { 将2个个体染色体中9~18位按变异概率
14. 将新个体加入原种群
15.
16. } until (
17.
18. } until (
19. end
4.6 高层遗传算子设计
当每一子种群的组内遗传算法进行指定操作后,将最终种群记录在二维数组
高层遗传算法选择概率的确定。基于数组
高层遗传算法交叉概率
高层遗传算法交叉运算采取两点交叉方法。根据数组
对所有的交叉父辈个体进行两两任意配对后,在个体编码串中随机设定两个交叉点位置。个体编码采用浮点数编码,根据设定的两交叉点位置,用于交叉的染色体部分共有三种情况:只交叉个体的
高层遗传算法的变异运算采取基本位变异方法。根据变异概率
经实验验证可知,当高层遗传算法进化到10代以上时,可满足收敛条件。此时得到参数
图 7. 遗传算法激光条纹骨架提取的流程图
Fig. 7. Flow chart of laser stripe skeleton extraction based on genetic algorithm
5 焊缝特征点的提取
5.1 激光条纹骨架的直线拟合
由于激光条纹具有一定宽度,边缘与缺口部分通常带有噪声数据,因此得到的直线
如
图像中大面积的明显噪声已通过图像预处理与图像分割进行处理,但由于内外部噪声的存在,在激光条纹中心点点集{
将{
步骤1):采用最小二乘法[21]对骨架中心点点集{
步骤2):计算点集中每个中心点到直线
式中
步骤3):判断条件为
对于点集{
5.2 焊缝特征点的提取
得到准确的激光条纹中心点后,就可进行焊缝特征点坐标的提取,如
6 焊缝检测试验及结果分析
为验证所提焊缝特征点提取方法的效果,对含有曲线与直线等不同形状的平面焊缝进行特征点提取。试验采用的激光视觉传感器由MER-132-30GM CCD系列工业相机和波长为650 nm的MTO-laser一字线型激光器组成,摄像机配置8 mm的FA工业镜头。传感器通过连接法兰固定在工业机器人上。采用含有V形坡口的铝合金板作为焊件,板厚为3 mm,V形坡口的宽度为5 mm,焊缝总长度为1000 mm。
试验现场如
经过标定可知,当传感器位于焊接工件上方100 mm时,其偏移1 mm在图像坐标系中对应15 pixel。焊接过程中每隔10 mm提取一次特征点,共提取100组数据。将试验结果与Hough法焊缝特征点提取结果进行比较。Hough法采用相同的预处理与图像分割步骤,采用腐蚀、膨胀等形态学处理对激光条纹进行细化,采用类焊缝边缘查找法进一步消除与焊缝边缘连接的噪声,采用几何中心法拟合获取激光条纹中心线的位置,最终从激光条纹中心线上提取焊缝特征点的位置。
图 11. 激光视觉系统现场工作示意图。(a)待焊接;(b)焊接中
Fig. 11. Field working diagram of laser vision system. (a) To be welded; (b) welding
图 12. 试验过程中采集到的具有代表性的图像。(a)所提方法;(b) Hough法
Fig. 12. Representative images collected during the test. (a) Proposed method; (b) Hough method
试验过程中采集到的具有代表性的图像如
提取100组特征点后,剔除因环境过于复杂而无法检测的情况(Hough法16组,所提方法3组),根据标定结果分别统计所提方法与Hough法的位置误差,结果如
图 13. 焊缝特征点提取偏差统计图。(a)所提方法;(b) Hough法
Fig. 13. Statistical graph of weld feature points extraction deviation. (a) Proposed method; (b) Hough method
表 1. 焊缝特征点提取偏差统计表
Table 1. Statistical table of feature points extraction deviation of weld seam
|
在主频为3.4 GHz、内存为4 GB的计算机上运行时,图像传感器的采集频率可达30 Hz,从采集每帧图片到提取出焊缝特征点平均用时0.32 s,优于Hough法的平均用时(0.53 s),能够满足一般焊接速度下的实时性要求。
7 结论
提出了一种基于遗传算法的激光视觉焊缝特征点提取方法。针对预处理后的激光焊缝图像,采用遗传算法提取激光条纹骨架,再进行扫描得出中心点位置,最后根据3
[1] 吕学勤, 张轲, 吴毅雄. 焊缝自动跟踪的发展现状与展望[J]. 机械工程学报, 2003, 39(12): 80-85.
[2] Sharif LH, YamaneS, HinoY, et al. Sensing and digital control of weld pool with visual welding robot[C]. The 26th Annual Conference of the IEEE Industrial Electronics Society, 2000: 1521- 1526.
[3] 郭吉昌, 朱志明, 于英飞, 等. 焊接领域激光结构光视觉传感技术的研究及应用[J]. 中国激光, 2017, 44(12): 1200001.
[5] KiddeeP, FangZ, TanM. A geometry based feature detection method of V-groove weld seams for thick plate welding robots[C]. 2nd International Conference on Control and Robotics Engineering, 2017: 43- 48.
[6] 叶震, 余焕伟, 陈华斌, 等. 一种获取焊缝偏差的图像处理方法[J]. 上海交通大学学报, 2013, 47(5): 775-778.
[7] 张振杰, 郝向阳, 刘松林, 等. 基于Hough一维变换的直线检测算法[J]. 光学学报, 2016, 36(4): 0412005.
[8] 洪磊, 杨小兰, 钟冬平. 基于斜率分析法的焊缝条纹直线特征提取分析[J]. 焊接学报, 2017, 38(8): 91-94.
[9] 李琳, 林炳强, 邹焱飚. 基于条纹式激光传感器的机器人焊缝跟踪系统研究[J]. 中国激光, 2015, 42(5): 0502005.
[11] 江永付, 江开勇, 林俊义. 线结构光光条中心亚像素精确提取方法[J]. 激光与光电子学进展, 2015, 52(7): 071502.
[12] 杨雪, 于晓洋, 杨明极, 等. 结构光截面轮廓测量中激光条纹的处理[J]. 计算机工程, 2007, 33(16): 162-163.
[13] 邹媛媛, 李鹏飞, 左克铸. 三线结构光视觉传感器现场标定方法[J]. 红外与激光工程, 2018, 47(6): 94-99.
[14] 邹焱飚, 周卫林, 陈向志. 基于深度分层特征的激光视觉焊缝检测与跟踪系统研究[J]. 中国激光, 2017, 44(4): 0402009.
[16] 包顺东, 张轲, 吴毅雄. 电弧光谱分布特征及激光传感器的光源选择[J]. 光电子·激光, 2009, 20(4): 504-508.
[17] 齐继阳, 李金燕, 陆震云, 等. 改进的Otsu法在焊接图像分割中的应用[J]. 焊接学报, 2016, 37(10): 97-100.
[18] 刘浩然, 赵翠香, 李轩, 等. 一种基于改进遗传算法的神经网络优化算法研究[J]. 仪器仪表学报, 2016, 37(7): 1573-1580.
[19] 杨健, 赵宏宇. 浮点数编码改进遗传算法在平面度误差评定中的研究[J]. 光学精密工程, 2017, 25(3): 706-711.
[20] 尹爱军, 赵磊, 吴宏钢. 相关法动平衡校正中的3σ准则误差处理方法[J]. 重庆大学学报, 2013, 36(10): 22-26.
[21] 田垅, 刘宗田. 最小二乘法分段直线拟合[J]. 计算机科学, 2012, 39(6A): 482-484.
Tian L, Liu Z T. Least square piecewise linear fitting[J]. Computer Science, 2012, 39(6A): 482-484.
Article Outline
张斌, 常森, 王桔, 王倩. 基于遗传算法的激光视觉焊缝特征点提取[J]. 中国激光, 2019, 46(1): 0102001. Zhang Bin, Chang Sen, Wang Ju, Wang Qian. Feature Points Extraction of Laser Vision Weld Seam Based on Genetic Algorithm[J]. Chinese Journal of Lasers, 2019, 46(1): 0102001.