APP下载

基于机器视觉的挡圈检测系统研究

2015-03-07高晓东

机电元件 2015年6期
关键词:挡圈直方图算子

高晓东,罗 宏

(重庆理工大学机械工程学院,重庆,400054)



研究与设计

基于机器视觉的挡圈检测系统研究

高晓东,罗 宏

(重庆理工大学机械工程学院,重庆,400054)

介绍了一种基于机器视觉的挡圈检测系统。根据挡圈检测系统所要求的精确、实时、快速的特点,设计了系统的图像处理和识别的方法。利用CMOS照相机获取图像,转换灰度图像后,进行图像滤波,将获取的图像中的噪声去除掉,通过二值化将待检测挡圈图像与背景区分开,进行边缘检测,最后通过图像识别完成对挡圈的检测。实验结果表明,该系统所使用的方法检测速度快、精确度高,能够满足挡圈检测系统的性能要求。

机器视觉;图像处理;图像滤波;二值化;边缘检测;图像识别

1 引言

随着智能化生产技术的发展,机器视觉已广泛应用到制造工业的自动化生产中,有效地降低了生产成本,保证了产品的合格率,大大提高企业生产效率。本文是以发动机右大盖全自动压装中心在压装挡圈过程中所选工业相机检测精度不够的问题为背景,以机器视觉为基础,模拟人类的视觉功能,构建了一套挡圈检测系统。该系统通过一系列的图像获取、图像处理和识别的操作过程,完成对挡圈的自动检测和识别,弥补装配中心检测精度低的缺点,从而减少操作者的劳动量,保证装配工作正常完成。因此,该系统具有一定的经济性和实用性价值。

2 图像采集

图像采集系统主要由PC机、CMOS照相机和光源组成。根据文献[1],描述的图像采集技术,同时为了达到比较好的检测效果,本文选用大恒工业相机,型号为DH-HV3151UC,由于所选CMOS照相机为USB2.0接口,可以直接与计算机相连接,无需购买图像采集卡,减少了成本;光源选用双LED灯照明,LED灯的能耗非常小,安全稳定,同时满足了本系统的照明要求。在图像采集的过程中,需要调整好CMOS照相机与待检测挡圈之间距离,使CMOS照相机的镜头正对待检测挡圈,同时调整好LED灯的距离、角度,以达到良好的照明条件,从而获得质量较好的图像。其工作过程是,由CMOS照相机对待检测挡圈进行拍照,采集数字图像,同时通过USB2.0接口将图像传输到计算机中进行存储和处理。下图1是挡圈检测系统的组成示意图。

图1 挡圈检测系统组成图

3 图像处理

图像处理系统是图像检测系统中非常重要的部分。由于外界环境因素的影响,通过图像传感器获取的待检测图像往往质量不高,不能够满足检测系统的要求,这就需要对原始图像首先进行滤波等预处理,如下图2所示,然后再对图像进行二值化、边缘检测等一系列的处理,从而减少外界因素等对待检测图像的影响,使获取的图像更加清晰,视觉效果更好,局部特征更加明显,以便进行图像识别和匹配处理。

图2 图像处理示意图

3.1 图像灰度化

彩色图像对工件检测用处不大,同时为了计算方便,一般在进行图像滤波前,将图像灰度化,通常采用以下公式来将彩色图像转换成灰度图像:

G=0.299r+0.587g+0.114b

式中,G为图像灰度值,r、g、b分别为彩色图像red、green、blue分量值。如下图3所示,就是经过转换所得的灰度图像。

3.2 图像滤波

图像滤波是图像预处理中不可缺少的一步,是在尽量保留图像细节特征的前提下,对原始图像进行去除噪声的处理。图像滤波可以提高图像的质量,改善视觉效果,图像滤波的好坏往往影响到后续的图像识别和匹配处理。图像滤波分为空间域滤波和频率域滤波,其中,空间域滤波主要分为均值滤波和中值滤波,而频域滤波有低通和高通滤波之分。

3.2.1 空间均值滤波

空间滤波是一种比较常用的图像滤波手段,能够很好的改善图像质量,减少噪声影响。其中,均值滤波又被称为平滑线性滤波,主要包括邻域平均法、加权平均法和选择式掩模平滑等常用方法。其中,邻域均值滤波比较常用[2]。其基本原理,是将原始图像中像素的灰度值用与该像素相邻N-1个像素(N为掩模尺寸)灰度值平均值来代替,即假设滤波器掩模尺寸为M1×M2,

