APP下载

基于镜面反射及图像处理技术检测管壁焊缝位置的方法

2019-04-15郑劲松赵章风

计算机应用与软件 2019年4期
关键词:镜面管子算子

郑劲松 赵章风

(浙江工业大学机械工程学院 浙江 杭州 310023)

0 引 言

很多钢管都是通过焊接制成圆形管子,再通过其他加工设备制成各种截面形状的钢管,作为制作其他产品的毛坯料。用有焊缝钢管作为毛坯,加工制作其他产品时,一般情况下,不允许在焊缝上或焊缝附近位置进行打孔等加工,因为焊缝附近硬度、韧性等加工性能变得较差。因此,在自动化生产过程中,为能顺利进行后续加工工序,需要在之前找到焊缝的位置。在目前检测焊缝的方法,一般采用色标传感器或者利用计算机图像处理技术。

对于圆形截面钢管寻找其焊接位置,可以利用色标传感器实现焊缝位置的检测。具体方法是:在管子上方安装一个色标传感器,然后让管子转动一圈。在没有焊缝的管壁位置,管子表面光滑,光反射量均匀,在焊缝及附近位置,管壁颜色偏暗,光反射量小,与其他位置存在明显不同。因此,我们可以事先通过标定,确定一个色差范围阈值,把有焊缝与无焊缝的颜色区分开,这样利用色标传感器就可以检测焊缝位置了。实验数据表明,利用色标传感器检测焊缝的成功率达99%以上。但是对于截面形状为多边形的钢管,如八边形钢管,若采用色标传感器检测焊缝,钢管在转动一周过程中光反射不均匀,棱角边位置和焊缝位置的光反射特征接近。由于八边形管子棱侧面是由八个平面组成,平面在转动过程中,光反射存在方向性,导致光反射量极不均匀,变化很大。这些都会导致检测成功率很低,在我们的实验中,这种方法检测焊缝位置的成功率在50%以下。

因此,对于非圆形的管子检测表面焊缝位置,一般采用计算机图像处理技术。用图像拍摄设备获取管子每一个侧面的图像,然后利用适当图像处理技术寻找焊缝特征,确定焊缝位置,即确定焊缝在哪一个棱侧面上,从而为后续加工中避开在该侧面上进行打孔等加工作准备。如果通过在管子转动一周过程中,利用相机抓取每一个棱侧面图像,然后进行图像处理查找焊缝这种方法,实现比较麻烦,检测效率也受限制。这是因为:转动一周,由于要清晰地拍摄到每一个棱侧面清晰的照片,管子转动的速度不能很快,拍摄图片的相机要采用高速摄像机才能胜任,还涉及到相机与管子转动的同步问题。所以用这种方法实现比较麻烦,而且成本也高,因为这种相机一般价格较昂贵。

本文采用的方法是:利用镜面反射原理,在静止状态中一次性拍摄8个侧棱面图像。这种方法要求制作一个简单的装置,把反射镜面位置和角度,照明光源都要事先调试好,固定好。在检测过程中,我们唯一要做好的是在拍摄侧棱面图像时刻,要把管子转正位置,即管子的每一个侧棱面与反射镜面相互摆正位置,使管子的8个棱侧面都能在反射镜面中成好像。这种方法可以大大缩短获取管子棱侧面图像的时间,提高焊缝检测速度。

1 八角管子定位问题

在生产线中,落料后的管子位置是任意的,如图1(a)中示意定位的初始位置。设管子圆心为O点,圆心到侧棱面的垂直距离为h,圆心到棱角的距离为r,h和r之间的夹角为α,圆心O到侧棱面竖直方向的距离为L(中间的竖直线),L是通过位移传感器实时测量的距离。此处管子截面形状为正八边形,因此r即为该正八边形外接圆的半径长,r和h之间的夹角α=π/8,h=r×cosα=r×cos(π/8)

Lmax=r

(1)

Lmin=h=r×cosα=r×cosπ/8=0.923 9r

(2)

