基于机器视觉的轨道车辆零部件形位尺寸检测方法研究

2020-09-26 00:58张春伟彭善飞刘晓峰
计算机测量与控制 2020年9期
关键词:像素点轮廓阈值

张春伟,彭善飞,刘晓峰

(中车青岛四方机车车辆股份有限公司,青岛 266111)

0 引言

轨道车辆的零部件,涉及到安装的形位尺寸较多,较容易出现尺寸形状错误,传统的检验用时较长且容易出错,检验效率较低。出错的零部件会造成不同程度的返工,大大地降低了生产效率。出于动车组零部件现有入库检验面临各种困难,所以本文引入视觉的方式,通过图像采集设备获取的零部件图像,应用图像处理相关算法,获取目标的轮廓等信息,自动识别零部件边缘轮廓,最终实现轨道车辆零部件的形状尺寸参数测量。

本文采用基于机器视觉的非接触式检测方式,研究以车间应用为出发点,采用便携式的检测设备,对放置在生产现场的零部件进行拍照采集特征,然后运用基于Snake的区域分割算法获取图像中的零部件关键部位感兴趣区域;之后运用透视变换对图像进行校正,以解决检测过程中的拍摄角度及便携设备部署过程中的相对位置误差;对校正后的图像采用Sauvola算法对特征进行精确定位;之后对轮廓进行提取,并通过部署在检测区域四角的标定靶进行设备定标,获取图像各像素与实际尺寸的对应关系,进行形状分析和尺寸测量,进而与零部件的标准信息进行比对,判定零部件形位尺寸是否满足要求,本研究的设计流程如图1所示。

图1 零部件形位尺寸视觉检测设计流程图

1 图像获取

本研究以图像采集设备为基础,在位姿调节模块的驱动下,图像采集设备对放置在检测区域的零部件进行检测,由于设备采用便携式的检测方式,因此在检测区域的四周放置标定靶,用于对设备定标,之后拍摄零部件的图像,本设备为了克服生产现场复杂的环境干扰,配备补充照明灯,采用工业相机对零部件进行拍照,基于便携设备的螺钉状态检测,选用典型小批量大规模设备中的柜门控制盘的螺钉作为检测对象,检测空间狭小,现场环境有光照及LED灯照明,采用工业彩色相机对设备进行拍照,由于图像采集设备的部署由工人完成,因此采集图像的位置存在20 cm的偏差,采集角度存在10°的偏差,如图2所示,被检测对象背景复杂,不利于螺钉定位。

图2 零部图像获取效果图

2 基于Snake的零部件特征分割方法

对于获取的零部件图像,首先需要对关键形位尺寸和特征进行提取,即从复杂的背景中提取感兴趣区域。本文采用基于Snake的感兴趣区域分割算法。

Snake[1]动态轮廓模型对于噪声和对比度不敏感,擅长将目标从复杂背景中提取出来,因而选择Snake模型用于本文的图像感兴趣区域ROI分割。

Snake需要先提供待分割图像的初始轮廓,然后轮廓动态地沿能量降低的方向运动,直到收敛于目标对象的真实轮廓。

设C(p)为一条曲线,p是其参数,K为曲率,T为切线,N为法线,其关系如下:

如图3所示,二维平面上的曲线都可以用互相垂直的法线N和切线T的线性组合来表示。

图3 Snake 曲线示意图

Snake是基于能量的方法,以轮廓为参数构造能量方程,使动态轮廓线与目标轮廓重合的时候模型能量最小,最小化能量方程,即可求出目标轮廓。如图4,椭圆为初始轮廓,箭头为动态轮廓的法向量,待分割的目标为三角形。

图4 snake主动轮廓原理

对曲线(轮廓)上每个点构造能量方程如下:

Cp为曲线的一阶导数(斜率),Cpp为曲线的二阶导数,I为轮廓点处的的图像梯度。

Snake模型的能量为内部能量与外部能量之差,内部能量即为曲线的一阶导数与二阶导数的平方,表示轮廓的平滑度。曲线不平滑,导数越大,从而内部能量越大。最小化能量就要求内部能量尽可能小,即曲线尽可能平滑。

用户在感兴趣目标的附近放置初始轮廓,Snake模型得到的轮廓线是封闭连续的,目标表面的阴暗变化不会生成独立的轮廓线,可以提取出零部件感兴趣区域(ROI)的外轮廓。另一种常见的轮廓提取方法是Canny[2]边缘检测,边缘检测也是轮廓提取。因为Canny算子没有强调目标的轮廓必须是封闭的,目标表面纹理的颜色、阴暗变化也被误当作边缘检测出来,就会有大量的伪边缘。

