APP下载

一次性白色圆形餐具表面污渍检测算法设计*

2010-12-21孙志海

电子器件 2010年2期
关键词:轮廓线污渍餐具

孙志海

(杭州电子科技大学计算机学院, 杭州310037)

随着计算机实时控制技术的进步,一次性餐具成型系统的自动化程度获得大幅度的提高[1]。一次性餐具生产系统自动化程度的提高,不仅降低了制造厂商的人力投入,而且提高了生产线的生产效率。然而,当前一次性餐具制造业的竞争越来越激烈,加上一次性餐具本身用途的特殊性,使得制造厂商对所生产一次性餐具的外观质量提出了更高的要求,特别是对一次性白色餐具的要求很严格。若所生产的一次性白色餐具存在表面缺陷,如黑点、黄斑、油污、褶皱、透光、裂痕、表面凹凸不平或形状缺陷(如圆盘不圆)等,将会对餐具的整体销售带来不良影响,所以,一次性餐具出厂前一般需要对餐具的外观质量进行严格检测,剔除存在缺陷的产品。然而,目前一次性餐具表面质量的检测大部分是通过人工检测,使得检测效果常常受限于检测人员的主观意识及人眼疲劳程度,导致缺陷检测精度无法界定,整体检测效率较低。当前机器视觉检测技术的流行[2-3],给一次性餐具表面缺陷的检测提供了一种新思路,即利用工业相机获取餐具图像,用图像处理算法对餐具图像进行分析,最终判断餐具是否含有缺陷。工业机器视觉检测平台一般随被检测目标及现场环境的不同而有较大差异。本文主要围绕一次性白色圆形餐具表面污渍的检测问题,给出一种一次性白色圆形餐具表面污渍检测算法的设计思路。

1 算法描述

采用机器视觉的方式检测目标外表面缺陷,一般需综合考虑被检目标、工业现场生产环境及其所允许的安装条件,再结合适当的机械执行机构,方能获得良好的检测效果。唯有在保证良好采集环境的条件下,对应的图像处理算法才能真正发挥作用。然而,上述约束条件中工业相机、光源及光源投射方式的确定和设计则是一个需要定制及反复试验的过程。

本文针对如图1所示一次性白色圆形餐具的表面污渍检测问题,在已获得餐具图片的假设下,给出针对图1所示一次性白色圆形餐具表面污渍检测算法的设计思路。

图1 一次性圆形餐具示意图

图2示意了本文所给出的一次性圆形餐具表面污渍检测算法的处理流程。如图2 所示,算法处理时先从工业相机获取彩色图片,将彩色图片进行灰度化后,利用经验阈值二值化灰度图,然后用形态学求边界法获取圆形餐具的外轮廓线。在获得外轮廓线样本点后,采用最小二乘法对外轮廓线的样本点进行拟合,从中获得拟合圆的半径及圆心坐标参数。在获得拟合圆的半径及坐标参数后,结合餐具的尺寸参数进一步划分圆形餐具的检测区域,再通过经验阈值或自适应阈值二值化划分的区域,最后用区域生长法定位污渍区域。

图2 一次性圆形餐具表面污渍检测算法流程

2 算法关键点

2.1 外轮廓线的获取

将获得的灰度图像记为fg(x, y),采用经验阈值Td对fg(x, y)进行二值化, 获得的二值图像记为fb(x, y),采用3×3的结构算子B对fb(x, y)进行一次腐蚀,再用fb(x, y)减去腐蚀结果即可获得目标的外轮廓,记外轮廓图像为φ(x, y),则φ(x, y)可表示为式(1), Θ表示腐蚀操作。

2.2 最小二乘法拟合外轮廓线

一次性圆形餐具的外轮廓线可近似为一圆形曲线。拟合圆形曲线有Hough变换法、圆周投影法、最小二乘法等[5]。由于最小二乘法拟合效果较好,算法复杂度低,所以本文采取最小二乘法对§2.1所获得的外轮廓图像φ(x, y)的轮廓线进行拟合。设前面获得的外轮廓线上共有 m个样本点,样本点xi(i=1, 2, …, m)均含 有(xi, yi)两个坐标变量,分别代表外轮廓线上像素点的横坐标及纵坐标。设圆形餐具的外轮廓线可由式(2)所表示的圆曲线来表示,其中(Cx, Cy)代表圆心坐标值, r为圆的半径。公式(2)可整理为公式(3)。

