一种基于图像处理的焊点识别方法与流程

文档序号:18167868发布日期:2019-07-13 09:43阅读:612来源:国知局
一种基于图像处理的焊点识别方法与流程

本发明属于制造技术领域,特别涉及一种基于图像处理的焊点识别方法。



背景技术:

随着我国整体经济水平的不断提高,人们在满足基本温饱问题的同时开始追求生活质量和生活层次的提高,我国的汽车行业也随之步入迅猛发展的阶段,其带来的市场和经济效益对我国的经济发展做出了巨大贡献。

随着我国汽车市场的规模不断扩大,消费者对汽车质量的要求越来越高,因此必须提高汽车生产过程的自动化、柔性化和智能化程度。一般来说,冲压、焊接、涂装和总装是汽车生产过程中必不可少的工艺,其中焊接生产线的改造量十分巨大,企业在每次换型改造时都需要投入大量资金,这对企业的运营十分不利。为了满足汽车产品更新换代的要求,就必须提高汽车焊接生产线的柔性化程度。焊接机器人拥有动作灵活度高、作业稳定性强、作业时间长、柔性化程度高等优点,能提升产品质量,缩短生产周期,提高生产效率和生产线灵活度,在汽车焊接生产线柔性化的过程中起着至关重要的作用。

当前,焊接机器人已经被大量地运用到焊接生产线中,在进行焊接路径规划时绝大多数都采用手工示教的方法,为使机器人的运动轨迹更加精确,就必须经过反复的示教和调试过程,当焊接的对象发生改变时又需要重复以上过程,将耗费大量的人力和时间,大大降低了生产效率。并且,在实际的生产过程中,并不能保证所有焊接工件的大小、焊点位置或焊缝宽度严格一致,示教机器人并不能察觉出这些差异,依然按照事先示教好的路径进行作业,必然导致焊接质量的下降。



技术实现要素:

针对焊接机器人生产效率低下、焊接质量不高的缺点,本发明提供一种基于图像处理的焊点识别方法。本发明能智能识别焊点位置以及区分焊点和干扰信息,解决了传统焊接机器人需反复示教、工作效率低下且焊接质量不高的问题。

本发明采用如下技术方案实现:

一种基于图像处理的焊点识别方法,包括:

s1、对原始图像进行预处理;

s2、对预处理后的图像中的焊点和干扰圆孔进行位置提取;

s3、对焊点和干扰圆孔进行纹理特征提取;

s4、构建ga-svm分类模型,对ga-svm分类模型进行训练,得到训练后的ga-svm分类模型;

s5、基于训练后的ga-svm分类模型,对焊点进行识别。

进一步地:图像预处理包括图像灰度化、图像去噪、图像锐化和图像边缘提取。

优选地,采用中值滤波进行图像去噪。采用拉普拉斯锐化法进行图像锐化。采用canny算子进行图像边缘提取。

进一步地,步骤s2中,采用改进的随机hough变换算法进行焊点以及干扰圆孔位置提取,包括以下步骤:

(1)从待检测图像上的所有边缘点集合v中随机选取三个不在同一条直线上的像素点用来确定候选圆的参数;

(2)遍历集合v以外的像素点,判断该像素点是否在候选圆上;同时记录落在候选圆上的像素点的个数;

(3)确定候选圆的参数后,进行证据累积过程,确定圆心位置和半径大小;

(4)根据确定的圆心坐标位置和半径大小截取焊点和圆孔的图像,完成焊点以及干扰圆孔的位置提取。

进一步地,步骤s3中,采用提取基于灰度共生矩阵的纹理特征,包括:

s31、将预处理后的图像划分为16个灰度级,并取像素间的距离为1;

s32、构造0°、45°、90°、135°四个方向的灰度共生矩阵;

s33、利用统计学知识将灰度共生矩阵元素构建能量、惯性矩、熵、相关性四个特征量,并计算其值;

s34、计算各个特征量的均值和标准差作为纹理特征的特征向量,特征向量的维数为8。

进一步地,步骤s4包括:

s41、构建svm分类模型,确定惩罚因子和核参数的取值范围和编码长度;

s42、对svm分类模型参数进行二进制编码,并随机产生n个染色体生成初始群体;

s43、对初始种群中的每个个体,利用svm分类模型计算训练样本的分类正确率,得到单条染色体的个体适应度值,如此进行n次,得到初始种群中每个染色体的个体适应度值;

s44、执行选择、交叉和变异操作,形成下一代种群,并将种群的迭代次数加1;

