牛思琪, 馬 睿, 許曉琳, 梁 敖, 穆春華, 許金普, 馬德新,2
(青島農業大學動漫與傳媒學院1,青島 266109)
(青島農業大學智慧農業研究院2,青島 266109)
(山東省農業科學院玉米研究所3,濟南 250100)
玉米(ZeamaysL.)是世界上分布最廣的作物之一,具有較高的營養價值和經濟價值,是我國的主要糧食作物,也是我國畜牧業主要的飼料來源。不同的地域環境對于適宜種植的玉米品種不同,傳統的種子品種檢驗的方法如色譜分析技術、卡尺測量等,均存在著耗時長等問題,而且由于其外形方面存在的差異較小,所以憑借肉眼很難對其進行快速準確的識別。
計算機視覺技術能夠在不破壞玉米種子的前提下對種子品種進行檢測識別,具有無損、快速、實時等特點。周鴻達等[1]為了快速檢測玉米等級,選取4種等級的玉米種子,利用BP神經網絡對其分類,總體識別率在90%以上。程洪等[2]選取了3個玉米品種作為實驗對象,利用支持向量機(SVM)算法對其訓練,準確率達到了92.3%。
現階段,在機器學習中應用最普遍的深度學習技術是卷積神經網絡(Convolutional Neural Networks,CNN)[3]。被廣泛應用于圖像分類、目標檢測等方面[4]。自2012年以來,CNN模型開始出現,如AlexNet[5]、VGGNet[6]、GoogLeNet[7]、ResNet[8]、DenseNet[9]、MobileNet[10]、ShuffleNet[11]等。Huang[12]將卷積神經網絡(CNN)和遷移學習引入玉米種子的質量分類,同時與機器學習算法進行了比較。結果表明,深度學習算法明顯優于機器學習算法,GoogLeNet準確率為95%,SURF+SVM的準確率為79.2%。Xu等[13]提出了基于ResNet改進的新模型(P-ResNet),為玉米種子分類提供了一種方法,選取5個品種的玉米種子作為實驗對象,準確率達到99.70%。Javanmardi等[14]提出使用深度卷積神經網絡(CNN)提取特征,再利用人工神經網絡(ANN)對提取的特征進行分類。使用CNN-ANN對玉米種子進行分類識別準確率達到98.1%。
近年來,輕量級網絡發展迅速,不僅具有計算量少、準確率高的特點,而且廣泛適用于移動設備。Shahi等[15]提出了一種基于MobileNetV2的新型注意力卷積模塊來對水果進行分類,在3個數據集上分別達到了95.75%、96.74%和96.23%的穩定分類精度。葉名煬等[16]針對傳統玉米病害的問題,提出一種基于遷移學習和MobileNetV2模型的識別方法,來識別玉米病害中常見的3類,分別是灰斑病、銹病、大斑病,同時對比傳統神經網絡LeNet,實驗結果表明,在Kaggle數據集上MobileNetV2的平均識別率達到96.94%,較LeNet高出1.37%。易才鍵等[17]為實現智能垃圾分類,提出一種輕量型的生活垃圾圖像分類模型DG-MobileNetV2。該模型以輕量級網絡MobileNetV2為基礎,通過引入雙尺度深度卷積模塊、通道混洗技術、調整寬度因子等手段來壓縮模型。實驗表明,該分類模型在某公司發布的生活垃圾分類數據集上的分類準確率達到90.58%,具有良好的分類效果。
隨著深度學習的發展,許多研究者通過引入注意力機制來提高網絡的性能。Zhang等[18]為了準確識別魚群的攝食行為,使用MobileNetV2提取魚群圖像特征,并建立了基于SENet(擠壓和激勵網絡)的特征加權網絡,所提出的方法在真實魚群圖像上進行了測試,獲得了97.76%的準確率。Selvraju等[19]提出了一種基于MobileNetV2藥品圖像識別分類的模型,在具有殘差邊的瓶頸結構中添加CBAM,提高訓練效率以及減少模型復雜度,實驗結果表明:該模型對實驗的95種藥品的圖像識別分類的準確率,達到89%,較改進前提高了5%。
本研究在輕量化模型MobileNetV2的基礎上,構建一個新型注意力模塊E_CBAM,提出了E_CBAM_MobileNetV2模型,解決了CBAM串行連接2種模塊相互影響的問題。采集了9種玉米種子圖像共2 792張建立了玉米種子識別的數據集。在本研究構建的數據集的基礎上,進行了大量實驗。實驗結果表明,所提出的E_CBAM_MobileNetV2模型能夠有效地對玉米種子進行分類,且明顯優于MobileNetV2模型。本研究為玉米種子的高效、便捷、快速識別提供了參考。
研究共選取9種玉米種子2 792粒,且玉米種子籽粒飽滿未破損,分別是AOYU116、JINGNIAN1、ZHENGDAN958、KENUO58、TIEYAN、XJH、YUNYU、16DX531、BT506。詳細品種名稱、數量及材料產地見表1。

