肖玉麟,路 凱,2*,張 洋,2,劉 曄,江 超,田潤強
(1. 許昌學院信息工程學院,許昌 461000;2. 河南省偏振感知與智能信號處理國際聯合實驗室,許昌 461000)
羊絨和羊毛兩種纖維的外觀和化學物理特性都非常相似,因此它們的鑒別一直是紡織領域的難題。傳統的羊絨識別方法采用人工顯微鏡檢測法,即通過人工在顯微鏡下觀察放大的纖維圖像中的特征來識別。然而,這種依賴人類主觀觀察的方法效率低且人力成本高。多年以來,人們對相似纖維的鑒別進行了深入探索,并提出了多種鑒別方法,其中主要包括DNA 分析法、蛋白質組學檢測法、近紅外光譜法以及基于圖像處理技術和計算機視覺的方法等。
DNA分析法是一種可靠的技術,可以用來檢測混合纖維的比例。基于TaqMan 的熒光定量PCR技術,可以用于擴增DNA并定量檢測混合纖維的比例,這種方法可以用于動物纖維的鑒別[1]。
利用近紅外光譜法可以根據有機物中含氫基團對光的吸收差異特性,對相似動物纖維中的成分進行分析[2]。周金鳳[2]采用了不同重量比的羊絨和羊毛纖維進行實驗,實驗中使用了近紅外光譜儀來獲取混合纖維的光譜信號,并使用這些信號建立數學回歸模型來分析纖維的含量。
動物纖維的主要成分是蛋白質,而不同種類動物纖維所包含蛋白質中的氨基酸比例也不同,所以可以通過檢測纖維中蛋白質的氨基酸成分來確定混合纖維的組成比例。張娟[3]采用還原法和酶解法制備了羊絨和羊毛纖維的蛋白質溶液,然后使用MALDI TOF5800 質譜儀掃描干燥后的溶液,質譜儀可以生成多肽質譜圖的特征峰值,憑此可以確定溶液中所含的不同氨基酸序列,從而判斷混合纖維中羊絨和羊毛的含量。
基于計算機圖像處理和計算機視覺的方法主要是從纖維的顯微鏡圖像中提取視覺特征,并以此來識別纖維的類別。Xing 等[4]從纖維圖像中提取四個形態特征(鱗片高度、纖維直徑、徑高比、鱗片平均面積),根據這四個特征來識別羊絨和羊毛兩類纖維。Zhu 等[5]利用離散小波變換取得羊毛和羊絨纖維圖像表面紋理的特征,然后使用支持向量機得到95.2%的識別率。
最近幾年,基于深度學習的方法備受研究者關注,這類方法與基于手動選擇特征的方法不同,而是使用端到端的方式,將纖維圖像輸入卷積網絡,通過一個網絡完成特征提取和分類。從明芳等[6]使用羊絨和羊毛樣本訓練Mask R-CNN模型,測試集的識別率達到95%以上。
本文選用了經典的殘差網絡Resnet-34 作為識別模型,用于從羊絨和羊毛的顯微鏡圖像中提取特征并進行分類,嘗試尋求一種快速、準確的纖維識別方法,為實現纖維的自動識別提供算法支持。
研究中首先采集羊絨和羊毛纖維的顯微鏡圖像,然后按照以下幾個步驟進行實驗:對樣本圖像進行預處理、在訓練集上訓練網絡模型、在驗證集上識別纖維類別、數據集上進行五折交叉驗證。
高質量的圖像對于保證識別效果是必不可少的,掃描電子顯微鏡的成像原理是通過使用電子束掃描物體來獲取物體表面的詳細信息。與光學顯微鏡相比,掃描電子顯微鏡的視場光線分布均勻,干擾因素較少,可以生成高分辨率的物體表面圖像,且生成的圖像具有大景深和強烈的立體感,用其拍攝動物纖維圖像能夠清晰地顯示纖維鱗片的完整形態。實驗中使用的掃描電子顯微鏡系統設備型號為日立TM3000,該設備如圖1 所示。實驗中用該顯微鏡采集羊絨和羊毛纖維圖像,放大倍數為1000倍,如圖2所示。

圖1 日立TM3000掃描電子顯微鏡系統

圖2 日立TM3000臺式掃描電子顯微鏡采集的纖維圖像
殘差網絡(residual network,ResNet)是一種經典的深度卷積神經網絡架構,其主要思想是引入殘差連接(residual connection)或短連接(shortcut),來解決深度神經網絡模型中的梯度爆炸與梯度消失的問題,從而訓練更深的網絡[7]。殘差網絡通過在每個殘差塊(residual block)中添加一個短連接,將原始輸入直接添加到輸出上,即使在后續的層中也可以直接訪問到原始輸入,如圖3所示。這種設計使得網絡可以更容易地學習恒等映射,并且減少了訓練中的信息丟失,從而提高了網絡的精度和穩定性。通過使用殘差塊構建網絡,ResNet 可以達到非常深的深度,同時保持較低的錯誤率。

