技术领域
[0001] 本公开属于
图像处理技术领域,涉及一种针对模糊焊缝的视觉定位方法及系统。
背景技术
[0002] 本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
[0003] 制造业是国民经济的主体。随着自动化技术的迅猛发展,先进的工业自动化装置正在逐步替代传统的人
力生产。但是在
路灯灯
杆底座
焊接这一生产过程中,大部分工艺还是需要通过人力实现。随着社会和科学技术的发展,人工焊接往往难以满足焊接工作的
稳定性和高效性要求,并且劳动强度很大,导致人力成本越来越高,企业负担越来越大。因此制造灯杆焊接自动化装置是非常有必要的。
[0004] 随着计算机科学和
机器视觉技术的迅猛发展,视觉技术在自动化设备的
制造过程中占据着越来越重要的地位。机器视觉技术是一项综合性很高的技术,涉及成像原理、图像处理、机械结构、数字
信号处理、通信等领域的知识。这些知识的相互协调,构成具有较强实用性的视觉系统,能够较好地适应工厂的复杂环境。通过设置合适的通讯
接口与控制系统通讯,视觉系统还具有较强的抗干扰性。此外,视觉系统还有较强的实时性和较高的识别
精度。由于这些特性,视觉系统被称为“自动化的眼睛”,因此将视觉技术融合到工业自动化领域中具有重要的意义。
[0005] 在灯杆与底座的焊接生产过程中,灯杆侧面焊缝的方向需要保持一致。在焊缝识别定位的过程中,采用视觉方式进行定位,将工业摄像头和嵌入式平台相结合,通过相关的滤波
算法和边缘提取方法,将灯杆上的焊缝信息提取出来,根据计算信息将
控制信号给控制系统,控制系统驱动
电机旋转,从而使每根灯杆的焊缝方向在生产过程中保持一致。
[0006] 当前流行的焊缝识别技术主要应用于实时焊接的焊接
机器人中,由于是实时焊接,焊缝都比较新,与焊接原件之间具有相对较大的
对比度。但是在传统制造业的生产过程中,生产原料往往不会立刻被投入到下一步的生产中,或者生产原料来自于不同的厂家,需要经过长时间的运输才会到达
指定的生产地点,因此灯杆上往往会有一些灰尘、生锈等问题导致焊缝模糊,针对模糊焊缝的视觉识别主要有以下难题:
[0007] (1)模糊程度不一,导致不同焊缝的
颜色之间差别很大;
[0009] (3)由于
钢板生锈,在运输过程中容易摩擦形成不同程度的划痕。
发明内容
[0010] 本公开为了解决上述问题,提出了一种针对模糊焊缝的视觉定位方法及系统,本公开利用了图像颜色信息和区域特征,将空间域滤波、形态学滤波、
图像分割、特征提取相结合,解决了对对比度较低的模糊焊缝位置识别的问题。
[0011] 根据一些
实施例,本公开采用如下技术方案:
[0012] 一种针对模糊焊缝的视觉定位方法,包括以下步骤:
[0013] 获取包含焊缝信息的待处理图像;
[0014] 对待处理图像进行预处理,去除外界环境干扰,突出焊缝的边缘特征;
[0015]
对焊缝进行边缘提取,计算预处理后的图像梯度幅值和方向,进行非极大值抑制,最后选取两个滞后
阈值进行边缘点的连接,得到二值图像;
[0016] 对二值图像进行
霍夫变换,检测出直线,根据直线的起始点绘制矩形框,实现焊缝准确识别并定位。
[0017] 作为可选择的实施方式,对图像进行预处理的过程包括:首先进行滤波去噪处理,其次对RGB彩色图像进行图像增强处理,以抑制光照强度变化剧烈的干扰,然后结合形态学理论进行
腐蚀操作,以突出焊缝的边缘特征,之后通过中值滤波进行图像平滑处理。
[0018] 作为可选择的实施方式,利用核进行高斯去噪,将核与跟核同大小的
像素点集进行卷积,将卷积后的值赋给中间的像素点,以达到平滑去噪的目的。
[0019] 作为可选择的实施方式,预处理中对彩色图像进行直方图均衡:将RGB格式的彩色图像分离为R、G、B三个通道,对每一个通道进行直方图均衡:首先,计算每个像素值出现的概率,并变换计算像素值,计算出的像素值经过四舍五入便成为直方图均衡之后的像素值,分别对RGB三个通道进行处理,再将处理结果按照顺序合成即可完成对彩色图像的直方图均衡。
[0020] 作为可选择的实施方式,对均衡后的图像进行腐蚀操作,具体过程包括定义一个腐蚀核B,原图像为A,用腐蚀核B去腐蚀A,如果A中的前景元素能够完整的包括B,则保留腐蚀的B的中心点,完成腐蚀。
[0021] 作为可选择的实施方式,边缘提取焊缝的具体步骤包括:
[0022] 计算得到图像在x、y方向的梯度;
[0023] 计算梯度的幅值和方向;
[0024] 遍历图像,将某个元素的灰度值与其梯度方向上的前后两个像素的灰度值相比,如果不是最大的,则置为0,即不是边缘;
[0025] 设置两个阈值,如果像素点幅值小于低阈值,则认定为非边界点;如果大于高阈值,则认定为边界点;当像素点幅值在高低阈值之间时,需要判断周围有无边界点,如果有边界点则认定此点也为边界点。
[0026] 作为进一步的限定,所述两个阈值的确定是采用创建滑动条的方式灵活地选取阈值。
[0027] 作为可选择的实施方式,通过霍夫变换获得直线集合的过程包括:
[0028] 将直线变换为极
坐标系下的形式,每一个点也变换为极坐标系下的一组曲线,如果有三个点变换的曲线有相同的交点,则这三个点在一条直线上,通过变换每一个边缘像素点到极坐标系下,通过设置阈值,如果交于某一点曲线的数量超过了阈值,则认为这个交点所对应的参数为原图像中的一条直线,最后输出变换得到的直线的集合。
[0029] 作为可选择的实施方式,根据待检测的焊缝的类型和规格,设置筛选条件,将不符合筛选条件的直线删除,遍历获得的最终直线集合,获得每一条直线的起点坐标和终点坐标的集合,比较这些坐标,将起点坐标集合中横坐标的最小值,纵坐标的最大值设置为矩形框左下
角的坐标值,同理将终点坐标集合中横坐标最大值,纵坐标最小值设置为矩形框左上角的坐标值,绘制出矩形框,获得焊缝位置信息。
[0030] 一种针对模糊焊缝的视觉定位系统,包括:
[0031] 工业摄像头,根据工业摄像头的
视野设置ROI区域,用于获取包含焊缝信息的待处理图像;
[0032] 预处理模
块,接收工业摄像头的图像,被配置为对待处理图像进行预处理,去除外界环境干扰,突出焊缝的边缘特征;
[0033] 边缘提取模块,被配置为接收预处理后的图像,对焊缝进行边缘提取,计算预处理后的图像梯度幅值和方向,进行非极大值抑制,最后选取两个滞后阈值进行边缘点的连接,得到二值图像;
[0034] 识别定位模块,被配置为对二值图像进行霍夫变换,检测出直线,根据直线的起始点绘制矩形框,实现焊缝准确识别并定位。
[0035] 一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种针对模糊焊缝的视觉定位方法中的步骤。
[0036] 一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种针对模糊焊缝的视觉定位方法中的步骤。
[0037] 与
现有技术相比,本公开的有益效果为:
[0038] 利用了图像颜色信息和区域特征,将空间域滤波、形态学滤波、图像分割、特征提取相结合,解决了对对比度较低的模糊焊缝位置识别的问题,并且工业摄像头的安装位置灵活,可以实现对模糊焊缝的精确定位,并可以将到位信号发送给控制系统,为后续的焊接自动化提供了强有力的技术
支撑。
[0039] 增加了光照抑制过程,使本公开能够在光照变化的条件下仍然可以正常工作;本公开可以推广应用于其他场合下的模糊焊缝识别。
[0040] 本公开通过设置直线筛选条件,能够删除在运输过程中容易摩擦形成不同程度的划痕等不符合条件的划痕,保证模糊焊缝的识别精度。
附图说明
[0041] 构成本公开的一部分的
说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
[0043] 图2为本实施例中图像预处理的流程图;
[0044] 图3为本实施例焊缝边缘提取的流程图;
[0045] 图4为本实施例焊缝识别定位过程流程图;
[0046] 图5(a)-(f)分别显示了原始图像、提取感兴趣区域(ROI)、腐蚀、中值滤波、边缘提取的处理效果和最终的检测结果。具体实施方式:
[0047] 下面结合附图与实施例对本公开作进一步说明。
[0048] 应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
[0049] 需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0050] 一种针对模糊焊缝的视觉定位方法,具体包括以下步骤:
[0051] 1.焊缝图像获取:将工业摄像头安装到机械结构上,拍摄获得RGB格式的彩色图像,根据工业摄像头的视野设置ROI区域,以获得待处理的图像。
[0052] 2.焊缝区域预处理:获得图像之后,首先进行高斯滤波去噪,其次对RGB彩色图像进行图像增强处理,以抑制光照强度变化剧烈的干扰,然后结合形态学原理进行腐蚀操作,以突出焊缝的边缘特征,之后进行中值滤波进行图像平滑处理。
[0053] 3.焊缝边缘提取:主要通过Canny算法实现,先求得图像梯度幅值和方向,进行非极大值抑制,最后选取两个滞后阈值进行边缘点的连接,输出一幅二值图像。
[0054] 4.焊缝识别定位:对上一步输出的二值图像进行霍夫变换,检测出直线,根据直线的起始点绘制矩形框,实现焊缝准确识别并定位。
[0055] 5.焊缝位置信息传递:将焊缝位置中心线位置信息发送给控制系统。
[0056] 步骤1中,获得ROI区域的步骤为:
[0057] 安装好工业摄像头之后读取图像,获得图像视野,根据视野人为设置ROI区域,使算法只处理灯杆上有焊缝信息的部分,去除干扰并且可以加快处理速度。
[0058] 步骤2中,图像预处理的具体实施步骤为:
[0059] (1)选取合适大小的核进行高斯去噪,以5×5的核为例,将核与跟核同大小的像素点集进行卷积。具体的计算公式为:
[0060]
[0061] 将卷积后的值赋给中间的像素点,即
[0062] P5=0.4*P5+0.1*(P2+P4+P6+P8)+0.05*(P1+P3+P7+P9) (2)
[0063] 以达到平滑去噪的目的。
[0064] (2)对彩色图像进行直方图均衡:将RGB格式的彩色图像分离为R、G、B三个通道,对每一个通道进行直方图均衡:首先,计算每个像素值rk出现的概率
[0065]
[0066] 由于读到的图像为8比特的图像,所以这里的L=28=256,M、N分别为图像的长和高,nk为该通道像素值出现的次数。则变换之后像素值为:
[0067]
[0068] 计算出的像素值sk经过四舍五入便成为直方图均衡之后的像素值,即原来像素值为k的像素新的像素值变为sk。如此分别对RGB三个通道进行处理,再将处理结果按照顺序合成即可完成对彩色图像的直方图均衡。
[0069] (3)对均衡后的图像进行腐蚀操作,获得待处理图像:首先定义一个腐蚀核B,原图像为A,用腐蚀核B去腐蚀A,其计算方法为:
[0070]
[0071] 本方案通过选取合适形状的核,来腐蚀图像,如果A中的前景元素能够完整的包括B,则保留腐蚀的B的中心点,完成腐蚀。
[0072] (4)利用中值
滤波器进行图像平滑处理:选择一个17×17大小的核在图像上滑动,用17×17范围内的像素值的中值代替中间的像素值,达到消除噪声,平滑图像的目的。
[0073] 步骤3中边缘提取算法的具体步骤包括:
[0074] (a)计算x、y方向上的梯度,具体算子如下:
[0075]
[0076] 用以上卷积阵列对图像进行卷积,将会分别得到图像在x、y方向的梯度。
[0077] (b)计算梯度的幅值和方向,计算方式为:
[0078]
[0079]
[0080] (c)非极大值抑制:遍历图像,将某个元素的灰度值与其梯度方向上的前后两个像素的灰度值相比,如果不是最大的,则置为0,即不是边缘。
[0081] (d)双阈值处理连接边缘:设置两个阈值,如果像素点幅值小于低阈值,则认定为非边界点;如果大于高阈值,则认定为边界点;当像素点幅值在高低阈值之间时,需要判断周围有无边界点,如果有边界点则认定此点也为边界点。本方案采用创建滑动条的方式,通过
鼠标滑动来灵活的选取阈值,确定最优的阈值之后再写进图像处理算法中,最后获得焊缝边缘的二值图像。
[0082] 步骤4具体包括:
[0083] 1)通过霍夫变换获得直线集合:将直线变换为极坐标系下的形式,即[0084] r=x cosθ+y sinθ (8)
[0085] 同样的,每一个点也可以变换为极坐标系下的一组曲线,如果有三个点变换的曲线有相同的交点,则这三个点在一条直线上。本方案通过变换每一个边缘像素点到极坐标系下,通过设置阈值,如果交于某一点曲线的数量超过了阈值,则认为这个交点所对应的参数为原图像中的一条直线,最后输出变换得到的直线的集合。
[0086] 2)排除非理想直线:由于本方案检测是
水平的长焊缝,因此可以通过判断直线集合中;
[0087] 直线的角度来滤除一些非理想的直线:
[0088]
[0089] 其中l为获得的直线,θ为直线相对于X轴的角度,如果角度值在80角到100度之间,则认为是理想的直线,需要保留;如果为其他的角度,则删除直线。
[0090] 3)绘制矩形框,定位焊缝:遍历上面获得直线集合,获得每一条直线的起点坐标和终点坐标的集合start[(X1,Y1)...(Xn,Yn)]和end[(X1,Y1)...(Xn,Yn)],比较这些坐标,将start集合中(横坐标的最小值,纵坐标的最大值)设置为矩形框左下角的坐标值,同理将end集合中(横坐标最大值,纵坐标最小值)设置为矩形框左上角的坐标值,如此便可绘制出矩形框,获得焊缝位置信息。
[0091] 作为典型的实施例,如图1所示,本实施例方法识别模糊焊缝的过程如下:安装工业摄像头,获取现场的图像,参见图5(a);可见由于安装位置不同,工业摄像头获得的视野也不同,因此要选取感兴趣区域(ROI),参见图5(b);由图可知,由于焊缝比较模糊,焊缝与焊接原件之间并没有形成较强的对比度,两者颜色几乎相同。现有焊缝检测技术大多应用于实时焊接的自动焊接机器人,因此焊缝较新,与焊接原件之间的对比度较高,但是对于一些模糊程度较大的焊缝,现有技术方法往往难以起到准确识别的作用。
[0092] 本实施例方法首先将彩色图像分解为RGB三个通道,其次分别进行直方图均衡处理,使色彩分布更加均衡,抑制光照强度变化产生的干扰,最后将均衡后的三个通道按顺序合成。
[0093] 接着将增强后的彩色图像进行高斯去噪,平滑图像;然后针对焊缝特点定义核函数,利用核函数将图像进行形态学腐蚀处理,效果参见图5(c);可见腐蚀之后图像会形成一些“鳞片”状的现象,因此还要进行滤波平滑处理,处理之后的效果如图5(d)所示。
[0094] 然后进行图像边缘提取,通过创建鼠标滑动条来灵活的选取阈值,确定阈值之后便固定到图像处理的算法中,边缘提取的效果参见图5(e),可见由于模糊,焊缝几乎和焊接原件形成一体,边缘非常不明显。
[0095] 最后进行焊缝识别定位:提取直线,根据直线的角度判断是否为近似焊缝的理想直线,将确定的理想直线存到一个集合中,遍历该集合,根据各直线的起点和终点确定矩形框对角线上的两个
顶点,绘制出矩形框,参见图5(f),矩形框的中线即认定为焊缝的位置。
[0096] 本实施例利用了图像颜色信息和区域特征,将空间域滤波、形态学滤波、图像分割、特征提取相结合,解决了对对比度较低的模糊焊缝位置识别的问题,并且工业摄像头的安装位置灵活,可以实现对模糊焊缝的精确定位,并可以将到位信号发送给控制系统,为后续的焊接自动化提供了强有力的技术支撑。并且增加了光照抑制算法,使本实施例能够在光照变化的条件下仍然可以正常工作;本实施例可以推广应用于其他场合下的模糊焊缝识别。如图1所示,本实施例方法识别模糊焊缝的过程如下:安装工业摄像头,获取现场的图像,参见图5(a);可见由于安装位置不同,工业摄像头获得的视野也不同,因此要选取感兴趣区域(ROI),参见图5(b);由图可知,由于焊缝比较模糊,焊缝与焊接原件之间并没有形成较强的对比度,两者颜色几乎相同。现有焊缝检测技术大多应用于实时焊接的自动焊接机器人,因此焊缝较新,与焊接原件之间的对比度较高,但是对于一些模糊程度较大的焊缝,现有技术方法往往难以起到准确识别的作用。
[0097] 本实施例方法首先将彩色图像分解为RGB三个通道,其次分别进行直方图均衡处理,使色彩分布更加均衡,抑制光照强度变化产生的干扰,最后将均衡后的三个通道按顺序合成。
[0098] 接着将增强后的彩色图像进行高斯去噪,平滑图像;然后针对焊缝特点定义核函数,利用核函数将图像进行形态学腐蚀处理,效果参见图5(c);可见腐蚀之后图像会形成一些“鳞片”状的现象,因此还要进行滤波平滑处理,处理之后的效果如图5(d)所示。
[0099] 然后进行图像边缘提取,通过创建鼠标滑动条来灵活的选取阈值,确定阈值之后便固定到图像处理的算法中,边缘提取的效果参见图5(e),可见由于模糊,焊缝几乎和焊接原件形成一体,边缘非常不明显。
[0100] 最后进行焊缝识别定位:提取直线,根据直线的角度判断是否为近似焊缝的理想直线,将确定的理想直线存到一个集合中,遍历该集合,根据各直线的起点和终点确定矩形框对角线上的两个顶点,绘制出矩形框,参见图5(f),矩形框的中线即认定为焊缝的位置。
[0101] 本实施例利用了图像颜色信息和区域特征,将空间域滤波、形态学滤波、图像分割、特征提取相结合,解决了对对比度较低的模糊焊缝位置识别的问题,并且工业摄像头的安装位置灵活,可以实现对模糊焊缝的精确定位,并可以将到位信号发送给控制系统,为后续的焊接自动化提供了强有力的技术支撑。并且增加了光照抑制算法,使本实施例能够在光照变化的条件下仍然可以正常工作;本实施例可以推广应用于其他场合下的模糊焊缝识别。
[0102] 在其他实施例中,提供以下产品实施例:
[0103] 一种针对模糊焊缝的视觉定位系统,包括:
[0104] 工业摄像头,根据工业摄像头的视野设置ROI区域,用于获取包含焊缝信息的待处理图像;
[0105] 预处理模块,接收工业摄像头的图像,被配置为对待处理图像进行预处理,去除外界环境干扰,突出焊缝的边缘特征;
[0106] 边缘提取模块,被配置为接收预处理后的图像,对焊缝进行边缘提取,计算预处理后的图像梯度幅值和方向,进行非极大值抑制,最后选取两个滞后阈值进行边缘点的连接,得到二值图像;
[0107] 识别定位模块,被配置为对二值图像进行霍夫变换,检测出直线,根据直线的起始点绘制矩形框,实现焊缝准确识别并定位。
[0108] 一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种针对模糊焊缝的视觉定位方法中的步骤。
[0109] 一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种针对模糊焊缝的视觉定位方法中的步骤。
[0110] 本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或
计算机程序产品。因此,本公开可采用完全
硬件实施例、完全
软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘
存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0111] 本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方
框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程
数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0112] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0113] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0114] 以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何
修改、等同替换、改进等,均应包含在本公开的保护范围之内。
[0115] 上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的
基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或
变形仍在本公开的保护范围以内。