我们知道,管子转动的过程中,实测距离L在h和r之间变化。如果管子的初始位置如图1(a)所示,管子从初始位置开始以角速度ωrad/s匀速转动,位移传感器的采集模块以采样频率f(利用一个高精度定时器)进行采集,记录位移实时数据和采样时刻。当位移传感器的采集模块检测位移局部最大时的时刻为t1,即如图1(b)所示的检测位置,此时L达到最大,L=r。

(a) 初始位置 (b) 检测位置 (c) 转正位置图1 八角管端面位置图

由于管子是以角速度ω匀速转动,因此到时刻t2=t1+Δt时停止转动,此时管子已经转正,如图1(c)所示。

(3)

管子转动过程中为了减小误检测率,我们在判断位移传感器数据L局部最大时,加上一个阈值Llimit=0.98r,即当实测距离L>Llimit时,采集程序才进行局部最大值的判断。在准确判断到实测距离L最大时,即检测到检测位置后,延迟Δt秒后,管子停止转动,则管子就处于转正位置。

2 反射镜面与光源布置

2.1 反射镜面安装

我们制作了一个锥形喇叭口,锥面与轴线呈45度倾角。镜面宽度尽量与侧棱面同宽,把8片镜面粘贴到锥形喇叭口内表面上,镜面与侧棱面对齐,镜面与侧棱面自然呈45度平面夹角,见图2(a)。根据光反射原理,八角管子的每一个棱侧面在镜面中呈像与管子轴线垂直,与相机镜面平行,方便相机拍摄,也利于图像清晰,图2(b)就是实际拍摄的八角管子棱侧面图像。

(a) 镜面反射原理图

(b) 拍摄的实际图片图2 基于镜面反射拍摄图像

2.2 光源选择与位置布置

由于管子侧壁比较光滑,所以光源的选择和光源布置的位置很重要。本文选择光柔和、光线散的红色光源,位置布置在镜面后方,能把管子棱侧面照亮,但光线尽量少地直接反射到镜面中。

3 图像处理

图像处理调用Halcon软件中的图像处理算子完成。

3.1 图像预处理[1-4]

预处理主要包括平滑处理和图像增强处理。图像平滑处理调用算子mean_image对图像进行均值滤波处理,从而剔除对检测结果不利的噪点。利用算子emphasize对降噪后的图像进行增强处理,为检测焊缝作准备。实际上,用镜面采集的图片,都在一个封闭的空间,受到的干扰很少,从图2(b)中实际采集到的图像看,已非常清楚。

3.2 选定图像ROI

利用Halcon算子gen_circle和difference算子生成一个圆环区域,再用reduce_domain算子获得图像的ROI,如图3(a)所示。因为管子和相机的位置是固定的,因此镜面成像位置也是确定的,为了减少处理图像数据量和不必要的干扰,我们选定一个以管子中心为圆心的一个圆环区域图像作为ROI。实验结果证明,这样做的好处是,可以大大降低光源选择和布置要求,我们选定的ROI图像质量稳定,大大降低了图像处理难度,提高了检测成功率。

(a) 选取ROI图像 (b) 灰度值阈值分割图像 (c) 根据面积和矩形形状筛选后的图像图3 对ROI区域处理

3.3 阈值分割[1,5-6]

利用Halcon算子threshold对图像进行分割,得到设定灰度值的图像区域,如图3(b)所示。从原始图像图2(b)可以看出,管子的棱侧面在光源照射下,在镜面中的成像相对比较亮,亮度均匀,也就是在图像中它们的灰度值一致,在一个小的范围内,并且与其他区域灰度值差较大(这是因为管子棱侧面金属表面都比较光滑)。因此,我们可以用固定阈值分割算子获得目标区域,效果理想。从图3(b)可以看出,在两个棱侧面之间,还有许多大块的区域,这是因为粘贴镜面的锥形内壁也是金属的,表面没有进行粗糙和涂黑处理,处理后,这些区域在图像中也呈黑色区域。

3.4 区域筛选

