劉 洪 江, 汪 仁 煌
( 廣東工業(yè)大學(xué) 自動(dòng)化學(xué)院, 廣東 廣州 510090 )
羽毛球生產(chǎn)歷來采用人工方式。近年來由于人工成本的上升,全球除中國(guó)外都幾乎不生產(chǎn)羽毛球。而對(duì)中國(guó)的工廠,自動(dòng)化生產(chǎn)也已成為一個(gè)急迫的任務(wù)。羽毛檢測(cè)是自動(dòng)化生產(chǎn)的一部分,其中羽毛毛桿上的缺陷對(duì)羽毛球質(zhì)量影響較大,必須在使用前檢測(cè)出。傳統(tǒng)檢測(cè)方法依靠人工,高強(qiáng)度、高時(shí)效的工作要求以及主觀因素容易產(chǎn)生誤判和漏判,給生產(chǎn)帶來?yè)p失。采用機(jī)器視覺來檢測(cè)毛桿上的缺陷是提高效率、降低成本的一種有效方法。
機(jī)器視覺檢測(cè)缺陷已在織品、木材、鋼板、陶片等領(lǐng)域得到廣泛研究與應(yīng)用,基本采用濾波、統(tǒng)計(jì)、建立模型和形態(tài)學(xué)等方法[1-2]。有關(guān)羽毛圖像處理的相關(guān)文獻(xiàn)較少,僅2003年汕頭大學(xué)研究了羽毛片的自動(dòng)分揀系統(tǒng),提出用濾波的方法檢測(cè)毛桿缺陷[3],但對(duì)檢測(cè)中毛桿提取的關(guān)鍵技術(shù)介紹不詳,實(shí)驗(yàn)應(yīng)用效果不佳。本文提出一套毛桿缺陷在線檢測(cè)方案,包括預(yù)處理、毛桿分割和缺陷檢測(cè),在分割時(shí)采用Snake模型獲得精確的毛桿圖像,用小波的方法檢測(cè)缺陷,該方案經(jīng)過實(shí)驗(yàn)驗(yàn)證,更行之有效。
羽毛片自動(dòng)化檢測(cè)過程是:羽毛由機(jī)械手送到指定的夾頭后工位后,計(jì)算機(jī)控制工業(yè)攝像頭采集圖像,并通過千兆網(wǎng)卡,傳送到計(jì)算機(jī)內(nèi)存,計(jì)算機(jī)對(duì)采集圖像進(jìn)行處理和分析、識(shí)別缺陷,羽毛片按識(shí)別結(jié)果通過傳送帶將羽毛投遞到對(duì)應(yīng)位置的存儲(chǔ)箱中。
整個(gè)圖像處理過程分為3個(gè)步驟:(1)預(yù)處理,羽毛定位。主要是對(duì)圖像進(jìn)行去噪和剪輯,降低后繼處理的復(fù)雜度;(2)毛桿分割,把圖像中的毛桿通過算法進(jìn)行識(shí)別和分割,明確檢測(cè)對(duì)象;(3)缺陷檢測(cè),結(jié)合缺陷特征,對(duì)毛桿圖像上的灰度統(tǒng)計(jì)分析判定缺陷。
羽毛片由機(jī)械手送到指定的夾頭,夾頭周圍有一些其他部件,使原始圖像除了羽毛片圖像外必然存在一些背景圖像,背景的存在影響圖像處理;羽毛片形狀不規(guī)則,不同羽毛之間存在差異,圖像采集窗口必須加倍大于實(shí)際羽毛的長(zhǎng)寬,才能保證每片羽毛被完整采集。為此,要對(duì)圖像中羽毛片進(jìn)行定位。
設(shè)計(jì)采集環(huán)境,使采集圖像中背景亮度小,羽毛亮度高,與背景在灰度上差別大,適合用閾值分割。閾值法優(yōu)點(diǎn)在于速度快且算法不復(fù)雜,符合檢測(cè)速度要求。閾值法定義如下:
(1)
式(1)中,f為處理后圖像;I為原始圖像;R為閾值。
閾值的選取是式(1)的關(guān)鍵,本實(shí)驗(yàn)閾值采用最大類間方差法(OSTU)來獲取,OSTU方法把圖像灰度統(tǒng)計(jì)信息看成函數(shù),并用灰度閾值將統(tǒng)計(jì)函數(shù)劃分為前景和背景兩類,當(dāng)被分開兩類的方差最大時(shí)為最佳閾值。
閾值法劃分后圖像上前景還包含部分非羽毛的區(qū)域,這些區(qū)域與羽毛區(qū)域空間上隔離,而且面積較小。保留面積最大連通域即可獲得干凈的羽毛二值圖像,然后剪切圖像至包含羽毛區(qū)域的最小矩形,剪切后圖像面積不到原始圖像的一半。如圖1圖像寬度為820像素,高度為300像素;而剪切后的圖像(見圖2)寬度為586像素,高度為171像素,縮小面積有助于提高后繼圖像處理速度。
圖1 羽毛原始圖像
圖2 剪切后的羽毛圖像
羽毛片區(qū)域包含毛桿與毛葉,檢測(cè)需要將毛桿分割出來,本文采用邊緣法提取毛桿。邊緣法提取毛桿需要獲得一個(gè)環(huán)繞毛桿的閉合曲線,該曲線可通過圖像的灰度和梯度變化,以及曲線的連續(xù)性和可導(dǎo)性來獲取,這是Snake方法[4]。Snake模型是一條連續(xù)的彈性曲線在事先規(guī)定能量方程的約束下進(jìn)行演化,隨著演化的進(jìn)行總能量減小,當(dāng)總能量達(dá)到極值時(shí),曲線也由初始位置靠近圖像中的特征位置。用一組控制點(diǎn)V(s)=[X(s),Y(s)]表示模型曲線(其由3個(gè)部分組成:內(nèi)部能量函數(shù)Eint,外部能量函數(shù)Eext和圖像能量Eimage),則Snake目標(biāo)能量函數(shù)Esnake可用下式表示:
Eimage(V(s))ds
(2)
式(2)中,Eint代表內(nèi)部能量,體現(xiàn)曲線的連續(xù)性和可導(dǎo)性,分別用α,β函數(shù)作為權(quán)重系數(shù):
(3)
式(2)中,Eimage表示為圖像力,可劃分為線能量Eline、邊緣能量Eedge和端點(diǎn)能量Eterm。Eline可直接使用圖像灰度I(x,y)表示,把Snake曲線逼近圖像中的亮線或暗線。Eedge可用灰度圖像的梯度表示,把Snake曲線逼近圖像中灰度梯度較大的位置。Eterm由圖像梯度的單位法向量及其角度決定,將Snake曲線向圖像中的一些端點(diǎn)逼近。本研究只考慮Eedge能量,計(jì)算時(shí)用高斯函數(shù)進(jìn)行濾波,用以消除局部極值影響,擴(kuò)大邊緣力的作用范圍并加快收斂速度:
Eedge(V(s))=-[Gσ×▽2I(x,y)]2
(4)
式(4)中,▽為梯度算子,Gσ為方差為σ的高斯函數(shù)。
式(2)中Eext表示其他形式能量。本研究采用氣球力模型,基本原理是:對(duì)模型施加一個(gè)常力或自適應(yīng)力,使在圖像能為零時(shí)仍能繼續(xù)驅(qū)動(dòng)模型變化,強(qiáng)制驅(qū)使模型靠向目標(biāo)[5]。氣球力能量Eballons定義由式(5)獲得:
Eballons=klN(s)
(5)
式(5)中,kl為氣球力大小,N(s)是曲線的單位法向量。設(shè)定毛桿的初始輪廓線在毛桿外面,疊加一個(gè)向內(nèi)的壓力可使Snake曲線收縮到毛桿邊緣梯度最大位置,而不至于使曲線陷入到污漬、蟲蛀等邊緣位置。
綜合上幾式,得到毛桿邊緣曲線snake能量泛函:
[Gσ×▽2I(x,y)]2+klN(s)ds
(6)
αddsV'(s)-βd2ds2V″(s)-[Gσ×2I(x,y)]2+
klN(s)=0
(7)
曲線V(s)很難直接精確地求出,可對(duì)模型方程進(jìn)行離散化求解,使用梯度下降法沿著梯度減少的方向變化直至收斂。梯度下降法所用迭代公式如下:
(8)
式(8)中,t表示迭代次數(shù),fx(xt-1,yt-1),fy(xt-1,yt-1)分別表示函數(shù)[Gσ×▽2I(x,y)]2+klN(s)在點(diǎn)(xt-1,yt-1)處對(duì)x,y的偏導(dǎo),γ可以理解為時(shí)間步長(zhǎng)描述的阻尼系數(shù),A是由α,β組成的五對(duì)角陣[5]。
Snake模型的求解與初始位置密切相關(guān),氣球模型要求毛桿被包含在初始輪廓內(nèi)。初始輪廓的定義方法與羽毛圖像的坐標(biāo)相關(guān)(見圖3),羽毛前半部分的初始輪廓取毛桿尖端坐標(biāo)與羽毛上下極點(diǎn)的中值的矩形區(qū)域,后半部分取毛片的輪廓線。55次迭代求解后曲線輪廓基本與毛桿邊緣一致(見圖4),達(dá)到分割效果。
圖3 Snake演化初始輪廓線
圖4α=1,β=30,Kl=0.6迭代55次后的輪廓線
Fig.4 The contour after 55 iterations usingα=1,β=30,Kl=0.6
折痕是羽毛片的主要缺陷,它影響羽毛球的耐打程度,是衡量羽毛球質(zhì)量的重要指標(biāo)。如細(xì)化毛桿和折痕為曲線,折痕大致垂直于毛桿。折痕屬于形狀缺陷,從毛桿縱截面上看呈V字形,V形缺陷兩斜面對(duì)側(cè)向入射光反射效果不同[6]。據(jù)光學(xué)的反射定律,折痕的背光面的入射角大,反射光區(qū)域遠(yuǎn)離觀測(cè)點(diǎn),觀測(cè)到的亮度小,而迎光面入射角小,觀測(cè)點(diǎn)位于反射光覆蓋范圍,觀測(cè)到光亮度大。從光照方向上看過去,在缺陷區(qū)域亮度有一個(gè)類似顛倒的正弦波的變化過程。如果在待測(cè)的毛桿上檢測(cè)到這種規(guī)律的亮度變化,可判定存在折痕缺陷。按列統(tǒng)計(jì)圖像中毛桿灰度平均值,獲得毛桿長(zhǎng)度方向灰度變化近似曲線(見圖5)。這樣可將二維的面檢測(cè)簡(jiǎn)化到一維曲線局部特征檢測(cè),提高了檢測(cè)速度。用小波方法分析該曲線,檢測(cè)符合缺陷變化的特征[7]。
小波變換以小波函數(shù)ψ(t)為基底對(duì)信號(hào)f(t)進(jìn)行分解:
(9)
式(9)中,ψa,b(t)是把小波基函數(shù)ψ(t)經(jīng)過平移和縮放得到的一組函數(shù),a為尺度參數(shù),b為平移參數(shù)。信號(hào)分解后,得到各頻段的分解系數(shù)。無折痕時(shí),毛桿的灰度均值曲線局部區(qū)域變化不大,可認(rèn)為分解系數(shù)符合正態(tài)分布,有折痕時(shí),折痕位置的分解系數(shù)偏離平均值較遠(yuǎn),常用3倍的統(tǒng)計(jì)方差作為特征判斷閾值。
小波基、分析方法和分解尺度等因素直接影響小波分析效果。小波基選擇與缺陷信號(hào)形狀相似的波形便于檢測(cè),本研究選取bior1.5作為檢測(cè)基函數(shù),分析方法可按變換參數(shù)連續(xù)性劃分,本研究要求分析方法需具備平移不變性,則采用連續(xù)小波變換方法。不同分解尺度檢測(cè)不同大小的特征,待測(cè)曲線中缺陷寬度一般在4~18像素之間,小波變化尺度宜選擇在3~20級(jí)。圖6是將圖5信號(hào)進(jìn)行連續(xù)小波分解的實(shí)驗(yàn)結(jié)果,圖6中由下到上分解級(jí)數(shù)逐漸增大。觀察分解結(jié)果可看到,在毛桿缺陷所在位置的小波分解系數(shù)出現(xiàn)了極值。極值反映了一種不連續(xù)狀態(tài),與正常的分解系數(shù)相比,特征明顯。還觀察到圖像兩側(cè)也出現(xiàn)的極值,這是毛桿邊界的影響,在實(shí)際應(yīng)用可把兩端連續(xù)出現(xiàn)的非正常值忽略后再進(jìn)行統(tǒng)計(jì),以獲得正確結(jié)果。
圖6 對(duì)圖5的信號(hào)進(jìn)行連續(xù)小波分解
Fig.6 The continuous wavelet decomposition on the signal of figure 5
對(duì)6 079片羽毛用上述方案進(jìn)行檢測(cè),檢測(cè)結(jié)果見表1。
表1 檢測(cè)統(tǒng)計(jì)結(jié)果
由實(shí)驗(yàn)結(jié)果可得出,本方案可以檢測(cè)出大部分有缺陷的羽毛,分析檢測(cè)不出缺陷的羽毛圖像,發(fā)現(xiàn)檢測(cè)錯(cuò)誤原因有三點(diǎn):(1)缺陷位置接近毛桿兩端,統(tǒng)計(jì)出的極值點(diǎn)被算法當(dāng)作邊緣極值忽略;(2)圖像中羽毛桿過于彎曲,用近似方法獲得毛桿灰度平均曲線不準(zhǔn)確,缺陷特征分散到較大區(qū)域,檢測(cè)不出極值存在,產(chǎn)生了漏判;(3)圖像上缺陷很小,只1~2像素寬,色差也不大,統(tǒng)計(jì)時(shí)特征不明顯,而且人眼也難識(shí)別。此外結(jié)果中還有部分無缺陷的毛桿被誤判為有缺陷,誤判是由污漬、波紋以及毛葉絲被扭轉(zhuǎn)蓋在毛桿上等原因造成。
檢測(cè)方案的平均運(yùn)行時(shí)間2.3 s,其中缺陷檢測(cè)速度較快,約不到10 ms。而Snake算法速度較慢約2 s。但本研究算法能大幅提高毛桿提取準(zhǔn)確率,基本避免了因毛桿提取不準(zhǔn)確而影響到缺陷檢測(cè)結(jié)果的情況發(fā)生。
本文建立了羽毛桿缺陷在線檢測(cè)方案,重點(diǎn)介紹在圖像處理中快速有效地獲得檢測(cè)結(jié)果。預(yù)處理時(shí)截取原始圖像中羽毛片部分的圖像,來減少后繼圖像運(yùn)算規(guī)模;用Snake方法分割毛桿,保證了輪廓線的完整和準(zhǔn)確有效;缺陷檢測(cè)時(shí),先計(jì)算水平方向上毛桿灰度平均值,簡(jiǎn)化二維特征檢測(cè)為一維信號(hào)上奇異點(diǎn)檢測(cè),加快了運(yùn)算速度;在連續(xù)小波分解信號(hào)后,用統(tǒng)計(jì)方法來檢測(cè)小波系數(shù)中的極值。該缺陷檢測(cè)方法經(jīng)驗(yàn)證行之快速有效,符合工業(yè)生產(chǎn)需要。
[1] CHEN J, JAIN A. A structural approach to identify defects in textured images[J]. In IEEE International Conference on Systems, Man, and Cybernetics, 1988(1): 29-32.
[2] NISKANEN M, KAUPPINEN H, SILVLEN O. Real-time apects of SOM-based visual surface inspection[J]. In Machine Vision Applications in Industrial Inspection, 2002(1):123-134.
[3] 郭曉鋒,劉文田. 基于圖像處理的羽毛自動(dòng)分揀系統(tǒng)[J]. 現(xiàn)代電子技術(shù), 2004(3):30-31.
[4] KASS M, WITKIN A, TERZOPOULOS D. Snake:active contour models [J]. Journal of Computer Vision, 1988(1):321-331.
[5] COHEN L D. On active contour models and balloons[J]. Computer Vision and Graphic Imaging Process:Image Understanding, 1991, 53(2):211-218.
[6] 涂宏斌,周新建. 基于機(jī)器視覺的貨車滾動(dòng)軸承外圈麻點(diǎn)缺陷檢測(cè)[J]. 鑄造技術(shù), 2006, 27(9):978-980.
[7] 于海武,烏日?qǐng)D. 基于小波分析的織物疵點(diǎn)視覺檢測(cè)方法[J]. 計(jì)量與測(cè)試技術(shù), 2007, 34(10):40-42.