APP下载

基于机器视觉的啤酒瓶检测系统研究

2012-11-30何明昕

计算机工程与设计 2012年1期
关键词:啤酒瓶图像处理算子

顾 勇,何明昕

(暨南大学 计算机科学系,广东 广州510632)

0 引 言

人们对啤酒的消费量迅速增长,这使得啤酒生产过程中的一个重要环节啤酒瓶检测逐渐从人工检测阶段过渡到了自动化检测阶段。因为效率和性价比是当今企业生产所考虑的关键因素,所以在啤酒瓶检测过程当中,机器视觉逐渐成为了最常用和最主要的检测方法。机器视觉可以理解为给机器加装上视觉装置,目的是为了使机器具有类似与人类的视觉功能,用机器代替人眼来做测量和判断,从而提高机器的自动化和智能化的程度。它主要包括光源、镜头、CCD(charge-coupled device)照相机、图像采集卡、图像处理系统、监视器、通讯和输入输出单元等部分。机器视觉的应用也非常的广泛,主要有检测和机器人视觉两个方面[1-4]。应用领域主要集中在半导体及电子行业,比如PCB(printed circuit board)印刷电路、SMT (surface mounted technology)表面贴装、电子生产加工设备以及产品质量检测等其它很多领域。随着工业的发展,对于机器视觉的需求也会逐渐地增多,并将与自动化做更进一步的融合。

目前针对机器视觉在啤酒瓶检测系统中的实验和理论方面的研究存在不少,并取得了一些有意义的成果。文献[3-4]中作者均采用了机器视觉的方法来设计啤酒瓶检测系统,并且都能达到一定的检测效果,然而文中在图像处理过程中所采用的方法,对图像中缺陷的检测效果并不是很好,精确度不是很高,这样会大大地降低系统的准确率,其实这也是很多啤酒瓶检测系统中所存在的问题。为了提高系统的检测效果,本文设计了一个基于机器视觉的啤酒瓶检测系统的方案。该系统由图像获取系统、图像处理系统和图像识别系统3部分组成。在图像处理过程中,本文尝试寻找了一种新的处理方案来对图像进行检测,实验结果表明,文中采用的方案具有更好的检测效果。

1 图像获取

图像获取系统主要由光源、高速摄像镜头、CCD照相机和图像采集卡4部分组成[5]。为了获取清晰程度比较高的图像,啤酒瓶应该与CCD照相机保持合适的角度和距离,同时光源要保持稳定、色泽要均匀并且要多角度照射[6]。本文选用 Dalsa CameraLink相机和 Dalsa Camera-Link图像采集卡,光源选用LED灯,因为LED灯与其它光源相比,其各方面的性能均为最佳,可以从表1中看出。同时LED灯的发光量与电流成线性关系[7],因此照明系统与图像获取系统易于选择搭配,容易获取较高质量的图像。图像获取过程中,流水线上的啤酒瓶置于光源的正前方并作匀速地水平方向的旋转,通过高速摄像镜头对整个啤酒瓶的瓶身进行竖直方向的线性扫描,形成一幅完整的啤酒瓶瓶身的光学图像。之后将得到的光学图像经过CCD的转换成为数字图像,再通过图像采集卡实时地采集图像数据并将其传输到计算机中存储,接下来就交由图像处理系统对图像进行处理。

表1 各类光源性质对比

2 图像处理

由于受到周围环境的影响,采集到的待检测图像的效果是非常差的,需要经过图像处理系统来提高图像的质量,这样才能够对图像进行识别或其它更进一步的处理。图像处理系统是啤酒瓶检测系统中极为重要的部分,本文中系统的设计流程如图1所示。首先对采集到的图像进行滤波处理和平滑处理,以除去图像背景中的噪声。然后进行二值化处理,将图像中的物体与背景分割开来。最后进行边缘检测处理,提取所需要部分的图像边缘,为下一步的图像特征提取和图像识别做准备。

图1 图像处理流程

2.1 图像滤波

图像滤波是为了改善图像的质量,分为空间域滤波和频域滤波[8],其中空间域滤波的线性滤波器和非线性滤波器的模糊处理,都可以减小噪声的干扰。大部分噪声,像啤酒瓶表面不规则形状的异物 (如啤酒瓶表面的气泡,划痕等)多半是随机的,并且该处的灰度值与其邻近各点的灰度值有着显著的不同,可以选择均值线性空间滤波器对采集到的图像进行滤波处理。

