馮一凡 師 昕 趙雪青
(西安工程大學計算機科學學院 西安 710048)
我國作為世界上最大的紡織產(chǎn)品生產(chǎn)貿(mào)易國家,紡織行業(yè)是我國現(xiàn)代經(jīng)濟中非常重要的一部分,但在紡織產(chǎn)品大量生產(chǎn)的現(xiàn)代社會,仍然存在大量的紡織產(chǎn)品疵點,不同程度的紡織產(chǎn)品疵點以及不同種類的紡織產(chǎn)品疵點,會對紡織產(chǎn)品造成不同的影響[1~2]。目前,紡織產(chǎn)品疵點的檢測主要還是人工依靠視覺離線檢測來完成的,該方法存在檢測速度低,檢測結果要依靠檢驗人員主觀印象,導致檢驗結果誤檢率以及漏檢率高等缺點[3]。
基于統(tǒng)計的方法,針對紡織產(chǎn)品疵點區(qū)域與正常區(qū)域的顏色統(tǒng)計上存在一定的差異性,對于紡織產(chǎn)品正常區(qū)域特征穩(wěn)定且區(qū)域統(tǒng)一,而存在疵點現(xiàn)象的區(qū)域其特征變現(xiàn)在與正常區(qū)域存在誤差,因此傳統(tǒng)的基于統(tǒng)計方法的紡織產(chǎn)品疵點檢測主要利用灰度共生矩陣,形態(tài)學處理等方法[4~6]。但由于紡織產(chǎn)品疵點存在的位置不確定,以及紡織產(chǎn)品紋理具有隨機性,因此很難準確地使用統(tǒng)計方法對特征進行疵點檢測,進行分類?;陬l域分析的紡織產(chǎn)品疵點檢測方法,主要是通過將紡織產(chǎn)品疵點圖像從空間域轉換為頻域,在頻域中對圖像進行分析處理,常見的有是用數(shù)學方法的小波變換、Gabor變換、傅里葉變換等[7~9]。基于機器學習的紡織產(chǎn)品疵點檢測方法[10~13],主要包含基于字典與基于深度學習的方法,字典學習是利用正常紡織產(chǎn)品圖像塊學習出字典集,進而通過稀疏矩陣重構正常紋理圖像,根據(jù)正常圖像與測試圖像的統(tǒng)計進行分類;基于深度學習的方法,主要是利用深度卷積學習網(wǎng)絡相應的參數(shù)以解決相對應的問題,但是基于深度學習的方法雖然在結果上有一定的優(yōu)勢,但是在模型訓練過程中需要大量的數(shù)據(jù)集進行參數(shù)的訓練,耗費大量的時間成本,并且在基于小樣本數(shù)據(jù)時,準確率較低。
基于此,本文提出了基于遷移學習的紡織產(chǎn)品疵點分類方法,通過利用原始模型在ImageNet數(shù)據(jù)集[14]上進行預訓練得到的參數(shù),將其遷移到本文所使用的AlexNet模型中,進行實驗,本文的結果不管是在準確率方向還是在時間方向,與傳統(tǒng)的方法例如小波變換,人工神經(jīng)網(wǎng)絡以及基于機器學習的方法DenseNet[15]還是ResNet[16]或 者Xception[17]方法對比,都有一定的耗時、準確率優(yōu)勢。
在一些領域,如生物信息學,機器人技術,紡織產(chǎn)品識別技術,由于數(shù)據(jù)獲取過程的困難以及獲取價格昂貴,構建一個大規(guī)模數(shù)據(jù)集是一個困難的過程,這在很大程度上限制了其開發(fā)。
遷移學習的誕生,讓小數(shù)據(jù)模型有了很大的發(fā)展,放寬了訓練數(shù)據(jù)必須是獨立的和同分布的假定,利用遷移學習的方法來解決訓練數(shù)據(jù)不足的問題[18]。2010年Pan等[19]提出了遷移學習的概念,即利用現(xiàn)有領域的知識來提高目標領域解決訓練數(shù)據(jù)稀缺和過擬合相關問題的能力。換句話說,將先前獲取的知識用于學習未知知識,以避免對學習未知領域的巨大投資,從而減少過度的資源浪費。隨著深度學習的發(fā)展,基于深度學習的遷移學習可分為基于映射的深度遷移學習[20]、基于實例的深度遷移學習[21~22]、基于對抗學習的深度遷移學習[23~25]以及基于網(wǎng)絡的深度遷移學習[26~27]。遷移學習的網(wǎng)絡模型的優(yōu)點是數(shù)據(jù)依賴小、網(wǎng)絡訓練速度快、學習效率高。遷移學習是將在源域訓練的模型參數(shù)遷移到新模型中,并應用到目標域,以幫助新模型的訓練和求解。
如圖1 所示,將AlexNet 卷積神經(jīng)網(wǎng)絡在大型數(shù)據(jù)集ImageNet上進行充分的訓練,在ImageNet數(shù)據(jù)集上學習到圖像分類識別所需要的大量特征知識,參數(shù)框架等信息遷移到AlexNet,應用在紡織產(chǎn)品疵點分類問題。本文使用的遷移方式是參數(shù)遷移,重新初始化網(wǎng)絡中的部分層數(shù),保留原有卷積層結構,并搭建新全連接層和歸一化層,使用網(wǎng)絡預訓練好的權重參數(shù),如表1 所示,應用在新數(shù)據(jù)集的分類過程中。本文提出的模型是基于AlexNet的遷移學習模型,應用在紡織產(chǎn)品疵點檢測分類,簡稱FDAT 模型(fabric defect classification based on AlexNet using transfer learning)。相較于傳統(tǒng)的分類識別方法,通過遷移學習的方法實現(xiàn)紡織產(chǎn)品疵點的分類識別,無需人工在數(shù)據(jù)中挖掘相關數(shù)據(jù)特征。通過ImageNet數(shù)據(jù)集上進行預訓練的AlexNet網(wǎng)絡,避免網(wǎng)絡過擬合,或陷入局部最優(yōu)解。
表1 FDAT模型網(wǎng)絡參數(shù)
表2 參數(shù)設置
圖1 遷移學習模型框架圖
本文采用了TILDA紡織產(chǎn)品疵點數(shù)據(jù)集,如圖2 所示,TILDA 數(shù)據(jù)集包含飛來物、破洞、紗疵、油污、竹節(jié)等五種類別的紡織產(chǎn)品疵點現(xiàn)象,每個類別包含50 張圖像,每張圖像的大小不一,共250 張圖像,隨即分80%為訓練集,20%為測試集。為測試本文提出的FDAT 模型的性能,對比了DenseNet,ResNet,Xception,小波變換,人工神經(jīng)網(wǎng)絡等方法在不同評價指標下的實驗結果。實驗平臺為Matlab R2019a,Intel Core,i7,CPU 2.60GHz。
圖2 數(shù)據(jù)集
為了量化比較本文提出的方法與其他分類方法的性能。研究人員使用通用評估標準(準確率)來衡量模型的性能。P 是分類結果為正樣本的數(shù)目,N 是分類結果為負樣本的結果,為了計算該指數(shù),使用真陽性(TP)、真陰性(TN)、假陽性(FP)和假陰性(FN)。Accuracy(準確率)表示所有樣本中可以準確預測的百分比,描述了分類方法的整體性能。
為了提高模型準確率,縮短模型訓練時間,減少資源消耗,本文提出模型的具體參數(shù)設置如下表1 所示。其中,Epoch 是指對所有圖像進行完整的訓練訓練期間選擇的數(shù)據(jù)集。Batch size 是指批次的數(shù)量樣本,即每次發(fā)送到訓練的圖像數(shù)量。Learning rate決定著目標函數(shù)能否收斂到局部最小值以及何時收斂到最小值,代表了神經(jīng)網(wǎng)絡中隨時間推移,信息累積的速度。
本文提出的FDAT 模型在TILDA 數(shù)據(jù)集上訓練時的準確率曲線如圖3 所示,準確率越高模型越準確,其中迭代次數(shù)在40 次時模型準確率穩(wěn)定在98%;模型訓練時的損失函數(shù)曲線如圖4所示,損失值越低越好,其中迭代次數(shù)在40次后趨于0。
圖3 FDAT模型的準確率曲線
圖4 FDAT模型的損失函數(shù)曲線
本文提出的FDAT 模型在TILDA 數(shù)據(jù)集上訓練時訓練集和測試集的比例為8∶2,即每個類別包含10 張測試集圖像,本文使用準確率以及時間兩個評價指標來評價本文提出的FDAT 模型與DenseNet,ResNet,XceptionNet,小波變換,人工神經(jīng)網(wǎng)絡等方法的性能對比,如圖5 所示,DenseNet準確率為96.00%,ResNet 準確率為98.00%,XceptionNet 準確率為96.00%,人工神經(jīng)網(wǎng)絡準確率為88.00%,小波變換準確率為94.00%,ResNet 準確率與本文提出的FDAT方法的準確率皆為98.00%,但是在時間維度上,相較于其他算法,本文提出方法在同等數(shù)據(jù)集下用時9min,本文提出的FDAT 算法在時間,準確率上與同等模型相比具有一定的優(yōu)越性。模型測試的混淆矩陣結果如圖6 所示,由于破洞與紗疵圖像存在一定的相似性,在破洞的分類預測結果中,只有90%的正確率,有一張圖像被預測為紗疵。但飛來物、紗疵、油污竹節(jié)的分類準確率均為100%,說明本文提出的FDAT 模型在準確率方面有一定的優(yōu)越性。
圖5 不同算法在TILDA數(shù)據(jù)集上的時間與準確率對比
圖6 混淆矩陣結果
本文提出基于AlexNet遷移學習的紡織產(chǎn)品疵點分類方法,將在Image Net 上進行預訓練好的AlexNet模型參數(shù)遷移到到數(shù)據(jù)量較小的目標數(shù)據(jù)集,保留原有卷積層結構并搭建新全連接層和歸一化層對數(shù)據(jù)進行分類。訓練集和測試集均使用TILDA 數(shù)據(jù)集,不同圖像類別間疵點的差異較小,經(jīng)過遷移學習后的FDAT 方法準確率高達98%且耗時較小,具有較強的普適性,并在時間維度相對于其他算法耗時較小。