1. 引言
橡胶软管用来传输汽车中各种液体和气体,包括燃油、润滑油、制冷剂和水等,胶管安装好后,要长期经受行驶条件下各种环境因素的影响,对其进行质量检验是非常重要的工作。尺寸测量时质量检验中的重要部分,其内径和壁厚大小直接影响了胶管的软性密封连接和使用寿命。汽车内软连接部位通常抖动振幅较大,管端内径尺寸过大或者过小,都会影响密封连接;如果壁厚不均匀,长时间的在厚度较薄处产生摩擦,则会出现破损,成为行车安全的隐患。
一些轧管厂对胶管管端进行尺寸测量时,长期由人工采用接触式测量工具完成,费力费时,且受主观影响较大。目前,机器视觉技术广泛应用于测量系统,具有非接触性、测量效率高等特点 [1] [2]。因此,本文设计了一种基于机器视觉的胶管尺寸测量系统。
2. 系统设计
胶管的质量标准由多个尺寸参数构成,要求测量管壁的内径、平均壁厚与最小壁厚三个参数。根据需求分析,要求此测量系统内径测量值与真实值误差小于0.07 mm,壁厚测量值与真实值误差小于0.05 mm,总体响应时间低于3秒。结合厂商检测要求,对尺寸测量系统进行总体设计,系统主要由硬件系统和软件测量系统组成。相机采集当前胶管端面图像,通过以太网将图像传输至计算机,利用图像处理技术对其进行尺寸大小的测量和评估,完成胶管的质量检验。系统整体结构如图1所示。
3. 系统设计
3.1. 硬件系统设计
系统的硬件主要由CMOS相机、光源、支架以及计算机组成。
相机负责图像的实时采集,能够将光学信号转化为数字信号 [3],根据检测对象大小与工作距离,本系统选取维视图像的MV-EM500M/C型号CMOS相机,分辨率为2592 × 1944,使用GigE数据接口、稳定的千兆以太网进行传输,功率低、分辨率高、传输速度快、成像清晰。如图2所示。
1. 计算机;2. 相机;3. 环形光源;4. 支架;5. 胶管
Figure 1. Hardware system structure diagram
图1. 硬件系统结构图
光源是系统中的重要组成部分 [4],直接影响到最终采集到的图像质量,选择合适的光源可以很大程度上减轻图像处理的难度,系统选用胶管圆心、相机光轴同轴环形光源,垂直照射,光照均匀,使轮廓更加清晰。如图3所示。
按照胶管外径尺寸设计画图并用3D打印机打印了胶管支架,使用白色打印材料,与胶管颜色有较大对比度,减小了外部环境干扰。
3.2. 软件测量系统设计
算法设计采用模块化的思想,在VS2015软件平台下用C++语言和OpenCV图像库开发,使程序结构清晰,各模块均能完成独立的功能,便于后续维护和扩展。工业上要求系统内径测量值与标准值相差小于0.3 mm,平均壁厚与标准壁厚相差小于0.3 mm,最小壁厚与标准壁厚相差小于0.4 mm。根据胶管尺寸测量系统的设计要求,主要包括预处理模块、内外圆检测模块、内圆面积测量模块和壁厚测量模块。算法的模块结构框图如图4所示。本文选取某型号标准规格为外径16 mm、内径8 mm、壁厚4 mm的胶管进行举例分析。