均值线性空间滤波器能够有效地抑制噪声,但是随着领域半径的增大,图像也会变得愈来愈模糊。为了克服这个缺点,本文采用的是统计滤波器中的中值滤波法。其算法原理是,首先确定一个奇数像素的窗口W,窗口内的各像素按灰度大小进行排队,之后用其中间位置的灰度值代替原灰度值f(x,y)成为窗口中心的灰度值g(x,y),即

式中:W——选定的窗口大小,f(m-k,n-l)——窗口 W中各像素灰度值。通常窗口内的像素取为奇数,以便于存在中值像素。若窗口内的像素为偶数,则中值像素取其最中间两个像素灰度值的平均值。此外,还可以通过多次的滤波处理,以使图像达到更好的效果,但是滤波的次数会影响到图像的检测精度,所以并不是滤波次数越多越好,而应该合理地去选择滤波的次数,只要能达到检测的要求即可。

2.2 二值化

为了将图像中的物体与背景分割开来,需要对图像进行二值化。图像二值化就是将整个图像分割成为不同的区域,从直观角度讲,图像二值化也就是将一副灰度或彩色图像变成一副黑白图像,即二值图像。在数字图像中,二值图像起着很大的作用。在二值图像中,通常是用像素1或者255来代表物体 (这里假设用1),用像素0来代表背景。对图像进行二值化处理的核心在于如何获得一个适合的灰度阈值,使得图像的二值化处理能达到一个最佳的效果。阈值的选择非常重要,如果选的过大,那么图像二值化后就会在物体本身之外产生许多的黑斑,达不到分辨的目的;如果选的过小,又会使待检测的物体的外形变小,从而导致数据的失真。因此,阈值的选择需要用适当的方法。一般地,图像二值化可以使用以下方法来选择阈值

式中:t——图像二值化所选取的阈值。本文采用状态法来选取阈值[9],即先求出给定图像的灰度直方图,在图中的两个峰值 (对应于物体和背景)之间的谷底值即所选阈值t,然后以此阈值对图像进行二值化处理。

2.3 边缘检测

要检测出啤酒瓶表面的缺陷,并对其作进一步的识别和分析,需要对图像进行边缘提取。边缘提取是图像处理过程中极为重要的一步,顾名思义就是要提取图像的边缘。图像的边缘是图像最基本的特征,是图像分析不可缺少的研究对象。所谓图像边缘是指图像局部特性的不连续性,或灰度、结构等信息的突变处。图像边缘广泛存在于物体与背景之间,物体与物体之间,以及基元与基元之间。只要把存在缺陷地方的边缘处提取出来,就可以通过算法得到这些边缘像素的特征值,然后对这些特征值进行分析和判断,就能对其缺陷进行识别。边缘检测就是一种最常见且最有效的边缘提取方法。边缘检测的实质是采用某种算法来提取图像中对象与背景的交界处,常常用到一些梯度算子[10]。为了能更好地对图像进行识别,可以通过使用不同的算子来进行检测,再从中选择效果最好的算子对图像进行边缘检测。下面简单地介绍几种较为常见的边缘检测算子。

坎尼算子 (Canny算子)是一种经典的边缘检测算子,它是高斯函数的一阶导数,是对信噪比与定位之乘积的最优化逼近算子,可以用来寻找图像的局部最大值。一般地,一个阈值的判断往往是不够的,由于图像受到噪声的影响,图像会产生斑纹现象[11],也就是说图像的边缘是不连续的。如果降低阈值,又会产生一些错误的边缘,此时可以采用Canny的双阈值方法来解决。

拉普拉斯算子 (Laplacian算子)是一种二阶边缘检测算子,它是一个线性的、移不变的算子,定义为

图像经过二阶微分后,在边缘处会产生一个陡峭的零交叉,可以根据这个零交叉来判断图像的边缘。拉普拉斯算子一般采用如图2所示的3×3模板。其特点是:各向同性、线性和位移不变性,对细线和孤立点的检测效果比较好。但是此方法也存在不足之处,就是边缘的方向信息容易丢失,常常产生双像素的边缘,而且对噪声有双倍加强的作用。

图2 拉普拉斯算子

