基于BP神经网络的啤酒瓶口检测方法

2014-01-13 14:49郭克友廉丽冰
食品科学技术学报 2014年4期
关键词:啤酒瓶瓶口特征参数

郭克友, 廉丽冰, 李 娜

(北京工商大学材料与机械工程学院,北京 100048)

基于BP神经网络的啤酒瓶口检测方法

郭克友, 廉丽冰, 李 娜

(北京工商大学材料与机械工程学院,北京 100048)

运用BP神经网络可以实现啤酒瓶口的破损检测.首先获取啤酒瓶口图像,并进行图像处理.然后计算啤酒瓶口的周长、面积、圆形度和相对圆心距离4种特征参数,由这4种特征参数构成特征向量组.其次建立结构为4-7-1的BP神经网络模型,将特征向量组作为神经网络的输入.最后对啤酒瓶口破损情况进行训练,根据训练结果获得权值和阈值矩阵,通过逻辑转换关系获得啤酒瓶口的破损情况.经实验验证该方法具有很好的准确度和检测效率.

BP神经网络;破损检测;特征向量;瓶口

目前,国内啤酒瓶的回收利用在啤酒行业仍然占据主要份额(根据数据统计重复使用率高达85%)[1],为确保产品质量,需要对回收的啤酒瓶进行严格的检测,若有破损、裂痕等情况,则不能再次使用.在啤酒生产和包装过程中,许多环节已实现自动化,但啤酒瓶破损情况仍然依靠人工检测.人工检测的效率不高,长时间对视瓶口和重复同样的动作,会使人产生疲劳综合症.而机器视觉具有可重复性、长期性和高速性等特点,可利用机器视觉来对啤酒瓶口进行智能化检测[2-4].本文对机器视觉技术在啤酒瓶口检测中的应用进行探讨与研究,并给出了一种可用于工业上检测啤酒瓶口的方法——基于BP神经网络的啤酒瓶口检测方法.

1 啤酒瓶口图像的采集和处理

采集啤酒瓶口图像的模拟检测装置如图1,该装置由CCD相机、镜头、环形照明装置和转动机械平台等组成.采集的原始图像如图2(a),采用黑色背景,可减少外界环境的噪声干扰.

对啤酒瓶口破损情况分析,可明显看出啤酒瓶口图像中,具有破损的区域的灰度值和正常区域的灰度值存在很大差异[5].在检测破损之前,首先对啤酒瓶口进行图像处理.图像处理步骤包括:除去瓶内无关像素,预处理,形态学处理,以及采用hough圆定位法对啤酒瓶口的圆心进行定位[6-7],整个图像处理过程的效果如图2.

预处理的过程采用最基本的图像处理方法,首先进行灰度化处理,便于分析图像特征;然后进行直方图均衡化,加强图像的对比度;最后进行阈值分割,使图像有用特征更为突出[8-10].

形态学的处理首先采用闭运算腐蚀来填充啤酒瓶口二值图像中瓶口轮廓内部存在的细小空洞,并使相邻的区域连通;然后采用平滑处理,改善图片质量;最后进行开运算腐蚀,使图像中原有较大面积的轮廓边界变得平滑,一些微小的孤立像素点将会被去除[11-12].

啤酒瓶口的位置可选择最常用的Hough圆变换法[13].执行该算法所需要的时间较短,可满足系统的检测速度要求,并且具有很好的鲁棒性.

经过以上图像处理操作后,啤酒瓶口图像中的大部分噪声已被消除,有用的啤酒瓶口特征也更为突出,对后续的图像特征提取和检测效率的提高具有很大的作用.

图1 啤酒瓶口图像采集装置Fig.1 Beer bottlemouth image acquisition device

图2 图像处理效果Fig.2 Effect of image procession

2 啤酒瓶口特征向量的提取

通过对啤酒瓶口图像分析得到瓶口的几何特征参数,在对比各个特征的性能之后,确定运用瓶口图像的周长、面积、圆形度和相对圆心距离4种特征作为啤酒瓶口破损特征参数.

2.1 周长的提取

图像处理的周长指的是图像中连通区域的边界上像素点的数目之和.由定义得周长的计算方法如式(1):

L={连通域边界上像素点(x,y)的个数},(1)式(1)中,L为连通域的周长.