圖3 殘差學習結構示例[7]
ResNet 是由多個殘差塊組成的網絡結構,每個殘差塊包括兩個卷積層和一條短連接。在訓練過程中,ResNet 采用了批量歸一化等方法,以提高模型的訓練速度和性能。以34 層的ResNet模型為例,其結構如圖4所示。

圖4 ResNet網絡結構[7]
在圖4 中,該網絡通過使用5 組不同的卷積核來進行特征提取。每組卷積核用不同顏色表示,并在每組卷積后對得到的特征圖進行下采樣。此外,每經過兩個卷積操作會進行一次短連接,圖4中用黑色實線表示。當短連接的兩個特征圖維度不一致時,會在進行1×1 卷積運算后再進行1/2 的下采樣,圖中用黑色虛線表示。最后,網絡采用Softmax分類器進行分類。
實驗中使用的操作系統是Ubuntu 16.04,深度學習框架使用的是PyTorch,計算機配置的顯卡為NVIDIA 3060,12 GB 顯存,CPU 為Intel i5 10400 F,主頻為2.90 GHz,內存16 GB。
數據集中包含了675幅纖維圖像,其中羊絨纖維343 幅、羊毛纖維332 幅。為了實驗結果更有普遍意義,實驗中使用了五折交叉驗證。數據集被劃分為5 份,進行5 次實驗,每次實驗中,其中4 份作為訓練集,剩余1 份作為驗證集,即每次使用540 幅圖像用來訓練,135 幅圖像進行驗證。最終將5次實驗的平均值作為模型的結果,數據集的劃分情況如圖5所示。

圖5 五折交叉驗證
當訓練深度卷積神經網絡模型時,如果訓練數據較少,很容易出現過擬合問題。為了應對這個問題,實驗中采用了數據增強技術來增加纖維樣本圖像的數量及多樣性,從而擴充訓練集,這樣降低模型的過擬合并提高模型的泛化能力。在實驗中,我們使用了多種數據增強方法,主要有水平/垂直翻轉、隨機比例縮放圖像大小、隨機角度旋轉等。圖6為對羊絨纖維圖像進行增強的示例。

圖6 數據增強示例
學習率是卷積神經網絡模型訓練中的一個關鍵超參數,較大的學習率可能導致結果難以收斂,而較小的學習率會導致收斂速度很慢。實驗中使用動量(momentum)方法優化梯度下降,學習率的初始值設置為0.001,權重衰減速率(weight decay)系數是5×10-4,模型使用交叉熵作為損失函數,使用網絡在ImageNet 上訓練的權重作為網絡的初始權重,batch size 為32,即訓練時每批次送入到模型中的樣本數量為32。
實驗中可視化顯示了訓練過程中損失和準確率的變化,一共訓練了200 輪(Epoch),訓練過程中的損失變化和訓練時驗證集的準確率變化分別如圖7(a)和圖7(b)所示。

圖7 損失和準確率變化曲線
從圖7可以發現,訓練時損失剛開始迅速下降且準確率迅速上升,從第25輪(Epoch)的位置開始,損失緩慢下降,同時準確率也緩慢上升,到第175 輪位置上基本上收斂。從圖7(b)可以看到,訓練到第175輪時,曲線開始變得平緩且不再上升,說明訓練已經達到比較充分的程度,最后得到的平均識別率是96.56%。將本實驗與其他研究方法進行比較,結果見表1,其他幾種方法對羊絨和羊毛纖維的識別準確率都未超過96%,低于本文提出的方法。

表1 與其他方法的比較
實驗中使用類別熱力圖(class activation map,CAM)來觀察殘差網絡對纖維圖像的哪些位置更關注,CAM 通過使用模型中類別特定的權重來將最后一個卷積層的特征圖投影到輸入圖像上,以顯示不同類別的特征響應區域。如圖8所示。

圖8 羊毛與羊絨熱力圖
圖8中紅色代表權重值較大,表示該位置對類別判斷的貢獻更大;藍色代表權重較小,即該位置對類別判斷的貢獻小,從中也可以看出纖維更關注圖像中纖維中間部分表面鱗片的紋理,通過熱力圖有助于從直觀上理解檢測模型內部的工作機制。
本文提出了一種基于殘差網絡的相似動物纖維檢測方法,該方法能夠較好地鑒別羊絨和羊毛這兩種動物纖維。實驗中首先對采集的樣本進行五次劃分,使用五折交叉驗證的方法訓練模型和測試樣本。訓練時使用數據增強方法以減小過擬合,通過五次訓練和測試,得到平均識別率為96.56%,能夠為實現纖維的自動識別提供算法支持。