x=0,1,2,…,M1-1;

y=0,1,2,…,M2-1;

f(x,y)为原始 图像灰度值,

g(x,y)为邻域均值处理后的图像灰度值。

3.2.2 空间中值滤波

中值滤波属于非线性滤波,是统计滤波中典型的一种低通滤波[3]。中值滤波的基本原理是,选定一个滑动窗口M,对窗口内像素的灰度值进行排序并取中值,然后用该中值来代替指定像素的灰度值,即

g(x,y)=med{f(x-i,y-i)}

med为排序取中值操作;

i,j∈M;

f(x,y)为窗口M内各像素灰度值。

应该注意的是,一般情况下滑动窗口M内的像素取奇数个,便于取中值;若像素取偶数个,中值为中间两个像素灰度值的平均值。

均值滤波可以有效消除部分噪声干扰,使邻域内像素灰度更加均匀、平滑,但同时也使图像变得模糊起来,边缘细节不够清晰;中值滤波克服了均值滤波使图像模糊化的缺点,能够在不影响边缘细节的前提下,对噪声的消除效果非常明显,尤其是椒盐噪声,如下图4。因此,本系统采用中值滤波来对图像进行滤波处理。

3.3 图像二值化

为了更好将图像中待检测目标与背景进行区分,通常需要将图像进行二值化处理。图像二值化有很多方法,其中最常用的是阈值法,其基本原理是通过设定二值化处理灰度阈值T,将图像灰度值大于阈值T的像素f(x,y)用255代替,否则的话用0代替,即:

g(x,y)为二值化之后的图像,通过上述公式,我们可以清楚的看到,二值化处理之后,原图像灰度值变成只有0,255的二值图像。我们将图像中灰度值为0的部分表示为背景,值为255的部分表示为待检测目标。

阈值法的关键在于阈值的选取,选取阈值的方法主要分为全局阈值法、局部阈值法和动态阈值法。全局阈值法,顾名思义是在灰度图像中选取一个固定的阈值来对图像进行二值化处理。全局阈值法简便易行,抗干扰能力差,通常适用于直方图中有明显的双峰的图像,而对于照明不均匀等条件下的图像,其二值化效果不理想。常用的全局阈值法有直方图分析法和最大类间方差法(Ostu算法)等。局部阈值法是通过选取掩模,根据目标像素邻域内各像素的灰度值来确定目标像素的阈值。对于比较复杂的图像,局部阈值法的二值化处理效果更好,比较实用;但是容易在个边界区域连接处出现灰度断接的现象。常用的局部阈值法有Niblack算法、Sauvola算法和Bernsen算法等。动态阈值法阈值的选取较局部阈值法来说,还跟目标像素在图像中的位置有关。动态阈值法实际上是改进的局部阈值法,它能够处理背景和待检测目标区分比较困难的图像,通常其运算量比较大。常用的动态阈值法[4]有Chow算法和 Kaneko算法等。

3.3.1 直方图分析法

直方图分析法是一种比较简单的选取二值化阈值的方法,其基本原理是通过灰度图像的直方图,寻找两波峰之间的最低点,即波谷灰度值来作为二值化的阈值[5],对于本系统来说这种方法效果不是很理想。

3.3.2 最大类间方差法(Ostu算法)

Ostu算法是一种经典的全局二值化算法,它简便高效稳定,在工业化生产中非常实用。最大类间方差法能够在整幅图像中,自动选取最优的二值化阈值[6]。其基本原理是,假定选取一个任意灰度值t(0≤t≤L),t将整幅图像的灰度值分为两类A0和A1,A0灰度值在(0,t)范围内,A1灰度值在(t+1,L)范围内,假设整幅图像有N个像素,灰度值为i的像素有ni个,则灰度值i出现的概率pi为pi=ni/N,那么A0和A1两类像素出现的概率为,

A0和A1两类像素的均值为,

类间方差为,

σ2(t)=ω0ω1(μ0-μ1)2

使类间方差最大的假定灰度值t,便是我们要找的最优二值化阈值T。此时两类像素的灰度值差别最大,所以能够很好地将图像的背景和待检测目标区分开,便于我们对目标进行识别。

3.4 边缘检测