在啤酒瓶口图像中,没有破损的瓶口图像的连通域表现为一个整体,此时具有一个最大的周长值;若存在破损时,连通域表现为多个零散个体,所以周长的个数随之增多,值也相应地减小.这些值存在于一个特定的区间,此区间大于图像中噪音的周长值,并小于没有破损的瓶口的周长值.因此,图像中连通域的周长可以作为啤酒瓶口的一个特征参数.

2.2 面积的提取

图像处理中所说的面积就是连通区域内所有像素点的像素之和.面积用Aj表示,其计算方法如式(2):

与连通域的周长特征类似,没有破损的瓶口图像中连通域表现为一个整体,面积最大,且只存在一个面积值;当检测的瓶口存在破损时,面积会相应减小,且面积值的个数也会随之增多.破损区域的面积存在于一定的范围之内,即小于啤酒瓶口的环形面积,大于图像中噪声面积.

2.3 圆形度的提取

圆形度是指由区域的面积和周长计算得到的与区域形状复杂度有关的特征量[14],圆形度用字母e表示,具体计算方法如式(3):

e的计算结果在0~1之间.圆形的圆形度为1,其余形状的圆形度都小于1.连通域形状越接近圆,其e值就越大;反之,e的值越小.经过图像处理的啤酒瓶口图像轮廓为两个同心圆,同心圆的圆形度近似为1,而有破损的瓶口的连通域至少被分为两个,破损部分连通域的圆形度要小于瓶口图像上瓶口所在的环形区域.

2.4 相对圆心距离的提取

相对圆心距离指的是啤酒瓶口的圆心与各连通域质心之间的距离.对于一个连通域f(x,y)(≥0) 的p+q阶矩为[15]:

图像中连通域的质心位置通过一阶矩除以零阶矩的计算得到,而零阶矩可表示为连通域的面积,即式(5):

一阶矩为:

所以,图像的质心位置可由式(8)和式(9)得到.

啤酒瓶口的圆心坐标在Hough圆变换的过程中求得,记作(a,b).利用质心位置与圆心位置可计算出相对圆心距离r,求解公式见式(10):

至此,用于检测啤酒瓶口破损的4个特征参数提取完毕.表1为某一被检图像的所有连通域的4个特征参数,最后把这些特征向量作为神经网络的输入.

表1 啤酒瓶口图像的特征参数Tab.1 Characteristic parameters of beer bottlemouth

3 检测啤酒瓶口的神经网络设计

在啤酒瓶口破损检测中,选用BP神经网络进行训练.BP神经网络是一种多层前向型网络,它的输入和输出之间可以是任意的非线性映射.从表1的特征参数可以看出,输入样本并不是按规律变化的,而BP神经网络可用于非线性样本的训练.在BP神经网络训练过程中,不断地对权值和阈值进行学习和修正,使网络能够准确地识别瓶口是否破损[16-17].

3.1 网络结构

网络采用由输入层、隐层和输出层构成的3层神经网络.输入层包含4个神经元,分别为啤酒瓶口图像中连通域的周长、面积、圆形度和相对圆心距离.输出层设置一个输出值,值为0时,表示瓶口完好,值为1时表示瓶口破损,而数值越趋近于0代表啤酒瓶口完好,越趋近于1则啤酒瓶口存在缺陷.通过回归方法对隐层节点数优化后,确定隐层的节点数为7[18-19],其他相关参数如表2.

表2 BP神经网络部分参数Tab.2 Partial parameters of BP neutral network

3.2 网络训练

通过对采集到的大量啤酒瓶口图像进行特征提取,共得到1 203组特征值,每一组特征对应一个输出,输出值表示对应瓶口破损情况.程序最后预测一组已知结果的数据,通过程序测试,所得出的预测结果与已知结果一样,确定BP神经网络程序设计正确性,整个训练过程如图3.

图3 神经网络的训练过程Fig.3 Training process of BP neural network

BP神经网络采用trainlm算法进行训练,该算法具有较少的迭代次数,且训练速度快,满足网络设计的要求.BP神经网络训练过程中的误差变化曲线如图4,当网络训练达到137步时训练停止,并且达到所要求的性能.

图4 误差变化曲线Fig.4 Curve of error variation

通过BP神经网络程序训练后,获得权值矩阵及阈值矩阵(w1,b1,w2,b2),如式(11)至式(14).

