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