汽车焊缝密封胶条的光条中心提取算法研究

2019-10-14 01:20鑫,凌鹤,李
应用光学 2019年5期
关键词:胶条高斯灰度

程 鑫,凌 鹤,李 硕

(武汉理工大学 机电工程学院,湖北 武汉430070)

引言

汽车车身的密封性能是整车质量水平的重要评价标准。焊缝涂胶能够提高车身密封水平,可以提高车身防水、防腐蚀能力,因此需要检测涂胶质量的好坏。其中胶条的高度是胶条质量的重要参数,激光三角法是检测高度最为快速、准确的方法之一。针对黑色胶条,光条的亮度会减弱,进而增加提取难度,因此对线结构光光条中心的提取是关键难题之一。

激光的光条提取算法主要有阈值法、极值法、拟合法和重心法等。阈值法通过设定不同的阈值,把图像像素点的灰度值分为2个区间,分割后的图像像素点灰度值若处在设定区间,则被选中,反之则被删除。该方法速度快,但是改变了光条的细节,精度差。极值法的原理是提取图像中每行或每列的极大值,在光条截面光强分布严格符合高斯分布的情况下速度快,但容易造成误差。拟合法是将光条灰度最大值附近像素拟合成抛物线,然后将抛物线的极大值点位置作为光条中心,这种方法要求光条截面光强符合高斯分布,但是提取速度较慢。重心法利用光条中心两侧的灰度梯度特性,将求出光条选取点的重心作为光条中心,精度高但计算量大、速度慢。

刘松[1]等人对激光散斑图像建立光强分布模型,提出一种在整体对比度提高的算法上融合光条提取的算法;梅峻华[2]等人提出了一种融合极值法和灰度重心法的结构光光条中心提取算法,能达到亚像素级精度;方夏章[3]等人对在室内环境下图像中光条的亮度不均问题提出了一种结合阈值法、边缘检测以及灰度分布特征的方法。但上述针对黑色胶条的光条提取方法,存在着鲁棒性差、提取速度慢的缺点。因此,找到适应工业测量同时兼具高精度和鲁棒性的方法很有必要。文中提出了一种具备高鲁棒性的算法,对胶条激光条图像进行线性增强,将整体图像对比度提高;然后,用极值法对激光条的中心进行初步的提取,并结合Hessian矩阵,对激光条的中心进行定位;最后,利用高斯函数准确拟合出激光条的中心。

1 光条提取算法

1.1 实验原理和技术路线

目前,激光三角法是三维检测中较成熟的方法。本实验利用激光器将光投影待测物体表面,反射光通过成像镜头,在工业相机的感光芯片上将光信号转化为数字信号,根据相机和激光器所限定的结构,工业相机可以在不同的角度下呈现图像,依据所限制的相机和激光器的自由度,可以求出待测物体表面的三维信息[4]。

图1 激光三角法原理图Fig.1 Schematic diagram of laser trigonometry

结构光指的是通过激光器发射出的一束激光,其在被测物体表面形成的光条在传播过程中曲率中心不断改变,其振幅在横截面内为高斯分布,强度集中在轴线及其附近,如图2所示。但是在实际工业应用中,光条的光强实际分布并不一定完全按照高斯分布,具体有偏差的地方在于:光强的最大值不一定是单个位置,而是在多个位置,光条中心的光强也不一定按照高斯分布下降,而是阶跃式变化[5]。

图2 光条截面强度分布Fig.2 Light bar cross-section intensity distribution

算法整体流程图如图3所示,首先将整体图像对比度提高,然后用极值法找到极大值,对激光条的中心进行初步的提取,结合Hessian矩阵,对激光条的中心进行定位,最后利用高斯函数准确拟合出激光条的中心。

图3 算法流程图Fig.3 Algorithm flow chart

1.2 裁剪图像

在黑色胶体的结构光图像中,结构光光条只是图像中的小部分,可以通过对图像进行阈值分割和尺寸分割,把包含图像光条的部分分割出来,进行数据处理,可以很大程度地减少整体的运算量[6]。具体方法:将光条图像的区域进行区域转换,转换为水平最小外接矩形,为了避免图像过于紧凑,将裁剪区域扩大。文中使用的原始图像大小是1 280×1 024像素,分割提取后参与运算的图像为400×1 024像素,运算量大幅降低。

1.3 增强对比度

