基于PLC 和机器视觉的O 型密封圈尺寸检测系统设计
2021-07-30张大为沈勇
张大为,沈勇
(云南民族大学电气信息工程学院,云南昆明 650000)
随着制造业技术的发展,密封圈的需求逐渐增大,保证产品尺寸合格对生产安全具有重大意义[1]。因此,提高密封圈的检测效率和尺寸精度都十分重要。常见尺寸测量方法有游标卡尺、光学投影等人工检测。人工检测的缺陷在于:检测精度低、检测效率低,不满足工业自动化生产的需求,且检测质量受人为因素影响,错误、误检率较高[2]。
针对这一情况,文献[1]提出了一种基于大口径远心镜头的图像采集与测量方法,克服了二维图像测量仪的欠缺。文献[2,4]提出了一种基于深度学习物体检测的视觉跟踪方法,能够实现不同尺度的目标检测,但是其计算量较大,对计算机整体性能要求较高。文献[3,5]提出了一种基于双目机器人和灰度相关的边缘点分类匹配算法,对物体平面尺寸检测效果较好。
文中结合工业生产需要的实际技术和低生产成本,针对O 型密封圈的尺寸检测设计了一种基于PLC 和视觉检测的O 型密封圈尺寸检测系统。该系统能够使用普通工业相机,通过在图像滤波上的算法改进,节省了图像滤波处理时间,在对图像的边缘检测过程中,通过循环对比的算法来实现阈值的自动选择,改善了视觉系统的自适应性。与传统人工检测方法相比,该方法能够实现O 型密封圈尺寸的自动高精度检测,提高了检测效率和智能化水平。
1 系统总体方案
1.1 系统总体构成
文中研究的系统是在密封圈被加工之后运送到分拣流水线的系统,系统结构见图1,主要由电气系统、视觉识别系统、信号采集系统和生产流水线组成。视觉识别系统由工业智能相机、光源、以及镜头几个硬件组成。工作流程为:待测密封圈经震动分料斗运送到传送带上,当被测物体运动到相机下方时,由传感器反馈给相机自动采集信号,相机拍照并将图像信息传递给上位机进行处理分析,计算被测物体尺寸,判断产品是否合格。合格的密封圈由传送带运送到下料区,未合格产品由PLC 控制的气动装置剔除到废料区。
图1 系统结构图
视觉系统是整个系统中的重要组成部分,相机的选择直接关系到采集图像分辨率和图像质量。对比CCD 相机和CMOS 相机的区别,结合工艺要求,文中选择了对噪声抑制比更好的CCD 相机,相机型号为MV-CE013-50 GM/GC,像素为1 280× 960,最大帧率为30 帧。
1.2 软件结构设计
根据常用软件框架设计,采取模块化的结构,用于处理被测对象的不同特征和测量需求[6],如图2 所示,当被测物体运动到指定区域,由采集信号模块给出采集指令,CCD 相机采集图像后传输给图像处理模块,经过图像处理模块中的图像操作模块、图像滤波模块、图像增强模块、图像分割模块、边缘检测模块等一系列图像处理技术,对图像处理结果进行分析,将其结果显示在显示屏上。
图2 软件框架设计
2 系统关键技术分析
图像操作模块用于完成对图像的基本操作,包括图像读取、图像显示、图像保存、图像剪切、图像旋转等。图像处理部分主要包括图像滤波、图像增强、图像分割、边缘检测等几个方面[7]。
在采集原始图像的过程中,由于各个因素的影响,噪声信号会影响图像质量,图像的边缘、特性等重要信息会变得模糊,给后续图像处理带来极大的困扰,所以有必要对图像进行滤波降噪,从而改善图像质量[8]。尺寸测量结果的精确度往往由边缘检测技术中处理得到的结果决定,不同边缘检测算法对图像处理结果往往差距很大,因此选择合适的边缘检测算法对尺寸测量显得十分重要。
2.1 图像滤波技术改进
高斯滤波的主要操作就是利用高斯卷积核对图像进行扫描,高斯滤波依据高斯函数的形状来选择权值,能够有效抑制服从正态分布的噪声[9]。文中通过改进传统的高斯滤波方法进行图像滤波,传统的高斯滤波通常需要构建一个二维高斯滤波核,其公式为:
然后,将输入图像和滤波核进行卷积操作,运算次数较多。改进后的分解型高斯滤波则是将二维高斯滤波核分解为两个一维的高斯滤波核,其公式为:
分解型高斯滤波对图像进行一次一维卷积,再对这个卷积结果进行一维列卷积,得到的结果完全一样,但是对于一个2 048×2 048 像素的图像,其运算量只有前者的1/2.498 5,对于频繁进行高斯滤波的计算机,大大降低了其运算时间,加快了检测速度。
对比上述几种滤波方法,在OpenCV+Visual Studio 2012 开发环境中进行测试,得到了密封圈图像的滤波效果图如图3 所示。
图3 密封圈图像滤波效果
经过测试得出不同滤波算法对同一张图片的处理时间如表1 所示。
表1 4种滤波运算时间
2.2 边缘检测中的Canny算法改进
传统Canny边缘检测算法可以分为以下5个步骤[10]。
1)应用高斯滤波来平滑,目的是去除噪声。
2)找寻图像的强度梯度。
3)应用非最大抑制技术来消除边误检。
4)应用双阈值的方法来决定可能的边界。
5)利用滞后技术来跟踪边界。
Canny算法的检测效果很好,得到了广泛的应用[11]。它经常出现在一些算法的预处理阶段,但是在系统调试过程中会遇到如何选择高低阈值的难题,通常使用的方法是通过不断尝试来找出合适的阈值,或者是通过Otsu 算法对灰度图像进行处理,得到一个较好的阈值[12],这些方法费时费力、鲁棒性差、在处理不同图片时,参数会发生变换,会导致图像处理效果达不到预期效果。
文中通过Python+OpenCV 开发环境设计的程序来实现了自适应阈值的选取,提高了Canny 算法的自适应性。部分代码如下所示,测量结果如图4所示。
图4 不同阈值边缘检测结果
观察图4 中的实验数据可知,边缘检测算法的结果受到阈值的影响,合适的阈值选择会获得更好的处理结果。通过上面的代码可知,在处理不同图像时,能够通过比较前一次的阀值来获得最优阈值。
3 密封圈尺寸测量
3.1 检测系统标定
为了能够准确计算出密封圈尺寸,必须测量出图像中每个像素代表的实际距离,这种对应关系需要通过摄像系统标定实验来完成[13]。文中采用的是标准件法标定图像的像素当量[14],首先要对CCD 进行标定,计算出CCD 靶面上每个像素对应的实际几何尺寸。文中通过对精度为0.1mm 的标准尺进行拍照,对图像进行阈值二值化、边缘提取,求出每刻度间的像素,实现系统标定。
其中,l为标准刻度尺,两刻度间距1 mm。
根据表2 得1 mm=92.6 pixel,可以求出k的值为0.010 8,即每个像素代表的物理尺寸为0.010 8 mm。
表2 标定结果
3.2 尺寸测量
在尺寸测量过程中,使用CCD 相机采集测试图像,进行图像操作、图像滤波、图像增强、图像分割、边缘检测等一系列图像处理工作后[15],处理后的图像可以清晰地展现出图像的边缘信息,利用最小二乘法作圆形拟合,可以得出被测物体的几何参数,再将几何参数和文中测定的标定系数进行计算,即可算出被测物体的实际尺寸。
通过前面的研究,对图像进行了一系列处理之后,需要得到图像的边缘信息,用于计算密封圈的内外直径[16],边缘检测算法是其中最重要的一步,文中选择了改进的Canny 算法作对密封圈进行边缘提取,在阈值的选择上通过程序对比来获得最合适的阈值,改进了传统Canny 边缘检测算法在阈值选取问题上的困难,增强了系统的自适应性。
最小二乘法的圆形检测是采用近似最小二乘拟合圆,令残差平方和最小的原理来实现,其具有转换简单,计算量小的优点。圆形的公式为:
其中,圆形的圆心坐标为(a,b),半径为R。
式中,(xi,yi)就是图像边缘中每个像素的坐标值,i∈(1,2,…,n),n为所有边缘点的个数,为了求得最小的f值,对f求偏导,推出下列公式:
通过对每个像素遍历,计算它们之和的最小值,即可以转换成实际图像的直径。
4 实验与分析
为了验证O 型密封圈尺寸检测系统的可行性,将被测密封圈测量8 次,统计半径尺寸和单个零件的检测时间,密封圈的内外直径的测量结果如表3 所示。
表3 O型密封圈直径测量结果
表3 中的均值和标准差表示此次实验结果稳定,系统检测时间为0.70 s 左右,在O 型密封圈尺寸测量系统中,影响检测精度的因素有很多,实验车间的灰尘环境、实验平台的水平校对,图像处理等因素都会对实验结果的精度造成影响,通过误差分析可以对检测系统进行改进,提高系统检测精度,从而提高产品质量。
为了验证检测系统检测密封圈的准确性,对100个密封圈进行了检测,并且记录其准确率、误检数目,如表4 所示。
表4 O型密封圈准确率测量结果
表4 中的实验数据显示,检测准确率达98%,实验过程中采用的是人工送料,可能会对样品产生污染,结合表3 中的检测时间可知,自动检测系统大大的提高了产品的生产速度,其准确率受外界条件干扰较小。
5 结束语
利用机器视觉技术,文中设计了结合PLC 和机器视觉的O 型密封圈尺寸检测系统,通过对该测量系统中的图像处理技术进行改进,一定程度上减少了图像的处理时间,同时增加了该系统的自适应性,能够提高密封圈的检测精度和效率。