s45、进行迭代终止条件的判断,如果迭代次数到达指定上限则算法停止,将种群中的最优个体解码作为svm分类模型的最优参数;否则,转至步骤s44继续执行;

s46、利用解码得到的最优参数组合,输入svm分类模型,得到ga-svm分类模型;

s47、对ga-svm分类模型进行训练,得到训练后的ga-svm分类模型。

优选地,惩罚因子的取值范围为c∈[0,100],核参数的取值范围设置为g∈[0,100],惩罚因子和核参数的二进制编码长度为10,二进制编码范围都为:0000000000-1111111111。

优选地,选择操作采用轮盘赌算法;交叉操作采用线性组合的方式;变异操作采用基本位变异方式实现。

本发明具有如下有益效果:

1、实现了焊点的自动识别及定位,使得整条生产线能够自主运行,无需过多的人工干预,减少了人力成本,提高了工作效率。

2、提出的基于遗传算法进行参数优化的svm分类模型(ga-svm),利用遗传算法把复杂问题的求解模拟成一个生物进化的过程,且具有全局性、随机性、并行性等特点,能快速找到系统的全局近似最优解,有效地提高了参数优化的效率,使分类器能够更快地找到最优解,从而更为准确的进行目标识别分类。

3、ga-svm分类模型在解决非线性、小样本、高维模式识别等问题时表现出较好的性能,并且能克服神经网络学习过程中陷入局部最优等问题。

4、提取基于灰度共生矩阵的纹理特征,在矩阵的基础之上采用统计学知识构建一些易于区分的特征量,如:能量、惯性矩、熵等,使基于灰度共生矩阵的纹理特征向量具有更低的维度。

5、对hough变换算法进行改进,改进后的随机hough变换算法在进行圆形检测时可以有效地去除噪声的影响,而且在圆存在变形,甚至圆形部分圆弧丢失的情况下仍然能够得到比较理想的效果。

附图说明

图1为本发明一个实施例中canny算子边缘检测效果;

图2为本发明一个实施例中改进的随机hough变换算法焊点位置提取效果;

图3为本发明一个实施例中基于灰度共生矩阵的纹理特征提取结果,其中:(a)为能量;(b)为惯性矩;(c)为熵;(d)为相关性;

图4为本发明一个实施例中ga-svm分类模型设计流程图。

具体实施方式

下面通过具体实施方式对本发明作进一步详细地描述,但本发明的实施方式并不限于此。

一种基于图像处理的焊点识别方法,包括:

s1、对原始图像进行预处理,包括图像灰度化、图像去噪、图像锐化、图像边缘提取。

通过图像采集系统获得的原始彩色图像,绝大多数彩色图像都采用rgb(代表红、绿、蓝这三种原色)颜色模式。图像中每个像素点的颜色都由rgb三个颜色分量决定,每种颜色分量的灰度变化范围为0到255,彩色图像的每一个像素点都有多达1600多万种颜色变化范围,所以彩色图像占用内存非常大,传输和处理时间长,不能满足实际应用中实时性的要求。图像灰度化是使彩色图像中每一个像素点的r、g、b分量值相等。图像灰度化能够降低后期图像处理的复杂程度,同时灰度图像仍然能够很好地反映图像的整体和局部特征。

采集的图像往往包含各种噪声,这些噪声的存在会影响图像的后期处理,图像去噪的主要方法是滤波。采用中值滤波不仅具有很好的去噪效果,同时其模糊程度比线性平滑滤波器更低。

由于图像的滤波处理往往会导致图像边缘的模糊化,而图像的边缘往往包含目标对象的特征信息,因此须对图像的边缘进行补偿,即对图像进行锐化处理,以增强图像边缘信息。本实施例中,采用拉普拉斯锐化法对滤波后的图像进行锐化处理。

拉普拉斯锐化法为二阶微分算法,图像f(x,y)的拉普拉斯算子定义为:

其中:

由式(1)、(2)、(3)可得f(x,y)在(x,y)处的拉普拉斯算子为:

设经过锐化处理过后的图像为g(x,y),则g(x,y)可以表示为:

其中:α为常数。

canny算子双阈值法检测和连接边缘的特性可以很好地处理图像的边缘信息,本实施例中,采用canny算子对焊点图像进行边缘检测,图1为canny算子边缘检测效果图。canny算子通过先平滑图像然后求梯度幅值的方法来实现边缘检测,其算法包括步骤:

a.用高斯滤波器平滑图像;

设f(x,y)表示输入图像,g(x,y)表示高斯函数,则:

设平滑后的图像为g(x,y),则:

g(x,y)=f(x,y)*g(x,y)(7)