然后运用式(15)至式(17)的关系进行转换:

式(11)至式(17)中,w1,w2为通过BP神经网络求取的权值矩阵,b1,b2为通过BP神经网络求取的阈值矩阵,p为由连通域周长、面积、圆形度、与圆心距离组成的4×1矩阵.

通过式(15)至式(17)的逻辑转换,啤酒瓶口的检测结果为一个数字,数字范围在0~1之间,当结果接近于0时,证明啤酒瓶口没有破损,反之则说明啤酒瓶口上存在缺陷.对任意的啤酒瓶口,只需将其组成的特征组代入以上的逻辑转换内,便可计算出相关数值,由此可判断啤酒瓶口是否存在破损.

4 检测结果分析

检测中所使用的啤酒瓶均是市面上最为常见的规格为640m L的燕京牌啤酒瓶,在样本采集过程中对528个燕京牌啤酒瓶瓶口样本进行检测,其中完好啤酒瓶口样本有432个,存在不同程度瓶口破损的瓶子样本共有96个,然后随机抽取每个啤酒瓶口样本进行图像采集,图像的分辨率为1 024×768,帧率为33 fps.528个啤酒瓶口样本的检测数据及其相关分析如表3.

表3 啤酒瓶口检测结果Tab.3 Detection results of beer bottlemouth

由于实验条件的限制,只是对528个啤酒瓶口的破损情况进行检测,检测基数相对较小.通过对表3的实验数据分析可以得到,检测系统的破损瓶口检出率为99.25%,误检率为0.75%.数据表明,该算法应用于啤酒瓶口的破损检测中具有很好的准确度.

经过检测系统检测的528个啤酒瓶口处理结果后的8组图像如图5(每组图像上下对应,上面为采集到的啤酒瓶口原图像,下面为该图像的检测结果).通过观察这8组检测结果可知,无论瓶口上存在的是简单破损还是复杂破损,内环破损还是外环破损,都能被检测系统检测出来,检测结果满足系统的准确性.

经过测试,检测系统的检测速度能够达到50 000瓶/h(约14瓶/s),若将此检测方法运用到实际生产中,破损啤酒瓶口的检出率会因为检测环境的不稳定而有略微的降低,但依然可以满足企业对检测系统的准确性和实时性的要求.

5 结 论

图5 部分啤酒瓶口破损检测结果Fig.5 Detection results of partial beer bottlemouth

通过实验证明,对啤酒瓶口图像进行预处理、形态学处理和hough圆定位等操作后,可以有效提取啤酒瓶口破损特征参数,并将特征参数输入到神经网络训练后,能够准确地识别出啤酒瓶口的破损区域,而且具有很好的检测精度和速度.

采用该啤酒瓶口检测方法得到破损瓶误检率为1.04%,误检使得破损瓶被认定为好瓶,可能会导致该瓶的重新使用,对此解决办法有2种:1)可采集更多不同种类的破损瓶口,增加BP神经网络的训练样本,进一步修正权值和阈值;2)可采用具有更高像素的工业相机,提高瓶口的图像质量,降低破损瓶的误检率.

本文只是对啤酒瓶口进行破损检测,若要研制出完整的空瓶检测系统,还需要对瓶底及瓶壁等进行检测,这有待进一步的研究.

[1] 李娜.啤酒瓶口破损检测技术研究[D].北京:北京工商大学,2013.

[2] 潘磊庆,屠康.基于计算机视觉和神经网络检测鸡蛋裂纹的研究[J].农业工程学报,2007,23(5):154-158.

[3] 刘文志.基于机器视觉的啤酒瓶瓶口检测系统研究[D].广州:华南理工大学,2011.

[4] 谭博,唐少先.基于图像处理的蜜柑大小自动分级方法[J].湖南农机,2012,39(5):207-209.

[5] 郭宝良.CCD图像处理及算法在沥青路面破损检测中的研究[D].淄博:山东理工大学,2011.

[6] 陈胜勇,刘盛.基于OpenCV的计算机视觉技术实现[M].北京:科学出版社,2008:142-150.

[7] 张燕.基于机器视觉的药用玻璃瓶缺陷检测的研究[D].合肥:合肥工业大学,2008.