图5中,虚线为初始轮廓线,实线为主动轮廓线,实线外接矩形为感兴趣区域ROI保存为图6所示。

图5 snake与canny轮廓提取对比

图6 感兴趣区域ROI

3 透视变换

由于设备的部署工作均由操作工人完成,因此不可避免的存在拍摄角度和相对位置的差异,因此本方法在感兴趣区域获取后采用透视变换,对零部件的形位尺寸进行纠正,为后续的形位尺寸测量做准备。

由于摄像机拍摄物体时,大多时候并不是正投影垂直朝下拍摄物体,斜看物体时不能有效地正确地看出测量出物体的尺寸,这时就要用到透视变换,将图像校正为正投影的角度。所以,透视变换是视觉测量物体目标形位尺寸的前提。

透视变换[3](perspective transformation)是将图片投影到一个新的视平面(viewing plane)上,也称作投影映射(projective mapping)。透视变换后直线仍为直线,但平行关系丧失。如图7所示。

图7 透视变换原理

透视变换用矩阵形式表示如下:

透视变换同样是一种改变对象尺寸和形状的操作,一个平面图形经透视变换后可产生立体效果,同样,立体效果通过透视变换反向变换也可以变为平面图形。摄像机拍摄的图像一般带有一些立体效果,我们需要通过透视变换将带有立体效果的图像转换为平面图形,才利于后续的物体尺寸测量。因为形位尺寸测量为了确保准确性,必须在平面的基础上进行测量。

相机拍摄得到的图像是静止的平面图像,就是利用的透视投影变换。投影即透视。透视变换的透视缩小效应与人的视觉系统类似,即物体透视投影的大小与物体到视点的距离成反比。

对上一章节得到的ROI图像进行透视变换的效果如图8所示。

图8 透视变换效果

验证上述透视变换的效果,可以提升后续目标测量的准确性。霍夫变换对正圆的检测具有非常好的效果,且速度比较快,下面用霍夫圆变换[4]检测透视变换效果。

在笛卡尔直角坐标系中,圆的方程表示为:

(x-x0)2+(y-y0)2=r2

而用极坐标表示为:

其中:(x0,y0)为圆心坐标,r为圆的半径,如此,图像上的点(x,y)对应参数空间的(x0,y0,r),在参数空间寻找聚集点,就是图像上检测出来的圆。

基于现实考量,在实际项目操作时,由于霍夫Hough圆检测对噪声比较敏感,所以要先对图像做中值滤波,因为中值滤波能够有效的平滑椒盐噪声,且不像均值滤波模糊化过于严重[5]。

然后利用Canny算法找到边缘,并利用Sobel算子求梯度,得到x轴方向和y轴方向的梯度后就能够求边缘点梯度的方向,即是半径的方向,再通过边缘点到已找到的圆心的距离来求得半径值,只要有足够多的边缘点投某圆心一票,那该圆心和半径就能准确找到。下面列出Hough圆变换分别检测ROI图和透视变换后图的效果图。

图9 Hough圆检测

从上面结果可以看到,透视变换起到了良好的效果,比原图ROI更圆了,这有利于后续的目标形状和尺寸测量。

对透视效果进行统计,运用千分尺测量了20个尺寸在150~200 mm范围的零部件,圆度误差在0.5 mm以下,满足现场检测要求。

4 Sauvola二值化轮廓提取算法

视觉形位尺寸测量需要基于目标的轮廓。所以首先是目标的轮廓提取,而轮廓提取同时也能定位目标的位置,为后续的形状、尺寸测量提供先决条件。

寻找轮廓前需要二值化图像。由于在工业环境下拍摄零部件的照片有局部曝光不均的问题,全局阈值二值化不能顾及局部细节,所以本文先采用Sauvola[6]局部二值化算法解决图像局部曝光不均问题。

图像二值化算法分为全局阈值方法与局部阈值方法两种,阈值又分为动态阈值和固定阈值两种。其中Sauvola是局部动态阈值方法的标杆算法。Sauvola要求输入灰度图像,以当前像素点为邻域中心,计算其邻域内的灰度的均值与标准差来动态计算该像素点二值化判决的阈值,最后二值化。

设当前像素点为(x,y),该点邻域为r*r,g(x,y)表示(x,y)处的灰度值,Sauvola算法的步骤如下。

1)计算r*r领域内的灰度平均值m(x,y)与标准差x(x,y):

2)计算像素点(x,y)的阈值T(x,y):

其中:R是标准差的动态范围,当输入图像为8 bit灰度图像时,则R为128;k是用户自定义的一个用于修正的参数,k的取值对算法的结果影响不显著,k的取值范围为0~1之间。

