基于DSP和CPLD的啤酒瓶底检测装置设计与试验
2015-11-28韩磊
韩磊
山东服装职业学院信息工程系,山东泰安271000
基于DSP和CPLD的啤酒瓶底检测装置设计与试验
韩磊
山东服装职业学院信息工程系,山东泰安271000
为了保证啤酒瓶底检测的硬实时性,避免检测超时和玻璃瓶漏检现象,提高在线检测的速度,设计了一种基于DSP和CPLD图像处理器的瓶底检测算法和检测装置。采用视频模数转换器件实现相机拍摄到图像的模数转换,用DSP图像处理器代替通用工控机来做图像处理,结合时间确定的图像处理算法来保证检测时间的稳定性,用CPLD和图像内存相连,位于模数转换器和DSP之间,读取图像模数转换结果并存储到内存中,供DSP进行处理。整个图像的获取和处理过程都在电路板上完成,解决了通用工控机和图像处理平台的分时特性而带来的超时和漏检问题。
瓶底检测;CPLD;DSP;图像处理
目前国内回收的空瓶存在破损、粘附污物等情况,带来了安全隐患也影响产品质量。传统的人工灯检方法很难保证检测的可靠性和快速性,从而造成部分不合格产品流入市场,给企业形象带来损害。啤酒生产企业越来越重视产品质量,在灌装生产线上使用了各种自动检测设备,提高了检测的可靠性。目前国外对流水线上的空瓶视觉检测系统比较成熟,有大量的产品在生产线上使用。如:日本的KTS和德国的MIHO、HEUFT、KRONESD等。山东明佳包装检测科技有限公司的产品比较完善可靠,市场反馈较好。
基于DSP和CPLD的啤酒瓶底检测装置不仅可以克服啤酒生产线传统人工检测的缺陷,而且能极大提高生产线的自动化程度。该系统是集机器视觉、精密机械、实时控制于一体的高速在线检测系统,主要实现瓶底的污物检测,以及瓶内残液检测和剔除等功能[1,2]。现有的啤酒瓶底检测处理方法是通过相机拍摄瓶底图像,检测算法在通用的工控机和图像处理软件平台上运行来实施的。通用的工控机由于操作系统的分时特性,使得处理程序不能够保证硬实时性,从而会出现检测超时或玻璃瓶漏检现象,使剔除判断系统产生紊乱。
本文提供了一个对机器视觉所获取图像的高效传输方法,对于网络监控等领域都有很强的实用价值。该检测装置技术涉及一种基于DSP的在线啤酒瓶底的检测算法及为实现这种算法而专门设计的检测电路和相关机械、电气检测装置[3]。
1 硬实时酒瓶底检测方案
为了保证啤酒瓶底检测的硬实时性,避免检测超时和玻璃瓶漏检现象,提高在线检测的速度,该检测装置提供了一种基于DSP图像处理器的瓶底检测算法和检测电路。
该检测装置解决技术问题采用的方案是:用视频模数转换器件实现相机拍摄到图像的模数转换;用DSP图像处理器代替通用工控机来做图像处理,结合时间确定的图像处理算法来保证检测时间的稳定性[4];用CPLD和图像内存相连,位于模数转换器和DSP之间,读取图像模数转换结果并存储到内存中,供DSP进行处理。整个图像的获取和处理过程都在电路板上完成,解决了通用工控机和图像处理平台的分时特性而带来的超时和漏检问题。
2 基于DSP和CPLD的瓶底检测系统及处理方法
2.1 瓶底图像采集结构与光源设计
该检测装置的啤酒瓶底检测包括图像的获取和图像的处理[5]。首先结合图1、图2讲述该检测装置对高速运动的啤酒瓶瓶底图像的采集方式。
图1 瓶底检测装置1.工控机;2.CCD相机;3.传送皮带;4.LED光源;5.光电开关Fig.1 Bottle detection device1.Industrial PC;2.CCD camera;3.Transmission belt; 4.LED light source;5.Photoelectric switch
图2 瓶底检测摄像单元1.偏光片;2.CCD相机;3.保护玻璃;4.LED光源Fig.2 Bottle detection camera unit1.Polaroid;2.CCD camera;3.Protective glass;4.LED light source
由于玻璃瓶对光的透射性能要好于其反射性能,所以我们采用从瓶底的一侧用透射光源进行打光,CCD相机从另一侧采集图象的方案[6]。这就需要瓶子在运行的过程中悬空一段距离,我们用四根皮带夹住瓶子运行,这样既保证了瓶子悬空,也保证了瓶子在垂直于瓶子运行方向的竖直性,同时考虑到瓶子形状的特点,我们将光源置于瓶子底部下方,CCD相机置于瓶口上方从瓶口采集瓶底图象。由于瓶口比较小且有瓶壁的局限,采用这种方案要求瓶子在采集图象时必须保持直立,而且相机触发信号要准确。
当啤酒瓶移动到CCD相机下方时,啤酒瓶触发光电开关进而触发频闪光源和CCD相机对瓶底进行拍照,采用两个光电传感器配合输送皮带实现玻璃瓶的立体定位[7]。这样一方面保证CCD采集的准确性,另一方面根据两个光电传感器信号的组合信息,可以判断出瓶子是否在前进方向上发生倾斜,如果发生倾斜则直接给工控机信号,不对图象进行处理,而是直接将瓶子剔除到循环传送带上进行二次检测,从而降低误剔除率。
当瓶口上方的相机接收瓶底频闪光源的光线,结合偏光镜,使得异物在瓶底图像上形成灰暗的区域。相机的高度、位置要满足拍摄范围要求(如图2)。图像发送到集成电路板进行图像分析。
2.2 基于DSP和CPLD的硬实时系统设计
DSP技术的发展和应用为实现视频图像处理奠定了基础,高性能DSP处理器作为图像处理首选的核心器件,并能通过软件编程灵活实现各种处理算法,提高了系统处理能力,扩展了系统功能。本文采用了视频解码芯片采集、转换获得BT.656格式的图像数字码流,设计CPLD作为逻辑控制器完成数字视频数据的存储、传输和时序控制,应用TMS320VC5416处理器和处理算法进行视频图像的边缘检测、锐化等处理,并调试、实现了预期的系统功能[8]。
从相机输出的瓶底图像经过模数转换器(ADC)转换成成数字图像,CPLD将图像保存到一片SRAM中。整副图像保存完毕后,CPLD将两片SRAM的总线切换,原来保存新采集到图像的SRAM现在与DSP连接,供DSP对进行图像处理;原来与DSP连接的SRAM现在与模数转换器连接,保存下一幅采集到的图像。DSP处理图像完毕后,通过串口和通用输入输出口给出检测结果。集成电路板的系统结构图如图3。
图3 集成电路板结构图Fig.3 Structure of integrated circuit board
2.3 瓶底定位及污物检测
为了实现瓶底图像的检测和信息的抽取,瓶底圆心的定位的至关重要的。为了实现圆心的精确定位,处理算法使用了边缘提取、迭代逼近等算法。其具体步骤如下:
2.3.1 图像预处理利用图像灰度的均值和图像处理所需的最佳灰度值计算出一个增益值和一个偏移值,记为参数gain和offset,然后将待处理区域中的每一个象素值x作如下处理:y=x*gain+offset,其中y为新的象素值,从而调整图像的灰度平均值,使整副图像的亮度稳定在一定的范围之中。
2.3.2 做边缘提取由于Sobel算子兼具差值和平滑效果且受干扰影响较小的优点,故采用Sobel算子来做边缘提取。Sobel边缘检测的基本方法是在x、y方向上分别使用两个不同的卷积核,如下所示:
对图像施加Sobel算子得到瓶底图像边缘图。
2.3.3 查找圆心由于我们在图象采集时采用了多光电定位触发系统,瓶底图象位置的变化在我们可接受的处理范围内。我们从这个已知范围的中心位置向四周沿36条直线进行径向扫描,找到灰度值变化最大点,因为先前我们利用Sobel算子已经处理出瓶底的边缘,所以我们径向扫描得到的点就是边缘点。对这些点按照一定的间隔组合,每三个点为一组确定一个圆,利用以下公式计算其圆心和半径(例如三点坐标为(x1,y1)(x2,y2)(x3,y3)其圆心为(x0,y0)半径为R):
在以上得到的这些点中,我们利用已知的半径范围来选取合理的边缘点和圆心,然后将选出的圆心点和半径值取均值得到瓶底图象实际的中心点和半径值,从而实现了图象的定位[9]。再利用中心点和得到的边缘点拟合出的圆实现图象的分割。在本系统中可以利用不同的半径我们将瓶底图象分割成三个感兴趣区域:中心比较平坦的部分为一个圆形区域;中心圆域与防滑纹之间,倾斜角度较大的为一个环形区域;含有防滑纹的环形区域。在不同的感兴趣区域我们可以根据不同客户的要求采用不同的算法,从而达到不同的检测精度。
2.3.4 检测含有防滑纹的圆环域是否有污物利用圆心和防滑纹圆环中心半径计算圆周各点的坐标,保存在数组中,然后以横坐标为索引,在圆周上搜索环行花纹上是否有超过限定长度的白色圆周和黑色圆周。若有超限长度的黑色圆周,表示防滑纹上有污渍;若有白色花纹,表示防滑纹不完整,有缺损花纹。该算法可以同时检测环形花纹是否完整,花纹间是否有污物,环形花纹是否偏心。
2.3.5 检测瓶底中心区域是否有污物在中心的圆形区域和圆环区域中背景的灰度值是比较高的,而污物的灰度值较背景要低,所以我们选取一个合适的阈值对图象进行二值化处理[10]。我们只要准确地找到一个介于污物与背景灰度值之间的灰度值作为阈值,将图像中灰度值大于阈值的象素设为白色,灰度值小于阈值的象素设为黑色,这样就能将污物和背景区分开来。
针对玻璃瓶瓶底图象的亮度并不稳定,在本系统中我们采用直方图分析与迭代阈值相结合的自动阈值寻找法:先确定图象总体的灰度范围和灰度级的个数,然后将这个范围的中值作为初始阈值T0,灰度级的个数设为L。然后按照一下公式进行迭代:
其中hk是灰度为k值的象素的个数,迭代一直进行到Ti+1=Ti结束,取结束时的Ti为我们进行二值化分割的阈值。
由以上迭代阈值法的理论知识我们知道迭代法的运算量比较大,而该检测装置要运用于高速的自动检测生产线,它要求我们图像处理的时间要短,所以在该检测装置中我们首先要利用感兴趣区域的灰度直方图信息简化其运算量,具体的方法为:由于瓶底图像在这两个区域的灰度值集中在一定的范围中(含有污物的则较为集中在两个灰度范围中),我们通过对直方图的计算,算出这一个或者两个灰度范围的边界值,去除直方图两端的灰度等级,从而缩短了灰度等级的范围,减少了所要计算的象素值的个数,大大缩短了处理时间,达到高速检测的要求[11]。
二值化之后我们利用先腐蚀再膨胀的算法去除零散的干扰点,然后对感兴趣区域的黑色区域的象素进行连通性分析,我们采用的是象素八连通的方法,即在一个黑色象素相邻的八个象素中有一个是黑色的就认为是连通的斑点上的象素,通过设置连通区的形状及大小的参数就可以检测出不同大小和形状的斑点,从而达到不同的检测精度,综合第4步和第5步的判断给出综合判断结果。
2.4 瓶底检测方法
通过运用“融合判决”技术还可以对瓶底环境进行更为复杂的评估,例如对瓶底霉斑的有效识别。瓶底是异物最容易聚集的区域,异物本身成分很复杂且不确定,环境干扰相对也更多,如瓶底泡沫、防滑纹干扰等,对瓶底的检测采用先进的“融合判决”技术进行缺陷评估。
图4 酒瓶底图像示例Fig.4 Samples of bottle bottom image
3 瓶底检测试验结果及结论
试验在山东明佳包装检测科技有限公司的验瓶机实验平台上进行。该平台包括验瓶机和输送皮带两部分,其中验瓶机为自主研发。瓶底检测分为5种情况:污物在瓶底中央、污物距瓶底中央10 mm与瓶底边缘距中心15 mm区间内、污物在瓶底边缘、碎玻璃于瓶底、整个瓶底被标纸/异物蒙住。
a.选取瓶底不合格的瓶子25个包括瓶底检测不合格项的上述五种情况,每种不合格瓶子各5个;
b.将25个瓶底缺陷瓶子跑10次,用来测试剔除率,达到测试标准。要求没有任何缺陷的合格样品通过,缺陷样品剔除并做好记录表统计。试验中共对采集到的20033幅瓶底图像进行了检测定位,瓶底检测精度。
为了进一步验证本方法的有效性,将本文方法与文献[12]的瓶底检测方法进行了比较,在主频为2.4 GB的机器上对20033幅瓶底图像检测定位。比较结果显示,采用本文所述方法时,平均耗时0.3 ms,误差平均在4个像素以内,其中10幅图像的处理结果如表1所示;而采用文献[12]所用方法时,平均检测耗时约0.45 ms,误差在6个像素以内。
表1 部分试验结果Table 1 Partial experimental results
表2 瓶底检测误差分析Table 2Analysis on detection error of bottom
从试验结果可知,本文所用方法无论在检测速度还是在检测精度上,较传统方法都有所提高。在满足当今啤酒灌装生产线最高速度要求的同时,此系统的设计方法提高了定位精度,具有一定的实用和推广价值。
4 结论
该检测装置的有益效果是减少了每幅图像的处理时间,并且保证了每幅图像处理时间的稳定性,可以提高在线检测的运行速度;相对于通用工控机和图像处理软件方案,本电路结构简单,成本更低。该检测装置所描述的装置和检测方法具有以下明显的技术效果:
(1)该检测装置采用了亮度均匀的高频闪LED背光源和具有高速电子快门和异步外触发功能的新型CCD相机来实现高速图象的采集,成功解决了采集高速运动物体的图象存在的拖影问题。
(2)该检测装置中采用了针对国内玻璃瓶特色的独特的图象处理算法的组合,拥有适应性强、处理速度快的特点,非常适合高速生产流水线上的玻璃瓶的在线检测。
(3)该检测装置在高速生产线上采用了机器视觉的方式进行自动检测,克服了人眼检测中存在的主观性影响和易疲劳、效率低的缺陷,提高了检测的准确性和生产效率。
[1]李丽.酒瓶检测中的机器视觉检测技术研究[D].山东:山东科技大学,2009
[2]邓淑贤,李敏,杨石.基于DSP的瓶装啤酒体积在线检测系统[J].辽宁石油化工大学学报,2008,3:67-69
[3]刘焕军,王耀南,段峰.自动生产线上透明灌装瓶液体体积的机器视觉检测系统[J].计算机工程与应用,2004,12:229-231
[4]苑玮琦,薛丹.瓶装啤酒的高速实时在线容量检测装置的研制[J].酿酒科技,2007,12:70-73
[5]马思乐,黄彬,何印洲,等.智能空瓶检测系统瓶底快速定位实现[J].自动化仪表,2012,33(10):39-41
[6]苑玮琦,薛丹.啤酒瓶高速实时在线容量检测装置的研制[J].微计算机信息,2008,33:304-306
[7]张莹,王耀南,文益民.啤酒瓶检测中多分类支持向量机算法的选择[J].湖南大学学报(自然科学版),2009,5:37-41
[8]徐婉莹,刘建军,黄新生.基于CPLD和DSP的高速图像采集技术研究[J].电子工程师,2004,30(6):48-50
[9]陶跃珍,王东.啤酒瓶自动检测系统的设计[J].机械,2010,37(10):59-61
[10]周长林,常青美,简礼宏.基于DSP和CPLD的视频图像采集处理的设计与实现[J].数据采集与处理,2008,S1:168-172
[11]洪健,陈继荣.基于DSP+CPLD的车牌实时识别系统的设计[J].计算机应用研究,2007,24(7):218-219
[12]李宝树,陈万昆.智能电表在智能电网中的作用及应用前景[J].电气时代,2010,9:28-29
Design and Test on the Detection Device of Beer Bottle Bottom Based on DSP and CPLD
HAN Lei
Department of Information Engineering/Shandong Clothing Vocational College,Taian 271000,China
In order to ensure hard real-time detection of bottle of beer,to avoid detection timeout and undetected phenomenon,to improve the speed of online testing,this paper designed a bottom detection algorithm and detection devices with an image processor based on DSP and CPLD.ADC pieces realized from video cameras to image analog digital conversion,DSP image processor,instead of general industrial machine to do the image processing,combined with image processing algorithms to determine the time to ensure the stability of the detection time,and an image memory with CPLD connected,located between ADC and DSP,analogized the digital conversion result to read image and stored in memory for DSP processing.The entire image acquisition and processing procedures were completed on the circuit board to solve a common IPC and image processing platform timeshare properties brought out and missed the problem.
Bottle detection;complex programmable logic device;digital signal processor;image process
TH122
A
1000-2324(2015)03-0425-05
2013-12-6
2013-12-26
韩磊(1972-),男,副教授,主要从事机械与自动控制研究工作.E-mail:hlei1860@163.com