張 偉 曾 碧
(廣東工業大學計算機學院 廣東 廣州 510006)
針對復雜紋理的手機外殼缺陷檢測方法
張 偉 曾 碧
(廣東工業大學計算機學院 廣東 廣州 510006)
針對手機表面存在紋理復雜、缺陷細小和缺陷多樣性等特點,提出一種應用于復雜紋理的手機外殼缺陷檢測方法。該方法首先對手機外殼表面劃分區域進行放大處理,并抑制放大后的紋理。然后進行圖像的主結構提取,再采用一種自適應邊緣檢測Roberts方法來進行缺陷輪廓提取。最后運用一系列的中值濾波、形態學運算等方法來綜合處理并提取缺陷。實驗表明,對手機外殼的劃痕、污漬等缺陷誤檢率低,具有良好的檢測效果。
缺陷檢測 紋理抑制 邊緣檢測 中值濾波 數學形態學
近年來,表面缺陷檢測技術廣泛地應用在鋼材、織物、木材等方面,而隨著工業機器人的興起,手機外殼打磨拋光開始走向自動化。而在手機外殼打磨拋光的過程中,由于手機外殼專有的特性和光潔度的需求,準確檢測出手機外殼細小劃痕、污漬等缺陷是實現自動化的重要的一步。
有關表面缺損檢測方法一直都是學者和工業界研究熱點。2008年,Xie[1]從紋理分析表面缺陷檢測總結了統計、結構、模型等方法,并仔細對各個方法進行了分析和比較。2014年,羅菁等[2]針對表面缺陷檢測技術總結出三類方法:統計法、頻譜法和模型法,并分別比較了各類檢測方法的算法性能、應用場景等優缺點。2009年,Mak等[3]設計了一個優化的形態學濾波器來增強圖像缺陷和背景的對比度,最后用閾值法檢測其表面缺陷,有效地解決了缺陷和非缺陷之間的低對比度問題。2011年,Zhang等[4]利用小波平滑方法去除圖像中的噪聲,然后對圖像進行二值化并提取5個譜特征作為支持向量機的輸入,最終實現7種缺陷檢測,解決了噪聲對缺陷提取的影響。在表面缺陷檢測中,Gabor濾波也是一種很好的檢測方法。2014年,宋迪等[5]針對手機配件劃痕提出了一種基于Gabor和紋理抑制的手機配件劃痕檢測算法,先對圖像進行Gabor濾波,提取出劃痕的骨架結構,利用各向異性紋理抑制方法抑制金屬表面的紋理,再用滯后閾值準確提取劃痕。
但總的來說,由于金屬表面的復雜紋理和缺陷較小,很容易造成誤檢或者漏檢。由此本文綜合分析了目前復雜底紋的缺損檢測方法,并結合手機外殼打磨拋光項目需求,提出了一種基于機器視覺的手機外殼復雜紋理缺陷檢測算法。首先對手機外殼進行區域劃分放大,抑制放大后的紋理,再結合自適應Roberts算子、中值濾波和形態學運算等方法進行綜合處理,最終實現多種缺陷的提取。
手機外殼一般具有復雜紋理,而且其缺陷比較細小,不容易察覺。如果直接使用邊緣檢測、Gabor濾波等方法,很難完全排除紋理的干擾,容易造成誤檢。本文針對缺陷的細小、結構類型不同等特征,先對手機外殼進行區域劃分。然后采用Micro Capture數碼顯微鏡放大,根據觀察各個區域放大的結果,將缺陷分為劃痕、擦痕、缺損、污漬等四種缺陷。如圖1所示。

圖1 四種缺陷
針對四種缺陷的特點,本文提出了一種基于機器視覺的手機外殼復雜紋理缺陷檢測算法。該算法的主要功能流程模塊圖如圖2所示。

圖2 功能流程模塊圖
具體的算法流程如下:
1) 輸入原始圖像,轉化為灰度圖,合理選擇紋理抑制參數,進行各向異性的紋理抑制,提取圖像的主結構;
2) 選取和計算邊緣檢測的自適應閾值,對紋理抑制后的圖像進行Roberts邊緣檢測,提取缺陷的輪廓;
3) 對邊緣檢測的結果進行快速中值濾波,并創建任意形狀的結構元素進行腐蝕和膨脹等數學形態學的消噪處理;
4) 采用八聯通區域法標記缺陷候選區域,進行面積篩選,刪除一些虛假缺陷區域,并輸出二值化的缺陷圖像,返回篩選出的缺陷坐標。
2.1 各向異性的紋理抑制
從圖1中可以看出其表面除了缺陷類型各異外,還具有復雜的紋理背景,如果直接進行邊緣檢測,噪聲較多,不宜提取缺陷。本文用Canny、Roberts等邊緣檢測算子對劃痕缺陷進行實驗,結果見圖3。

