孫志海
(杭州電子科技大學(xué)計(jì)算機(jī)學(xué)院, 杭州310037)
隨著計(jì)算機(jī)實(shí)時(shí)控制技術(shù)的進(jìn)步,一次性餐具成型系統(tǒng)的自動(dòng)化程度獲得大幅度的提高[1]。一次性餐具生產(chǎn)系統(tǒng)自動(dòng)化程度的提高,不僅降低了制造廠商的人力投入,而且提高了生產(chǎn)線的生產(chǎn)效率。然而,當(dāng)前一次性餐具制造業(yè)的競(jìng)爭(zhēng)越來(lái)越激烈,加上一次性餐具本身用途的特殊性,使得制造廠商對(duì)所生產(chǎn)一次性餐具的外觀質(zhì)量提出了更高的要求,特別是對(duì)一次性白色餐具的要求很?chē)?yán)格。若所生產(chǎn)的一次性白色餐具存在表面缺陷,如黑點(diǎn)、黃斑、油污、褶皺、透光、裂痕、表面凹凸不平或形狀缺陷(如圓盤(pán)不圓)等,將會(huì)對(duì)餐具的整體銷(xiāo)售帶來(lái)不良影響,所以,一次性餐具出廠前一般需要對(duì)餐具的外觀質(zhì)量進(jìn)行嚴(yán)格檢測(cè),剔除存在缺陷的產(chǎn)品。然而,目前一次性餐具表面質(zhì)量的檢測(cè)大部分是通過(guò)人工檢測(cè),使得檢測(cè)效果常常受限于檢測(cè)人員的主觀意識(shí)及人眼疲勞程度,導(dǎo)致缺陷檢測(cè)精度無(wú)法界定,整體檢測(cè)效率較低。當(dāng)前機(jī)器視覺(jué)檢測(cè)技術(shù)的流行[2-3],給一次性餐具表面缺陷的檢測(cè)提供了一種新思路,即利用工業(yè)相機(jī)獲取餐具圖像,用圖像處理算法對(duì)餐具圖像進(jìn)行分析,最終判斷餐具是否含有缺陷。工業(yè)機(jī)器視覺(jué)檢測(cè)平臺(tái)一般隨被檢測(cè)目標(biāo)及現(xiàn)場(chǎng)環(huán)境的不同而有較大差異。本文主要圍繞一次性白色圓形餐具表面污漬的檢測(cè)問(wèn)題,給出一種一次性白色圓形餐具表面污漬檢測(cè)算法的設(shè)計(jì)思路。
采用機(jī)器視覺(jué)的方式檢測(cè)目標(biāo)外表面缺陷,一般需綜合考慮被檢目標(biāo)、工業(yè)現(xiàn)場(chǎng)生產(chǎn)環(huán)境及其所允許的安裝條件,再結(jié)合適當(dāng)?shù)臋C(jī)械執(zhí)行機(jī)構(gòu),方能獲得良好的檢測(cè)效果。唯有在保證良好采集環(huán)境的條件下,對(duì)應(yīng)的圖像處理算法才能真正發(fā)揮作用。然而,上述約束條件中工業(yè)相機(jī)、光源及光源投射方式的確定和設(shè)計(jì)則是一個(gè)需要定制及反復(fù)試驗(yàn)的過(guò)程。
本文針對(duì)如圖1所示一次性白色圓形餐具的表面污漬檢測(cè)問(wèn)題,在已獲得餐具圖片的假設(shè)下,給出針對(duì)圖1所示一次性白色圓形餐具表面污漬檢測(cè)算法的設(shè)計(jì)思路。
圖1 一次性圓形餐具示意圖
圖2示意了本文所給出的一次性圓形餐具表面污漬檢測(cè)算法的處理流程。如圖2 所示,算法處理時(shí)先從工業(yè)相機(jī)獲取彩色圖片,將彩色圖片進(jìn)行灰度化后,利用經(jīng)驗(yàn)閾值二值化灰度圖,然后用形態(tài)學(xué)求邊界法獲取圓形餐具的外輪廓線。在獲得外輪廓線樣本點(diǎn)后,采用最小二乘法對(duì)外輪廓線的樣本點(diǎn)進(jìn)行擬合,從中獲得擬合圓的半徑及圓心坐標(biāo)參數(shù)。在獲得擬合圓的半徑及坐標(biāo)參數(shù)后,結(jié)合餐具的尺寸參數(shù)進(jìn)一步劃分圓形餐具的檢測(cè)區(qū)域,再通過(guò)經(jīng)驗(yàn)閾值或自適應(yīng)閾值二值化劃分的區(qū)域,最后用區(qū)域生長(zhǎng)法定位污漬區(qū)域。
圖2 一次性圓形餐具表面污漬檢測(cè)算法流程
將獲得的灰度圖像記為fg(x, y),采用經(jīng)驗(yàn)閾值Td對(duì)fg(x, y)進(jìn)行二值化, 獲得的二值圖像記為fb(x, y),采用3×3的結(jié)構(gòu)算子B對(duì)fb(x, y)進(jìn)行一次腐蝕,再用fb(x, y)減去腐蝕結(jié)果即可獲得目標(biāo)的外輪廓,記外輪廓圖像為φ(x, y),則φ(x, y)可表示為式(1), Θ表示腐蝕操作。
一次性圓形餐具的外輪廓線可近似為一圓形曲線。擬合圓形曲線有Hough變換法、圓周投影法、最小二乘法等[5]。由于最小二乘法擬合效果較好,算法復(fù)雜度低,所以本文采取最小二乘法對(duì)§2.1所獲得的外輪廓圖像φ(x, y)的輪廓線進(jìn)行擬合。設(shè)前面獲得的外輪廓線上共有 m個(gè)樣本點(diǎn),樣本點(diǎn)xi(i=1, 2, …, m)均含 有(xi, yi)兩個(gè)坐標(biāo)變量,分別代表外輪廓線上像素點(diǎn)的橫坐標(biāo)及縱坐標(biāo)。設(shè)圓形餐具的外輪廓線可由式(2)所表示的圓曲線來(lái)表示,其中(Cx, Cy)代表圓心坐標(biāo)值, r為圓的半徑。公式(2)可整理為公式(3)。
記a1=-2Cx, a2=-2Cy, a3=C2x+C2y-r2則公式(3)可進(jìn)一步表示為公式(4)。
根據(jù)最小二乘原理擬合外輪廓線的圓心及半徑,利用半徑平方差的平方和構(gòu)造多元函數(shù)I,則有公式(5):
以a1, a2, a3為變量求解以上方程組得:
其中n1~n5取值如式(8)所示。在求得a1, a2, a3值后,即可獲得擬合圓曲線的中心坐標(biāo)(Cx, Cy)和半徑r,如式(9)所示。
經(jīng)最小二乘法擬合外輪廓線后,本文利用擬合后獲得的圓心及半徑參數(shù)對(duì)一次性餐具圖像的待檢區(qū)域進(jìn)行劃分,然后選定不同的閾值二值化各個(gè)待檢區(qū)域。此時(shí),帶有色差的污漬即可在二值圖上顯現(xiàn)出來(lái)。為了進(jìn)一步定位出污漬的具體位置,本文采用區(qū)域生長(zhǎng)法定位污漬區(qū)域。算法的基本思想?yún)⒁?jiàn)文獻(xiàn)[6]。這里將區(qū)域生長(zhǎng)定位算法的實(shí)現(xiàn)流程描述如下:
(1)初始化標(biāo)記圖像m(x,y)。將m(x, y)初始化為待標(biāo)記的二值圖像(設(shè)種子點(diǎn)灰度值為255)。
(2)逐行掃描 m(x,y)圖像,若搜到種子點(diǎn)Seed(x0, y0),則以Seed(x0, y0)為中 心搜索鄰域種子點(diǎn),將滿足四鄰域條件的鄰域種子點(diǎn)坐標(biāo)壓入堆棧,并將處理過(guò)的種子點(diǎn)的灰度值為置0。
(3)根據(jù)步驟(2)堆棧里的種子點(diǎn)位置坐標(biāo)得到四連通域種子點(diǎn)的外接矩形框位置坐標(biāo):{f(x0, y0), ..., f(xL, yL)}→(xmin, xmax, ymin, ymax),矩形框坐標(biāo)壓入堆棧,返回(2)。
(4)逐個(gè)取出矩形框位 置坐標(biāo)(xmin, xmax, ymin,ymax),根據(jù)矩形框位置坐標(biāo)進(jìn)行標(biāo)記。
為進(jìn)一步說(shuō)明本文所述算法的檢測(cè)效果,本文在CPU為Intel(R)Core(TM)2 Duo E8400 @3.00GHz,內(nèi)存為2.99GHz 3.25GB,操作系統(tǒng)為Windows XP SP2的PC機(jī)上,以VC++6.0開(kāi)發(fā)環(huán)境,對(duì)算法進(jìn)行了實(shí)現(xiàn)[7]。測(cè)試圖片大小為1 024×768。
對(duì)應(yīng)于圖2的算法流程,本文在進(jìn)行算法實(shí)現(xiàn)時(shí),主要涉及12個(gè)函數(shù),函數(shù)名及其功能如下:
(1)ImgRGB2GreyTrans()//24位位圖轉(zhuǎn)8位灰度圖;
(2)ImgThresholdSingleData()//固定閾值二值化;
(3)Erosion3X3()//形態(tài)學(xué)腐蝕操作;
(4)ImgDifWithBinary()//圖像求差并二值化;
(5)GetfgPointNumber()//獲取目標(biāo)前景點(diǎn)個(gè)數(shù);
(6)SetfgPoint()//設(shè)置樣本點(diǎn)坐標(biāo)值;
(7)LeastSquaresCircleFitting()//最小二乘算法擬合;
(8)RGBDrawCircle()//根據(jù)圓心、半徑繪制圓曲線;
(9)CircleRegionSegmentation()//餐具檢測(cè)區(qū)域劃分;
(10)ImgThresholdWithMask()//區(qū)域二值化;
(11)RecRegionGrow()//區(qū)域生長(zhǎng)法定位;
(12)ImgGrey2RGB4Show()//灰 度 圖 轉(zhuǎn) 為RGB圖。
假設(shè)從工業(yè)相機(jī)中獲取的圖像已被轉(zhuǎn)為24位的真彩色位圖。由于算法處理的是8位灰度圖,所以采用函數(shù)(1)將24 位真彩圖轉(zhuǎn)為8 位灰度圖。獲得灰度圖后再調(diào)用函數(shù)(2),用固定閾值將灰度圖二值化,此時(shí)可以獲得前景目標(biāo)(設(shè)前景像素灰度值為255)的二值掩模。依次調(diào)用函數(shù)(3)和函數(shù)(4)即可獲得目標(biāo)的外輪廓, 然后依次調(diào)用函數(shù)(5)、(6)、(7)對(duì)外輪廓線進(jìn)行最小二乘法擬合,擬合后可獲得圓曲線的半徑及圓心坐標(biāo)。在獲得圓曲線的半徑及圓心坐標(biāo)后可以結(jié)合圓盤(pán)尺寸劃分待檢測(cè)區(qū)域。劃分好檢測(cè)區(qū)域后再對(duì)每個(gè)劃分的區(qū)域調(diào)用函數(shù)(10)、(11)進(jìn)行檢測(cè)。由于顯示的需要,函數(shù)(12)將8位位圖轉(zhuǎn)為24位位圖進(jìn)行顯示。
圖3給出了最小二乘法擬合餐具外輪廓曲線樣本點(diǎn)的擬合效果示意圖。圖3外輪廓線的樣本點(diǎn)數(shù)為2164。如圖3所標(biāo)記的,最小二乘法擬合所得圓曲線圓心坐標(biāo)為(452, 384),擬合的外輪廓曲線半徑R為377(以像素為單位)。 r1、r2分別為餐具內(nèi)部區(qū)域劃分時(shí)所對(duì)應(yīng)的半徑取值, r1和r2與R的比例可根據(jù)餐具的尺寸比例作為先驗(yàn)參數(shù)來(lái)設(shè)定。
圖3 最小二乘法擬合一次性餐具外輪廓曲線
圖4給出了本文算法對(duì)一次性白色圓形餐具表面污漬進(jìn)行檢測(cè)的效果示意圖。圖4(a)、(c)為檢測(cè)所用的測(cè)試圖片,圖中含有的缺陷已在圖4(a)、(c)中用圓圈進(jìn)行標(biāo)記。圖4(b)、(d)為經(jīng)本文算法進(jìn)行檢測(cè)后的效果。圖4(b)、(d)中缺陷的標(biāo)記采用§2.3所述的方法。
圖4 本文算法檢測(cè)效果示意圖
圖5為本文檢測(cè)算法軟件操作界面示意圖。
圖5 本文算法操作界面
本文在進(jìn)行算法測(cè)試時(shí)以讀取*.bmp圖片的方式進(jìn)行處理。在進(jìn)行算法測(cè)試時(shí),對(duì)于圖5中的餐具圖像,本文在最小二乘法擬合外輪廓曲線后將餐具圖像劃分成3個(gè)區(qū)域,各個(gè)劃分區(qū)域的模板圖像分別如圖5右邊縱列的3張小圖像所示。圖5的大圖像即為總體的檢測(cè)效果。在進(jìn)行實(shí)時(shí)檢測(cè)時(shí)可以利用該檢測(cè)結(jié)果控制執(zhí)行機(jī)構(gòu)對(duì)含有缺陷的餐具進(jìn)行報(bào)警或剔除。在進(jìn)行二值化時(shí)本文采用取固定閾值的方法,對(duì)于一些需要自動(dòng)求取閾值的應(yīng)用場(chǎng)合,可采用文獻(xiàn)[ 8]的方法。
本文給出了一種針對(duì)一次性白色圓形餐具表面污漬檢測(cè)算法的設(shè)計(jì)思路。本文主要從圖像處理算法的角度考慮餐具的污漬檢測(cè)問(wèn)題,但真正應(yīng)用場(chǎng)合還需綜合考慮光源、相機(jī)以及現(xiàn)場(chǎng)生產(chǎn)條件,是一個(gè)需要反復(fù)試驗(yàn)的過(guò)程。因此,光源的選型及其安裝、相機(jī)的選擇以及其他形狀餐具的處理是本文需進(jìn)一步重點(diǎn)研究的問(wèn)題。
[ 1] 滕麗娟,張仁貢,吳國(guó)忠.基于PLC的一次性餐具成型機(jī)控制系統(tǒng)[ J] .電工技術(shù), 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ī)器視覺(jué)的微小型零件精密裝配[ J] .納米技術(shù)與精密工程, 2009, 7(4):310-314.
[ 4] 蔣登峰,周娟.圖像處理在晶圓瑕疵自動(dòng)標(biāo)記系統(tǒng)中的應(yīng)用[ J] .中國(guó)計(jì)量學(xué)院學(xué)報(bào), 2009, 20(2):167-170.
[ 5] 王洪建,劉波,鄒昌平.圓形印章中心定位算法的研究[ J] .儀器儀表學(xué)報(bào), 2006, 27(6):2256-2258.
[ 6] Rafael CGonzalez, Richard E Woods.數(shù)字圖像處理(第二版)[ M] .北京:機(jī)械工業(yè)出版社, 2002.
[ 7] 孫志海,朱善安.視頻運(yùn)動(dòng)目標(biāo)檢測(cè)及跟蹤算法測(cè)試平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[ 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.