表1 實驗材料
在實驗室自然光照的條件下,將玉米種子放置在以黑色植絨布為背景搭建的工作臺上,每次放置16粒種子,采用80D型數碼相機進行拍攝。
由于研究要對單粒玉米種子進行識別,因此需要對多粒圖像進行分割。如圖1所示,通過Python和OpenCV對多粒玉米種子圖像進行區域分割。首先對圖像預處理,通過二值化提取圖像信息,采用雙邊濾波加填充進行降噪,然后通過腐蝕膨脹去除邊緣顆粒。最后,通過輪廓檢測算法提取單粒玉米種子的形態輪廓,再通過畫框將其分割出來。

圖1 玉米籽粒部分分割過程
為了保證數據的獨立性,避免某張圖片擴充之后同時在訓練集和測試集出現,從而生成虛假的準確度,將每類玉米種子圖像按照7∶2∶1隨機劃分為訓練集、驗證集、測試集,即訓練集圖像共1 959張,驗證集圖像共558張,測試集圖像共275張。
為了進一步提高模型的魯棒性和泛化能力,通過人為擴大訓練圖像數量,對已采集的數據集進行數據增強。主要包括采用旋轉、水平翻轉、位置平移、錯切變換、放縮等操作。
注意力機制是模擬人類視覺的一種機制,即關注重要特征,抑制不必要的特征。CBAM(Convolutional Block Attention Module)是一種輕量化的卷積注意力模塊。將CBAM引入卷積神經網絡中能夠較大幅度的提高模型的性能,而且引入它帶來的參數量和運算量非常的小,可以嵌入到大部分的卷積神經網絡。
特征圖的不同維度所攜帶的信息不同,通道維度側重于特征抽象的表達,而空間維度則更側重于物體的位置信息,CBAM融合了通道注意力模塊(Channel Attention Module,CAM)和空間注意力模塊(Spatial Attention Module,SAM)。這2個子模塊以串行的方式組合在一起,序列化的在通道維度和空間維度上產生注意力特征圖信息。利用通道間的特征關系生成通道注意圖,進而連接到空間注意力得到最具信息量的特征圖。整體結構如圖2所示。

圖2 CBAM結構圖
假設中間特征映射F作為輸入,先得到通道注意映射Mc,再經過空間注意力模塊得到空間注意映射Ms,最終進行加權得到特征F′。其公式為:
(1)
式中:Mc(F)為F經過通道注意力的輸出權值;Ms(F′)為F′經過空間注意力的輸出權值;?為特征圖加權乘法運算符號。
CBAM雖然將相對重要的通道注意力模塊放在前面,但是仍在一定程度上影響排在后面的空間注意力模塊所學習到的特征。因此,為使2種注意力模塊都直接輸入原始的特征,研究對CBAM進行改進,由“串行”改為“并行”連接,從而得到無需關注空間注意力和通道注意力順序的注意力機制,即E_CBAM。整體結構如圖3所示。

