APP下载

基于机器视觉的微小零件形貌检测方法

2015-12-07段雨晗付跃刚

关键词:轮廓标定形貌

段雨晗,付跃刚

(长春理工大学 光电工程学院,长春 130022)

在现代工业生产加工与检测中会涉及多种尺寸测量、质量检验和零件识别技术的应用。一般情况下这种具有流水线性质的重复性工作都是由人工来完成的,但在某些特殊的情况下,例如对具有尺寸小、形状不规则等特点的微小零件进行检测时,依靠人眼根本无法连续稳定地进行精确测量,给检测工作带来了困难。因此产生了机器视觉检测技术的概念[1,2]。

机器视觉是指用机器代替人眼来做检测和识别。它是把图像作为检测的载体加以利用,从图像中提取我们感兴趣的信息,通过处理被测图像而获得所需的各种参数[3]。近年来,随着计算机技术尤其是多媒体技术以及数字图像处理与分析理论的不断发展完善,加之大规模集成电路的飞速发展与应用,机器视觉技术得到了广泛的应用研究[4]。然而由于其对小尺寸零件检测精度不理想,设备成本高等缺点,目前在工业生产中对微小零件的形貌进行检测依旧是依靠人工测量,这样就大大降低了工作效率与检验精度[5]。

为了解决上述问题,本文提出了一种针对测量微小零件的机器视觉检测方法,并开发了一款基于计算机视觉库OpenCV的检测软件。应用该检测方法对毫米量级的Ω型微小零件进行测量实验,实验结果表明本文提出的检测方法测量精度高,设备成本低,为进一步产业化应用奠定基础。

1 检测系统设计方案

1.1 硬件设计

实验的检测对象是具有一般性的长、宽均为毫米量级的Ω型微小零件。系统的硬件结构如图1所示,由光源、载物台、显微物镜、CMOS工业相机、计算机等几部分组成,测量过程主要分为三个阶段。第一阶段为调焦成像:在背光光源照明下,对显微物镜调焦获得清晰的微小零件的像;第二阶段为图像采集:CMOS相机采集零件经过显微物镜后被放大的像,并将获取的图像转化为数字信号传输到计算机内;第三阶段为计算机处理:计算机通过检测软件对采集到的图像进行预处理、边缘检测、轮廓拟合等一系列操作,并结合测量的系统标定系数计算出微小零件的形貌参数。

图1 检测系统硬件结构图

1.2 软件设计

检测软件是检测系统的核心,主要包括图像采集模块、图像预处理模块、参数测量模块以及系统标定模块等几个部分组成,采用Visual C++和OpenCV混合编程。OpenCV是一个基于C/C++语言的开源计算机视觉函数库,其代码都经过优化,可用于实时处理图像,具有良好的可移植性,可以进行图像载入、保存和采集的常规操作具有低级和高级的应用程序接口(API)。同时OpenCV提供了强大的图像和矩阵运算能力,保证了测量的准确性与高效性[6]。本文提出的检测软件设计人性化,人机交互性强,用户可以方便地通过对话框设定实验参数,获得检测结果,具有较强的操作性和可移植性。

2 检测系统图像处理算法

检测系统的图像处理算法流程如图2所示。

图2 检测系统图像处理算法流程图

2.1 图像预处理

对图像预处理算法的选取是依照噪声的种类和特性决定的,本文中主要针对如图3(a)所示的Ω型微小零件原始图像进行均值滤波与中值滤波对比。实验中为了更为直接观察滤波效果,分别选取原始图像、经均值滤波后的图像、经中值滤波后的图像的同一列进行傅里叶变换,结果如图3(b-d)所示。

图3 零件原始图像和频谱图像

从图3(b)可以看出由于原始图像中噪声的存在,其频谱图的低频以及高频部分出现毛刺和冲击。经均值滤波后由图3(c)可以看出,在滤掉高频段噪声的同时,具有图像边缘细节的高频信息已被滤掉。所以经过均值滤波后,会使图像边缘变模糊,不利于后续对边缘点的准确定位。而由图3(d)可以看出中值滤波只是去除了高频段的部分噪声,保留了原有的高频信息。通过实验效果可以看出,中值滤波既能消除噪声又能保持图像的细节,综合窗口尺寸的耗时等因素,本实验选取3×3的窗口对原始图像进行中值滤波。并对中值滤波之后的图像进行灰度直方图统计,选取适当的阈值进行图像分割。

