文/李曉慧 曹仲慶 陳智勇 孫居娟 黃鵬羽 高萬昌 王宇昊 張志峰
新的棉花質量檢測標準GB 1103.1—2012中定義了軋工質量:籽棉經過加工后,皮棉外觀形態(tài)粗糙及所含疵點種類的程度。軋工質量指標分成好、中、差3個級別,分別用P1、P2、P3表示。在影響棉花質量的諸多指標參數(shù)中,棉花軋工質量這一指標是目前儀器化公證檢驗工作中唯一依靠人工感官的指標。根據新國標的分檔條件制作的實物標準是人工判定的主要依據。但技術人員人工進行軋工質量的等級判定,容易受人為因素影響,檢測效率較低,人工成本較高[1]。
國內外學者提出了多種方法進行軋工質量等級的檢測,張志峰等人提出基于光電檢測技術的皮棉疵點快速檢測方法的研究,檢測準確率在87%到96%之間[2]。陳光亭使用了基于數(shù)字圖像處理的棉花軋工質量分級識別算法,其識別準確率達92%[3]。肖春燕提出一種基于BP神經網絡的皮棉軋工質量分級模型,總體分級準確率為97.5%[4]。幾年來,由于卷積神經網絡在分類識別領域的卓越表現(xiàn)和工業(yè)領域的大范圍應用,逐漸成為主流的識別模型[5-6]。Laila Azizah等人使用卷積神經網絡對山竹果表面質量進行了分類,平均準確率達到了97%,個別類比分類準確率達到了100%。Jing J F等人則是使用了卷積神經網絡對紡織部的缺陷和疵點進行了檢測,其檢測準確率為97.31%。
本文首先配置了適用于深度學習的計算機硬件,制作用于訓練的數(shù)據集,研究通過深度學習技術對棉花軋工質量進行快速準確的識別檢測,搭建有效區(qū)分棉花質量等級的機器視覺系統(tǒng),從而取代現(xiàn)有的人工檢測的方法,提高檢測效率,降低檢測成本。本文中的棉花圖像主要經過預處理,剪裁和VGG預訓練網絡算法的處理得到分級結果,其中圖像裁剪和圖像增強能夠提高識別準確率和網絡的泛化能力,同時分別使用特征提?。‵eature extration)和微調(Fine-tuning)方法訓練了棉花圖片可以提高模型分類的準確率,并分析了不同方法的訓練準確率和損失函數(shù)的變化曲線,以期選擇更適用于棉花圖像識別的方法,
本文基于卷積神經網絡的棉花軋工質量分級系統(tǒng)是在以keras作為高級開發(fā)API,以Tensor flow深度學習框架為后端的環(huán)境下實現(xiàn)的。本文的系統(tǒng)開發(fā)所使用的計算機配置如表1所示。
表1 計算機硬件配置
本文通過預訓練模型完成對軋工質量的分級,使用特征提取法和微調法訓練網絡。預訓練模型中選取VGGNet16作為卷積基,其中的權重參數(shù)為ImageNet中的參數(shù)。具體實施過程分為兩種不同預訓練網絡使用方法實現(xiàn)等級分類。
VGGNet是通過反復堆疊3×3的小型卷積核和2×2的最大池化層,VGGNet構造了16至19層深的卷積神經網絡。VGGNet相比之前的網絡擁有最佳的網絡結構,錯誤率大幅下降,并取得了ILSVRC 2014比賽分類項目的第2名和定位項目的第1名。同時VGGNet的拓展性很強,遷移到其他圖片數(shù)據上的泛化性非常好。VGGNet的結構非常簡潔,整個網絡都使用了同樣大小的卷積核尺寸(3×3)和最大池化尺寸(2×2)。其結構如圖1。
圖1 卷積神經網絡結構
1.2.1 特征提取法(Feature extration)
特征提取的方法是使用之前訓練好的網絡提取感興趣的特征,然后重新使用一個分類器訓練這些特征。從前的介紹中可知,卷積網絡分類有兩個部分著稱:
先是經過一系列的卷積和池化操作,最終使用一個密集連接的分類器。而特征提取便是由在訓練好的網絡上運行新的數(shù)據,只有在輸出層構建訓練一個新的分類器。第一步,從keras 庫中導入不包含頂層的VGG16 網絡。同時設置輸入數(shù)據的維度大小。
第二步,將要訓練的數(shù)據集導入,進行歸一化處理,設置每批次訓練圖片的數(shù)量。
第三步,定義特征提取函數(shù)。通過特征提取函數(shù),每批待訓練的圖像會輸入到VGG 卷積基中進行特征提取。注意的是,從卷積基輸出的數(shù)據是多維矩陣,而輸入到分類器中的數(shù)據是一維的向量,因此之間需要進行數(shù)據維度的轉換。
第四步,構建全連接的分類器,通常會在兩層之間加入Dropout 正則化層,最后通過sigmoid 函數(shù)進行激活。將特征提取后的數(shù)據放入定義的頂層分類器中反復訓練,直至精度和損失函數(shù)達到收斂穩(wěn)定。在不采用數(shù)據增強的情況下進行網絡訓練
第五步,訓練結果可以通過matplotlib 庫繪制損失函數(shù)和準確率變化曲線。具體算法結構如圖2所示。
圖2 特征提取方法
1.2.2 微調法(Fine-tuning)
微調的方法,則是解凍部分的卷積基,通常解凍VGGNet16 的block5。之后將block5 的參數(shù)和分類器的參數(shù)同時進行訓練,這是與特征提取方法凍住整個卷積基來訓練分類器的方法不同的地方。
實現(xiàn)這種方法具體需要以下操作:(1)將分類器放置在已經訓練好的基層神經網絡之上;(2)凍住基層網絡;(3)訓練添加的分類器部分;(4)解凍部分基層神經網絡;(5)將解凍部分和添加部分的網絡同時訓練。
試驗所采用的數(shù)據均來自河南省纖維檢驗局所提供的由相關技術人員完成分類的軋棉,經過采樣儀器采集制作成數(shù)據集,棉花圖像采集系統(tǒng)如圖3所示。
圖3 棉花圖像采集系統(tǒng)
所有等級的未裁剪的新疆棉圖片共計3100張,其中P1棉220張、P2棉2800張、P3棉100張。由于實際生產和收購等原因,P2等級的軋棉數(shù)量居多,P1和P3棉相對較少。軋棉部分圖片如圖4。
圖4 采集到的部分棉花圖片
2.2.1 方法對比
圖5是兩種方法的訓練準確率和損失函數(shù)變化曲線,其中圖(a)和圖(b)是特征提取訓練法(Feature extraction)的變化圖。圖(c)和圖(d)是Fine-tuning的變化圖??梢钥闯鎏卣魈崛∮柧毞ǖ挠柧毤臄M合精度可達到98%左右,但其驗證集的精度卻是停滯且有較大的波動,而驗證集的損失函數(shù)更是波動上升,說明出現(xiàn)過擬合。最終準確率測試集準確率為70%。使用微調方法(Fine-tuning)訓練集和驗證集的準確率都在上升,損失函數(shù)則在下降,最終達到一個穩(wěn)定值,測試集的正確率為88.19%。從結果來看,微調方法要好于特征提取方法。
圖5 特征提取訓練法和微調方法訓練準確率和損失函數(shù)變化
2.2.2 圖像裁剪對訓練結果的影響
通過圖片裁剪可以增加數(shù)據集數(shù)量,根據可視化分析,擋板會對試驗結構有一定的影響和邊緣殘缺部分會對試驗結果產生一定影響。因而對采集到的圖片進行裁剪,提高分類準確率。裁剪前后圖片對比如圖6所示。
圖6 剪裁圖片效果
將裁剪后的圖片從新制作訓練集進行特征提取和微調方法的訓練。其測試集準確率相比圖像裁剪前分別提高了7.8%和2.53%。同時剪裁后的準確率波動范圍大大減小,如圖7所示,可以看出該操作能夠提高訓練結果的穩(wěn)定性。
圖7 裁剪后準確率和損失函數(shù)曲線
本研究首先提出了一種基于卷積神經網絡棉花質量等級分類方法。介紹了兩種不同訓練方法——特征提取法和微調法,制作了訓練用的數(shù)據集。通過圖像裁剪去除了冗余干擾信息。經過重復試驗得出使用預訓練模型可以大大提高網絡的訓練效率和分級的準確率。對比特征提取和微調兩種訓練方法,發(fā)現(xiàn)微調方法更適合用于棉花軋工質量的分類,并且通過對裁剪前后圖像的數(shù)據集進行訓練都取得了較高的分級準確率??傮w識別準確率達到了85%以上,能夠滿足棉花軋工質量檢測的要求。