[8] 刘瑞祯,于仕琪.OpenCV教程基础篇[M].北京:北京航空航天大学出版社,2007:155-161.

[9] Otsu N.A threshold selection method from gray-level histograms[J].IEEE Trans on SMC-9,1979(1):62-66.

[10] Brink A D.Thresholding of digital images using twodimensional entropies[J].Pattern Recognition,1992,25 (8):803-808.

[11] 刘慧英,王小波.基于OpenCV的车辆轮廓检测[J].科学技术与工程,2010,10(12):2987-2991.

[12] Ortiz F,Torres F,De JE,etal.Colormathematicalmorphology for neural image analysis[J].Real-Time Imaging,2002,8(6):455-465.

[13] Zhaoxia Fu,Yan Han.A simple and fast algorithm of circle detection[EB/OL].(2011-10-19)[2013-10-03].http://www.cnki.net/KCMS/detail/detail.aspx? QueryID=2&CurRec=1&recid=&filename=EGTA 201110001195&dbname=IPFDLAST2012&dbcode= IPFD&pr=&urlid=&yx=&uid=WEEvREcwSlJHSldS-dnQ1ZStPM jJTejdkZVVmUTlmU080QTZQZzBqSDhVUE x3Wit3cFVxSy8vR1VLUG5pUzhRPQ==&v=MTg0Nj dxcXhkRWVNT1VLcm lmWnVKdkVDampVN3ZNS0Z3V 0lDcmZiN0c0SDlETnI0OUZaZW9HQ1JOS3VoZGhuajk4 VG5q.

[14] 谷明琴,蔡自兴,李仪.应用圆形度和颜色直方图的交通信号灯识别[J].计算机工程与设计,2012,33 (1):243-247.

[15] 张田田.基于机器视觉的啤酒瓶口检测系统的研究[D].青岛:山东科技大学,2009.

[16] 张德丰.MATLAB神经网络应用设计[M].2版.北京:机械工业出版社,2011:137-170.

[17] 周昕.基于BP神经网络的人脸识别技术的研究[D].南京:南京理工大学,2007.

[18] Yu Pao-Ta,Tsai Huang-Hsu,Lin Jyh-Shyan.Digital watermarking based on neural networks for color images [J].Signal Processing,2001,81:663-671.

[19] 徐晓峰.基于图像线灰度和BP神经网络的织物瑕疵点检测[J].棉纺织技术,2012,40(5):298-301.

M ethod of Beer Bottle M outh Inspection Based on BP Neural Network

GUO Keyou, LIAN Libing, LINa
(School ofMaterial and Mechanical Engineering,Beijing Technology and Business University, Beijing 100048,China)

Damage identification of beer bottles could be realized by using the BP neural network.First, beer bottlemouth imageswere collected and processed.Four characteristic parameters including the perimeter,area,circularity,and the relative center distancewere calculated and constituted a feature vector group.Then,the BP neural networkmodelwith the 4-7-1 modelwas established and the feature vectors group was inputted to the neural network.Finally,beer bottle damageswould be trained.Theweight and threshold matrix were acquired according to the training results.Beer bottlemouth damageswould be easily obtained through logic relations.The experimental results verified that thismethod had good accuracy and inspection efficiency.

BP neural network;damage inspection;characteristic vector;bottlemouth

TS261.7;TS262.5;TP391

10.3969/j.issn.2095-6002.2014.04.013

2095-6002(2014)04-0069-06

(责任编辑:檀彩莲)

郭克友,廉丽冰,李娜.基于BP神经网络的啤酒瓶口检测方法.食品科学技术学报,2014,32(4):69-74. GUO Keyou,LIAN Libing,LINa.Method of beer bottlemouth inspection based on BP neural network.Journal of Food Science and Technology,2014,32(4):69-74.

2013-10-03

北京市属高等学校人才强教计划资助项目(PHR20110876).

郭克友,男,副教授,博士,主要从事机器视觉方面的研究.

猜你喜欢
啤酒瓶瓶口特征参数
故障诊断中信号特征参数择取方法
基于特征参数化的木工CAD/CAM系统
神奇的瓶子
吸管钓鱼大赛
会喘气的硬币
基于PSO-VMD的齿轮特征参数提取方法研究
创意啤酒瓶盖
小蜗牛储物盒
恼人的啤酒瓶盖
换啤酒