为了更好的检测出挡圈的轮廓,需要对其二值图像进行边缘检测,以提取图像的边缘轮廓特征。边缘检测是图像处理中的重要部分,它是模仿人类视觉系统识别目标的过程,通过算法将目标图像的边缘特征值提取出来,再根据这些特征值来判断待检测目标是否满足要求。边缘检测的检测算法有很多,常用的有Sobel算子、拉普拉斯算子(Laplacian算子)和坎尼算子(Canny算子)等。

3.4.1 Sobel算子

Sobel算子是一种一阶微分算子,它具有横向、纵向两个3×3矩阵,如表1所示,以这两个矩阵为核与原始图像中的每个像素点作卷积和运算,然后通过选取合适的阈值进行边缘检测[7]。Sobel算子的公式如下:

其中,偏导数Gx、Gy可分别由卷积模板求得,表2为目标像素邻域。

表1 Sobel算子

表2 目标像素邻域

Gx=(m1+2m2+m3)-(m7+2m8+m9)

Gy=(m1+2m4+m7)-(m3+2m6+m9)

Sobel算子简便易行,同时由于只有横纵两个方向的模板,只能检测水平和垂直方向的边缘,因此,对于检测纹理比较复杂的图像边缘,其效果并不是很理想。

3.4.2 拉普拉斯算子(Laplacian算子)

拉普拉斯算子是一种二阶导数算子,其公式由以下式子给出:

▽2f(x,y)=-[f(x+1,y)+f(x-1,y)+

f(x,y+1)+f(x,y-1)]-4f(x,y)

可以将其表示为以下形式:

▽2f(x,y)=4m5-(m2+m4+m6+m8)

拉普拉斯算子的3×3模板对应的中心像素系数为正,而中心像素周围像素系数则为负,并且系数之和要求为0。表3为拉普拉斯算子常用的一个模板。

表3 拉普拉斯算子

图像经过二阶微分之在边缘处会产生一个陡峭的零交叉,可以根据这个零交叉来判断图像的边缘。拉普拉斯算子是二阶算子,对噪声十分敏感,会产生双边效果,不能检测出边的方向,通常不直接用于边的检测,只起辅助的作用,用来检测一个像素是在边亮的一边还是暗的一边。为了克服这一缺点,将高斯平滑滤波器与拉普拉斯锐化滤波器结合起来,从而产生高斯拉普拉斯算子(LOG算子)[8],即先对图像进行高斯滤波,再进行边缘检测,效果更好。LOG算子常用如表4所示的5×5模板。

表4 LOG算子

3.4.3 坎尼算子(Canny算子)

Canny算子是一种经典的一阶边缘检测算子,其边缘检测的方法是寻找图像梯度的局部极大值[9]。该方法的实质是,用一个准高斯函数对图像作平滑运算

fs=f(x,y)×G(x,y)

然后以带方向的一阶微分算子定位导数最大值。Canny算子不易受到噪声的干扰,能够检测到真正的弱边缘。

4 图像识别

图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。图像识别也称模式识别,是以图像的主要特征为基础,从而对目标进行识别和分类。

图像识别的关键在于对图像特征的提取与分析,图像特征提取是对图像目标边缘的周长、面积、圆形度等特征进行测量,测量得到的特征值可以组成特征向量,从而作为特征提取与分类的依据。统计模式识别是目前最成熟也是应用最为广泛的一种图像识别方法,它是通过对目标图像进行大量测量统计分析,找出其特征规律性,并由此选择能够反映图像本质的特征来进行识别与分类。本文利用最小距离分类器来对目标图像进行分类,其分类过程如下:

(1)求出当前模式的平均向量

式中,Ni为wi类模式向量的个数,m为模式类的数目。

(2)计算欧几里得距离

根据Di(x)的值来对向量 进行归类,Di(x)的值是最小距离时,把向量 归到wi类。

通过这种最小距离分类器可以将目标图像进行分类,从而对待检测的挡圈进行分类,识别其是否满足要求。

5 实验对比与分析

本文使用MATLAB作为实验系统的仿真工具,通过对比图像处理效果来确定系统所采用的图像处理方案[10]。

通过CMOS照相机获取图像,同时利用USB2.0接口将图像传输到计算机中进行存储和处理,获得如图3所示的原始灰度图像。然后,经过中值滤波处理,使图像更加平滑,对比度更加明显,显示效果可以在图4中看到。