由于图像边缘处的一阶微分 (梯度)是极值点,二阶微分是零点,而确定零点的位置要比确定极值点的位置容易和精确的多,所以一般使用二阶微分进行处理。但是二阶微分对噪声更为敏感[12],所以在通常情况下,对图像进行拉普拉斯算子进行边缘检测之前,需要对图像进行平滑滤波处理,一般采用的是高斯滤波器。如果把高斯滤波器和拉普拉斯锐化滤波器结合起来,先平滑掉噪声,再进行边缘检测,此方法便是高斯拉普拉斯算子 (Log算子)边缘检测法。Log算子一般采用如图3所示的5×5模板。

图3 Log算子

在用Log算子中,对边缘判断所采用的技术是零交叉检测。本文把零交叉检测方法改进一下,用推广的Log算子对图像进行边缘检测。具体做法就是在边缘检测之前使用指定的滤波器对图像进行滤波,再寻找零交叉点作为边缘即可,这里需要注意的是指定滤波器的选择非常重要,需要考虑图像的各种因素,一般通过不同滤波器的效果比较来选取,这样才能够达到理想的检测效果。

3 图像识别

图像识别即模式识别,是研究图像或各种物理对象与过程的分类和描述的学科[13]。传统的模式识别一般是指对客观事物进行分析,然后做出判断的过程,是人类的重要功能之一。现在常用模式识别来指应用计算机技术就人类对周围世界的客体,过程和现象的识别功能进行自动的模拟。粗略地说,图像识别就是把一种研究对象,根据某些特征进行识别和分类。

特征提取和分类是图像识别的关键。特征提取就是对物体进行度量,一个度量就是一个物体某个可以度量性质的值,而特征是一个或多个度量的函数,如物体的长度,面积,体积等。经过特征提取后会产生一组特征值[14],将它们组合在一起,就形成了特征向量。图像分类仅仅是一种决策,是为了确定每个物体应该归属于哪个类别,是通过一个分类的过程来实现的。每个物体被指定属于若干预先已经定义好的类别,这些类别代表了预期存在于图像中物体的所有可能的类别,而分类是以特征向量为依据的[15]。图像经过边缘检测得到图像边缘之后,就可以通过算法提取边缘的几何特征,并计算出边缘的几何量,为下一步的啤酒瓶分类做准备。

分类的方法有很多种,监督分类法是一种常见的统计分类方法。所谓监督分类法就是根据预先已知类别名的训练样本,求出给类在特征空间的分布,然后利用它对未知数据进行分类。分类过程如下:

(1)根据通过类别名选定的训练样本,求出给类特征向量分布的判别函数g1~gc(c为类别名),此过程称为学习。

(2)对于待分类的特征向量 (模式)X= (x1,x2,…xn),计算各判别函数的值。

(3)在g1(X)~gc(X)中选择最大者,把模式X分到这个类别中。

分类过程中用到了判别函数,常见的判别函数如下:

欧几里得距离为

本文采用监督分类法中的最近领域分类法,它是用一组标准模式代表一个类,所求距离即一个模式同一组模式之间的距离。求出与模式X最近的训练样本或者各类的平均值,便可以把X分到这个类当中。

通过图像识别,即特征提取和分类的过程,便可以把无缺陷的啤酒瓶分为一类,把有缺陷的啤酒瓶分为一类,接着又可以对有缺陷的啤酒瓶分类,如有气泡的啤酒瓶分为一类,把划痕的啤酒瓶分为一类,依此类推。最后根据分类的结果,由计算机通过判断发出剔除控制指令,控制硬件系统将存有缺陷的啤酒瓶剔出流水线。之后还可以对被剔出流水线的存有不同类别缺陷的啤酒瓶的图像数据做进一步的统计、处理和分析,为以后的生产提供了可靠的质量保证依据,这样便完成了整个啤酒瓶的检测过程。

4 实验结果与分析

本文使用MATLAB 7.0作为图像处理系统的仿真平台。MATLAB中的图像处理工具箱不仅操作方便,而且功能强大,利用这些工具箱所提供的图像处理函数,并结合其强大的数据处理能力,可以大大地提高工作效率[16]。更重要的是,MATLAB还能够提供C/C++数学库,可以将M文件编译成为CPP文件,并添加到VC++工程中,实现VC++和MATLAB的混合编程,使得应用程序可以脱离MATLAB环境独立地运行,大大地简化了将来使用VC++进行图像处理系统部分的开发。