圖3 E-CBAM結構圖
E_CBAM先由輸入特征圖F分別經過通道注意力和空間注意力得到相應權值,最后將權值直接與原始輸入特征圖F加權得到輸出特征圖F′。其公式為:
F′=Mc(F)?Ms(F)?F
(2)
式中:Ms(F)為F經過通道注意力的輸出權值。
MobileNetV2中添加了InvertedResiduals和LinearBottlenecks,具有較少的網絡參數數量和更低的運算成本,延續了在MobileNetV1的深度可分離卷積操作,其所做的創新是用大量倒殘差塊和線性瓶頸層對圖像的特征進行提取,實驗證明,使用線性層是至關重要的,可以有效防止非線性破壞特征信息。
為了提高MobileNetV2模型在玉米種子品種識別方面的性能,將MobileNetV2與本研究提出的E_CBAM模塊結合,構建了E_CBAM_MobileNetV2模型,具體結構網絡如圖4所示。

圖4 E_CBAM_MobileNetV2模型結構圖
實驗的訓練與測試環境相同,均為Windows11操作系統,使用基于Tensorflow為后端運行的Keras深度學習框架,來實現整個模型訓練與測試過程,實驗過程中的超參數如表2所示。

表2 實驗詳細超參數
對于玉米種子分類問題,評估指標決定了模型的好壞。選用混淆矩陣作為性能的評估指標,通常有4個指標包括真陽性(TP)、真陰性(TN)、假陽性(FP)和假陰性(FN)。通過指標可以展現出樣本中的真實類別和預測的類別。基于混淆矩陣,可以得到更高級的分類指標:準確率(Accuracy),精確率(Precision),召回率(Recall)、F1-score。如表3所示。

表3 模型性能評價指標
選取MobileNetV2、SqueezeNet、ResNet50、DenseNet、ShuffleNetV2共5種卷積神經網絡模型進行訓練,其準確率如表4所示。從實驗結果來看,MobileNetV2的實驗效果最好,準確率為92.73%,是5種網絡中最高的,較SqueezeNet、ResNet50、DenseNet121、ShuffleNetV2分別高出2.91%、17.09%、1.46%、10.91%。

表4 不同網絡模型對比實驗
為了提高模型的準確率,選擇合適的注意力模塊,向MobileNetV2網絡模型中加入不同注意力進行比較,分別是Channel attention、Spatial attention、CBAM、R_CBAM、E_CBAM,實驗結果如表5所示。將添加不同注意力模塊后的MobileNetV2網絡模型與未加注意力的MobileNetV2網絡模型進行對比,可以看出,無論添加空間注意力或通道注意力,還是將其串行或并行,其準確率均高于未加注意力的MobileNetV2網絡模型。

表5 MobileNetV2加入不同注意力模塊對比實驗
從規模和參數量上看,Spatial attention最小,這是因為Spatial attention只保存1個7×7的卷積核,因此準確率也是提升最少的。而含有Channel attention模塊的規模和參數量較大,但準確率較高,這是由于Channel attention存在全連接層能夠處理平均池化和最大池化的結果。
從準確率來看,CBAM注意力的效果并不是很好,因為是“串行”連接,后面的空間注意力學習到的是的通道注意力處理過的特征圖。同為“串行”連接的將空間注意力放在前面,結果表明R_CBAM的準確率略高一些。但表現最好的還是研究提出的“并行”混合注意力模塊E_CBAM,在模型大小和參數量相同的情況下,準確率比CBAM、R_CBAM分別高出了2.18%、0.73%。
由于注意力模塊E_CBAM的加入,會增加模型的復雜度、消耗更多的計算時間,且通過實驗可知,注意力模塊E_CBAM中的大部分參數來自Channelattention。因此,為保證MobileNetV2的輕量化優勢,對E_CBAM的Channel attention的壓縮比(2、4、8、16、32)進行了調參實驗,結果如圖5所示,從準確率來看當壓縮比為4時訓練集準確率明顯更高,而且收斂也更快。

