程漢權(quán) 熊繼平 陳經(jīng)緯
關(guān)鍵詞:深度學(xué)習(xí);織物瑕疵;圖像處理;瑕疵檢測
中圖分類號:TP29 文獻標(biāo)識碼:A 文章編號:1006-8228(2023)11-16-06
0 引言
布匹瑕疵檢測是紡織業(yè)中至關(guān)重要的環(huán)節(jié)。布匹存在近百種不同的瑕疵類型,而且即使是同一種瑕疵,其形狀和大小也存在差異。目前,布匹瑕疵檢測的手段還是以人工背光檢測為主[1]。人工檢測需要很高的熟練度,勞動強度大,靠人工檢測質(zhì)量難以保證。
由于手工檢測存在主觀性和低效性等問題,自動化布匹瑕疵檢測技術(shù)逐漸受到了廣泛關(guān)注及研究。目前計算機視覺瑕疵檢測方法分為傳統(tǒng)方法和深度學(xué)習(xí)方法兩大類。傳統(tǒng)方法大致可以分為四類:基于模型、基于頻譜、基于字典和基于統(tǒng)計。深度學(xué)習(xí)方法主要包括深度卷積神經(jīng)網(wǎng)絡(luò)和生成模型,具體分類如圖1 所示。
1 常見瑕疵種類及成因
同一個批次的產(chǎn)品往往因一個瑕疵品受到影響。第一,產(chǎn)品質(zhì)量會直接影響到布匹企業(yè)的名譽和市場份額。第二,瑕疵產(chǎn)品會打亂產(chǎn)品的銷售量導(dǎo)致滯銷,從而浪費企業(yè)資金和原材料??椢镨Υ猛ǔJ怯蓹C器工藝落后、紗線質(zhì)量不佳、環(huán)境因素、織物中夾雜著雜質(zhì)和工人的操作不當(dāng)?shù)仍蛟斐傻?。國家?biāo)準(zhǔn)GB/T 17760—2019《印染布布面疵點檢驗方法》中根據(jù)瑕疵產(chǎn)生原因?qū)⒉计ゴ命c劃分為98 種類別。部分常見瑕疵見表1。
由表1 可見,布匹的瑕疵具有復(fù)雜性和多樣性,如表面瑕疵的大小、顏色、形狀和位置等方面都存在著顯著的差異。由于瑕疵形成的原因有多種多樣,因此不同類型的瑕疵呈現(xiàn)出的外觀也千差萬別,甚至相同類型的瑕疵在外觀上也會存在明顯的差異。具體外形可見部分瑕疵可視化如圖2 所示。
2 基于傳統(tǒng)機器視覺的布匹瑕疵檢測方法
與深度學(xué)習(xí)中的端對端的訓(xùn)練檢測方式不同,傳統(tǒng)的檢測方法通過圖像處理方法提取布匹的紋理特征,并對其定量和定性描述,實現(xiàn)瑕疵檢測?;趥鹘y(tǒng)的布匹瑕疵檢測方法包括三個部分:圖像預(yù)處理、圖像特征提取和圖像識別分類。具體流程如圖3所示。
2.1 基于模型的方法
基于模型的布匹瑕疵檢測方法先利用一些已知良品布匹圖像來構(gòu)建一個模型,該模型能夠表示出良品布匹的紋理特征和結(jié)構(gòu)特征等。然后將待檢測的布匹圖像輸入到該模型中,利用模型生成的紋理特征和結(jié)構(gòu)特征進行檢測,判斷該布匹是否存在瑕疵。
楊曉波[2]將Gaussion-Markov 隨機場(GMRF)應(yīng)用到布匹瑕疵檢測,利用模型參數(shù)構(gòu)造距離統(tǒng)計量,區(qū)分正常區(qū)域的紋理和特診畸變區(qū)域的紋理,實現(xiàn)瑕疵的自動檢測。Cohen 等人[3]利用GMRF 對正常布匹圖像建模,將待測圖像劃分為N×N 大小的不重疊的窗口,計算每個窗口與模型參數(shù)的最大似然估計,實現(xiàn)瑕疵檢測。姚登輝[4]基于時間序列圖像處理的方法,對兩個方向上的聯(lián)合投影序列進行分析,通過應(yīng)用AR 譜原理,確定了投影序列中的最高譜峰位置和峰值,從而可以區(qū)分出正常紋理和疵點。Ozdemir 等人[5]研究了一種以馬爾可夫隨機場(MRF) 作為紋理模型的方法和一種基于Karhunen-Loeve 變換的新方法,用于紡織物缺陷檢測。朱俊嶺等人[6]采用AR 模型譜估計對布匹紋理圖像建模,得到方差序列,通過計算疵點圖像和正常紋理圖像譜估計之間得相關(guān)系數(shù)得到疵點類型和位置。
盡管MRF 是一種強大的建模工具,但它存在一些問題。MRF 模型通常需要手動構(gòu)建特征,這需要領(lǐng)域?qū)<业闹R和經(jīng)驗,并且可能導(dǎo)致模型無法有效地適應(yīng)新的數(shù)據(jù)。自回歸模型對數(shù)據(jù)需求高,受初始條件影響。
2.2 基于頻譜的方法
基于頻譜的布匹瑕疵檢測方法的核心思想是使用Gabor 變換和傅里葉變換等技術(shù)將紋理圖像從空間域轉(zhuǎn)換為頻率域,然后利用濾波器去除布匹的紋理特征來檢測缺陷。
Sakhare 等人[7]采用譜域和空間域方法對織物瑕疵進行檢測和分類,譜域只能檢測瑕疵是否存在,空間域可以檢測出瑕疵類型和位置。劉偉斌等人[8]提出頻譜濾波的織物疵點檢測方法,采用傅里葉變換獲得含有疵點的頻譜圖,利用設(shè)計好的濾波器分離紋理信息,進行灰度圖重構(gòu),分割出織物疵點。王鶴翔[9]提出基于SVM 和小波變換的織物疵點檢測與分類,利用自適應(yīng)小波變換對織物圖像進行特征向量的提取,利用一對一SVM 分類器進行分類。顧箐等人[10]提出基于局部熵和小波變換的織物疵點檢測方法,采用不完全重疊等大的局部窗口提取圖像的局部熵,但只針對緯向疵點、徑向疵點、區(qū)域類疵點這三類。楊亞[11]提出基于正交小波分解的織物疵點檢測方法。尉苗苗等人[12]提出一種新的基于最優(yōu)Gabor 濾波器的輕編織物疵點檢測方法,檢測分為學(xué)習(xí)階段和檢測階段。湯曉慶等人[13] 提出一種基于方向梯度直方圖(HOG) 特征和Gabor 濾波的織物疵點檢測算法。景軍鋒等人[14]提取布匹的熵圖像,對熵圖像進行Mean Shift 平滑濾波,提出了一種基于Mean shift 濾波的織物疵點檢測方法,實驗比較發(fā)現(xiàn)該方法優(yōu)于Gabor 濾波。
使用傅里葉變換可以有效消除布料表面紋理對缺陷檢測的干擾,而采用小波變換則更適合實現(xiàn)對局部缺陷的分類。但是基于頻譜分析法的每個操作只適用于特定的結(jié)構(gòu)和類別。
2.3 基于統(tǒng)計的方法
基于統(tǒng)計的缺陷檢測方法的主要思路是通過對布匹圖像提取統(tǒng)計信息,從而獲得紋理信息。實現(xiàn)布匹瑕疵檢測的主要方法有:直方圖統(tǒng)計法、局部二進制和灰度共生矩陣等。
閔信軍[15]通過使用超像素分割和顯著性濾波等技術(shù),從布匹圖像中自上而下地提取出顯著性特征,并將這些特征進行融合,以獲得布匹圖像中的視覺顯著性區(qū)域。孫國棟和他的團隊[16]將灰度共生矩陣與反向投影技術(shù)結(jié)合起來,提出了一種基于GLCM 的反向投影方法。李小寧等人[17]提出一種結(jié)合梯度共生矩陣-自適應(yīng)中值濾波和灰度的織物質(zhì)量檢測方法。并對含7 種缺陷的紡織品樣本進行GGCM 特征提取。郝陽[18]采用灰度共生矩陣(GLCM)對布匹圖像提取特征值,利用K 近鄰算法進行布匹種類的分類。劉海等人[19]采用圖像分塊方法提取梯度方向描述子,并進行聚類構(gòu)建字典,提出一種基于梯度方向直方圖袋的特征提取方法。何峰等人[20]提出一種基于窗口跳步形態(tài)學(xué)法的紋理織物疵點檢測算法,以解決生產(chǎn)速度過快所導(dǎo)致的織物抖動和檢測速度無法跟上的問題。該算法達到或超過80m/min 的檢測速度。李春雷等人[21]提出了一種織物瑕疵檢測算法,該算法基于低秩分解和方向梯度直方圖,該算法利用方向交替方法生成稀疏矩陣和低秩矩陣,并對稀疏矩陣進行分割,以定位瑕疵區(qū)域。同時,針對特征矩陣構(gòu)建了有效的低秩分解模型。Wang 等人[22]針對織物圖像分層問題提出一種基于計算灰度矩陣特征值的CUDA K-means 并行算法,可以實現(xiàn)多個K 值的搜索,還可以進行K-means內(nèi)部的并行計算。
灰度共生矩陣的使用相較于另外兩種方法更為普遍,但是其在計算紋理特征時對圖像的灰度級別分布非常敏感。如果圖像的灰度分布不均勻,則GLCM可能會忽略一些重要的紋理信息。因此,灰度矩陣對大尺寸的圖像難以到達實時檢測的要求,形態(tài)學(xué)方法和直方圖檢測效率則相對較高。
2.4 基于字典的方法
字典學(xué)習(xí)是一種無監(jiān)督的特征學(xué)習(xí)方式,廣泛用于數(shù)據(jù)降維和特征提取。主要步驟是:數(shù)據(jù)準(zhǔn)備、字典學(xué)習(xí)、表示特診提取、特征選擇和分類器訓(xùn)練。
占竹等人[23]提出了一種自動評定方法,其基于圖像的稀疏表達。該方法首先利用K-SVD 對正??椢锛y理圖像進行字典學(xué)習(xí),然后利用該字典對圖重構(gòu),并根據(jù)重構(gòu)效果對織物進行等級評定。Li 等人[24]將織物圖像分為冗余部分(背景)和稀疏部分(缺陷),提出了一種基于新型紋理描述符和低秩分解模型的新型織物瑕疵檢測模式化方法,但局限于均勻紋理和規(guī)則圖案的織物。
字典學(xué)習(xí)通常需要對高維數(shù)據(jù)進行降維以避免維數(shù)災(zāi)難,需要大量的計算資源和時間來學(xué)習(xí)一個合適的字典,其結(jié)果也受到許多參數(shù)的影響,包括字典大小、正則化系數(shù)和表示誤差。選擇合適的參數(shù)需要一定的經(jīng)驗和技巧,并且需要多次實驗。
3 基于深度學(xué)習(xí)的布匹瑕疵檢測方法
相較于傳統(tǒng)機器視覺的方法,深度學(xué)習(xí)具有更強的魯棒性、自適應(yīng)性、可遷移性和可擴展性。當(dāng)前布匹瑕疵檢測的深度學(xué)習(xí)方法主要分為三個方向:卷積神經(jīng)網(wǎng)絡(luò)、自動編碼器和生成對抗網(wǎng)絡(luò)。
3.1 基于卷積神經(jīng)網(wǎng)絡(luò)的方法
深度學(xué)習(xí)方法可分為無監(jiān)督和有監(jiān)督兩大類,卷積神經(jīng)網(wǎng)絡(luò)是一種有監(jiān)督的網(wǎng)絡(luò)。
Wu 等人[25]提出基于深度神經(jīng)網(wǎng)絡(luò)的單色布匹瑕疵檢測算法,在CPU 模式下,檢測速度達到135m/min。Ramakrishnan.K 等人[26]針對具有活動輪廓特征的特定缺陷,提出了一種使用直方圖和HF 的CNN 網(wǎng)絡(luò)。B.Wei 等人[27]在CNN 基礎(chǔ)上,針對小樣本問題,使用壓縮采樣定理將小樣本數(shù)據(jù)壓縮采樣并擴充,提出結(jié)合壓縮感知和卷積神經(jīng)網(wǎng)絡(luò)的新方法。Li.Y 等人[28]采用多個帶有多層感知器的微架構(gòu)來優(yōu)化網(wǎng)絡(luò),提出一種緊湊的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),該網(wǎng)絡(luò)框架不僅適用于織物缺陷檢測,還適用于其他數(shù)據(jù)集的物體識別任務(wù)。劉閃亮[29]在基礎(chǔ)網(wǎng)絡(luò)VGGNet-16 的上進行改進,提出基于ODFTNet 的織物缺陷檢測算法。Cheng 等人[30]基于語義分割網(wǎng)絡(luò)提出一種結(jié)合卷積下采樣、深度可分離卷積和交叉平行比損失函數(shù)的分離卷積SCUNet,參數(shù)量為4.27M,但是該方法只在灰度圖像進行了測試。Ouyang 等人[31]在卷積神經(jīng)網(wǎng)絡(luò)中引入一種新的成對電位激活層,該方法能夠?qū)哂袕?fù)雜特征和不平衡數(shù)據(jù)集的織物進行高精度的缺陷分割。在使用TILDA 數(shù)據(jù)集進行評估時,該方法的平均準(zhǔn)確率達到92.25%。但該方法需要對數(shù)據(jù)進行預(yù)處理和標(biāo)注。孫羽等人[32]提出一種基于深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)的織物疵點檢測辦法,建立了一種改進的多層感知機卷積神經(jīng)網(wǎng)絡(luò),進一步增強特征表示能力。
3.2 基于生成模型的方法
生成模型是一種無監(jiān)督方法,它可以學(xué)習(xí)任何類型數(shù)據(jù)分布。所有類型的生成模型都旨在學(xué)習(xí)樣本的真實數(shù)據(jù)分布。生成模型分為兩類,自編碼器和GAN。利用生成模型進行布匹瑕疵檢測可以通過學(xué)習(xí)正常布匹圖像的特征來自動生成對比的瑕疵圖像,從而實現(xiàn)對布匹瑕疵的自動識別。
⑴ 自編碼器
自編碼器對正常的布匹圖像進行建模,后利用所建模型來檢測異?;蜩Υ脠D像。使用自編碼器模型對正常和瑕疵圖像進行編碼和解碼。如果一個圖像經(jīng)過編碼和解碼之后的誤差很小,則這個圖像正常;如果誤差很大,則這個圖像就很可能存在瑕疵。
楊偉嘉[33]設(shè)計一個有效的二分類深度卷積網(wǎng)絡(luò),并針對樣本不均衡問題采用Focal loss 損失函數(shù),提出了基于全卷積自編碼器網(wǎng)絡(luò)的無監(jiān)督布料瑕疵檢測方法。Zhang 等人[34]設(shè)計內(nèi)存引導(dǎo)量化變分自動編碼器,提出了一種無監(jiān)督和無記憶缺陷的方法,用于樣本稀缺和缺陷類型不平衡的彩色圖案織物缺陷識別,避免了人工標(biāo)記樣本。Wei 等人[35]使用訓(xùn)練后的模型,從輸入圖像和重建圖像之間的SSIM 殘差圖中獲得目標(biāo)缺陷,實現(xiàn)了一個基于VAE 的織物缺陷檢測系統(tǒng),滿足了實時性要求。Zhang.H 等人[36]提出一種基于無監(jiān)督去噪卷積自編碼器的彩色織物疵點自動檢測與定位方法。
自編碼器相較于目標(biāo)檢測模型不需要手動標(biāo)注大量數(shù)據(jù)。相較于傳統(tǒng)機器視覺方法,可以自適應(yīng)數(shù)據(jù)的分布和特征,從而可以處理一些噪聲、變形和光照變化等常見的問題。自編碼器的訓(xùn)練時間相對較短,并且可以在GPU 上進行加速,因此可以在較短的時間內(nèi)完成大規(guī)模的數(shù)據(jù)訓(xùn)練。
⑵ 生成對抗模型
GAN 是一種無監(jiān)督的深度學(xué)習(xí)方法,利用正常的布匹圖像作為輸入,訓(xùn)練生成器生成與正常圖像相似的合成圖像。生成器應(yīng)該盡量保留正常圖像的紋理和形狀特征。訓(xùn)練判別器來區(qū)分生成器生成的合成圖像和真實的瑕疵圖像。判別器應(yīng)該能夠準(zhǔn)確地識別瑕疵圖像,而不將正常圖像誤判為瑕疵圖像。通過交替訓(xùn)練生成器和判別器,以便生成器生成更接近真實瑕疵圖像的合成圖像,同時判別器也能夠更準(zhǔn)確地識別瑕疵圖像。這個過程可以提高生成器的瑕疵特征捕捉能力。
Cheng 等人[37]基于生成對抗網(wǎng)絡(luò)模型架構(gòu)提出了具有無監(jiān)督直接缺陷殘差圖像生成的織物缺陷檢測模型,使用帶有塊的生成器和雙判別器來使生成的圖像更接近目標(biāo)圖像。Wei 等人[38]針對織物疵點的多樣性和缺陷樣本的缺乏問題,提出一種基于DCGAN 的多階段無監(jiān)督織物瑕疵檢測方法,將缺陷圖像進行重建,從原始圖像中減去重建圖像時,得到缺陷的殘差圖。
生成對抗模型能夠從大量的正常和瑕疵數(shù)據(jù)中學(xué)習(xí)特征,從而能夠檢測出各種類型的瑕疵,包括一些難以捕捉的細(xì)微瑕疵。但是,生成對抗模型的訓(xùn)練需要大量時間和計算資源,因為需要進行反復(fù)的迭代訓(xùn)練過程??赡苄枰嗟臄?shù)據(jù)才能學(xué)習(xí)到足夠的特征,尤其是對于一些較小的數(shù)據(jù)集,模型的性能可能會受到限制。
4 結(jié)束語
以計算機視覺為核心的紡織品缺陷自動檢測技術(shù)引起了研究人員的廣泛關(guān)注。隨著新型物體檢測算法、計算能力、傳感器技術(shù)和工業(yè)的發(fā)展,基于計算機視覺的紡織品缺陷檢測系統(tǒng)將繼續(xù)高速發(fā)展。但目前對布匹瑕疵進行高準(zhǔn)確度實時檢測仍存在一些困難。
⑴ 目前還沒有統(tǒng)一的布匹瑕疵公開數(shù)據(jù)集。
⑵ 隨著紡織技術(shù)不斷在發(fā)展,織物的種類和紋理將會越來越復(fù)雜。
⑶ 面對不同布匹和瑕疵種類,目前需要不同的模型進行檢測。
傳統(tǒng)機器學(xué)習(xí)方法通常使用手工設(shè)計的特征來表示布匹圖像,然后使用分類器(如支持向量機、隨機森林等)進行分類。相比之下,深度學(xué)習(xí)方法可以從原始像素級數(shù)據(jù)中學(xué)習(xí)到更高層次的抽象特征,無需手工設(shè)計特征。
綜上所述,布匹瑕疵檢測具有重要的經(jīng)濟和社會意義,可以提高生產(chǎn)效率和產(chǎn)品質(zhì)量,降低生產(chǎn)成本和環(huán)境污染,雖然這個領(lǐng)域已經(jīng)進行較多研究,但仍然存在許多挑戰(zhàn)和機遇,布匹瑕疵檢測仍是一個值得研究的問題。