Figure 4. Algorithm structure flow chart
图4. 算法结构流程图
3.2.1. 尺寸标定
程序算法测量的尺寸单位为像素,需转化为国际单位(mm)。这个把像素转化为毫米的比率称为标定比。首先输入一个边长为X mm,面积为X2的正方形。现用搭建的该尺寸测量系统测出边长为Q像素,面积为S像素。则其标定比为
(1)
最小像素点面积大小为
(2)
现输入一个边长为9 mm的正方形。测得其边长像素为235,面积总像素值为55,252,则该系统的标定比为0.038298,像素点面积大小为0.001466 mm2。
3.3. 预处理
3.3.1. 感兴趣区域提取
相机完成胶管图像采集,如图5(a)所示,感兴趣区域为胶管端面的正面图像,需要将其截取出来。首先通过轮廓检测找出图像的最外围轮廓区域,然后画出此轮廓区域的边界矩形,最后截取矩形区域,即为感兴趣区域,如图5(b)所示,减少计算量,节省时间。
(a) 相机采集图像
(b) 感兴趣区域提取图像
Figure 5. Region of interest extraction
图5. 感兴趣区域提取图像
3.3.2. 滤波处理
胶管端面会存在物理切割产生的纹路,滤波的作用就是消除这些噪声的影响,一个较好的滤波方法应该既能消除图像中的噪声,又不会使图像的边缘轮廓和线条变模糊。滤波处理要求输入图像为灰度图,所以在处理之前,先将图像灰度化。对图片分别用高斯滤波、双边滤波和中值滤波方法进行处理分析。如图6所示。
(a) 高斯滤波图像
(b) 双边滤波图像
(c) 中值滤波图像
Figure 6. Filtered images
图6. 滤波处理图像
三种结果观察比较得出,高斯滤波在去除噪声的同时会使图像变得模糊,是边界信息减弱;双边滤波很好地保留了边缘信息,但是会发现边缘存在少量毛刺,不利于后续边缘提取的处理;中值滤波对胶管图像处理更加明显,既能很好的平滑了纹路噪声干扰,又使边缘细节更加突出且光滑 [5],因此本文选用高斯滤波。
3.3.3. Canny算子边缘提取
在对胶管进行尺寸测量时,胶管的边缘轮廓信息是十分重要的,是进行圆检测的基础。Canny算子边缘提取是二阶算子,引入了非最大抑制概念,不易受噪声干扰,边缘定义为在梯度方向具有最大梯度值的点 [6],只保留了图像中变化最锐利的部分。采用双阈值检测,很好的区分了边缘像素,处理结果如图7所示。Canny算法能够检测出图像较细的边缘部分,有效地减少了截面切割带来的纹路痕迹干扰。

Figure 7. Canny edges extract image
图7. Canny边缘提取图像
3.4. 内、外圆检测
内外圆检测是保证胶管尺寸精度的重要环节。Hough变换进行圆检测,计算量过大、检测同心圆精度不高 [7]。待扫描图像属于圆类图形,是有规律可循的曲线,可以在不同区域根据像素梯度方向设计不同的扫描方法。本文基于八邻域扫描法和区域生长算法提出改进的区域生长法,完成内外圆检测。处理步骤如下:
1) 首先建立两个结构体(分别记为Out、In,都含有两个变量x和y),用于存放边缘像素坐标信息。
2) 本文借助像素梯度方向分布分别将内外圆分成六个片段,如图8所示,片段以行为参照进行分割,中心点及各个节点的横坐标如表1所示。

Figure 8. Edge segments and node locations
图8. 边缘分段及节点位置