2.2 图像边缘检测

图像边缘信息的检测对于获取微小零件的形貌特征参数有着至关重要的意义,在选择边缘检测算子时,要充分考虑和依据图像边缘的特点。实验中对Roberts、Sobel、Prewitt、Kirsch以及Canny几种常用的边缘检测算子进行了对比,并根据Canny提出的信噪比准则、定位精度准则和单边缘响应准则[7],运用OpenCV开源计算机视觉库编写了Canny边缘检测功能,代码片段如下:

其中,CannyThreshold()为确定Canny边缘检测双阈值的函数,可由用户通过对话框输入,cvCanny(image,image_result,a,b,3)是 OpenCV 内 进 行Canny边缘检测的函数,image为输入图像,image_result为经Canny边缘检测之后的输出图像,a和b分别为用户输入的双阈值,其中小阈值控制边缘连接,大阈值控制强边缘的初始分割,数字3则表示算子内核的大小。

图4 几种常用的边缘检测算法的提取效果图

实验中还利用Visual C++编程软件分别编写了Roberts、Sobel以及Kirsch边缘检测代码,并对这几种常用的边缘检测算法的提取效果进行了对比,如图4所示。

通过对比可以看出,Robert算子边缘定位精度不高,检测出的边缘较宽,在含有噪声的图像中边缘提取效果不好;Sobel算子虽然对噪声具有平滑的作用,但对边缘不规则的零件会检测出一些伪边缘,不适合本实验;由8个卷积核组成的Kirsch算子检测出的边缘粗大,且算法耗时较长。再结合实验中几种检测算子的检测效率,本文最终选取效率高、边缘跨度为单像素的Canny算子对预处理之后的图像进行边缘检测[8]。

2.3 图像轮廓拟合

经过Canny边缘检测之后已经得到Ω型微小零件的边缘图像,为了获取其形貌参数,需要将零件的轮廓进行递归细分,拟合成直线和圆等几何基元。

2.3.1 Ramer算法

Ramer算法是一种用多边形逼近不规则图形轮廓的方法[9]。它对复杂的轮廓进行递归细分,直到得到的全部线段到各自对应的轮廓段的最大距离小于用户指定的阈值dmax为止。其算法原理如图5所示:细线给出的是轮廓,逼近多边形用粗线表示。开始时在轮廓的起点和终点间建立一条线段,如果轮廓是闭合的,建立两条线段,一条是从起点0到索引为n/2的点,另一条是从n/2点到终点n。然后我们计算所有轮廓点到所对应线段的距离并找到与线段距离最大的那个轮廓点。如果此距离比我们指定的阈值dmax要大,那么在具有最大距离的轮廓点处,我们再将当前线段分成两条线段。然后再新得到的线段上重复进行此处理直到不能再细分为止,即直到所有线段都满足最大距离约束条件。

图5 Ramer算法原理

2.3.2 几何基元的拟合

复杂的零件轮廓经过Ramer算法已经分为简单的几何基元:直线和圆。根据最小二乘法直线、圆拟合的思想,实现了检测软件的几何基元拟合功能,部分代码如下:首先遍历整张图像,判断出经边缘检测后灰度为255的边缘点,并将其横纵坐标分别存入pointX[k]和pointY[k]中,经过计算,式中的a和b分别为拟合直线的斜率和Y轴截距,radius_x,radius_y和radius分别为拟合圆的坐标及半径。

2.4 系统标定

系统标定可以建立相机坐标系与世界坐标系的关系,对检测微小零件实际形貌尺寸具有重要意义[10,11]。本实验选用深圳科创公司生产的高精度靶标,正方形棋盘格的边长为1000μm,如图6所示。通过对6幅棋盘图像的标定,由表1计算可知,微小构件形貌参数检测系统的标定系数为:

式中ad为棋盘格实际边长,pd为检测出的棋盘格边长的像素值[12]。

图6 标定靶标图像

表1 检测系统的标定系数

3 实验结果与分析