管子8个棱侧面在阈值分割后的图像中面积大且在一定范围内,棱侧面形状为矩形,因此可以用Halcon算子select_shape筛选出我们需要的八个面。首先用面积大小来筛选,设定area=[60,300];其次,根据矩形度来筛选,rectangularity=[0.85,1]。结果如图3(c)所示。实际上,如果把粘贴镜面的锥形表面进行粗糙和涂黑处理后,根据固定阈值分割后的图像如图4(b)所示。我们只需要根据面积进行筛选,因为除了棱侧面位置,图像其他位置根据阈值分割后都是一些孤立的、面积很小的区域,因此设定area=[200,300]选择形状,结果如图4(c),焊缝所在的面被过滤掉了,因为焊缝所在的面,在焊接过程中的高温,使得焊缝附近表面较暗,在图像中这个区域的灰度值偏小。利用固定灰度阈值分割后,这个面被分割成几个小的区域,这些区域的面积明显变小。因此可以根据面积的大小来判断焊缝在哪一个面上。

(a) 预处理后的区域分割 (b) 阈值分割后图像 (c) 根据面积筛选后的图像图4 图像分割

3.5 焊缝面检测

下面我们示例说明焊缝检测过程。首先获取镜面中的原始图像,如图5(a)所示。根据以上步骤,我们根据面积进行筛选,得到了一些区域,如图4(c)所示。在实验中,大部分情况下我们可以得到7个和8个独立的区域,这些区域就是管子棱侧面在图像中的位置。对于这些区域的矩形度、矩形方向角和矩形位置等数据,在Halcon软件中都可以用算子得到。利用矩形方向角和矩形位置,可以确定棱侧面位置,如图5所示。如果有8个面,认为面积最小的那个区域位置就是焊缝所在位置;如果只有7个区域,则缺失的那个区域就是焊缝所在位置。如果根据以上步骤筛选得到的区域个数多于8个,则根据区域的矩形度、矩形方向角和矩形位置等参考数据,如图5(b)所示,可以过滤掉不是管子棱侧面所在的区域;如果图像区域少于7个,则需要对阈值分割后的区域(如图4(b)所示)进行平均灰度值计算,平均灰度值=区域灰度值总和/区域面积(像素数量),平均灰度值最小区域就是焊缝所在棱侧面。

(a) 镜面中拍摄到的管子8个棱侧面及对其编号

(b) 管子转正后8个棱侧面的角度和位置参考数据图5 焊缝检测结果示例图

利用Halcon图像处理库对通过镜面反射方法获得的图片进行处理,焊缝位置的检测成功率很高。通过多日测试,对实际打孔后的伞杆进行人工抽检,软件统计数据符合实际检测结果。如图6(a)所示,2017年7月8-9日2天数据是调试得到的统计数据,检测调试用的伞杆是质量比较好的新杆,表面干净,焊缝明显。其中未检数量和变形数量就是焊缝检测不成功的伞杆数量,焊缝检测成功率=(检测总量-未检数量-变形数量)/检测总量,焊缝检测成功率在99%以上;图6(b)是一家伞杆质量一般的企业实际运行焊缝检测统计数据,焊缝检测成功率=(363 531-6 625)/363 531=98%。

(a) 测试统计数据

(b) 实际运行统计数据

图6 焊缝检测统计数据

4 结 语

1) 利用镜面反射原理,相机拍摄一次,可以一次性获得管子8个棱侧面图像,降低了对相机的技术要求;通过对图像ROI的选取,降低了光源的要求;获得了较清晰的图像,为后续图像处理有了很好的保障。

2) 由于管子棱侧面表面光滑,在光源照射下,管子棱侧面和镜子的相对位置在镜面中比较明亮。利用Halcon软件中固定阈值区域分割算子,快速地得到了管子棱侧面在图像中的区域。

3) 本方法检测正确率高、响应快。实验表明,焊缝检测成功率为95%以上,检测时间为20~100 ms,达到了很好的效果。

猜你喜欢

镜面管子算子
有界线性算子及其函数的(R)性质
熊莉钧 作品
神奇的镜面成画
巧取乒乓球
巧取乒乓球
Domestication or Foreignization:A Cultural Choice
几何映射
QK空间上的叠加算子
“镜面”狮城——一次说走就走的旅行之新加坡
滚球游戏