Table 1. The abscissa position of the node
表1. 节点横坐标位置
3) 对外圆进行检测,如图9所示,找到起点P1和点E,白色正方形P1为起点,蓝色区域为待扫描区域,圆上每个片段的像素梯度方向都不同,在P1-A、B-E、E-D、C-P1段启动横向优先搜索,在A-B、D-C段启动纵向优先搜索,每段分别按照方框内数字的大小顺序进行扫描,扫描到与P1同像素的点停止此次扫描,再以它为起点开始新一轮扫描,并将P1灰度值更新为80,如图10(a)所示,这样既不会出现扫描重复的现象,又能保证扫描到外圆的所有像素点。
(a)
(b)
Figure 10. Inner and outer circle edge detection images
图10. 内外圆边缘检测图
5) 对内圆进行检测,从图像中心位置点O向上搜索,扫到第一个像素值为255的点即为起点P2;同理,找到点e的位置。内圆的检测方法及顺序和外圆原理相同。最后作内外圆像素为255的掩膜,让掩膜与像素值全为0且与图10(a)大小相同的新图像作“与运算”,效果更加清晰,结果如图10(b)所示。
3.5. 胶管内径测量
在工业生产中,胶管因其材料的特殊性质,受到挤压容易变形,挤压程度越高,内径测量值产生的误差就越大,在质量检验中容易出现误检。针对这些问题,本文提出一种通过测量其内圆面积来判断胶管内径是否符合检验标准的方法,其中内圆面积允许偏差如式(3)所示:
(3)
式中S代表面积允许偏差,E代表内径测量允许偏差,
代表胶管标准内径值。系统指标要求E小于0.3 mm,
的值为8 mm,由式(3)得S小于3.840597 mm2。面积测量需要扫描出内圆所有像素点,本文将分成三部分进行扫描,具体方法如下:
1) 以曲线
上的所有像素点为起点,向右进行横向搜索,扫描到灰度值为80的点停止扫描,为了方便观察,将所有扫描过的点灰度值更新为80,结果如图11(a)所示。新建一个变量Sum,记录所有的内圆像素点个数。
2) 以曲线段
上的所有像素点为起点,向下遍历扫描,扫描到灰度值为80的点,停止扫描,结果如图11(b)所示。
3) 以曲线段
上的所有像素点为起点,向上遍历扫描,扫描到灰度值为80的点,停止扫描,结果如图11(c)所示。此时,变量Sum的值为内圆像素点总值。Sum和标定面积尺寸s相乘为测量面积大小。
(a)
(b)
(c)
Figure 11. Inner circle area measurement images
图11. 内圆面积测量图像
3.6. 胶管壁厚测量
对于不合格胶管,内外圆圆心的位置相差较大,采用从内圆圆心向外做射线并交内外圆于两点的方法来求取厚度,会存在较大误差。本文应用同心圆性质、垂直平分线的性质及勾股定理等原理进行厚度测量,如图12所示,直线L1为外圆某点A的切线,做L1的垂线段交内圆于点B,L2为过点B与L1平行的直线,点A到L2上所有点的距离中,垂线段AB最短,点A与内圆上所有像素点间的距离,如蓝色线段举例所示,明显都要长于线段AB,因此,算出线段AB的长度即为厚度。具体步骤如下:
1) 内、外圆所有像素点的横纵坐标分别保存在名为In、Out的结构体里,从外圆起点开始,每个点都和内圆所有点进行遍历。
2) 运用勾股定理计算外圆某点与内圆边缘所有点之间的距离,将这些线段的长度存入数组中,其计算公式如下:
(3)
3) 采用冒泡法对数组中的所有元素进行比较,找出数组中最小的数,为厚度。最终外圆每个点对应的厚度大小都保存在名为R的数组中。
4) 对R数组中的元素进行排序,找出胶管最大壁厚与最小壁厚。最大、小壁厚的像素值与标定尺寸k相乘为壁厚测量值。
4. 实验结果与分析
选取10个胶管样本,先使用游标卡尺对胶管平均内径及最小壁厚进行测量 [8] [9] [10] [11],其分辨率达到0.02 mm,满足实验要求,测量数据为对同一位置测量十次取平均值的结果;再使用该视觉检测系统对内圆面积及壁厚进行测量。精度检测是将测量值与真实值的绝对误差进行对比。内径测量结果如表2所示。

Table 2. Inner diameter measurement accuracy test results
表2. 内径测量精度检测结果
壁厚测量精度结果如表3所示。第2-4列是最大壁厚的数据,第5-7列是最小壁厚的数据。

Table 3. Wall thickness measurement accuracy test results
表3. 壁厚测量精度检测结果
根据真实值与测量值的绝对误差,内径测量误差值均小于0.07 mm,壁厚测量误差值均小于0.05 mm内,能够满足实际生产中对于胶管尺寸测量精度的需求。
6. 总结与展望
本文针对汽车胶管的质量检验,搭建了整套基于机器视觉的胶管尺寸测量系统,包括硬件系统和软件测量系统,实现了对胶管的非接触测量。采用改进的区域生长法能够准确地内外圆检测,使尺寸测量更加接近真实值,减小了测量误差;最后,通过分析真实值与测量值的绝对误差,得出,最终系统响应时间约为2 s,测量误差小于0.05 mm,提高了工作效率,满足工业测量需求,完成了对胶管的质量检验,具有一定的实用价值。
在接下来的研究中,计划开发软件系统界面,对胶管图像进行实时监测,未来考虑用深度学习的方法对尺寸合格的胶管进行缺陷检测,使系统功能更加完善。