对整个图像进行线性增强,将整体图像对比度提高,以便进行下一步处理。本方法在原来的基础上提出了一种增强对比度的方法,该方法的核心是对图像的高频区域进行处理,使生成的图像更加清晰。首先,该过程使用低通滤波执行过滤,得到的灰度值(res)作为边缘处理,可以计算出图像的平均灰度值,之后利用该算法增强对比度,具体过程为:每个像素的灰度值为原来的灰度值加上与平均值的差的线性关系,并且可以调整Factor参数,灰度值在图像的边缘处被处理,这样可以使得灰度值大的像素点灰度值变大,同时灰度值小的点灰度值变小,然后根据获得的灰度值(平均值)和原始灰度值(orig)计算如下:

res=(orig-mean)×Factor+orig

(1)

1.4 用滤波法和阈值分割法去除噪声

在进行检测的过程中,噪声总是无处不在,在亮度不均匀的黑色胶条图像上更加明显,噪声的大量存在增加光条提取难度,也对精度造成影响。因此需要对图像进行预处理,其目的就是减少图像噪声[7],结合中值滤波和阈值分割,进行初步的光条提取。利用中值滤波和阈值分割的算法对像素点进行排除。中值滤波的原理是将数字图像的像素序列排序,则点的灰度值为与该像素点相邻的点的灰度值的中值[8]。在进行滤波时,滤波器模板由Radius定义大小,最常见的模板有圆形和正方形。其中圆形模板由一个圆圈内的像素组成,正方形模板由正方形内的像素组成,通常为3×3、5×5区域。

阈值分割可用于选择特定的灰度值,以抑制小于设定值的对象,在进行分割的同时,能够将像素点灰度值大小按照直方图的形式显示出来,在设定灰度值范围之内的像素点会显示出来[9],结合滤波处理,能够很完整地将光条的图像提取出来。

1.5 Hessian矩阵算法提取光条中心

在光条的位置提取出来之后,利用极值法和与Hessian矩阵方法相结合的算法提取光条中心坐标,实验表明,该算法能够在保证运算速度的同时,具备高的抗干扰性,能够实现光条中心定位。首先极值法找到灰度的极大值,初步定位光条中心,由于光条曲率的法线可以由Hessian矩阵计算获得,然后通过泰勒展开式,获得中心点的坐标[10]。

假设其中一个像素坐标为(x0,y0),该点的Hessian矩阵为

(2)

该点法线方向(nx,ny)及该方向的二阶导数,分别为该点Hessian矩阵相应的特征向量和最大绝对特征值。光带图像r(x,y)中,在光带方向上的一阶方向导数为0,且二阶方向导数取负的极小值点,位于光带中心上[11]。设光带方向n(x,y) 用单位向量(nx,ny)表示,则沿光带方向(nx,ny)可以表示为

rt(x0+tnx,y0+tny)=0

(3)

(4)

则图像灰度的极值点为(px,py)=rt(x0+tnx,y0+tny),因此光条的中心点可以提取出来。

1.6 高斯拟合光条中心

在经过上述算法处理之后,光条中心点的坐标能够提取出来。在文中黑色胶体的应用背景下,光条的中心点的提取会产生偏差,光条的部分中心点甚至被吸收导致无法读取,如果直接将中心点连接,会使得光条中心提取误差更大,因此需要对点进行平滑的过渡拟合[12]。文中在曲线拟合的基本原理上进行曲线拟合,用高斯函数对数据点集进行函数逼近的拟合,从而得到光条的完整中心线[13]。这种方法能够在进行积分运算时更加简单迅速。对(5)式两边取对数可以将高斯函数转化为二次多项式拟合函数(6),化简之后得函数(7),可以求出S、xmax、ymax,从而得到高斯拟合曲线函数。

(5)

(6)

(7)

高斯拟合算法的引入不仅实现了数据的转换,而且提高了提取精度,能减小数据处理工作量,降低复杂程度,这种拟合方法是十分有意义的。在拟合过程中,高斯拟合模型尽可能与实际情况相符合;在同一个模型中,应尽量避免出现坐标变化过大的点,应采用较密集的点进行拟合。在拟合过程中误差是不可避免的,因此必须分析高斯拟合光条的误差。高斯拟合由于其特性,当点的数量较多并且点的坐标变化较小时,高斯函数较平滑,拟合出的光条精度高。当点的数量较少并且点的波动较大时,易出现锯齿状,降低了拟合效果,导致拟合精度降低。而文中提取中心点的算法能更加准确地提取光条的中心点坐标,能够减小拟合误差。