首先,通过图像获取系统对啤酒瓶的整个瓶身进行图像成像、CCD模/数转换、图像采集和图像传输存储处理,得到的原始图像 (数据)为256×256的灰度图像矩阵,如图4所示。从图中可以看出,图像中存在着噪声的干扰,效果比较差,本文采用中值滤波法对图像进行滤波处理,得到的图像效果如图5所示。从图中可以看出,经过中值滤波后,图像效果有所增强,对比度有所提高,图像的质量得到了改善。

通过中值滤波,图像的噪声相对减少,接下来就需要对图像进行二值化处理,把图像的背景与物体分割开来。二值化之前需要确定阈值,本文采用状态法选取阈值,先求出图像的灰度直方图,然后从图中找到二值化所需的阈值。图6为中值滤波后图像的灰度直方图。从图中可以看出,灰度值分布中存在两个峰值,而在它们之间恰好有一个灰度谷底,可以看出此灰度谷底值为T0=0.15,这便是进行图像二值化的最优阈值。以此阈值进行二值化,得到的图像效果如图7所示。从图中可以看出,经过二值化后,图像中的物体和背景被分离开来。

接下来需要通过边缘检测提取图像的边缘,以找到啤酒瓶的缺陷所在。本文分别采用4种不同的方法对二值化后的图像进行边缘检测 (阈值均取T0=0.03),检测后的图像效果如图8所示。图8(a)采用的是文献 [3]中的方法,图8(b)采用的是文献 [4]中的方法,图8(c)采用的是Log算子边缘检测法,图8(d)采用的是本文推广的Log算子边缘检测法。由实验结果可以看出,各方法均可以检测到图像边缘的轮廓,但从对比中可以看出,前3种方法检测到的边缘轮廓不够规则和清晰,呈现出不连续的状态,有效边缘很少并且存在伪边缘,目标和伪边缘不能很好的区分开来。而本文采用的方法能够检测到更多的边缘信息,轮廓比较规则和清晰,是封闭的连续曲线,均是有效边缘并且没有伪边缘产生,目标和伪边缘可以很好的区分开来,这样便有助于接下来边缘特征值的提取和其它的处理工作。实验结果表明,本文采用的图像检测方法,提高了图像的检测效果,能够更精确地找到啤酒瓶的缺陷所在。

图8 不同方法边缘检测后的图像

检测到边缘之后,就可以通过算法提取边缘的几何特征,这里可以用边缘对应的面积 (像素的面积)作为特征值。最后利用最近领域分类法判别缺陷的种类,将这些有缺陷的啤酒瓶剔除出流水线。还可以对被剔除出的啤酒瓶的图像数据做进一步的统计、处理和分析,这样为将来保证啤酒瓶的生产质量提供了可靠的依据。

5 结束语

为了提高啤酒瓶的检测效果,本文将机器视觉技术应用于啤酒瓶检测系统当中,利用较为合理的图像采集、图像处理和图像识别方法,设计一个完整的啤酒瓶检测系统方案。实验结果表明,在一定的条件下,该系统能够有效地对啤酒瓶进行检测,可以将有缺陷的啤酒瓶进行分类,并通过计算机指令将其剔除出流水线。通过实验结果的比较,本文采用的图像处理方案提高了检测效果,准确率更高,效果更好,并且系统对机械装置的要求不高,具有一定的可行性和现实意义。本文的研究是基于灰度图像进行的,如何在彩色图像上达到相同甚至更好的效果,将是下一步所研究的。

[1]LIU Jinqiao,WU Jinqiang.Development of machine vision system and its application [J].Mechanical Engineering and Automation,2010 (1):215-216 (in Chinese).[刘金桥,吴金强.机器视觉系统发展及其应用 [J].机械工程与自动化,2010 (1):215-216.]

[2]LEI Wenhua.The first lecture of machine vision application:the overview of the machine vision [J].Journal of Applied Optics,2006,27 (5):467-470 (in Chinese).[雷文华.机器视觉及其应用第一讲:机器视觉概述 [J].应用光学,2006,27 (5):467-470.]

[3]LI Xin.Design and development of empty bottle inspection system based on machine vision [D].Jinan:Shandong University,2006:7-9 (in Chinese).[李欣.基于机器视觉的啤酒瓶空瓶检测机设计开发 [D].济南:山东大学,2006:7-9.]

