基于双目视觉的蝶形弹簧三维尺寸光学检测方法
2019-01-02姚海滨崔海华卞新光
姚海滨,姜 涛,崔海华,卞新光
(1.扬州市职业大学电气与汽车工程学院, 江苏 扬州 225009)(2.南京航空航天大学机电学院,江苏 南京 210016)
零件的三维尺寸测量技术是数字化设计制造、工业自动化的关键基础技术之一[1]。随着制造水平的提高,零件为满足功能性需求通常具有特殊结构,且精度要求高,这为零件的尺寸检测和质量评估带来了挑战。蝶形弹簧[2]是一种特殊的弹簧,由冲压、淬火、喷丸或喷砂等多道工序制造而成,具有极强的吸震能力,尤其适用于轴向变形量小而承受载荷大的场合,在航空航天器、大型机床等设备中应用广泛。但是,受到复杂制造工序的影响,蝶形弹簧的废品率非常高。成批生产的蝶形弹簧必须检测合格才能使用,迫使部分厂家将大量的人力成本投入到尺寸检测中,但较低的检测效率对自动化尺寸检测提出了需求。
双目视觉三维测量技术是一种基于计算机视觉方法的非接触式测量技术,其利用双目工业CCD(charge coupled device,电荷耦合器件)相机动态获取零件的图像数据,通过特征提取与立体匹配获得零件的三维信息[3-4]。但是当前双目视觉测量中还存在不少需要改进的地方,特别是在特征提取和立体匹配的精度方面依旧有很大的提升空间。在圆、角点、直线等特征检测方面,张虎等[5]利用Harris算子提取工件表面特征,但该方法精度较低;李亮等[6]提出了用于圆筒形锻件在线测量的方法,该方法可以实现锻件长度和直径的测量,但是不能用于精度要求高的场合,并且在复杂背景下提取精度不高;Gadelmawla[7-8]提出了一种重建齿轮轮廓的双目视觉方法,该方法的关键是在对图像阈值化之后进行边缘检测,这也使得阈值的选择对测量精度影响较大,导致系统整体鲁棒性差。
本文分别从蝶形弹簧结构及测量原理、蝶形弹簧图像特征提取及匹配、测量实验及结果分析3个方面介绍蝶形弹簧尺寸测量的过程,以此证明采用本文的方法能够显著提升测量精度,满足自动化生产的要求。
1 蝶形弹簧结构及测量原理
1.1 蝶形弹簧结构及测量系统
图1为DIN 2093—2013(GB/T 1972—2005)规格的蝶形弹簧零件图,需要检测的尺寸参数包括内径、外径和高度。视觉测量系统包括以下组成部分:双目CCD相机、高功率LED(light emitting diode,发光二极管)光源、漫反射毛玻璃、千兆数据传输网线、交换机、圆形标志点。毛玻璃上粘贴有圆形标记点,将蝶形弹簧放置在毛玻璃上,双目相机实时采集图像数据,通过数据传输网线和交换机传输到计算机。在计算机上编写基于MFC(Microsoft foundation classes,微软基础类库)的对话框界面,实时处理图像数据并显示测量结果。
1.2 尺寸测量原理
图2为本系统实现蝶形弹簧三维重建的原理图。在测量平面上粘贴标志点,分别提取标志点圆心和蝶形弹簧上顶圆圆心,实现三维重建和尺寸计算。
图1 蝶形弹簧示意图
图2 测量系统原理图
双目视觉测量的基本原理是视差原理,即空间一点在双目图像投影点存在视差,利用镜头小孔成像原理便可以计算出物体三维特征。空间一点PW(XW,YW,ZW)成像在左右图像平面中的点分别为p1(x1,y1)和pr(xr,yr),左右相机内参矩阵分别为K1和Kr,世界坐标系原点在左相机光心,左右相机坐标系旋转平移矩阵M1r=[R|t],其中R=(rij)3×3,t=(tx,ty,tz)T,则有:
p1=K1PW
(1)
pr=KrPW=K1M1rPW
(2)
将式(1)、(2)展开并根据矩阵运算可以求解出点PW的世界坐标:
(3)
式中:tx为旋转矩阵在X方向上的平移距离;tz为旋转矩阵在Z方向上的平移距离;A=(x1-u1)/f1,B=(y1-v1)/f1,C=(xr-ur)/fr,其中(u1,v1)和(ur,vr)为左右图像主点坐标,f1为左相机的焦距,fr为右相机的焦距。
蝶形弹簧内外径测量原理如下:先从图像中提取蝶形弹簧上下圆的图像特征,获得像素坐标,然后用像素坐标拟合椭圆,根据二次曲线成像变换的不变性,可以判定椭圆长轴即为蝶形弹簧的直径。
蝶形弹簧高度测量原理如下:在本系统中,用双目视觉先重建出圆形标志点,再利用标志点拟合测量平面。假设测量平面π方程为PX=1,其中P为三维点集合,标记点空间坐标为Pi(Xi,Yi,Zi),X=(x1,x2,x3)为系数矩阵,同时为平面法向量。根据最小二乘原理可得X=(PTP)-1PT。蝶形弹簧放置在测量平面上,若测得弹簧上顶圆圆心三维坐标为P0(x0,y0,z0),则弹簧的高度H为
(4)
式中:δ为在法线方向的补偿量,用于补偿因圆形标记点的厚度造成的高度偏差。
2 蝶形弹簧图像特征提取及匹配
2.1 K均值聚类的碟簧特征提取
在测量椭圆内外径时,需要利用弹簧轮廓拟合椭圆,因而边缘检测是影响测量精度的主要因素之一。相机采集的图像为8位灰度图像,256个灰度级,采用背光照射后,背景接近白色,而弹簧上顶圆接近黑色,弹簧侧面为灰度过渡,采用阈值化处理会造成边缘的扩大或缩小。本文利用机器学习中聚类的思想,将弹簧图像按照灰度聚为3类,即Ci(i=1,2,3),再进行边缘检测。K均值聚类目标函数如下:
(5)
4)重复步骤2),遍历所有像素点后结束程序。
受到图像噪声影响,灰度聚类后并不能完全分割出蝶形弹簧的边缘,进一步将灰度梯度作为聚类对象,将其聚类成两类:黑色向灰度过渡类S1、灰度向白色过渡类S2。判定弹簧边缘的依据为:属于C1∩S1的像素为碟簧上边缘;属于(C2∩S1)∪(C2∩S2)的像素为碟簧侧面;属于C3∩S2的像素为碟簧下边缘。
2.2 特征模板的主动立体匹配
获得左右图像轮廓点后需要进行对应轮廓匹配,计算视差并进行三维重建,由于蝶形弹簧为椭圆,仅利用极线约束匹配会产生一对多和多对一匹配错误。本文提出基于特征模板的轮廓匹配方法,自主构建立体匹配点。为轮廓特征建立描述向量D={i∈N|di},其中d1为轮廓包围面积;d2为轮廓长度;d3为轮廓主方向向量,为二维向量;d4为轮廓主方向极限点,为二维坐标点;d5为轮廓Hu矩,为7维向量;d6为轮廓形心,为二维坐标点。设定轮廓特征向量阈值ε,若‖D1-Dr‖2≤ε,则判定左右轮廓为相同轮廓,其中方向向量不要求一致,只需要偏转方向同为顺时针或逆时针。
为重建轮廓边缘,在轮廓线上主动设定匹配点。设左图像匹配点集为pi,轮廓形心e坐标为(xe,ye),则
pi=e+eki
(6)
式中:ki为形心e到点pi的方向向量。轮廓完全匹配后,主方向向量d3已知,设定偏角为Δθ,则可根据主方向向量求解主动添加点的方向向量ki=d3cos(iΔθ),i每次循环加1,即可获得新点的方向约束,加上新点作为增加的约束条件,此条件必须满足在检测的轮廓上的点数据,便可以求出所有匹配点坐标。对左右图像做相同处理,即可获得立体匹配点。
3 测量实验与结果分析
3.1 实验硬件搭建
在实验中,工业相机型号为IMAGESOURCE DMK23G455,系统搭建在支撑架上。圆形标志点直径为3mm,蝶形弹簧标准尺寸为内径16.42mm、外径31.35mm、高度2.80mm。系统搭建完成后,调整好相机位置,使用平面圆标定靶标进行系统标定。测量系统硬件平台如图3所示。
图3 测量系统实物图
3.2 蝶形弹簧特征提取结果
本文采集图像后,利用均值滤波和高斯滤波滤除椒盐噪声和高斯噪声,然后采用K均值聚类算法进行灰度聚类,图像处理结果如图4所示。
图4 K均值聚类图像处理
图4(b)为利用K均值聚类方法获得的三类灰度空间,与原图比较可以看出,聚类结果将蝶形弹簧上顶圆与灰度侧面分割出来,使图像边缘更加接近真实边缘。图4(c)是灰度直方图统计结果,可以看出,三维灰度空间区分明显,聚类效果较好。对左右图像均进行灰度聚类处理,然后利用Canny算子进行边缘检测即可获得清晰轮廓。对边缘轮廓拟合二次曲线,并根据轮廓特征描述向量生成主动匹配点,处理结果如图5所示。
图5 左右图像匹配点获取
聚类分析后利用Canny算子求解边缘轮廓,计算轮廓的特征描述向量后进行匹配即可生成一系列空间匹配点。立体匹配完成后,利用双目视差原理可重建蝶形弹簧轮廓点。根据蝶形弹簧的测量原理,椭圆长轴即为蝶形弹簧的直径,顶圆的圆心到测量平面的距离为弹簧的高度。
3.3 测量结果与分析
开发基于MFC的测量界面,调用相机采集的图像数据(设置帧率为30帧/s),每次采集后即进行三维重建和尺寸计算,根据蝶形弹簧的尺寸标准和公差许用范围判定尺寸是否合格。软件界面和测量结果如图6和表1所示。
图6 基于MFC蝶形弹簧测量系统界面
表1 蝶形弹簧尺寸测量结果
由表1可以看出,测量系统的尺寸精度较高,最大误差不超过0.02mm,且动态测量稳定性高,适用于在线检测和自动化测量。
4 结束语
蝶形弹簧的三维尺寸采用人工通规和止规的方式测量,效率低,人力成本高。而本文提出的基于双目CCD相机的蝶形弹簧三维尺寸测量系统,不仅提高了蝶形弹簧轮廓的提取精度,还降低了双目错误匹配率,可为蝶形弹簧自动化测量提供解决方案。