记a1=-2Cx, a2=-2Cy, a3=C2x+C2y-r2则公式(3)可进一步表示为公式(4)。

根据最小二乘原理拟合外轮廓线的圆心及半径,利用半径平方差的平方和构造多元函数I,则有公式(5):

以a1, a2, a3为变量求解以上方程组得:

其中n1~n5取值如式(8)所示。在求得a1, a2, a3值后,即可获得拟合圆曲线的中心坐标(Cx, Cy)和半径r,如式(9)所示。

2.3 区域生长法定位缺陷位置

经最小二乘法拟合外轮廓线后,本文利用拟合后获得的圆心及半径参数对一次性餐具图像的待检区域进行划分,然后选定不同的阈值二值化各个待检区域。此时,带有色差的污渍即可在二值图上显现出来。为了进一步定位出污渍的具体位置,本文采用区域生长法定位污渍区域。算法的基本思想参见文献[6]。这里将区域生长定位算法的实现流程描述如下:

(1)初始化标记图像m(x,y)。将m(x, y)初始化为待标记的二值图像(设种子点灰度值为255)。

(2)逐行扫描 m(x,y)图像,若搜到种子点Seed(x0, y0),则以Seed(x0, y0)为中 心搜索邻域种子点,将满足四邻域条件的邻域种子点坐标压入堆栈,并将处理过的种子点的灰度值为置0。

(3)根据步骤(2)堆栈里的种子点位置坐标得到四连通域种子点的外接矩形框位置坐标:{f(x0, y0), ..., f(xL, yL)}→(xmin, xmax, ymin, ymax),矩形框坐标压入堆栈,返回(2)。

(4)逐个取出矩形框位 置坐标(xmin, xmax, ymin,ymax),根据矩形框位置坐标进行标记。

3 实验效果及分析

为进一步说明本文所述算法的检测效果,本文在CPU为Intel(R)Core(TM)2 Duo E8400 @3.00GHz,内存为2.99GHz 3.25GB,操作系统为Windows XP SP2的PC机上,以VC++6.0开发环境,对算法进行了实现[7]。测试图片大小为1 024×768。

对应于图2的算法流程,本文在进行算法实现时,主要涉及12个函数,函数名及其功能如下:

(1)ImgRGB2GreyTrans()//24位位图转8位灰度图;

(2)ImgThresholdSingleData()//固定阈值二值化;

(3)Erosion3X3()//形态学腐蚀操作;

(4)ImgDifWithBinary()//图像求差并二值化;

(5)GetfgPointNumber()//获取目标前景点个数;

(6)SetfgPoint()//设置样本点坐标值;

(7)LeastSquaresCircleFitting()//最小二乘算法拟合;

(8)RGBDrawCircle()//根据圆心、半径绘制圆曲线;

(9)CircleRegionSegmentation()//餐具检测区域划分;

(10)ImgThresholdWithMask()//区域二值化;

(11)RecRegionGrow()//区域生长法定位;

(12)ImgGrey2RGB4Show()//灰 度 图 转 为RGB图。

假设从工业相机中获取的图像已被转为24位的真彩色位图。由于算法处理的是8位灰度图,所以采用函数(1)将24 位真彩图转为8 位灰度图。获得灰度图后再调用函数(2),用固定阈值将灰度图二值化,此时可以获得前景目标(设前景像素灰度值为255)的二值掩模。依次调用函数(3)和函数(4)即可获得目标的外轮廓, 然后依次调用函数(5)、(6)、(7)对外轮廓线进行最小二乘法拟合,拟合后可获得圆曲线的半径及圆心坐标。在获得圆曲线的半径及圆心坐标后可以结合圆盘尺寸划分待检测区域。划分好检测区域后再对每个划分的区域调用函数(10)、(11)进行检测。由于显示的需要,函数(12)将8位位图转为24位位图进行显示。