Sauvola对透视变换后图像进行局部二值化后的效果如图10(a)所示。

因为本文将零部件上的圆孔作为测量对象,所以对sauvola二值化后的图像进行反转如图10(b)所示。

图10 Sauvola局部二值化及其反转效果图

从二值化的效果来看,Sauvola算法把零件上的几个圆孔都比较准确地分割出来,更重要的是没有遗漏某个圆孔。

5 形位尺寸测量

因为图像的分辨率不具有实际意义,若想对图像中的目标进行实际长度测量,必须借助测量尺寸定标[7]。定标就是确定图像中的一定数量像素与实际尺寸的比例。或者在拍摄图像时,拍摄进目标旁边的已知实际尺寸且规则物件,比如一枚硬币。经过透视变换等图像处理后的零部件,统计出测量目标在图像中的像素数,乘以定标比例,即得出零部件图像测量目标的实际尺寸。本研究采用在检测区域四角布置标定靶点的方式对设备进行定标。

尺寸测量[8]相对形状测量比较简单。边长、周长、面积等都是基于像素点累计的统计。任意方向斜线的像素点数由目标在水平方向上的像素数和竖直方向上的像素数运用勾股定理求出,故而边缘之间的距离定标后即为所求元器件的尺寸。类似,周长、面积等都是以像素点为单位统计或计算像素点数,周长就是轮廓点集合的个数(单位为1像素),面积就是轮廓所围的所有的像素点数。统计像素得出的周长、面积等还不是物体真实的周长、面积等,乘以定标比例,就是物体的真实周长、面积。

图11 零部件上圆孔尺寸测量

形状测量参数的计算,简单的有圆形度和周径比。圆形度计算公式采用的是:e=(4π*面积)/(周长*周长),周径比的周即周长,径是指上面找到的轮廓最小外接矩形的长的一条边。

还可以用图像的几何矩来计算图像中目标的形状参数,图像矩是描述图像特征的算子,其中零阶矩和一阶矩计算形状的质心,二阶矩计算形状的方向。

若二维图像的灰度用V(i,j)表示,零阶矩代表图像中像素点灰度的总和,表示为:

一阶矩代表图像的灰度中心,x轴和y轴分别表示为:

然后形状的质心坐标为:

这种基于轮廓计算物体一个连通域的质心的方法,即使有外部噪声干扰的情况下,计算出的质心也不会有大的偏离,具有对噪声不敏感的优点。

6 实验及分析

为了验证本研究的算法,进行了轨道车辆零部件的实验工作,实验选取轨道车辆上常用的零部件进行测试,选取3种各10个零部件,总计30幅图像,共910个形位特征作为检测对象。检测环境为自然光照的车间现场,无阳光直射。如图12所示。

图12 实验验证对象图

检测系统选用18M像素高清工业相机,采用LED冷光源补充照明灯,每组零部件(3种零部件的各一个为一组)采用重新部署的方式。实验结果如表1所示。

表1 实验结果统计

对检测结果进行分析,本方法的检测率大于99.4%,检测精度小于等于0.8 mm,该精度虽然不能用于对零部件进行加工质量检测,但可满足入库检验检测、零部件筛选、零部件数字化存储等多种应用模式。

7 结束语

轨道车辆的零部件,涉及到安装的形位尺寸较多,较容易出现尺寸形状错误,传统的检验用时较长且容易出错,检验效率较低。本文采用基于机器视觉的非接触式检测方式,采用便携式的部署方式,对轨道车辆的几种典型零部件进行了深入研究,给出轨道车辆零部件形位尺寸视觉检测完整的技术解决方案和实现,并对其中关键的算法步骤给予重点阐述、对比与验证,尤其具有一定的实用性,通过感兴趣区域分割、透视变换、二值化、形位测量等步骤,对零部件形位尺寸检测具有较高的检测率和检测精度,在零部件形位尺寸入库检验检测的应用场景下达到了较好的效果。

由于轨道车辆零部件种类繁多,情况多样,因此本文的研究只是针对其中较为普遍的特征进行检测,后续研究应该集中在典型的矩形、三角形、线特征等特征上,以增加本方法的拓展性。

猜你喜欢
像素点轮廓阈值
改进的软硬阈值法及其在地震数据降噪中的研究
土石坝坝体失稳破坏降水阈值的确定方法
基于小波变换阈值去噪算法的改进
基于局部相似性的特征匹配筛选算法
改进小波阈值对热泵电机振动信号的去噪研究
跟踪导练(三)
一种X射线图像白点噪声去除算法
基于canvas的前端数据加密
图像采集过程中基于肤色理论的采集框自动定位
儿童筒笔画