图像经过中值滤波后,我们需要对图像进行二值化处理,从而将图像中待检测目标与背景区分开来。首先我们用直方图分析法,求出中值滤波直方图后。根据直方图,我们可以找到两个比较明显的波峰,如图5,然后取其中的波谷,作为我们的二值化阈值,即T=0.16,所得二值化图像如图6(a)所示,我们可以看到,用这种直方图分析法获得的二值化图像比较模糊,有很多不必要的轮廓,显示效果不是很好。

图3 原始灰度图像

图4 中值滤波图像

图6(b)所示的图像为通过Ostu算法得到的二值化图像,我们可以清楚的看到,较之直方图分析法所得的二值化图像,更加清晰,轮廓细节更加具体,效果比较理想,满足我们的实验要求。因此,我们采用Ostu算法来作为系统图像二值化的处理方法。

图5 中值滤波直方图

(a) 直方图分析法 (b) Ostu算法 图6 二值化图像

经过二值化处理之后,我们可以清楚的看到,待检测图像已经基本与背景区分开来,然后我们对二值化图像进行边缘检测,以得到挡圈图像的轮廓。本文中我们采用3种不同的检测方法来进行对比实验。通过图7的边缘检测图像我们可以看到,前两张图像图11(a)、(b)中的待检测边缘有很多没有分辨出来,并且产生了一些伪边缘,不利于后期的图像识别处理。而最后一张图像图7(c)虽然去除了部分伪边缘,识别出了一部分弱边缘;但是,我们看到部分细节轮廓丢失,需要进一步对算法进行改进。

图7(a) Sobel算子边缘检测

图7(b) LOG算子边缘检测

图7(c) Canny算子边缘检测

6 结束语

(1)构建了一种简单的挡圈自动识别检测系统,通过实验对获取的图像进行了处理和检测。

(2)通过对比实验,找到了适合本系统的图像处理方法,制定出系统的图像处理方案。

(3)本系统的边缘检测结果不是很理想,需要对其算法进行进一步的完善和研究,以去掉无关的图像边缘。

(4)系统还需要对图像作进一步的识别优化处理。

[1] 刘焕军,王耀南,段 峰. 机器视觉中的图像采集技术[J].电脑与信息技术,2003,1:18-20.

[2] 王俊芳,王正芳,王敏. 常用图像去噪滤波方法比较[J]. 现代商贸工业,2009,16(1):310-311.

[3] 余文勇,石绘. 机器视觉自动检测技术[M].北京:化学工业出版社,2013:94.

[4] 李刚,宋文静. 基于图像直方图的车牌图像二值化方法研究[J].交通运输系统工程与信息,2009,9(1):113-116.

[5] 张田田. 基于机器视觉的啤酒瓶瓶口检测系统的研究[D].济南:山东科技大学,2009:18-20.

[6] 何东健. 数字图像处理[M].第二版.西安:西安电子科技大学出版社,2008:84-85.

[7] 袁春兰,熊宗龙,周雪花等. 基于Sobel算子的边缘检测研究[J].激光与红外,2009,39(1):85-87.

[8] 李小红. 基于LOG滤波器的图像边缘检测算法的研究[J].计算机应用与软件,2005,22(5):107-108.

[9] 陈宏希. 基于边缘保持平滑滤波的canny算子边缘检测[J].兰州交通大学学报,2006,25(1):86-90.

[10] 李武. Matlab中图像边缘检测算法研究[J].北京测绘,2014,3.

2015-11-10

重庆市科技攻关计划项目(CSTC,2009AB6239)

高晓东(1990—),男,重庆人,硕士研究生,主要从事机械电子工程研究;罗宏(1963—),男,重庆人,教授,主要从事专用装备自动化研究。

10.3969/j.issn.1000-6133.2015.06.005

TN784

A

1000-6133(2015)06-0023-06

猜你喜欢

挡圈直方图算子
锥形弹性挡圈应用
符合差分隐私的流数据统计直方图发布
一种非对称闭式回路流量匹配阀轴用挡圈装配夹具的设计探讨
65Mn弹性挡圈脆断及热处理工艺优化
拟微分算子在Hp(ω)上的有界性
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
转盘轴承防尘挡圈的优化设计
用直方图控制画面影调
一类Markov模算子半群与相应的算子值Dirichlet型刻画
中考频数分布直方图题型展示