图3给出了最小二乘法拟合餐具外轮廓曲线样本点的拟合效果示意图。图3外轮廓线的样本点数为2164。如图3所标记的,最小二乘法拟合所得圆曲线圆心坐标为(452, 384),拟合的外轮廓曲线半径R为377(以像素为单位)。 r1、r2分别为餐具内部区域划分时所对应的半径取值, r1和r2与R的比例可根据餐具的尺寸比例作为先验参数来设定。

图3 最小二乘法拟合一次性餐具外轮廓曲线

图4给出了本文算法对一次性白色圆形餐具表面污渍进行检测的效果示意图。图4(a)、(c)为检测所用的测试图片,图中含有的缺陷已在图4(a)、(c)中用圆圈进行标记。图4(b)、(d)为经本文算法进行检测后的效果。图4(b)、(d)中缺陷的标记采用§2.3所述的方法。

图4 本文算法检测效果示意图

图5为本文检测算法软件操作界面示意图。

图5 本文算法操作界面

本文在进行算法测试时以读取*.bmp图片的方式进行处理。在进行算法测试时,对于图5中的餐具图像,本文在最小二乘法拟合外轮廓曲线后将餐具图像划分成3个区域,各个划分区域的模板图像分别如图5右边纵列的3张小图像所示。图5的大图像即为总体的检测效果。在进行实时检测时可以利用该检测结果控制执行机构对含有缺陷的餐具进行报警或剔除。在进行二值化时本文采用取固定阈值的方法,对于一些需要自动求取阈值的应用场合,可采用文献[ 8]的方法。

4 结论

本文给出了一种针对一次性白色圆形餐具表面污渍检测算法的设计思路。本文主要从图像处理算法的角度考虑餐具的污渍检测问题,但真正应用场合还需综合考虑光源、相机以及现场生产条件,是一个需要反复试验的过程。因此,光源的选型及其安装、相机的选择以及其他形状餐具的处理是本文需进一步重点研究的问题。

[ 1] 滕丽娟,张仁贡,吴国忠.基于PLC的一次性餐具成型机控制系统[ J] .电工技术, 2007, 2007(5):52-54.

[ 2] Buzera M, Prostean G.New Algorithms Used in the Phasesof Automatic Classification of Products[ C] //2009 3rd International Workshop on Soft Computing Applications, 2009:215-218.

[ 3] 王晓东,程新宇,徐征,等.基于机器视觉的微小型零件精密装配[ J] .纳米技术与精密工程, 2009, 7(4):310-314.

[ 4] 蒋登峰,周娟.图像处理在晶圆瑕疵自动标记系统中的应用[ J] .中国计量学院学报, 2009, 20(2):167-170.

[ 5] 王洪建,刘波,邹昌平.圆形印章中心定位算法的研究[ J] .仪器仪表学报, 2006, 27(6):2256-2258.

[ 6] Rafael CGonzalez, Richard E Woods.数字图像处理(第二版)[ M] .北京:机械工业出版社, 2002.

[ 7] 孙志海,朱善安.视频运动目标检测及跟踪算法测试平台设计与实现[ J] .电子器件, 2009, 32(1):97-103.

[ 8] Otsu N.A Threshold Selection Method from Gray-LevelHistograms[ J] .IEEE Transactions on System Management and Cybemetic,1979, 9(1):62-66.

猜你喜欢

轮廓线污渍餐具
立体图像任意剖面轮廓线提取方法仿真研究
10款洗衣液推荐,搞定各种难洗污渍
基于HTML5的凸轮廓线图解法App教学软件研究
看餐具,识鸟喙
wasara纸餐具——环保不简单
Graft:可降解的一次性餐具
随身携带的迷你洗衣机:让你点到哪里洗哪里
手持式 洗衣机
基于鼻子下轮廓线的鼻尖定位法
污渍在波轮洗衣机中的洗涤特性研究