圖3 邊緣檢測結果
從圖3的邊緣檢測結果可以看出:在復雜背景下單純地使用邊緣檢測算子處理,噪聲較多,無法準確地提取缺陷位置。為了消除復雜紋理背景對缺陷提取的干擾,需要考慮對復雜紋理背景進行紋理抑制。在圖像去噪的問題上,總變分(ROF)模型是一種廣泛應用在圖像重構、復原、去噪的方法,ROF模型定義為[6]:

(1)

2012年,Li等[7]提出一種改進,模型如下:
(2)
其中:I代表輸入圖像,p代表2D圖像像素的索引,S代表輸出結構圖像。
(3)
q是以p點為中心的一個正方形區域內的所有的像素點的索引,g為高斯函數。
(4)
根據文獻[7],在式(2)-式(4)中有4個參數,分別是λ、σ、ε、T。λ是一個權重系數,主要是用來控制圖像的光滑程度,過度減小λ會導致紋理難以分割,過度增加λ會造成圖像的模糊,導致類似擦痕、缺損等缺陷細節過濾掉。λ的范圍為[0.01,0.03],這里取0.015??臻g尺度參數σ的選取取決于紋理的尺度大小,該參數在結構紋理分離過程中至關重要,過大或者過小都會導致劃痕、擦痕等與紋理難以分割,設置范圍是(0,8],這里設為3。參數ε與最終輸出圖像的清晰度對應,它的值越小,結果越清晰。由于劃痕、污漬缺陷整體結構比較完整,當ε減小時越容易提取缺陷。ε范圍為(0.001,0.03],設為0.02。T表示迭代次數,理論上只需3~5步就可以達到收斂狀態。由實驗可知,T只要取2就可以達到比較好的效果,以減少迭代時間。
在計算式(2)時,相當于求解Ax=b(A為n階對稱正定矩陣),而對于大型稀疏矩陣,共軛梯度法是一種求解大型稀疏矩陣比較好的辦法,可以得到比較精確的解。但由于共軛梯度法收斂比較慢,預處理共軛梯度法[8]對系數矩陣作預處理,以加速迭代速度。將方程組Ax=b寫為:C-1Ax=C-1b,其中M=CTC為預處理因子矩陣,當M與A矩陣結構近似時收斂速度越快。紋理抑制后結果如圖4所示。

圖4 紋理抑制結果
2.2 自適應閾值的Roberts邊緣檢測
在圖像處理中有著很多種的邊緣檢測算子,例如:Canny算子、Roberts算子、Sobel算子等,其中Canny算子是傳統算子效果較好的算子之一,對強邊緣檢測具有很好的效果,但對弱邊緣檢測反而欠佳。因為手機外殼表面的紋理比較多,用Canny算子很容易把類似細小劃痕的一些弱邊緣給過濾了,所以這里采用對噪聲比較敏感的Roberts算子。Roberts算子[9]是一種采用對角方向的兩相鄰兩像素之差,用局部差分算子尋找輪廓邊緣的算子,相比其他算子,Roberts算子在手機外殼表面可以檢測到比較多的細節,其表達式可以寫為:

(5)
其中:f(x,y)是圖像灰度分布函數,g(x,y)為Roberts邊緣檢測算子。如果用差分代替一階偏導,而且為了避免負數,采用絕對值,其表達式寫為:
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 閾值曲線計算圖
根據圖5的閾值曲線計算圖,閾值計算公式為:
(8)
采用式(8)計算后的邊緣檢測如圖6所示。

