張 偉 曾 碧
(廣東工業(yè)大學(xué)計算機(jī)學(xué)院 廣東 廣州 510006)
針對復(fù)雜紋理的手機(jī)外殼缺陷檢測方法
張 偉 曾 碧
(廣東工業(yè)大學(xué)計算機(jī)學(xué)院 廣東 廣州 510006)
針對手機(jī)表面存在紋理復(fù)雜、缺陷細(xì)小和缺陷多樣性等特點,提出一種應(yīng)用于復(fù)雜紋理的手機(jī)外殼缺陷檢測方法。該方法首先對手機(jī)外殼表面劃分區(qū)域進(jìn)行放大處理,并抑制放大后的紋理。然后進(jìn)行圖像的主結(jié)構(gòu)提取,再采用一種自適應(yīng)邊緣檢測Roberts方法來進(jìn)行缺陷輪廓提取。最后運用一系列的中值濾波、形態(tài)學(xué)運算等方法來綜合處理并提取缺陷。實驗表明,對手機(jī)外殼的劃痕、污漬等缺陷誤檢率低,具有良好的檢測效果。
缺陷檢測 紋理抑制 邊緣檢測 中值濾波 數(shù)學(xué)形態(tài)學(xué)
近年來,表面缺陷檢測技術(shù)廣泛地應(yīng)用在鋼材、織物、木材等方面,而隨著工業(yè)機(jī)器人的興起,手機(jī)外殼打磨拋光開始走向自動化。而在手機(jī)外殼打磨拋光的過程中,由于手機(jī)外殼專有的特性和光潔度的需求,準(zhǔn)確檢測出手機(jī)外殼細(xì)小劃痕、污漬等缺陷是實現(xiàn)自動化的重要的一步。
有關(guān)表面缺損檢測方法一直都是學(xué)者和工業(yè)界研究熱點。2008年,Xie[1]從紋理分析表面缺陷檢測總結(jié)了統(tǒng)計、結(jié)構(gòu)、模型等方法,并仔細(xì)對各個方法進(jìn)行了分析和比較。2014年,羅菁等[2]針對表面缺陷檢測技術(shù)總結(jié)出三類方法:統(tǒng)計法、頻譜法和模型法,并分別比較了各類檢測方法的算法性能、應(yīng)用場景等優(yōu)缺點。2009年,Mak等[3]設(shè)計了一個優(yōu)化的形態(tài)學(xué)濾波器來增強(qiáng)圖像缺陷和背景的對比度,最后用閾值法檢測其表面缺陷,有效地解決了缺陷和非缺陷之間的低對比度問題。2011年,Zhang等[4]利用小波平滑方法去除圖像中的噪聲,然后對圖像進(jìn)行二值化并提取5個譜特征作為支持向量機(jī)的輸入,最終實現(xiàn)7種缺陷檢測,解決了噪聲對缺陷提取的影響。在表面缺陷檢測中,Gabor濾波也是一種很好的檢測方法。2014年,宋迪等[5]針對手機(jī)配件劃痕提出了一種基于Gabor和紋理抑制的手機(jī)配件劃痕檢測算法,先對圖像進(jìn)行Gabor濾波,提取出劃痕的骨架結(jié)構(gòu),利用各向異性紋理抑制方法抑制金屬表面的紋理,再用滯后閾值準(zhǔn)確提取劃痕。
但總的來說,由于金屬表面的復(fù)雜紋理和缺陷較小,很容易造成誤檢或者漏檢。由此本文綜合分析了目前復(fù)雜底紋的缺損檢測方法,并結(jié)合手機(jī)外殼打磨拋光項目需求,提出了一種基于機(jī)器視覺的手機(jī)外殼復(fù)雜紋理缺陷檢測算法。首先對手機(jī)外殼進(jìn)行區(qū)域劃分放大,抑制放大后的紋理,再結(jié)合自適應(yīng)Roberts算子、中值濾波和形態(tài)學(xué)運算等方法進(jìn)行綜合處理,最終實現(xiàn)多種缺陷的提取。
手機(jī)外殼一般具有復(fù)雜紋理,而且其缺陷比較細(xì)小,不容易察覺。如果直接使用邊緣檢測、Gabor濾波等方法,很難完全排除紋理的干擾,容易造成誤檢。本文針對缺陷的細(xì)小、結(jié)構(gòu)類型不同等特征,先對手機(jī)外殼進(jìn)行區(qū)域劃分。然后采用Micro Capture數(shù)碼顯微鏡放大,根據(jù)觀察各個區(qū)域放大的結(jié)果,將缺陷分為劃痕、擦痕、缺損、污漬等四種缺陷。如圖1所示。
圖1 四種缺陷
針對四種缺陷的特點,本文提出了一種基于機(jī)器視覺的手機(jī)外殼復(fù)雜紋理缺陷檢測算法。該算法的主要功能流程模塊圖如圖2所示。
圖2 功能流程模塊圖
具體的算法流程如下:
1) 輸入原始圖像,轉(zhuǎn)化為灰度圖,合理選擇紋理抑制參數(shù),進(jìn)行各向異性的紋理抑制,提取圖像的主結(jié)構(gòu);
2) 選取和計算邊緣檢測的自適應(yīng)閾值,對紋理抑制后的圖像進(jìn)行Roberts邊緣檢測,提取缺陷的輪廓;
3) 對邊緣檢測的結(jié)果進(jìn)行快速中值濾波,并創(chuàng)建任意形狀的結(jié)構(gòu)元素進(jìn)行腐蝕和膨脹等數(shù)學(xué)形態(tài)學(xué)的消噪處理;
4) 采用八聯(lián)通區(qū)域法標(biāo)記缺陷候選區(qū)域,進(jìn)行面積篩選,刪除一些虛假缺陷區(qū)域,并輸出二值化的缺陷圖像,返回篩選出的缺陷坐標(biāo)。
2.1 各向異性的紋理抑制
從圖1中可以看出其表面除了缺陷類型各異外,還具有復(fù)雜的紋理背景,如果直接進(jìn)行邊緣檢測,噪聲較多,不宜提取缺陷。本文用Canny、Roberts等邊緣檢測算子對劃痕缺陷進(jìn)行實驗,結(jié)果見圖3。
圖3 邊緣檢測結(jié)果
從圖3的邊緣檢測結(jié)果可以看出:在復(fù)雜背景下單純地使用邊緣檢測算子處理,噪聲較多,無法準(zhǔn)確地提取缺陷位置。為了消除復(fù)雜紋理背景對缺陷提取的干擾,需要考慮對復(fù)雜紋理背景進(jìn)行紋理抑制。在圖像去噪的問題上,總變分(ROF)模型是一種廣泛應(yīng)用在圖像重構(gòu)、復(fù)原、去噪的方法,ROF模型定義為[6]:
(1)
2012年,Li等[7]提出一種改進(jìn),模型如下:
(2)
其中:I代表輸入圖像,p代表2D圖像像素的索引,S代表輸出結(jié)構(gòu)圖像。
(3)
q是以p點為中心的一個正方形區(qū)域內(nèi)的所有的像素點的索引,g為高斯函數(shù)。
(4)
根據(jù)文獻(xiàn)[7],在式(2)-式(4)中有4個參數(shù),分別是λ、σ、ε、T。λ是一個權(quán)重系數(shù),主要是用來控制圖像的光滑程度,過度減小λ會導(dǎo)致紋理難以分割,過度增加λ會造成圖像的模糊,導(dǎo)致類似擦痕、缺損等缺陷細(xì)節(jié)過濾掉。λ的范圍為[0.01,0.03],這里取0.015。空間尺度參數(shù)σ的選取取決于紋理的尺度大小,該參數(shù)在結(jié)構(gòu)紋理分離過程中至關(guān)重要,過大或者過小都會導(dǎo)致劃痕、擦痕等與紋理難以分割,設(shè)置范圍是(0,8],這里設(shè)為3。參數(shù)ε與最終輸出圖像的清晰度對應(yīng),它的值越小,結(jié)果越清晰。由于劃痕、污漬缺陷整體結(jié)構(gòu)比較完整,當(dāng)ε減小時越容易提取缺陷。ε范圍為(0.001,0.03],設(shè)為0.02。T表示迭代次數(shù),理論上只需3~5步就可以達(dá)到收斂狀態(tài)。由實驗可知,T只要取2就可以達(dá)到比較好的效果,以減少迭代時間。
在計算式(2)時,相當(dāng)于求解Ax=b(A為n階對稱正定矩陣),而對于大型稀疏矩陣,共軛梯度法是一種求解大型稀疏矩陣比較好的辦法,可以得到比較精確的解。但由于共軛梯度法收斂比較慢,預(yù)處理共軛梯度法[8]對系數(shù)矩陣作預(yù)處理,以加速迭代速度。將方程組Ax=b寫為:C-1Ax=C-1b,其中M=CTC為預(yù)處理因子矩陣,當(dāng)M與A矩陣結(jié)構(gòu)近似時收斂速度越快。紋理抑制后結(jié)果如圖4所示。
圖4 紋理抑制結(jié)果
2.2 自適應(yīng)閾值的Roberts邊緣檢測
在圖像處理中有著很多種的邊緣檢測算子,例如:Canny算子、Roberts算子、Sobel算子等,其中Canny算子是傳統(tǒng)算子效果較好的算子之一,對強(qiáng)邊緣檢測具有很好的效果,但對弱邊緣檢測反而欠佳。因為手機(jī)外殼表面的紋理比較多,用Canny算子很容易把類似細(xì)小劃痕的一些弱邊緣給過濾了,所以這里采用對噪聲比較敏感的Roberts算子。Roberts算子[9]是一種采用對角方向的兩相鄰兩像素之差,用局部差分算子尋找輪廓邊緣的算子,相比其他算子,Roberts算子在手機(jī)外殼表面可以檢測到比較多的細(xì)節(jié),其表達(dá)式可以寫為:
(5)
其中:f(x,y)是圖像灰度分布函數(shù),g(x,y)為Roberts邊緣檢測算子。如果用差分代替一階偏導(dǎo),而且為了避免負(fù)數(shù),采用絕對值,其表達(dá)式寫為:
g(x,y)=|Δxf(x,y)|+|Δyf(x,y)|
(6)
通常也將式(6)寫成:
g(x,y)= |f(x,y)-f(x+1,y+1)|+
|f(x,y+1)-f(x+1,y)|
(7)
圖5 閾值曲線計算圖
根據(jù)圖5的閾值曲線計算圖,閾值計算公式為:
(8)
采用式(8)計算后的邊緣檢測如圖6所示。
圖6 四種缺陷邊緣檢測后的結(jié)果
3.1 快速中值濾波
中值濾波[11]是一種非線性的圖像平滑法,原理是通過對圖像中每一個像素點鄰域中的像素按灰度級進(jìn)行排序, 然后選擇該組的中間值作為輸出像素值。傳統(tǒng)中值濾波[12]定義為:
g(x,y)=med{f(xi,yj)} (i,j)∈M
(9)
其中:g(x,y)為輸出,f(xi,yj)為圖像的像素(xi,yj)的灰度值,M為模板窗口,med{·}為取中值操作。在手機(jī)外殼的缺陷檢測中,由于傳統(tǒng)的中值濾波計算量太大,采用一種均值加速的快速中值濾波算法[13],其思想步驟如下(以3×3窗口為例):
(1) 計算9個像素灰度值的平均值,以均值為界,將其分為兩個集合,舍棄個數(shù)少的集合;
(2) 另一集合個數(shù)若超過半數(shù),再求均值,并對其分裂,直至得到兩個集合個數(shù)都小于半數(shù),取個數(shù)多的一個集合;
(3) 最終對集合進(jìn)行快速排序,得到中間值。
在實驗時,快速中值濾波其時間復(fù)雜度小于常規(guī)算法的一半。本文為了能充分消除噪聲而防止過濾掉缺陷的細(xì)節(jié),適當(dāng)創(chuàng)建結(jié)構(gòu)元素對圖6邊緣檢測的結(jié)果進(jìn)行膨脹處理。在快速中值濾波時,如模板過大容易把擦痕等缺陷細(xì)節(jié)濾掉,而過小則不能很好消噪,最終選取5×5模板。結(jié)果如圖7所示。
圖7 四種缺陷濾波后的結(jié)果
3.2 數(shù)學(xué)形態(tài)學(xué)運算消噪
形態(tài)學(xué)運算[14]作為一種非線性濾波器,其思想是用一定形態(tài)的結(jié)構(gòu)元素去量度和提取圖像中的對應(yīng)形狀來進(jìn)行圖像分析和識別。主要運算有:
(1) 腐蝕,是消除物體所有邊界點的過程,使剩下的物體沿其周邊比原物體小幾個像素。定義為:
E=B?S=|x,y|Sxy?B|
(10)
其中:S為結(jié)構(gòu)元素,腐蝕的結(jié)果就是把結(jié)構(gòu)元素S平移后使S包含于B的所有點構(gòu)成的集合。
(2) 膨脹,是將與物體接觸的所有背景點合并到該物體中的過程,使物體的邊界增大了。定義為:
D=B⊕S=|x,y|Sxy∩B≠?|
(11)
膨脹的結(jié)果就是把結(jié)構(gòu)元素S平移后使S與B的交集非空的點構(gòu)成的集合。本文對圖7先進(jìn)行灰度形態(tài)學(xué)閉運算(先膨脹后腐蝕),然后再進(jìn)行灰度形態(tài)學(xué)開運算(先腐蝕后膨脹),有效地對缺陷連通區(qū)域進(jìn)行整合,缺陷細(xì)小邊緣被消除掉,邊界也變得較平滑,最后為了有效的消噪,進(jìn)行7×7模板的中值濾波,并進(jìn)行內(nèi)部填充。結(jié)果如圖8所示。
圖8 四種缺陷消噪填充后的結(jié)果
3.3 標(biāo)記缺陷候選位置與篩選
經(jīng)過一系列的濾波和形態(tài)學(xué)運算后,為了更方便地對缺陷候選區(qū)域進(jìn)行特征判別,本文首先對處理后結(jié)果中的各個分離部分進(jìn)行標(biāo)記。對連通區(qū)域進(jìn)行標(biāo)記后,得到n個標(biāo)記的連通區(qū)域,第i個連通區(qū)域的像素值標(biāo)記為i(i=1,2,…,n)。這里采用了8連通鄰域(像素的鄰域即像素周圍的八個點)來確定某一像素所屬的標(biāo)簽。如果其相鄰任一點已被標(biāo)記標(biāo)簽,就將當(dāng)前像素以該標(biāo)簽標(biāo)記,否則,就采用一個新的標(biāo)簽來標(biāo)記當(dāng)前像素。
對圖8消噪后的結(jié)果進(jìn)行標(biāo)記之后,還是存在一些比較明顯的噪聲。對于缺陷來說,雖然它在圖像中的面積大小、形狀都是不確定的,但可以明確那些過于小的區(qū)域肯定不是缺陷位置。假設(shè)圖像的總面積為area,其各個候選區(qū)域的面積area(i)(其中:i=1,2,…,n)時,當(dāng)其面積比例小于η(在這里設(shè)置為0.002)時,很有可能是一些較小的圖像噪聲等,這樣就可以根據(jù)面積比例來刪除一些虛假區(qū)域,可以實現(xiàn)較好的缺陷篩選處理效果。
通過面積比,可以得到結(jié)果如圖9所示。
圖9 四種缺陷最終篩選后的結(jié)果
4.1 實驗環(huán)境與結(jié)果
整個實驗的環(huán)境是一臺4 GB內(nèi)存的PC機(jī),實驗材料采用是東莞川崎機(jī)器人有限公司提供的手機(jī)外殼,實驗圖像數(shù)據(jù)來源是采用Micro Capture數(shù)碼顯微鏡采集和放大,規(guī)格為640×480,104 KB大小,實驗采用MATLAB進(jìn)行仿真實驗。總的來說,四種缺陷中缺損和污漬的結(jié)構(gòu)是整體化的,對紋理抑制參數(shù)λ、σ、ε、T適度增大或者減小、中值濾波的模板大小、數(shù)學(xué)形態(tài)學(xué)膨脹腐蝕次數(shù)的大小等實驗參數(shù)的敏感度是比較低的。而劃痕和擦痕由于缺陷結(jié)構(gòu)比較分散,例如中值濾波的模板過大(選取9×9模板時)可能會過濾掉缺陷細(xì)節(jié),造成多處的斷點甚至漏檢。實驗仿真界面如圖10所示。
圖10 實驗仿真界面及結(jié)果
本文算法原理已實際應(yīng)用基于機(jī)器視覺的手機(jī)外殼打磨拋光項目中,其中視覺檢測平臺和裝置布局圖如圖11所示。在實驗中缺陷檢測將返回其圖像的坐標(biāo),并為后續(xù)的打磨拋光工作做準(zhǔn)備,最后利用光切顯微鏡對其進(jìn)行表面粗糙度的檢測。
圖11 實際檢測布局圖
4.2 實驗數(shù)據(jù)分析
為了比較算法的優(yōu)劣性,針對Gabor濾波、FT顯著性檢測和本文算法進(jìn)行了比較測試。Gabor函數(shù)是一個用于邊緣提取的線性濾波器,在紋理抑制的基礎(chǔ)上取5個頻率,8個方向,共40個Gabor核函數(shù),進(jìn)行處理后選擇最好的結(jié)果。如圖12所示。
圖12 Gabor檢測結(jié)果
與本文處理結(jié)果(圖9)相比,可以看出Gabor線性濾波器對于大范圍的噪聲處理還是不錯的,但細(xì)節(jié)處理得不夠好,會造成多處的斷點甚至漏檢。
FT顯著性檢測主要是針對圖片的顯著性區(qū)域進(jìn)行檢測,結(jié)果如圖13所示。
圖13 顯著性檢測結(jié)果
經(jīng)過實驗,發(fā)現(xiàn)FT顯著性檢測對缺損、污漬等處理效果較好,對劃痕、擦痕效果比較差,原因是因為擦痕與背景混合在一起,比較難以分割。
最后為了驗證算法和其他算法的準(zhǔn)確率,針對手機(jī)外殼劃痕、擦痕、缺損、污漬四種缺陷,采集了總共150張640×480的四種缺陷照片進(jìn)行測試實驗。系統(tǒng)測試結(jié)果數(shù)據(jù)報表如表1所示。
表1 系統(tǒng)測試結(jié)果數(shù)據(jù)報表
從表1可知:Gabor濾波、FT算法的檢測效果并不是很好,尤其是在檢測擦痕的時候,準(zhǔn)確率低于50%,容易造成誤檢。而本文方法在劃痕、污漬等四種缺陷的準(zhǔn)確率都在90%以上。綜上所述,該算法在此類紋理背景具有良好的檢測效果,而大量的實驗結(jié)果表明,用該算法檢測不同缺陷具有準(zhǔn)確率高、適應(yīng)性強(qiáng)的特點,并且有著很好的魯棒性。
本文圍繞紋理復(fù)雜、缺陷細(xì)小和缺陷多樣的手機(jī)外殼缺損檢測問題,提出了一種針對復(fù)雜紋理的手機(jī)外殼缺陷檢測方法。該方法首先用紋理抑制的方法,并運用共軛矩陣方法進(jìn)行計算處理,有效實現(xiàn)圖像的紋理抑制。然后通過自適應(yīng)的Roberts方法來進(jìn)行邊緣檢測,得到缺陷的輪廓。最后通過一系列的濾波和數(shù)學(xué)形態(tài)學(xué)運算提取出缺陷。經(jīng)實驗表明,這種方法具有良好的檢測效果,對劃痕、缺損、污漬等缺陷都具有較好的魯棒性,能夠有效地檢測出手機(jī)殼表面細(xì)小劃痕、污漬等多種缺陷。
[1] Xie Xianghua.A review of recent advances in surface defect detection using texture analysis techniques[J].Electronic Letters on Computer Vision and Image Analysis, 2008,7(3):1-22.
[2] 羅菁, 董婷婷, 宋丹,等. 表面缺陷檢測綜述[J]. 計算機(jī)科學(xué)與探索, 2014,8(9):1041-1048.
[3] Mak K L, Peng P, Yiu K F C. Fabric defect detection using morphological filters[J].Image and Vision Computing, 2009,27(10):1585-1592.
[4] Zhang Xuewu, Ding Yanqiong, Lü Yanyun, et al. A vision inspection system for the surface defects of strongly reflected metal based on multi-class SVM[J].Expert Systems with Applications, 2011,38(5):5930-5939.
[5] 宋迪,張東波,劉霞.基于Gabor和紋理抑制的手機(jī)配件劃痕檢測[J].計算機(jī)工程,2014,40(9):1-5.
[6] 謝可龍,劉朝霞.對圖像處理中ROF全變分模型的兩種算法的比較研究[J].中央民族大學(xué)學(xué)報(自然科學(xué)版).2014,23(1):93-96.
[7] Xu L, Yan Q, Xia Y, et al. Structure extraction from texture via relative total variation[J]. Acm Transactions on Graphics, 2012,31(6):139.
[8] 朱崇利. 預(yù)處理共軛梯度法在電磁正演中的應(yīng)用[J].科學(xué)技術(shù)與工程, 2013,13(22):6553-6556.
[9] 畢卓, 韓冰. 抗噪Roberts算子邊沿檢測器[J].計算機(jī)技術(shù)與發(fā)展,2013,23(6):258-261.
[10] 康牧,許慶功,王寶樹.一種Roberts自適應(yīng)邊緣檢測方法[J].西安交通大學(xué)學(xué)報,2008,42(10):1240-1244.
[11] 喬坤,郭朝勇,毛東.一種去除椒鹽噪聲的自適應(yīng)開關(guān)中值濾波算法[J].計算機(jī)應(yīng)用與軟件, 2011,28(10):253-256.
[12] 李國燕, 侯向丹, 顧軍華,等. 快速中值濾波算法的改進(jìn)及其FPGA實現(xiàn)[J]. 電子技術(shù)應(yīng)用, 2013,39(2):137-140.
[13] 鮑華, 樊瑜波, 饒長輝,等. 基于均值查找的快速中值濾波算法[J]. 四川大學(xué)學(xué)報(工程科學(xué)版), 2011,43(2):76-79.
[14] 賀萌,易秀英,湯林,等.基于自適應(yīng)形態(tài)學(xué)的醫(yī)學(xué)圖像邊緣檢測[J].計算機(jī)應(yīng)用與軟件, 2014,31(5):184-187.
ADEFECTDETECTIONMETHODFORCOMPLEXTEXTUREONMOBILEPHONESHELL
Zhang Wei Zeng Bi
(SchoolofComputers,GuangdongUniversityofTechnology,Guangzhou510006,Guangdong,China)
Considering the features of complex texture, tiny defect and defect diversity of the surface of mobile phone shell, we propose a mobile phone shell defect detecting algorithm based on a complex texture. This method firstly magnified the partition area of the mobile phone shell, and suppressed the main texture of it. Then, the main structure of the image was extracted and self-adaption Roberts edge detection method was used to extract the defect contour. Finally we integrated handled and extracted the defect according to a series of median filter, mathematical morphology operation, etc. The experiments show that this method can provides good results for detecting the scratch, stain and other detects on the surface of mobile shell, with a low error rate.
Defect detection Texture suppression Edge detection Median filtering Mathematical morphology
2016-12-27。廣東省產(chǎn)學(xué)研合作專項項目(2014B090904080);廣東省應(yīng)用型科技研發(fā)專項項目(2015B090922012)。張偉,碩士生,主研領(lǐng)域:智能機(jī)器人,機(jī)器視覺。曾碧,教授。
TP391
A
10.3969/j.issn.1000-386x.2017.11.040