b.对平滑后的图像使用一阶导数算子来计算图像的梯度幅值和方向;

图像的梯度幅值m(x,y)和方向角θ(x,y)分别为:

其中,p(x,y)、q(x,y)分别表示g(x,y)在水平和垂直方向的一阶导数值:

c.对梯度幅值进行非极大值抑制;

在获得图像的梯度幅值和方向后,遍历图像的每一个像素点,检查该像素点周围与它梯度方向相同的像素点中是否有梯度幅值比它大的点。如果不存在,则该像素点的梯度幅值保留;否则梯度幅值置零。

d.用双阈值法检测和连接边缘。

双阈值检测法对非极大值抑制之后的图像进行双阈值处理,两个阈值分别为th和tl,且th≈tl。若待处理的图像中像素点的梯度幅值高于th,则认为该像素点是真正的边缘点;若小于tl则被舍弃;经过双阈值处理后分别得到两个阈值边缘图像t1(x,y)和t2(x,y)。t1(x,y)是由高阈值处理得到,因此包含的虚假边缘较少,但是轮廓可能存在间隙。双阈值算法是在t1(x,y)中把边缘连接成轮廓,当轮廓出现间断时则在t2(x,y)中寻找边缘,直到t1(x,y)中的轮廓不再存在间隙。

s2、对预处理后的图像中的焊点和干扰圆孔进行位置提取。

汽车门板上的焊点与圆孔等干扰物的距离较近,图像采集设备采集到的图像同时存在着圆形焊点与干扰圆孔,可以利用霍夫(hough)变换提取焊点和干扰圆孔的中心位置和半径大小。在参数空间超过二维的情况时,传统hough变换算法占用内存大、耗时长,需要使用原图像上的每一个像素点。本实施例中,对传统hough变换算法进行改进,将原图像上的每一个像素点从二维映射到由参数a、b、r确定的三维空间,再在三维空间确定圆心坐标和半径,得到一种改进的随机hough变换算法,图2为利用改进的随机hough变换算法进行焊点和干扰圆孔位置提取的效果图。

采用改进的随机hough变换算法提取焊点和干扰圆孔的中心位置和半径大小,包括以下步骤:

(1)从待检测图像上的所有边缘点集合v中随机选取三个不在同一条直线上的像素点用来确定候选圆的参数。

圆的表示方式为:

(x-a)2+(y-b)2=r2(12)

其中:(a,b)为圆的圆心坐标,r为圆的半径。取vi=(xi,yi),i=1、2、3,则这三点确定的圆心坐标和半径为:

由式(13)、(14)、(15)可确定候选圆的参数方程。

(2)遍历集合v以外的像素点,判断该像素点是否在候选圆上;同时记录落在候选圆上的像素点的个数。

取v中另外一点v4=(x4,y4),将其坐标带入式(12)中,求得半径r4,若r4与r的差值d4小于某个阈值δ,即:

则表示点v4在候选圆上。

(3)确定候选圆的参数后,进行证据累积过程,确定圆心位置和半径大小。

取v中的点vk,如果dk<δ,则计数值加1,遍历完v中所有点后,如果计数的值大于指定阈值,则认为该圆为真实的圆,并在v中删除该圆对应的边缘点。

(4)根据确定的圆心坐标位置和半径大小截取焊点和圆孔的图像,完成焊点以及干扰圆孔的位置提取。

s3、对焊点和干扰圆孔进行纹理特征提取。

由于焊点和干扰圆孔的形状相似,且预处理过程中图像已进行灰度化处理,故颜色特征和形状特征均不能将两者准确区分,本实施例中,采用提取基于灰度共生矩阵的纹理特征,基于灰度共生矩阵的纹理特征提取结果如图3所示。

提取基于灰度共生矩阵的纹理特征,包括步骤:

s31、将预处理后的图像划分为16个灰度级,并取像素间的距离为1;

s32、构造0°、45°、90°、135°四个方向的灰度共生矩阵;

灰度共生矩阵描述:设在θ方向上相隔距离为d,灰度值分别为i和j的两个像素点同时出现的概率,记为p(i,j|d,θ)。灰度共生矩阵是一个对称矩阵,其阶数由像素点的灰度级数确定,比如对于二值化图像,灰度值只有0和1,矩阵为二阶矩阵。灰度共生矩阵的各个元素可由以下表达式求得:

其中,t(i,j|d,θ)表示在θ方向上相隔距离为d,且灰度值分别为i和j的一对像素点出现的次数;n表示矩阵的阶数。

s33、利用统计学知识将矩阵元素构建为四个特征量,分别为能量、惯性矩、熵、相关性,并计算其值;