2 实验概况

本次实验主要硬件设备包括线结构光激光器,成像相机,成像镜头等。其中结构光激光器采用的是相干(coherent)公司的StingRay激光二极管模块;波长为650 nm,所用成像单元为大恒公司的MER-130-30UM数字摄像机,分辨率为1 280×1 024,帧率为30 fps;镜头为Computar公司生产,型号为Computar M0824-MPW2,焦距为16 mm。首先如图4搭建结构光光条中心检测模型,符合激光三角测量的结构系统,然后线结构光激光器将光射向物体表面,在数字摄像机上成像,最后将获得的光条图像进行处理[14]。

图4 实验概况图Fig.4 Experimental overview

3 实验结果分析

如图5所示是数字摄像机采集到的原始激光条图像,激光照射到试验台架上形成的光条图像。按照整体的步骤,将光条图像进行裁剪,只保留光条所在的部分,并且将图像对比度提高以后,在整体图像的灰度值上会便于阈值的提取。为了更好地对比本文算法的效果,将裁剪后的图像和增强对比度的图像拼接形成一幅图像,如图6所示。

图5 原图光条Fig.5 Original light strip

图6 进行裁剪和对比度提高的之后的光条Fig.6 Light bars after cropping and contrast enhancement

针对裁剪和滤波之后的光条图像,进行初步的骨架提取,在计算过程中,首先对光条部分进行阈值提取,提取出光条的大致位置,能够初步提取出光条的骨架[15],将阈值提取的光条图像和骨架提取的光条图像拼接形成对比,如图7所示。由于光条的中心线需要是光滑的,需要在此基础上进行另外的光条拟合。将原图和骨架细化的图片进行放大对比,可以发现骨架细化的光条中心的提取在部分光条变化的地方会存在误差[16],如图8所示,因此需要精确地进行中心点的提取。

图7 进行阈值提取的光条和骨架提取的光条Fig.7 Light bar for threshold extraction and light strip for skeleton extraction

图8 骨架细化之后的光条Fig.8 Light strip after skeleton is refined

在工业现场环境中,光线、光强其他条件都比较恶劣的条件下,光条图片会产生很多噪声,因此添加噪声来模拟工业现场环境下获取的光条图像,再通过本文的算法进行处理。如图9所示,并且对去噪前后的图片进行对比。在添加了噪声幅度为100的白噪声的情况下,经过处理后得到如图9所示的光条中心线。

图9 加白噪声之后的光条和提取的光条Fig.9 Light strip and extracted strip after adding white noise

在本次实验中,软件默认左上角为原点,通过Hessian矩阵方法和文中的算法,在光条的横截面上取10个点,测试光条中心点的坐标。利用激光测距仪和激光投线仪测量这10个点的实际坐标。将得到的两组坐标数据进行比较,计算误差,并且求误差平均值。由表1的数据显示,在用Hessian矩阵方法测试黑色胶体光条坐标中心和用仪器精准测试的误差对比,在X坐标上,误差的平均值为1.126个像素,而在Y坐标的平均误差为1.166个像素。用本文方法测试并且进行误差对比分析,在X坐标上,误差的平均值为0.558 8个像素,而在Y坐标的平均误差为0.609 7个像素。用本实验方法得出的光条中心提取点的误差较小,精度更高。

表1 实验数据对比

4 结论

针对汽车焊缝密封的黑色胶条,文中提出了一种光条分割的Hessian矩阵定位和高斯曲线拟合的算法。首先,提取黑色胶条的光条图像,将整体图像对比度提高;然后,用极值法对激光条的中心进行初步提取,并结合Hessian矩阵,对激光条的中心进行亚像素定位;最后,利用高斯函数准确拟合出激光条的中心。该算法的检测精度达到亚像素级,并且鲁棒性高,能够增加黑色胶条光条的稳定性,能够在工业现场的环境下稳定并且准确地提取出光条中心,这也是以后的工作方向。

猜你喜欢
胶条高斯灰度
金刚石组合绳锯半自动压胶条装置的设计
采用改进导重法的拓扑结构灰度单元过滤技术
浅谈门窗用整框注压胶条角部强度
高速动车组塞拉门密封胶条国产化研究与应用
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
装配式地下结构用防水胶条密封性能试验研究*
数学王子高斯
天才数学家——高斯
基于最大加权投影求解的彩色图像灰度化对比度保留算法
从自卑到自信 瑞恩·高斯林