周曉敏, 李 東, 唐武弟, 韋 虎, 黃 炫*
(1.中國科學院 合肥物質科學研究院,安徽 合肥 230031; 2.中國科學技術大學,安徽 合肥 230026)
織物疵點的檢驗是織物評定質量優(yōu)劣、評定等級的主要依據(jù),通常按疵點的影響程度、大小、對后加工要求評定分數(shù),進行疵點的清除、修復或開剪,保證后加工產品的正品率,對紡織生產企業(yè)具有重要的經濟意義。傳統(tǒng)的人工驗布速度不快、產量低、效率差。提高織物疵點的檢出率、準確率和檢驗速度已成為當前紡織行業(yè)的發(fā)展瓶頸,高效、準確的自動驗布技術成為日益迫切的需求。
然而,自動驗布技術存在一定的難度,近年來國內外已有相關的研究,很多學者提出多種布匹瑕疵檢測算法。其中主要的瑕疵檢測算法分為頻譜分析法和模型分析法,實際使用最多的是基于Gabor濾波的方法。趙宏威等[1]采用Gabor濾波方法進行圖像處理,通過改進代價函數(shù)實現(xiàn)優(yōu)化選擇,但本質上并沒有改變Gabor濾波算法過度依賴圖像紋理的缺點,導致在紋理模糊布匹上檢測效果欠佳。薛婷婷等[2]提出一種基于學習的Gabor濾波器檢測方法,通過判別式提取瑕疵特征,對特征圖分塊處理再融合使得Gabor濾波在圖像上的處理更加精細,從而實現(xiàn)了檢測精度和時間效率的提高,該方法的缺點在于對線性瑕疵這類本身紋理特征與瑕疵形狀相似的瑕疵,檢測效果較差。鄧超等[3]提出一種基于邊緣檢測的算法,通過利用Sobel算子的方向性對織物疵點在水平和垂直方向進行增強,計算出RGB水平與垂直方向的梯度后進行邊緣檢測,再將水平方向和垂直方向的梯度特征進行融合和二值化完成最終檢測,缺點在于因邊緣檢測緣故,只能檢測出一些素色布匹的瑕疵。荊辰未等[4]提出一種基于改進視覺顯著性的布匹瑕疵檢測方法,通過超像素處理和區(qū)域對比得到布匹瑕疵顯著圖,對顯著圖進行閾值分割來識別出布匹瑕疵,該方法的優(yōu)勢在于它綜合了大尺度檢測穩(wěn)定性高和小尺度檢測敏感性強的優(yōu)點,缺點在于該方法僅在平紋布、格子布、條紋布上有較好的通用性,且對光照敏感。Ngan等[5]提出一種基于小波預處理的黃金圖像減影方法來檢測花紋織物上的瑕疵,對常見的花式提花織物進行檢測的準確率達到96.7%。田承泰等[6]提出一種基于時間序列分形特征的織物瑕疵檢測算法,該算法充分利用織物紋理特點,大幅度減少計算量,將織物紋理圖像的灰度值分別沿縱、橫方向投影得到一維時間序列,提取分形特征。在一定的閾值范圍內,誤檢率和漏檢率可控制在10%以內。張波等[7]提出一種基于結構-紋理模型與自適應數(shù)學形態(tài)學的織物瑕疵檢測算法,解決了目前基于圖像處理的織物瑕疵檢測算法中,因織物紋理的多樣性與瑕疵形狀尺寸的不確定性所造成的檢測效果差的問題。Tajeripour等[8]提出一種基于圖像紋理特征的織物疵點檢測方法,使用LBP算子與參考的特征向量進行比較,找到無瑕疵缺陷窗的閾值,利用閾值對缺陷窗口進行檢測,同時適用于有圖案和無圖案布匹的瑕疵檢測。項明等[9]提出了一種基于LBPV模式的瑕疵檢測算法,通過削弱正常紋理信息來突出疵點信息,最終檢測正確率達到90%以上。
基于傳統(tǒng)視覺的布匹瑕疵檢測技術已經發(fā)展成熟,但是由于織物瑕疵類型多種多樣,傳統(tǒng)機器視覺往往無法針對性地就不同類型的瑕疵對閾值進行靈活的調整,因此傳統(tǒng)機器視覺在布匹瑕疵檢測領域表現(xiàn)比較一般,效率不高。然而,深度學習出現(xiàn)后,因其學習特性使布匹瑕疵檢測的靈活性極大地增加。
Bu等[10]為了克服織物疵點單一分形特征無法處理的缺點,提出一種在SVDD(Support Vector Data Description,支持向量數(shù)據(jù)描述)模型訓練中涉及的高斯核函數(shù)的最優(yōu)參數(shù)選擇方案。Xie等[11]提出了一種檢測和定位隨機顏色紋理缺陷的方法,該方法只需要少量的無缺陷樣本進行無監(jiān)督訓練。采用混合模型進行多尺度分析,以降低計算代價。通過多尺度下基于數(shù)據(jù)似然的同源相似性檢測,對缺陷候選對象進行邏輯組合,實現(xiàn)對顏色紋理表面的新穎性檢測。許玉格等[12]提出一種基于深度卷積神經網(wǎng)絡(Convolutional Neural Networks,CNN)的分類不平衡紋理布匹瑕疵檢測方法,該方法能有效提升布匹瑕疵檢測的準確率及定位精度,同時降低了布匹瑕疵檢測的誤檢率和漏檢率。Jeyaraj等[13]為了對織物進行快速有效的分類,利用深度CNN對織物顏色特征進行學習,在6種不同材料上測試缺陷分類準確率,平均準確率達到96.55%。趙志勇[14]提出基于改進Inception-ResNet-V2網(wǎng)絡的布匹瑕疵分類算法。該算法根據(jù)工廠的實際需求,將任務分為兩大部分進行,一方面是正常布匹和瑕疵布匹的二分類問題;另一方面是7種瑕疵的分類識別。為了提取到更豐富的布匹特征,他采用對網(wǎng)絡加深層數(shù)和改進網(wǎng)絡中卷積核尺寸的方法,使改進后的算法在二分類任務中達到94%以上的準確率,在7種瑕疵分類識別的任務中實現(xiàn)了達到86%以上的準確率。景軍鋒等[15]提出一種基于深度學習的瑕疵檢測算法,對織物各種類瑕疵平均的檢測準確率可達到87.5%。但是這種方法僅實現(xiàn)了瑕疵檢測,未實現(xiàn)瑕疵分類。Yang等[16]提出基于CNN的SAR圖像目標檢測算法來檢測多場景下的多尺度目標。這種算法首先對深層特征進行上采樣操作,然后將該采樣的結果與底層特征進行融合。在該算法中作者使用了一種新的二分類損失函數(shù)來實現(xiàn)對不同場景下多尺度艦船目標的檢測,但該算法的檢測速度較慢。為了解決如何精確定位細小結構和怎么處理不平衡數(shù)據(jù)集的問題,Ouyang等[17]提出了一種嵌入CNN的布匹瑕疵檢測方法。該方法在網(wǎng)絡中引入一種新的雙電位激活層,實現(xiàn)了對復雜特征織物的高精度缺陷分割。但是該方法的缺陷在于檢測速度較慢。Li等[18]提出了一種基于緊湊的CNN結構來識別幾種常見的布匹瑕疵的方法,通過多尺度分析、濾波因子分解和參數(shù)歸約等技術構造出微體系結構。雖然這種結構提高了模型檢測準確率,但沒有實現(xiàn)對復雜的布匹瑕疵的檢測。Wei等[19]提出一種將壓縮傳感與CNN相結合的織物缺陷分類算法。該算法根據(jù)壓縮采樣定理來壓縮擴充小樣本數(shù)據(jù),最后利用CNN對布匹瑕疵進行直接分類。但該算法的缺點在于這種方法不能對織物缺陷進行檢測。
綜上所述,無論是基于傳統(tǒng)機器視覺還是基于深度學習的布匹瑕疵檢測算法各有優(yōu)缺點,在實際應用中面臨著各種問題,因而有很大的應用和發(fā)展空間。
模板匹配是一種在較大圖像中搜索和查找模板圖像位置的方法。在實際驗布場景中,相機和光源位置固定,相機曝光時間與光源亮度均不變,所以在驗布過程中,相同光照條件下的布匹可以嘗試利用模板匹配算法來進行瑕疵檢測。這種方法可以克服傳統(tǒng)Gabor算法對布匹紋理高度依賴的缺點,光源位置不變也在一定程度上減少了光照對模板匹配的影響。首先對待測圖與模板圖進行分塊,然后對模板分塊區(qū)域進行擴充,再將樣本圖與對應的模板擴充圖進行模板匹配,該方法可得到分塊模板圖在對應待檢圖上的最佳匹配位置,將得到的新的模板圖與待檢圖做差值運算,二值化處理分割出布匹的瑕疵區(qū)域。
本文首先介紹整體的算法流程以及模板匹配的幾種匹配方法,對不同匹配方法的適用場景進行闡述。然后介紹模板匹配在布匹瑕疵檢測中的實現(xiàn),通過實驗分析確定最適合布匹瑕疵檢測的匹配方法。最后對模板匹配的參數(shù)進行定量分析。通過和傳統(tǒng)Gabor算法進行實驗對比,驗證模板匹配算法的先進性。
算法整體流程如圖1所示,讀取待測圖和模板圖,對圖像進行灰度化處理,處理后的待測圖與模板圖進行等比例分塊,得到的模板圖經過擴展與相對應的待測圖分塊區(qū)域進行模板匹配,從而得到各個分塊區(qū)域的最優(yōu)匹配結果,將匹配結果進行組合,得到與待測圖匹配效果最好的模板圖,新的模板圖與待測圖進行差值運算以及二值化操作,得到瑕疵位置,最終實現(xiàn)瑕疵檢測。
圖1 算法整體流程圖
在不同的光線照射下,通過不同的圖像采集設備,在不同的位置采集到的同一物體的圖像所表現(xiàn)出來的幾何特性、光學特性、空間位置都會有很大的不同。模板匹配就是在一幅大圖中查找是否存在已知的模板圖像,通過相關搜索策略在大圖中找到與模板圖像相似的子圖像,并確定其位置。本文的視覺檢測裝置固定,可以保證光照強度、相機位置不變,滿足使用模板匹配的條件。
本文采用OpenCV庫中的模板匹配函數(shù),設得到的矩陣為R(x,y),模板圖像矩陣為T(x′,y′),源圖像矩陣為在R中的每個位置(x,y)都包含匹配度量值。該模板匹配函數(shù)有6種衡量匹配優(yōu)劣的方法。
① TM_SQDIFF:該方法使用平方差進行匹配,匹配值最小時為最佳的匹配結果,匹配值越大表示匹配效果越差。
(1)
② TM_SQDIFF_NORMED:該方法使用歸一化的平方差進行匹配,匹配值最小時為最佳的匹配結果,匹配值越大表示匹配結果越差。
(2)
方法①和方法②是基于平方差的匹配方法,一般適用于模板圖像與待測圖像之間具有相同外界條件、灰度變化不大的情況。
③ TM_CCORR:相關性匹配方法,匹配值最大時為最佳的匹配結果,匹配值越小表示匹配效果越差。
(3)
④ TM_CCORR_NORMED:歸一化的相關性匹配方法,匹配值最大時為最佳匹配結果,匹配值越小表示匹配效果越差。
(4)
式中,
I′(x+x′,y+y′)=I(x+x′,y+y′)-1/(w·h)·
方法③和方法④是基于相關性的匹配算法,適用于灰度變化較大的情況。
⑤ TM_CCOEFF:相關性系數(shù)匹配方法,該方法使用源圖像與其均值的差、模板與其均值的差二者之間的相關性進行匹配,最佳匹配結果在匹配值最大處,最差匹配結果在匹配值最小處。
(5)
⑥ TM_CCOEFF_NORMED:歸一化的相關性系數(shù)匹配方法,正值表示匹配的結果較好,負值則表示匹配的效果較差,值越大,匹配效果也好。
(6)
方法⑤和方法⑥是基于相關性系數(shù)的匹配算法,抗干擾能力強,在灰度變化和幾何畸變不大的情況下精度較高。
為了確定最適合紋理模糊布匹瑕疵檢測的匹配方法,本文在第4節(jié)進行了一系列測試實驗來確定兼顧速度和精度的匹配方法。
在本系統(tǒng)中,為了減少布匹位置偏移以及布匹檢測過程中紋理變化帶來的模板匹配不準確問題,將模板圖像和待測圖像平均分割為若干個長為Xstep、寬為Ystep的子區(qū)域,子區(qū)域橫向擴充xextend的大小,豎向擴充yextend的大小,每個原圖分割塊srcRt與對應的模板圖分割塊modRt進行模板匹配,得到匹配度最好的模板塊,將各個模板塊進行組合,得到最佳模板。將待檢圖和得到的重組模板圖進行差值運算,得到的差值圖進行二值化處理,最終得到瑕疵圖,分割結果如圖2、圖3所示。
圖2 待測圖分割示意
圖3 模板圖分割示意
在檢測過程中,若將Xstep、Ystep的值設置得過小,則模板匹配所需運算量過大,不滿足實時性要求;若將Xstep、Ystep的值設置過大,不滿足精度要求。為了確定Xstep、Ystep的值,本文第4節(jié)通過實驗對其進行定量分析。
另外,在檢測過程中,同一位置布匹的紋理在不斷變化,為了增加匹配精度,本文引入xextend、yextend參數(shù),引入這兩個參數(shù)的目的是為了進行區(qū)域的模板匹配,使待測圖在模板圖上找到最優(yōu)匹配位置。一般根據(jù)布匹的紋理特點,將xextend設置為2根經線寬度,yextend設置為3根緯線寬度,根據(jù)實際測量,通常經緯線的寬度約為2~3個像素,本文統(tǒng)一設置xextend=6,yextend=9。
為便于實驗,本文將分塊區(qū)域的Xstep、Ystep設置為同一參數(shù)值,以stepNum代替Xstep、Ystep的值。根據(jù)多次實驗結果得到,當stepNum<15時,平均檢測時間大于188.65 ms,不滿足實時性要求;當stepNum>35時,瑕疵檢測準確率低于90%,不滿足準確精度要求。本節(jié)將stepNum設置在[15,35]區(qū)間進行實驗,隨機抽取100組圖片,每隔5個像素為一組,分別以瑕疵檢測準確率、平均檢測時間為評價標準,測試stepNum的最優(yōu)值。實驗結果如表1所示,
表1 stepNum平均檢測時間和準確率測試結果
實驗結果表明,當stepNum在[20,30]區(qū)間時,可以同時滿足瑕疵檢測的準確率和實時性要求,當stepNum=25時,檢測準確率最高,所以本文將stepNum的值設置為25。
本文采用4k線陣相機,視野為600 mm,原驗布機速度最大值為0.4 m/s,經過計算,4096像素×512像素分辨率的圖片檢測時間上限為188 ms。
為了確定OpenCV的模板匹配函數(shù)最合適的匹配方法,本節(jié)選取破洞、染色不均、異經、油污4類瑕疵圖各100張,以各類瑕疵的平均檢測時間、各類瑕疵檢測準確率為評價標準,檢驗符合實時性要求的模板匹配方法。實驗結果如表2和表3所示。
表2 模板匹配平均檢測時間表 單位:ms
表3 瑕疵檢測準確率表
由表2可知,在實際模板匹配過程中,該6種模板匹配方法均能滿足工業(yè)檢測對實時性的要求。如表3所示,6種模板匹配方法對不同類型布匹都能得到較好的匹配效果,但對于油污,相對于其他5種匹配方法,TM_SQDIFF_NORMED方法準確率最高。因此,本文采用TM_SQDIFF_NORMED模板匹配方法。
基于破洞、染色不均、異經、油污4種瑕疵,分別使用Gabor濾波和模板匹配對其進行檢測,檢測效果如圖4所示。
圖4 對比實驗效果圖
由圖4可知,基于Gabor的瑕疵檢測對破洞和染色不均檢測效果良好,對于油污和異經檢測效果較差;本文方法即基于模板匹配的瑕疵檢測對各類瑕疵檢測效果良好,表現(xiàn)穩(wěn)定。
為了檢驗本文提出的算法對多種瑕疵的檢測效率,在樣本中選取100組紋理模糊的瑕疵圖片進行測試,以檢測準確率為評價標準,與基于Gabor的布匹瑕疵檢測算法作對比,實驗結果如表4所示。
表4 算法檢測準確率對比表
實驗結果表明,本文方法即基于模板匹配的瑕疵檢測算法對于紋理模糊布匹的破洞、染色不均、異經、油污瑕疵有著穩(wěn)定的檢測能力,基于Gabor的布匹瑕疵檢測算法對紋理模糊布匹的瑕疵檢測效率普遍偏低?;谀0迤ヅ涞乃惴ㄔ诩y理模糊的布匹瑕疵檢測方面表現(xiàn)出較大優(yōu)勢,彌補了傳統(tǒng)的基于Gabor的布匹瑕疵檢測算法高度依賴紋理特征的缺陷。
本文提出一種基于模板匹配的布匹瑕疵檢測算法,通過對待測圖、模板圖做分塊的模板匹配,得到最優(yōu)匹配圖,最后對最優(yōu)匹配圖與待測圖的差值運算結果進行二值化處理,得到瑕疵區(qū)域。本文創(chuàng)新性地將模板匹配算法應用在布匹瑕疵檢測上,對紋理模糊類的多種瑕疵類型的檢測效果表現(xiàn)良好,提出的算法在實時性和檢測效率方面都能滿足實際檢測要求,具有工業(yè)應用價值。但模板匹配算法對紋理較強的布匹瑕疵檢測準確率較低,有待進一步提高。