采用上述算法,开发了一款基于OpenCV的微小零件形貌检测软件,检测软件界面如图7所示。软件具有载入图像、图像二值化、图像边缘检测、圆拟合、直线拟合、测量直线距离、系统标定、保存图像以及关闭对话框功能。并且在实验室通过北京大恒图像公司的DH-HV-U系列CMOS工业数字摄像机以及北京科达汇龙公司生产的XTL-3100系列体式显微镜搭建了检测系统的硬件平台,如图8所示。

图7 检测软件界面

图8 检测系统硬件

实验中运用Ramer算法把图像分为10个区域进行拟合。如图9所示,分别为外上圆区、外左1圆区、外右1圆区、外左2圆区、外右2圆区、外左水平直线区、外右水平直线区、内上圆区、内左圆区和内右圆区。

图9 零件分区拟合示意图

结合检测系统的标定系数,对以像素(pixel)为单位的检测数据进行计算,得出了微小零件实际的形貌尺寸,处理后的数据单位为毫米(mm),实验结果如表2所示。

由表2可知,本实验获取了图9中十个分区的实际形貌参数,并使用游标卡尺对Ω型微小零件的边缘厚度进行了测量,测量结果为1.80mm。根据实验数据,本文应用SolidWorks软件对Ω型微小零件进行了模型重建,并生成了零件加工图纸,如图10和图11所示。可以看出重建的零件模型与实际零件具有很高的相似度,与零件尺寸真值相比,本实验检测精度达到10μm以下,最大相对误差0.65%,满足微小零件形貌检测的精度要求。

图10 零件立体图

表2 实验测量结果

图11 零件尺寸图

4 结论

为解决工业生产中微小异形零件形貌参数测量困难的问题,提出了一种基于机器视觉的检测方法,并结合图像处理中的相关理论编写了基于OpenCV的形貌检测软件。实验对Ω型微小零件形貌参数进行了检测,检测精度达到10μm以下,与人工测量方法相比,测量精度与效率均有大幅提升。实验结果表明本文提出的检测方法可以精确获取异形微小零件的形貌参数,具有一般性与较高的实用价值。实验中也发现本文提出的检测软件的实时性较不理想,需要在今后的工作中加以改进。

[1]杨水山,何永辉,赵万生,等.基于估计曲率的带钢边裂检测算法[J].红外与激光工程,2008,37(4):634-637.

[2]何博侠,何勇,卜雄洙,等.及其视觉多视场协同测量方法[J].光学精密工程,2012,20(12):2821-2829.

[3]王小鹏,刘志华,陈天宁.透明材料微小器件键合质量检测系统设计[J].光学精密工程,2013,21(1):69-76.

[4]章炜.机器视觉技术发展及其工业应用[J].红外,2006,27(2):11-17.

[5]梁经纶,陈家钊,莫景会,等.精密视觉印刷设备的自标定[J].光学精密工程,2013,21(2):522-530.

[6]程凡永,罗海波.基于OpenCV的匀速模糊图像复原与算法分析[J].湖南工业大学学报,2011,25(3):59-63.

[7]姜黎,吴伟仁,张之敬,等.微小型结构件显微图像边缘的自动识别[J].光学精密工程,2013,21(1):224-532.

[8]李琦,傅俊诚,李自勤,等.激光雷达含噪图像边缘检测算法比较[J].红外与激光工程,2003,32(3):239-243.

[9]杨少荣,吴迪靖,段德山.机器视觉算法与应用[M].北京:清华大学出版社,2008:249-255.

[10]牛海涛,赵勋杰.采用棋盘格模板的摄像机标定新方法[J].红外与激光工程,2011,40(1):133-137.

[11]徐鹏,汪建业,王燕儒.摄像机标定中靶标圆心像点坐标的精确计算[J].红外与激光工程,2011,40(7):1342-1346.

[12]储珺,郭卢安政,赵贵花.采用环形模板的棋盘格角点检测[J].光学精密工程,2013,21(1):189-196.

猜你喜欢

轮廓标定形貌
球形三氧化钼还原产物形貌
纳米氧化铁的制备及形貌分析
OPENCV轮廓识别研究与实践
使用朗仁H6 Pro标定北汽绅宝转向角传感器
基于实时轮廓误差估算的数控系统轮廓控制
CT系统参数标定及成像—2
CT系统参数标定及成像—2
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
高速公路主动发光轮廓标应用方案设计探讨
基于MATLAB 的CT 系统参数标定及成像研究