圖5 E_CBAM_MobileNetV2使用不同壓縮比準確率對比
從表6中也可以看到,當壓縮比為4時,準確率為98.18%,盡管模型的規模相比之前壓縮比為2時有所減小,但模型的準確率卻反而有所提升。而當壓縮比8、16、32時,雖然規模減小,但準確率也明顯下降遠不如壓縮比為4時。因此,使用4作為E_CBAM中Channel attention全連接層的壓縮比是較好的選擇。

表6 E_CBAM_MobileNetV2使用不同壓縮比對比結果
如圖6所示,使用混淆矩陣對研究提出的E_CBAM_MobileNetV2模型進行可視化性能評估。

圖6 6 E_CBAM_MobileNetV2混淆矩陣結果
從混淆矩陣中可以看出,在XHJ品種識別上產生4個錯誤識別,均被識別成TIEYAN;ZHENGDAN958產生1個錯誤識別,被識別成XHJ。這主要是因為它們在特征上存在一些重疊。例如,XHJ和TIEYAN雖然在顏色和光澤上有略微不同,但其籽粒的紋理以及頂部形狀是極其相近的。XHJ和ZHENGDAN958在尖端部分的凹陷有略微的不同,但外形極其相似,籽粒飽滿均為金黃色,且表面光滑有光澤感。
此外,混淆矩陣中描述的性能指標如表7所示,包括準確率、精確率、召回率、F1-score。

表7 E_CBAM_MobileNetV2性能評估結果
研究提出的E_CBAM_MobileNetV2模型在測試集上對單品種的識別效果非常突出,所有單品種的準確率均高于98.55%。除TIEYAN、XJH和ZHENGDAN958這3類玉米種子外,其余品種的準確率、準確率、召回率、F1-score均達到100%。混淆矩陣和分類結果均證明了E_CBAM_MobileNetV2模型具有良好的性能。
近年來,深度學習已經廣泛運用在計算機視覺領域。然而,這種“黑盒”模型缺乏可解釋性。因此,通過可解釋性的工作來可視化卷積神經網絡內部具有重要意義。
對此實驗引入梯度加權類激活映射(Gradient-weighted Class Activation Mapping,Grad-CAM)可視化分析方法,采用梯度的全局平均來計算權重,并將各通道特征圖以權重進行疊加,生成激活熱力圖。通過激活熱力圖來體現分類最依賴的特征位置,激活熱力圖的像素顏色強度對應特征的相關程度。當像素顏色更趨近于暖色時,它特征的激活強度越大,表明對分類結果的影響程度越高,反之,當像素顏色更趨近于冷色時,其特征的激活強度越小,表明對分類結果的影響程度越低。因此,通過激活熱力圖可直觀反映CNN判斷玉米種類的依據。圖7為MobileNetV2、CBAM_MobileNetV2、E_CBAM_MobileNetV2的熱力圖對比。

圖7 MobileNetV2及嵌入CBAM、E_CBAM注意力模塊后的激活熱力圖對比
如圖7所示,在識別玉米種子品種過程中,MobileNetV2、CBAM_MobileNetV2、E_CBAM_MobileNetV2關注的區域都有所不同,MobileNetV2較為關注中上部區域、對尖端部分和邊緣部分關注較少,加入CBAM的MobileNetV2過于關注了尖端部分,對于種子中間部分的關注則有所減少,而引入E_CBAM的MobileNetV2則關注了種子的大部分的區域,尤其是關注了較難區分的紋理部分,這也是區分外形相似種子的關鍵。通過激活熱力圖充分肯定了E_CBAM_MobileNetV2在識別玉米種子品種方面的能力。
為實現玉米種子品種的準確、高效、快速的鑒別,將注意力機制CBAM引入輕量化模型MobileNetV2,對CBAM的串行方式進行改進,構建新型注意力模塊E_CBAM,并通過對比,選出了效果最佳的壓縮比為4,提出了E_CBAM_MobileNetV2模型。選取了9類玉米種子作為數據集,進行了大量實驗。實驗結果表明,E_CBAM_MobileNetV2模型能夠快速、準確識別玉米種子類別,較MobileNetV2模型相比準確率提高了5.45%,且各指標均優于SqueezeNet、ResNet50、DenseNet、ShuffleNetV2等模型。