能量、惯性矩、熵、相关性定义分别如下:

a.能量

能量的定义式如下:

b.惯性矩

惯性矩的定义式如下:

c.熵

熵的定义式如下:

d.相关性

相关性的定义式如下:

在式(21)中:

其中,μx、μy分别表示灰度值为i和j的像素点的均值,σx、σy分别表示灰度值为i和j的像素点的方差。

s34、计算各个特征量的均值和标准差作为纹理特征的特征向量,特征向量的维数为8。

s4、构建ga-svm分类模型,对ga-svm分类模型进行训练,得到训练后的ga-svm分类模型。

本发明采用遗传算法对svm模型参数进行优化,得到基于遗传算法进行参数优化的svm分类模型(ga-svm)。利用遗传算法在进行参数优化时所具备的高效性的特点,快速找到系统的全局近似最优解。svm分类模型采用高斯径向基函数作为核函数,并使用遗传算法来搜索全局最优的核参数g以及惩罚因子c,将搜索到的参数作为ga-svm分类模型的最终参数。

本实施例中,构建ga-svm分类模型,对ga-svm分类模型进行训练,得到训练后的ga-svm分类模型,如图4所示,包括:

s41、构建svm分类模型,确定惩罚因子和核参数的取值范围和编码长度;

本实施例中,对惩罚因子c的取值范围设为c∈[0,100],核参数g的取值范围设置为g∈[0,100],同时把这两个变量的二进制编码长度设为10。惩罚因子c和核参数g的二进制编码范围都为:0000000000-1111111111。

s42、对svm分类模型参数进行二进制编码,并随机产生n个染色体生成初始群体。

设惩罚因子c的二进制编码串为a:a1a2...a10,核参数g的二进制编码串为b:b1b2...b10,二进制串的每一位对应一个基因,则染色体ab为:a1a2...a10b1b2...b10。

s43、对初始种群中的每个个体,利用svm模型计算训练样本的分类正确率,得到单条染色体的个体适应度值f(c,g),如此进行n次,得到初始种群中每个染色体的个体适应度值。

本实施例中,设染色体的适应度函数为:f(c,g)=e,其中,e表示支持向量机模型在训练样本时的分类准确率;则当svm分类模型在某一参数组合下测试样本时的分类准确率越高,则这组参数所对应的染色体的适应度值越大。

s44、执行选择、交叉和变异操作,形成下一代种群,并将种群的迭代次数加1。

a.选择操作

本实施例中,选择操作采用轮盘赌算法,旧种群中的每一个染色体ai被选中进入下一代的概率为:

在式(26)中,n表示种群的规模,fit(aj)表示种群中每一个染色体的适应度的值。式(23)也表明适应度越高的个体越有可能被选择进入下一代。

b.交叉操作

本实施例中,交叉操作采用线性组合的方式。对于两个染色体x1和x2,它们经过交叉操作之后变为x1n和x2n。x1n和x2n可以用以下式子来表示:

x1n=βx1+(1-β)x2(27)

x2n=(1-β)x1+βx2(28)

在式(27)和式(28)当中,β是0到1之间的随机数。

c.变异操作

本实施例中,使用基本位变异方式来实现变异操作,即对染色体二进制编码串随机指定的某一位进行取反操作。比如,原染色体的二进制编码串为“11001001”,变异位为第三位,则变异后的染色体二进制编码为“11101001”。

s45、进行迭代终止条件的判断,如果迭代次数到达指定上限则算法停止,将种群中的最优个体解码作为svm分类模型的最优参数;否则,转至步骤s44继续执行;

s46、利用解码得到的最优参数组合,输入svm分类模型,得到ga-svm分类模型;

s47、对ga-svm分类模型进行训练,得到训练后的ga-svm分类模型。

本实施例中,取100张焊点图像和100张圆孔图像用来作为训练样本集。

对各训练样本图像执行s1-s3步骤,提取纹理特征,将提取的纹理特征作为ga-svm分类模型的输入并进行训练,得到训练后的ga-svm分类模型。

s5、基于训练后的ga-svm分类模型,对焊点进行识别。

焊点识别主要是把焊点和其它的干扰信息进行区分,这一干扰主要是来自圆孔,需要将干扰圆孔和焊点区分开来。具体为:基于训练后的ga-svm分类模型,对s2中位置提取得到的焊点和干扰圆孔进行分类识别,识别出焊点。

本实施例中,选用45张对汽车门板图像作为测试样本,利用训练后的ga-svm分类模型计算测试样本分类准确率。实验表明本发明能够有效提高焊点识别效率和正确率。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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