金守峰,尤佳欣,侯一澤
(1.西安工程大學(xué) 機(jī)電工程學(xué)院,陜西 西安 710600; 2.西安工程大學(xué) 西安市現(xiàn)代智能紡織裝備重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710600)
選擇合理的抓毛織物圖像特征對于判別抓毛織物的質(zhì)量至關(guān)重要。在織物表面進(jìn)行抓毛工藝處理,抓毛后織物表面絨毛的長度和形態(tài)較為復(fù)雜,不合格抓毛織物的表面表現(xiàn)為絨毛厚度不致密且分布不均勻的特征,不能滿足外觀以及舒適性要求。抓毛織物表面的紋理特征、形態(tài)特征復(fù)雜,不同特征需要不同的算法提取。傳統(tǒng)人工特征提取算法計(jì)算復(fù)雜,已不能滿足在光照不勻等影響因素下對抓毛織物的特征提取。目前主要通過經(jīng)驗(yàn)豐富的工藝人員根據(jù)視覺及觸覺判斷抓毛織物絨毛的質(zhì)量,大量的視覺檢測工作易導(dǎo)致疲勞、疏忽以及檢測效率低下等問題,因此,研究能夠自動(dòng)提取出具有分辨力的抓毛織物圖像特征算法以及具有較高準(zhǔn)確率的分類模型顯得尤為重要。
傳統(tǒng)的機(jī)器學(xué)習(xí)方法通過人工手段對織物的特征進(jìn)行提取,然后將提取到的特征經(jīng)過一系列的轉(zhuǎn)化分解,判定出織物的質(zhì)量。魏哲等[1]針對抓毛織物表面質(zhì)量的量化檢測問題,采用切向背光法獲取抓毛織物的輪廓圖像,根據(jù)絨毛區(qū)域的直方圖特征對絨毛進(jìn)行分割,采用Freeman編碼提取絨毛特征,利用最小二乘法擬合絨毛邊緣信息,從而建立絨毛厚度模型,進(jìn)而給定絨毛狀態(tài)參數(shù)模型。金守峰等[2]使用Freeman鏈碼原理提取織物上的邊緣輪廓坐標(biāo),以此作為輸入對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,網(wǎng)絡(luò)準(zhǔn)確率為93.02%。采用文獻(xiàn)所述方法獲取織物上的邊緣輪廓坐標(biāo)過程復(fù)雜且容易受實(shí)驗(yàn)環(huán)境的影響,從而影響實(shí)驗(yàn)準(zhǔn)確率。目前,卷積神經(jīng)網(wǎng)絡(luò)等深度學(xué)習(xí)模型在圖像處理領(lǐng)域越來越受到重視,相對于傳統(tǒng)的機(jī)器學(xué)習(xí)方法,卷積神經(jīng)網(wǎng)絡(luò)方法在特征提取技術(shù)領(lǐng)域具有巨大的優(yōu)越性[3]。
為提高織物在抓毛工藝后的絨毛質(zhì)量檢測效率,本文提出一種融合卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)特征與支持向量機(jī)(SVM)的抓毛織物檢測方法,對原始圖像進(jìn)行主成分分析(PCA)[4-5]、奇異值分解[6-8]預(yù)處理操作,通過數(shù)據(jù)增強(qiáng)得到擴(kuò)充后的數(shù)據(jù)樣本,構(gòu)建一種改進(jìn)的vgg16卷積神經(jīng)網(wǎng)絡(luò)模型[9-11],將預(yù)處理后的圖像輸入模型,利用卷積神經(jīng)網(wǎng)絡(luò)的卷積層自動(dòng)提取抓毛織物樣本的特征作為輸入,然后將提取到的特征擬合SVM分類器[12-14],對輸入的抓毛織物圖像進(jìn)行類別評定。
數(shù)據(jù)的采集通過幀率為45 fps、焦距為10 mm的工業(yè)相機(jī),采集如圖1(a)所示的絨毛厚度分布均勻且致密的合格抓毛織物圖像100張,圖1(b)~(d)中3種不同顏色的不合格抓毛織物(其表面特征分布不均勻、長度不一且稀疏)圖像各100張,共計(jì)實(shí)驗(yàn)樣本400張。
圖1 抓毛圖像示例Fig.1 Example of scratching image.(a)Wool catching fabric A;(b)Wool catching fabric B;(c)Wool catching fabric C;(d)Wool catching fabric D
如圖2所示,分別對4類抓毛織物圖像進(jìn)行主成分分析、奇異值分解預(yù)處理,對處理后的圖像進(jìn)行HSV顏色轉(zhuǎn)換、圖像鏡像、隨機(jī)翻轉(zhuǎn)等數(shù)字增強(qiáng)處理,得到均勻且致密的抓毛織物A與其余3種不同顏色的稀疏不均勻抓毛織物圖像(抓毛織物B、C、D)各500張。
圖2 圖像預(yù)處理及圖像增強(qiáng)Fig.2 Image preprocessing and image enhancement
采用基于Keras深度學(xué)習(xí)框架,以vgg16為基本網(wǎng)絡(luò)框架,使用MatLab深度學(xué)習(xí)工具箱deepNetworkDesigner構(gòu)建改進(jìn)的vgg16網(wǎng)絡(luò)模型,網(wǎng)絡(luò)主要包括輸入層、卷積層和池化層。網(wǎng)絡(luò)卷積參數(shù)如表1所示,該改進(jìn)算法無池化層1。
表1 改進(jìn)vgg16網(wǎng)絡(luò)卷積結(jié)構(gòu)參數(shù)(卷積層)Tab.1 Improving convolution structure parameters (convolution layer) of vgg16 network
1.3.1 卷積層
使用模型的卷積層中卷積核的大小如表1所示,選用的激活函數(shù)為ReLU函數(shù)。卷積層與ReLU激活函數(shù)的計(jì)算公式分別為:
ReLU激活函數(shù)是一個(gè)取最大值函數(shù),構(gòu)造雖然簡單,卻是深度學(xué)習(xí)中的一個(gè)重要成果。其計(jì)算和收斂速度遠(yuǎn)快于Sigmoid函數(shù)和Tanh函數(shù)。
1.3.2 池化層
在卷積神經(jīng)網(wǎng)絡(luò)中,池化運(yùn)算是對特征圖上的一個(gè)給定區(qū)域求出一個(gè)能代表這個(gè)區(qū)域特殊點(diǎn)的值,對于減小計(jì)算量和防止過擬合是非常重要的,特征圖在經(jīng)過池化后其尺寸會(huì)減小。最大池化(max-pooling)和平均池化(average-pooling)是常見的2種池化方法。本文模型采用最大池化,設(shè)置過濾器大小為2×2,步長為2,最大池化公式為:
在CNN模型訓(xùn)練完成后,對于輸入圖像可以通過卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取,并將提取到的特征輸入支持向量機(jī)分類器中進(jìn)行分類,整體思路如圖3所示。將輸出的一維特征向量作為SVM的輸入用于抓毛織物的分類,如圖4所示,將SVM二分類問題轉(zhuǎn)化為多分類問題,首先選定其中一種類別樣本單獨(dú)作為一個(gè)類別,除該類別外的其余類別樣本則歸為另一個(gè)類別,就可以對抓毛織物A、抓毛織物B、抓毛織物C、抓毛織物D 4種抓毛織物進(jìn)行分類。
圖3 整體思路示意圖Fig.3 Schematic diagram of overall thought
圖4 基于SVM圖像的多分類Fig.4 Multi-classification based on SVM image
實(shí)驗(yàn)平臺在Windows10系統(tǒng)下搭建,采用GTX1060、6 G顯存及16 G內(nèi)存的配置,配備MatLab R2021a環(huán)境。
實(shí)驗(yàn)采用本文改進(jìn)的vgg卷積神經(jīng)網(wǎng)絡(luò)的卷積層,與AlexNet、vgg-16以及LeNet3種卷積神經(jīng)網(wǎng)絡(luò)對比,得到的網(wǎng)絡(luò)參數(shù)如表2所示。
表2 網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)Tab.2 Network structure parameter
2.2.1 圖像預(yù)處理對模型的影響
分別對預(yù)處理前后的數(shù)據(jù)進(jìn)行實(shí)驗(yàn),為了提取卷積神經(jīng)網(wǎng)絡(luò)池化層的特征信息,采用activations函數(shù)作為特征提取與激活函數(shù),并分別將改進(jìn)vgg-16、AlexNet、vgg-16、LeNet 4種模型最后一層池化層的輸出特征作為輸入,擬合SVM分類器,對輸入的抓毛織物圖像進(jìn)行分類,結(jié)果如表3所示。由表3可以看出,基于改進(jìn)的vgg-16模型在測試準(zhǔn)確率以及模型測試時(shí)間方面均優(yōu)于其他3種模型,未經(jīng)過圖像預(yù)處理的數(shù)據(jù)測試準(zhǔn)確率普遍低于經(jīng)過圖像預(yù)處理的數(shù)據(jù)。在訓(xùn)練時(shí)間方面,由于利用主成分分析、奇異值分解進(jìn)行特征預(yù)處理,簡化壓縮了特征的分布,從而減少了運(yùn)算量,因此訓(xùn)練時(shí)間比未經(jīng)過數(shù)據(jù)預(yù)處理的模型耗時(shí)少。綜上所述,圖像預(yù)處理提高了模型的測試準(zhǔn)確率,減少了圖像訓(xùn)練所消耗的時(shí)間。
圖5 采用不同層特征的分類準(zhǔn)確率對比Fig.5 Comparison of classification accuracy using different layer features
圖6 4類抓毛織物圖像進(jìn)行池化層特征可視化Fig.6 Visualization of pool layer characteristics in four types of fleece fabric images
表3 預(yù)處理前后測試結(jié)果Tab.3 Test results before and after pretreatment
2.2.2 不同池化層對模型的影響
為了比較卷積神經(jīng)網(wǎng)絡(luò)不同層提取的特征對分類效果的不同影響,分別抽取了改進(jìn)vgg-16模型的pool1、pool2、pool3、pool4、pool5層的特征用于支持向量機(jī)算法的分類,分類準(zhǔn)確率對比如圖5所示,其中pool5層的準(zhǔn)確率可以達(dá)到99.96%。
通常隨著卷積層的深入抓毛織物圖像提取到的特征會(huì)變得越來越抽象,對于不同層提取的特征對分類效果也有著不同影響,為進(jìn)一步可視化本文模型在不同卷積層的特征情況,以便深入了解卷積神經(jīng)網(wǎng)絡(luò)提取到抓毛織物圖像特征的過程,對4類抓毛織物圖像通過不同池化層特征進(jìn)行可視化處理,如圖6所示。
對比4類抓毛織物圖像卷積特征可視化結(jié)果表明,隨著卷積層層數(shù)增高,抓毛織物表面特征越來越明顯,抽取的特征越抽象,用于分類檢測的效果越好。
以抓毛織物表面圖像為研究對象,采用深度學(xué)習(xí)的方法對致密且均勻的抓毛織物與3種不合格的不致密且稀疏的抓毛織物進(jìn)行檢測,得出如下主要結(jié)論:
①使用卷積神經(jīng)網(wǎng)絡(luò)對抓毛織物圖像進(jìn)行特征提取,能夠自動(dòng)提取出具有分辨力的優(yōu)異特征。
②利用主成分分析、奇異值分解圖像預(yù)處理進(jìn)行特征預(yù)處理,然后采用數(shù)據(jù)增強(qiáng)擴(kuò)充數(shù)據(jù)集,測試準(zhǔn)確率高于原始數(shù)據(jù)模型,可以增強(qiáng)模型的泛化能力。
③基于改進(jìn)vgg16卷積的pool5層的輸出特征作為輸入,擬合SVM分類器對抓毛圖像進(jìn)行分類,測試準(zhǔn)確率可達(dá)到99.96%。