鄧智超, 鄧開連, 張 磊, 劉肖燕, 燕 帥
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院, 上海 201620)
織物疵點(diǎn)檢測(cè)是紡織品質(zhì)量控制過程中的關(guān)鍵環(huán)節(jié)之一。目前,大多數(shù)織物檢驗(yàn)方法采用高成本的人工檢測(cè),需要大量人工標(biāo)注信息。因此,探索一種泛化性好、疵點(diǎn)定位精度高和疵點(diǎn)類別分辨能力強(qiáng)的無監(jiān)督織物疵點(diǎn)檢測(cè)方法,具有重要的學(xué)術(shù)價(jià)值和應(yīng)用價(jià)值。
近年來,針對(duì)織物疵點(diǎn)的檢測(cè)算法主要包含4種方法。一是基于統(tǒng)計(jì)的方法,主要包括直方圖統(tǒng)計(jì)[1]、共生矩陣[2]、顯著圖重構(gòu)[3]等。雖然這類方法計(jì)算量小, 但是對(duì)環(huán)境條件敏感, 錯(cuò)檢、漏檢率較高。二是基于頻譜的方法,主要包括傅里葉變換[4]、小波變換[5]、Gabor 濾波器[6-7]等?;诟道锶~變換的方法無法定位疵點(diǎn)位置,而小波變換和Gabor 變換的計(jì)算成本高, 難以用于生產(chǎn)過程中的實(shí)時(shí)檢測(cè)。三是基于模型的方法,主要包括高斯混合模型[8-9]、馬爾科夫隨機(jī)場(chǎng)模型[10]等。基于模型的方法穩(wěn)健性較差,實(shí)際應(yīng)用的效果不佳, 近幾年對(duì)其研究較少。四是基于機(jī)器學(xué)習(xí)[11-12]的方法,常見的有自動(dòng)編碼器[13-14]、卷積神經(jīng)網(wǎng)[15-17]、對(duì)抗網(wǎng)絡(luò)[18-19]等。由于不同面料的紋理背景、環(huán)境光線強(qiáng)弱和干擾噪聲的影響,面料疵點(diǎn)背景會(huì)有很大的差異,這使得基于機(jī)器學(xué)習(xí)的方法難以提取缺陷特征,因此實(shí)際操作中為保證檢測(cè)精度,針對(duì)不同面料需花費(fèi)巨大成本訓(xùn)練專有檢測(cè)模型。由于面料疵點(diǎn)種類繁多、形態(tài)多樣,監(jiān)督學(xué)習(xí)在多形態(tài)疵點(diǎn)下,人工標(biāo)注數(shù)據(jù)費(fèi)時(shí)費(fèi)力,難以對(duì)缺陷特征進(jìn)行充分學(xué)習(xí),尤其在實(shí)際操作中,未知的、新的疵點(diǎn)不斷出現(xiàn),監(jiān)督學(xué)習(xí)很難實(shí)現(xiàn)高精度的檢測(cè)。
綜合以上分析可知,現(xiàn)有基于機(jī)器學(xué)習(xí)的檢測(cè)方法很難利用大量無標(biāo)注信息,且對(duì)不同紋理的適應(yīng)性不強(qiáng),致使檢測(cè)效果不明顯。針對(duì)織物組織紋理結(jié)構(gòu)復(fù)雜、花型繁多、材質(zhì)多樣的特點(diǎn)以及生產(chǎn)過程中環(huán)境的影響,如何提高無監(jiān)督檢測(cè)模型的泛化能力、疵點(diǎn)定位精度和疵點(diǎn)類別分辨能力仍然是研究的熱點(diǎn)。
提出基于兩層次低秩分解的無監(jiān)督織物疵點(diǎn)檢測(cè)方法:首先,利用噪聲、背景底紋、疵點(diǎn)信息的低秩和稀疏特性,建立兩層次低秩分解模型,通過交替方向乘子法對(duì)模型求解,實(shí)現(xiàn)疵點(diǎn)和背景噪聲的分離,提高算法對(duì)不同紋理織物、光線強(qiáng)弱和面料歪斜的適應(yīng)性;其次,利用檢測(cè)框鄰域圖像隸屬度的相似性與層次聚類的遞進(jìn)性,通過設(shè)計(jì)深度聚類網(wǎng)絡(luò)的聯(lián)合訓(xùn)練方式,提高疵點(diǎn)定位精度,極大地緩解因數(shù)據(jù)復(fù)雜導(dǎo)致深度聚類網(wǎng)絡(luò)訓(xùn)練難以擬合的問題。
針對(duì)疵點(diǎn)數(shù)據(jù)背景復(fù)雜、干擾噪聲多的問題,提出了基于兩層次低秩分解的無監(jiān)督織物疵點(diǎn)檢測(cè)方法,該方法流程如圖1所示。
圖1 基于兩層次低秩分解的無監(jiān)督織物疵點(diǎn)檢測(cè)方法流程圖
由圖1可知,無監(jiān)督織物疵點(diǎn)檢測(cè)分為圖像預(yù)處理和深度層次聚類網(wǎng)絡(luò)兩部分。圖像預(yù)處理部分:首先,利用背景底紋復(fù)雜性和疵點(diǎn)信息的低秩、稀疏特性,進(jìn)行兩層次低秩稀疏陣分解,將面料的疵點(diǎn)信息與背景和噪聲分離,減輕外界的影響。其次,調(diào)整訓(xùn)練,集中每張圖像各通道的像素范圍至該通道像素極限范圍,以進(jìn)行圖像歸一化。再次,統(tǒng)計(jì)訓(xùn)練集中所有圖像各通道的像素均值,并調(diào)整訓(xùn)練集所有圖像各通道的像素均值為對(duì)應(yīng)通道統(tǒng)計(jì)均值,實(shí)現(xiàn)訓(xùn)練集圖像的背景同化,提高檢測(cè)模型的泛化能力。最后,將處理后尺寸為M×N的圖像分割成(M-m-1)×(N-n-1)個(gè)尺寸為m×n的小圖像,并送入深度層次聚類網(wǎng)絡(luò)訓(xùn)練。深度層次聚類網(wǎng)絡(luò)部分:首先,通過對(duì)編碼器進(jìn)行預(yù)訓(xùn)練,初始化編碼器。其次,利用疵點(diǎn)鄰域圖像的隸屬度具有相似性的特點(diǎn),對(duì)網(wǎng)絡(luò)層次聚類進(jìn)行聯(lián)合訓(xùn)練,緩解數(shù)據(jù)復(fù)雜導(dǎo)致網(wǎng)絡(luò)難以擬合的問題,提高疵點(diǎn)定位精度和類別辨識(shí)的準(zhǔn)確率。最后,通過合并相同類別且重合的疵點(diǎn)檢測(cè)小框,根據(jù)所包含疵點(diǎn)檢測(cè)小框的數(shù)量,對(duì)重合度過高的疵點(diǎn)大框進(jìn)行非極大抑制,完成疵點(diǎn)的無監(jiān)督目標(biāo)檢測(cè)。
1.1.1 兩層次低秩分解
針對(duì)模型檢測(cè)精度因面料背景的差異性而有所降低的問題,利用背景、噪聲、疵點(diǎn)的低秩和稀疏特性,建立了如式(1)所示的兩層次低秩分解模型。第一層次從原始圖像中分解出背景矩陣L1和疵點(diǎn)與噪聲的混合矩陣S1;第二層次從疵點(diǎn)與噪聲的混合矩陣中分解出疵點(diǎn)矩陣L2和噪聲矩陣S2。通過交替方向乘子算法,對(duì)兩層次低秩分解模型求取最優(yōu)解,從而實(shí)現(xiàn)疵點(diǎn)與噪聲和背景的分離。
(1)
求解式(1)屬于NP-hard問題,難以獲得全局最優(yōu)解,因此將其轉(zhuǎn)換為凸優(yōu)化問題的求解:
λ1‖S1‖1+‖L2‖*+λ2‖S2‖1)
(2)
式中:‖‖*表示核范數(shù);‖‖1表示1范數(shù)。
(3)
最后利用交替方向乘子算法[20]進(jìn)行兩層次的迭代求解:
(4)
(5)
(6)
(7)
Y1k+1=Y1k+μ1(F-S1k-L1k)
(8)
Y2k+1=Y2k+μ2(S2k-S2k-L2k)
(9)
式中:k為迭代輪次。
1.1.2 圖像歸一化
將低秩稀疏陣分解后的圖像歸一化到0~255級(jí)灰度。
(10)
式中:Di為歸一化后的疵點(diǎn)i通道的像素矩陣;L2i為低秩稀疏陣分解后的圖像L2的第i通道像素矩陣。
1.1.3 背景同化
針對(duì)圖像經(jīng)過歸一化后背景不一致的問題,統(tǒng)計(jì)所有圖像各通道的像素均值,并調(diào)整所有圖像各通道的像素均值為各通道統(tǒng)計(jì)均值。
(11)
式中:nimg為數(shù)據(jù)集中的圖像數(shù)量;M×N為圖像尺寸;A為所有元素為1的矩陣;Dijk為第k張圖像第i個(gè)通道的第j個(gè)像素值。
1.2.1 深度層次聚類網(wǎng)絡(luò)的結(jié)構(gòu)
針對(duì)監(jiān)督學(xué)習(xí)在多形態(tài)疵點(diǎn)下難以實(shí)現(xiàn)高精度檢測(cè)的缺點(diǎn),本文設(shè)計(jì)了深度層次聚類網(wǎng)絡(luò),整個(gè)網(wǎng)絡(luò)由卷積編碼器、嵌入層和聚類層3部分組成。深度層次聚類網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
由圖2可知,其中聚類層使用K-means作為聚類算法,其將相同類別并且重合的疵點(diǎn)檢測(cè)小框合并成疵點(diǎn)檢測(cè)大框,并對(duì)重合度過高的疵點(diǎn)大框以所包含疵點(diǎn)檢測(cè)小框的數(shù)量進(jìn)行非極大抑制。深度層次聚類網(wǎng)絡(luò)參數(shù)如表1所示。
圖2 深度聚類網(wǎng)絡(luò)結(jié)構(gòu)圖
表1 深度層次聚類網(wǎng)絡(luò)參數(shù)
1.2.2 深度層次聚類網(wǎng)絡(luò)的預(yù)訓(xùn)練
對(duì)編碼器進(jìn)行預(yù)訓(xùn)練,從而初始化網(wǎng)絡(luò)參數(shù)。其損失函數(shù)LAE為
(12)
1.2.3 深度層次聚類網(wǎng)絡(luò)的聚類損失函數(shù)
利用DEC(deep embedded clustering)[21]中定義聚類損失的思想和檢測(cè)框鄰域的相似性的特點(diǎn),定義軟標(biāo)簽分布和目標(biāo)分布之間的KL(Kullback-Leibler)散度為聚類損失。
(13)
根據(jù)每張圖像的鄰域圖像的隸屬度對(duì)原隸屬度進(jìn)行修正,如式(14)~(16)所示。
(14)
dk=max(|x-s|,|y-t|)
(15)
(16)
式中:hij為未進(jìn)行歸一化的qij;Nnb為所用的鄰域點(diǎn)的個(gè)數(shù);dk為像素點(diǎn)之間的棋盤距離;qij為zi到第j類的基于鄰域的隸屬度。
(2)目標(biāo)分布。保證聚類目標(biāo)能使數(shù)據(jù)分布更加接近聚類中心,因此定義聚類目標(biāo)分布pij,如式(17)所示。
(17)
式中:pij為zi到第j類的目標(biāo)隸屬度。
(3)聚類損失函數(shù)。聚類損失值計(jì)算如式(18)所示。
(18)
式中:Lc為聚類損失值。
1.2.4 深度層次聚類網(wǎng)絡(luò)的聯(lián)合訓(xùn)練
為保證聚類訓(xùn)練過程中嵌入層提取的低維數(shù)據(jù)特征能夠表示原圖像而不畸變,借助DCEC(deep convolutional embedded clustering)[22]的訓(xùn)練思想,通過同時(shí)降低LAE和Lc對(duì)深度層次聚類網(wǎng)絡(luò)進(jìn)行聯(lián)合訓(xùn)練,因此聯(lián)合訓(xùn)練損失函數(shù)如式(19)所示。
Ljoint=Lc+αLAE
(19)
由于面料疵點(diǎn)種類繁多的特點(diǎn),直接對(duì)深度層次聚類網(wǎng)絡(luò)進(jìn)行聯(lián)合訓(xùn)練可能無法擬合,因此聯(lián)合訓(xùn)練中使用了類似層次聚類的方式進(jìn)行訓(xùn)練,訓(xùn)練的流程如圖3所示。
圖3 聯(lián)合訓(xùn)練的流程圖
由圖3可知,聚類類別會(huì)從高于最終類別數(shù)的n+m降低到最終的類別數(shù)n。初始聚類類別數(shù)為n+m,確定聚類中心,然后降低聯(lián)合訓(xùn)練損失值,當(dāng)達(dá)到類別降低的條件時(shí),即標(biāo)簽變化的比例小于設(shè)定的閾值δ時(shí),將類別數(shù)減一,再次確定聚類中心。以此類推直到最終降低到n個(gè)種類且達(dá)到類別降低條件,此時(shí),深度層次聚類網(wǎng)絡(luò)的訓(xùn)練完成。
試驗(yàn)平臺(tái)軟件部分使用Python 3.6和Tensorflow 2.0搭建深度學(xué)習(xí)模型,在GPU為NVIDIA TESLA T4的服務(wù)器上完成檢測(cè)模型的訓(xùn)練與測(cè)試。
試驗(yàn)分為兩個(gè)部分:(1)通過層次聚類網(wǎng)絡(luò)的聚類能力試驗(yàn),檢驗(yàn)層次聚類網(wǎng)絡(luò)的聚類能力;(2)通過模型進(jìn)行織物疵點(diǎn)檢測(cè)試驗(yàn),檢驗(yàn)兩層次低秩分解和深度層次聚類網(wǎng)絡(luò)對(duì)于面料疵點(diǎn)測(cè)檢的有效性和算法泛化性。
2.1.1 數(shù)據(jù)集
層次聚類網(wǎng)絡(luò)的聚類能力試驗(yàn)在4個(gè)數(shù)據(jù)集上進(jìn)行評(píng)估。
MNIST-full:MNIST數(shù)據(jù)集是由總計(jì)70 000個(gè)28像素×28像素的手寫數(shù)字組成。
USPS:USPS數(shù)據(jù)集包含9 298幅16像素×16像素的灰度手寫數(shù)字圖像。
Fashion-MNIST:Fashion-MNIST數(shù)據(jù)集包含了10個(gè)類別的70 000張28像素×28像素的時(shí)尚產(chǎn)品圖像。
COIL-20 :COIL-20 數(shù)據(jù)集包含了20個(gè)類別的1 440張128像素×128像素物體圖像。
2.1.2 試驗(yàn)結(jié)果
將本文深度聚類網(wǎng)絡(luò)與文獻(xiàn)[21-25]深度聚類網(wǎng)絡(luò)算法(K-means、DEC、DCEC、MDEC(multi-view deep embedded clustering)、DMJC(deep multi-view joint clustering)、VAED(variational autoencoder with distance))進(jìn)行對(duì)比,測(cè)試深度聚類網(wǎng)絡(luò)的聚類精度,選用準(zhǔn)確率Aclustering和歸一化互信息NNMI[26]作為網(wǎng)絡(luò)聚類能力的評(píng)價(jià)指標(biāo),其計(jì)算分別如式(20)和(21)所示。
(20)
式中:ms為樣本個(gè)數(shù);li為真實(shí)標(biāo)簽;ci為聚類預(yù)測(cè)標(biāo)簽。真實(shí)標(biāo)簽與聚類預(yù)測(cè)標(biāo)簽的對(duì)應(yīng)關(guān)系通過匈牙利算法計(jì)算獲得。
(21)
式中:MMI(l,c)為l與c的互信息;l為真實(shí)標(biāo)簽的集合;c為聚類預(yù)測(cè)標(biāo)簽的集合;H為熵。
由聚類算法的對(duì)比試驗(yàn)結(jié)果(見表2)可知,相較于改進(jìn)之前的DEC和DCEC網(wǎng)絡(luò),本文算法有了明顯的進(jìn)步,并且在大部分?jǐn)?shù)據(jù)集上的聚類能力優(yōu)于現(xiàn)有算法。
表2 聚類算法準(zhǔn)確率與歸一化互信息對(duì)比
2.2.1 數(shù)據(jù)集
織物疵點(diǎn)檢測(cè)試驗(yàn)選用上海嘉麟杰的典型格紋面料和典型針織棉麻面料以及TILDA中的星紋面料和點(diǎn)紋面料作為試驗(yàn)樣本,自行設(shè)計(jì)搭建面料疵點(diǎn)檢測(cè)設(shè)備。面料疵點(diǎn)試驗(yàn)平臺(tái)硬件參數(shù)如表3所示。
表3 面料疵點(diǎn)試驗(yàn)平臺(tái)硬件參數(shù)
樣本疵點(diǎn)類型為生產(chǎn)中經(jīng)常出現(xiàn)的缺經(jīng)、缺緯、漬類和破洞等4類。格紋面料數(shù)據(jù)一共包括623張512像素×512像素的圖像,其中缺經(jīng)143張、缺緯134張、漬類87張、破洞159張、正常100張。針織棉麻面料數(shù)據(jù)集一共包括465張512像素×512像素的圖像,其中缺經(jīng)96張、缺緯104張、漬類109張、破洞106張、正常50張。TILDA中的星紋面料共包括25張疵點(diǎn)圖像和25張正常圖像。TILDA中的點(diǎn)紋面料共包括110張正常圖像和120張疵點(diǎn)圖像。
2.2.2 試驗(yàn)結(jié)果
利用格紋面料訓(xùn)練的模型對(duì)4種面料進(jìn)行檢測(cè),將本文算法與其他無監(jiān)督算法(DEC、DCEC、MDEC、DMJC、VAED)和監(jiān)督算法[27-29](Faster R-CNN、Yolov3、SSD)進(jìn)行檢測(cè)精度對(duì)比,分析兩層次低秩分解(TLRD)和深度層次聚類網(wǎng)絡(luò)對(duì)織物疵點(diǎn)檢測(cè)精度的影響。試驗(yàn)以檢測(cè)模型的精度為評(píng)價(jià)指標(biāo),精度計(jì)算如式(22)所示。
(22)
式中:TP為真正例;FN為假反例;FP為假正例;TN為真反例;Adetection為檢測(cè)模型的精度。
疵點(diǎn)檢測(cè)精度試驗(yàn)結(jié)果對(duì)比如表4所示。
表4 不同算法對(duì)不同面料疵點(diǎn)的檢測(cè)精度試驗(yàn)結(jié)果對(duì)比
由表4可知,兩層次低秩分解的無監(jiān)督織物疵點(diǎn)檢測(cè)方法在格紋數(shù)據(jù)上訓(xùn)練的模型,不僅格紋織物疵點(diǎn)的檢測(cè)精度能達(dá)到81.5%,而且平紋、點(diǎn)紋和星紋織物疵點(diǎn)的檢測(cè)精度也能分別達(dá)到86.1%、91.7%和95.2%。兩層次低秩分解模型(TLRD)與單層次低秩分解模型(LRD)相比,對(duì)于現(xiàn)有無監(jiān)督算法,TLRD大都能有效提高其疵點(diǎn)檢測(cè)精度,提高檢測(cè)模型的泛化能力。與無監(jiān)督算法DEC、DCEC、MDEC、VAED、DMJC相比,基于鄰域的深度層次聚類網(wǎng)絡(luò)算法能更準(zhǔn)確地對(duì)織物疵點(diǎn)進(jìn)行檢測(cè),而且模型具有更好的泛化能力。與監(jiān)督學(xué)習(xí)算法SSD、Faster-RCNN、Yolov3相比,本文算法對(duì)于格紋面料的檢測(cè)精度高于SSD,但由于沒有使用標(biāo)簽數(shù)據(jù),低于Faster-RCNN、Yolov3的檢測(cè)精度,而對(duì)于其他3種面料的檢測(cè)精度都高于監(jiān)督算法,因此本算法具有更好的模型泛化能力。
將4種不同面料的疵點(diǎn)圖像輸入檢測(cè)模型,得到疵點(diǎn)定位與分類的檢測(cè)結(jié)果。針織格紋面料、機(jī)織棉麻平紋面料、星紋面料、點(diǎn)紋面料的疵點(diǎn)檢測(cè)結(jié)果分別如圖4~7所示。檢測(cè)結(jié)果包括疵點(diǎn)種類和邊界框,每種顏色的疵點(diǎn)邊界框?qū)?yīng)不同種類的疵點(diǎn)。檢測(cè)結(jié)果表明,檢測(cè)圖像經(jīng)過兩層次低秩分解等預(yù)處理后,能夠?qū)⒉煌媪系牟煌y理背景轉(zhuǎn)化為相同背景,以突出疵點(diǎn)的位置。因此,本算法不僅能夠?qū)σ延?xùn)練過的格紋面料進(jìn)行精準(zhǔn)的疵點(diǎn)分類與定位,而且對(duì)于未訓(xùn)練的平紋、星紋、點(diǎn)紋面料,也能進(jìn)行精準(zhǔn)的疵點(diǎn)分類與定位。在實(shí)際面料疵點(diǎn)檢測(cè)中,能夠極大地減少標(biāo)記成本和訓(xùn)練不同面料疵點(diǎn)檢測(cè)的專有模型的成本。
圖4 格紋面料疵點(diǎn)檢測(cè)
圖5 平紋面料疵點(diǎn)檢測(cè)
圖6 星紋面料疵點(diǎn)檢測(cè)
圖7 點(diǎn)紋面料疵點(diǎn)檢測(cè)
本文提出一種基于兩層次低秩分解的無監(jiān)督織物疵點(diǎn)檢測(cè)方法,實(shí)現(xiàn)了對(duì)針織格紋面料的4類疵點(diǎn)的有效檢測(cè),檢測(cè)精度為81.5%。同時(shí)在使用相同的模型下對(duì)平紋、點(diǎn)紋和星紋面料疵點(diǎn)檢測(cè)的精度也能分別達(dá)到86.1%、91.7%和95.2%,有利于解決當(dāng)前面料疵點(diǎn)檢測(cè)算法泛化性差、難以適應(yīng)面料種類動(dòng)態(tài)變化的生產(chǎn)實(shí)際問題。