圖6 四種缺陷邊緣檢測后的結果
3.1 快速中值濾波
中值濾波[11]是一種非線性的圖像平滑法,原理是通過對圖像中每一個像素點鄰域中的像素按灰度級進行排序, 然后選擇該組的中間值作為輸出像素值。傳統中值濾波[12]定義為:
g(x,y)=med{f(xi,yj)} (i,j)∈M
(9)
其中:g(x,y)為輸出,f(xi,yj)為圖像的像素(xi,yj)的灰度值,M為模板窗口,med{·}為取中值操作。在手機外殼的缺陷檢測中,由于傳統的中值濾波計算量太大,采用一種均值加速的快速中值濾波算法[13],其思想步驟如下(以3×3窗口為例):
(1) 計算9個像素灰度值的平均值,以均值為界,將其分為兩個集合,舍棄個數少的集合;
(2) 另一集合個數若超過半數,再求均值,并對其分裂,直至得到兩個集合個數都小于半數,取個數多的一個集合;
(3) 最終對集合進行快速排序,得到中間值。
在實驗時,快速中值濾波其時間復雜度小于常規算法的一半。本文為了能充分消除噪聲而防止過濾掉缺陷的細節,適當創建結構元素對圖6邊緣檢測的結果進行膨脹處理。在快速中值濾波時,如模板過大容易把擦痕等缺陷細節濾掉,而過小則不能很好消噪,最終選取5×5模板。結果如圖7所示。

圖7 四種缺陷濾波后的結果
3.2 數學形態學運算消噪
形態學運算[14]作為一種非線性濾波器,其思想是用一定形態的結構元素去量度和提取圖像中的對應形狀來進行圖像分析和識別。主要運算有:
(1) 腐蝕,是消除物體所有邊界點的過程,使剩下的物體沿其周邊比原物體小幾個像素。定義為:
E=B?S=|x,y|Sxy?B|
(10)
其中:S為結構元素,腐蝕的結果就是把結構元素S平移后使S包含于B的所有點構成的集合。
(2) 膨脹,是將與物體接觸的所有背景點合并到該物體中的過程,使物體的邊界增大了。定義為:
D=B⊕S=|x,y|Sxy∩B≠?|
(11)
膨脹的結果就是把結構元素S平移后使S與B的交集非空的點構成的集合。本文對圖7先進行灰度形態學閉運算(先膨脹后腐蝕),然后再進行灰度形態學開運算(先腐蝕后膨脹),有效地對缺陷連通區域進行整合,缺陷細小邊緣被消除掉,邊界也變得較平滑,最后為了有效的消噪,進行7×7模板的中值濾波,并進行內部填充。結果如圖8所示。

圖8 四種缺陷消噪填充后的結果
3.3 標記缺陷候選位置與篩選
經過一系列的濾波和形態學運算后,為了更方便地對缺陷候選區域進行特征判別,本文首先對處理后結果中的各個分離部分進行標記。對連通區域進行標記后,得到n個標記的連通區域,第i個連通區域的像素值標記為i(i=1,2,…,n)。這里采用了8連通鄰域(像素的鄰域即像素周圍的八個點)來確定某一像素所屬的標簽。如果其相鄰任一點已被標記標簽,就將當前像素以該標簽標記,否則,就采用一個新的標簽來標記當前像素。
對圖8消噪后的結果進行標記之后,還是存在一些比較明顯的噪聲。對于缺陷來說,雖然它在圖像中的面積大小、形狀都是不確定的,但可以明確那些過于小的區域肯定不是缺陷位置。假設圖像的總面積為area,其各個候選區域的面積area(i)(其中:i=1,2,…,n)時,當其面積比例小于η(在這里設置為0.002)時,很有可能是一些較小的圖像噪聲等,這樣就可以根據面積比例來刪除一些虛假區域,可以實現較好的缺陷篩選處理效果。
通過面積比,可以得到結果如圖9所示。

圖9 四種缺陷最終篩選后的結果
4.1 實驗環境與結果
整個實驗的環境是一臺4 GB內存的PC機,實驗材料采用是東莞川崎機器人有限公司提供的手機外殼,實驗圖像數據來源是采用Micro Capture數碼顯微鏡采集和放大,規格為640×480,104 KB大小,實驗采用MATLAB進行仿真實驗??偟膩碚f,四種缺陷中缺損和污漬的結構是整體化的,對紋理抑制參數λ、σ、ε、T適度增大或者減小、中值濾波的模板大小、數學形態學膨脹腐蝕次數的大小等實驗參數的敏感度是比較低的。而劃痕和擦痕由于缺陷結構比較分散,例如中值濾波的模板過大(選取9×9模板時)可能會過濾掉缺陷細節,造成多處的斷點甚至漏檢。實驗仿真界面如圖10所示。