[4]GAO Shaosong,FAN Hongda,YU Wei.A Glass inspection system based on machine vision [J].Journal of Naval Aeronautical Engineering Institute,2006,21 (2):40-41 (in Chinese).[高绍嵩,范洪达,魏宇.基于机器视觉的玻璃瓶检测系统 [J].海军航空工程学院学报,2006,21 (2):40-41.]

[5]FENG Duan,YAO Nanwang,HUAN Junliu,et al.A machine vision inspector for beer bottle [J].Engineering Applications of Artificial Intelligence,2007,20 (1):1013-1021.

[6]JIANG Lei,HAN Chenjiang,YU Hualong,et al.Study on application of machine vision system in the beverage industry[J].Science and Technology of Food Industry,2010,31(5):384-385 (in Chinese).[姜磊,韩承江,于化龙,等.基于机器视觉系统在饮料行业中的应用研究 [J].食品工业科技,2010,31 (5):384-385.]

[7]TAN Gan,DONG Xianglong,XU Ji,et al.Detection of defects glass surface based on machine vision [J].Journal of Shanghai University of Engineering Science,2009,23 (2):40-41(in Chinese).[谭刚,懂祥龙,徐继,等.基于机器视觉的玻璃瓶表面缺陷检测 [J].上海工程技术大学学报,2009,23 (2):40-41.]

[8]YANG Fan.Digital image process and analysis [M].Beijing:Beihang University Press,2007 (in Chinese).[扬帆.数字图像处理与分析 [M].北京:北京航空航天大学出版社,2007.]

[9]ZHANG Tiantian.The research on vision-based beer finish inspector[D].Jinan:Shandong University of Scieneeand Technology,2009:18-20 (in Chinese).[张田田.基于机器视觉的啤酒瓶瓶口检测系统的研究 [D].济南:山东科技大学,2009:18-20.]

[10]JIA Yonghong.Digital image process [M].Wuhan:Wuhan University Press,2010(in Chinese).[贾永红.数字图像处理 [M].武汉:武汉大学出版社,2010.]

[11]SHEN Yuming,YANG Zhengbing.Techniques of machine vision applied in detection of copper strip surface’s defect [J].Elec-tronic Measurement Technology,2010,33 (4):66-67 (in Chinese).[沈昱明,杨征兵.机器视觉在铜带表面缺陷检测系统中的应用 [J].电子测量技术,2010,33 (4):66-67.]

[12]SONG Zhenhui,ZHAO Li.A material edge detection algorithm based on machine vision [J].Microel Eectronics and computer,2010,27 (6):154-156 (in Chinese).[宋振辉,赵理.一种基于机器视觉的材质边缘检测算法 [J].微电子学与计算机,2010,27 (6):154-156.]

[13]FAN Linan,HAN Xiaowei,ZHANG Guangyuan.Image process and pattern recognition[M].Beijing:Science Press,2007(in Chinese).[范立南,韩晓薇,张广渊.图像处理与模式识别 [M].北京:科学出版社,2007.]

[14]LI Wenjin,WU Haibin,HE Zuen.Research on mechanical measure and recognition system based on machine vision [J].Mach Ine Tool and Hydraul Ics,2010,38 (1):19-21 (in Chinese).[李文锦,吴海彬,何祖恩.基于机器视觉的机械测量及识别技术研究 [J].机床与液压,2010,38 (1):19-21.]

[15]YAN Jiangfeng,MAO Enrong.Vehicle parking detection on express way using computer vision [J].Computer Engineering and Design,2007,28 (16):4025-4026 (in Chinese).[颜江峰,毛恩荣.基于机器视觉的高速公路车辆停车检测[J].计算机工程与设计,2007,28 (16):4025-4026.]

[16]WANG Jiawen,CAO Yu.Graphics image process of MATLAB 7.0 [M].Beijing:National Defence Industry Press,2006(in Chinese).[王家文,曹宇.MATLAB 7.0图形图像处理 [M].北京:国防工业出版社,2006.]

猜你喜欢

啤酒瓶图像处理算子
拟微分算子在Hp(ω)上的有界性
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
一类Markov模算子半群与相应的算子值Dirichlet型刻画
机器学习在图像处理中的应用
模糊图像处理,刑事侦查利器
图像处理技术的实战应用
创意啤酒瓶盖
Roper-Suffridge延拓算子与Loewner链
恼人的啤酒瓶盖
恼人的啤酒瓶盖