圖10 實驗仿真界面及結果
本文算法原理已實際應用基于機器視覺的手機外殼打磨拋光項目中,其中視覺檢測平臺和裝置布局圖如圖11所示。在實驗中缺陷檢測將返回其圖像的坐標,并為后續的打磨拋光工作做準備,最后利用光切顯微鏡對其進行表面粗糙度的檢測。

圖11 實際檢測布局圖
4.2 實驗數據分析
為了比較算法的優劣性,針對Gabor濾波、FT顯著性檢測和本文算法進行了比較測試。Gabor函數是一個用于邊緣提取的線性濾波器,在紋理抑制的基礎上取5個頻率,8個方向,共40個Gabor核函數,進行處理后選擇最好的結果。如圖12所示。

圖12 Gabor檢測結果
與本文處理結果(圖9)相比,可以看出Gabor線性濾波器對于大范圍的噪聲處理還是不錯的,但細節處理得不夠好,會造成多處的斷點甚至漏檢。
FT顯著性檢測主要是針對圖片的顯著性區域進行檢測,結果如圖13所示。

圖13 顯著性檢測結果
經過實驗,發現FT顯著性檢測對缺損、污漬等處理效果較好,對劃痕、擦痕效果比較差,原因是因為擦痕與背景混合在一起,比較難以分割。
最后為了驗證算法和其他算法的準確率,針對手機外殼劃痕、擦痕、缺損、污漬四種缺陷,采集了總共150張640×480的四種缺陷照片進行測試實驗。系統測試結果數據報表如表1所示。

表1 系統測試結果數據報表
從表1可知:Gabor濾波、FT算法的檢測效果并不是很好,尤其是在檢測擦痕的時候,準確率低于50%,容易造成誤檢。而本文方法在劃痕、污漬等四種缺陷的準確率都在90%以上。綜上所述,該算法在此類紋理背景具有良好的檢測效果,而大量的實驗結果表明,用該算法檢測不同缺陷具有準確率高、適應性強的特點,并且有著很好的魯棒性。
本文圍繞紋理復雜、缺陷細小和缺陷多樣的手機外殼缺損檢測問題,提出了一種針對復雜紋理的手機外殼缺陷檢測方法。該方法首先用紋理抑制的方法,并運用共軛矩陣方法進行計算處理,有效實現圖像的紋理抑制。然后通過自適應的Roberts方法來進行邊緣檢測,得到缺陷的輪廓。最后通過一系列的濾波和數學形態學運算提取出缺陷。經實驗表明,這種方法具有良好的檢測效果,對劃痕、缺損、污漬等缺陷都具有較好的魯棒性,能夠有效地檢測出手機殼表面細小劃痕、污漬等多種缺陷。
[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]. 計算機科學與探索, 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].計算機工程,2014,40(9):1-5.
[6] 謝可龍,劉朝霞.對圖像處理中ROF全變分模型的兩種算法的比較研究[J].中央民族大學學報(自然科學版).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] 朱崇利. 預處理共軛梯度法在電磁正演中的應用[J].科學技術與工程, 2013,13(22):6553-6556.
[9] 畢卓, 韓冰. 抗噪Roberts算子邊沿檢測器[J].計算機技術與發展,2013,23(6):258-261.
[10] 康牧,許慶功,王寶樹.一種Roberts自適應邊緣檢測方法[J].西安交通大學學報,2008,42(10):1240-1244.
[11] 喬坤,郭朝勇,毛東.一種去除椒鹽噪聲的自適應開關中值濾波算法[J].計算機應用與軟件, 2011,28(10):253-256.
[12] 李國燕, 侯向丹, 顧軍華,等. 快速中值濾波算法的改進及其FPGA實現[J]. 電子技術應用, 2013,39(2):137-140.
[13] 鮑華, 樊瑜波, 饒長輝,等. 基于均值查找的快速中值濾波算法[J]. 四川大學學報(工程科學版), 2011,43(2):76-79.
[14] 賀萌,易秀英,湯林,等.基于自適應形態學的醫學圖像邊緣檢測[J].計算機應用與軟件, 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。廣東省產學研合作專項項目(2014B090904080);廣東省應用型科技研發專項項目(2015B090922012)。張偉,碩士生,主研領域:智能機器人,機器視覺。曾碧,教授。
TP391
A
10.3969/j.issn.1000-386x.2017.11.040