李 涵,唐 友,辛 鵬,楊 牧
(1.吉林化工學院,吉林 吉林 132022;2.吉林農業(yè)科技學院,吉林 吉林 132101;3.一汽東機工減振器有限公司,吉林 長春 130001)
玉米是全球重要的農作物之一,其種植面積和產量在全球都排名前列。然而,玉米病害的發(fā)生給玉米生產帶來了很大威脅。從葉部、莖部、穗部等不同部位的病菌的入侵,到玉米生長過程中的氣候因素,都可能導致玉米病害的發(fā)生,并直接影響著玉米產量和質量。為了有效預防和治療玉米病害,必須迅速準確地對其進行識別和分類。傳統(tǒng)玉米病害分類方法大多依賴專業(yè)人員的經驗判斷,效率低下且容易造成誤判。另外,由于不同玉米病害外形相似,且它們的區(qū)分度并不高。因此,需要聚焦于區(qū)分不同種類病害的關鍵特征。隨著深度學習技術的不斷發(fā)展和應用,深度學習已經被廣泛應用于計算機視覺領域[1],在圖像分類中取得了巨大的成功?;谏疃葘W習的玉米病害分類成了一種新的解決方案,它利用計算機強大的自我學習、自我優(yōu)化的能力,自動從玉米病害圖像中學習、判斷和分類,可以提高診斷的準確性和效率。
本文提出了一種基于深度學習的玉米病害分類方法。該方法使用深度卷積神經網絡對玉米病害進行分類,并采用一種注意力機制來增強網絡的性能[2]。
深度學習是機器學習的一個重要分支,也是人工智能領域的重要組成部分。深度學習的優(yōu)勢在于其具備學習和提取數據特征的能力,通過建立多層神經網絡模型,并使用大量數據進行訓練。在計算機視覺、自然語言處理、語音識別等領域,深度學習已經具有廣泛的應用,例如:在圖像識別方面,深度學習技術通過層層神經元相互協(xié)作,可以完成高效、準確的圖像分類和目標檢測任務。
卷積神經網絡通常由卷積層、池化層、激活函數、全連接層等[3]組成。其中,卷積層用于提取特征,池化層用于降維和避免過擬合,激活函數用于引入非線性和增加網絡表達能力,全連接層則用于輸出最終的類別概率。
卷積神經網絡(CNN)作為深度學習中最重要的一種神經網絡,已經在圖像處理領域取得了令人矚目的成功[4]。CNN的網絡結構簡單、有效,具有可共享權重和局部感知域等特點,可以大幅提升訓練效率和計算速度。在處理高維圖像數據時,卷積神經網絡展現(xiàn)出非常強的特征提取和分類能力。利用基于CNN的深度學習算法,可以在圖像分類、目標檢測、圖像識別等領域實現(xiàn)更加準確和高效的效果。
數據增強是一種通過對原始數據集進行多樣性處理來增加樣本數量和多樣性的技術,以擴大訓練集規(guī)模、提高模型魯棒性、防止過擬合等目的。在深度學習領域,常常使用一些數據增強技術,如旋轉、翻轉、裁剪、縮放、加噪聲、色彩變換等,以生成更多、更多樣化的訓練數據,從而提高模型的泛化能力和性能。數據增強是一種常用的數據預處理技術,被廣泛應用于計算機視覺、語音識別、自然語言處理等領域中。
CBAM是一種常用于圖像分類任務的注意力機制,它在卷積神經網絡中常常被作為一種優(yōu)化方式使用。CBAM模塊可以通過對輸入圖像和特征通道分別進行注意力加權來提升模型的性能。主要分為兩個部分:通道注意力模塊(CAM)和空間注意力模塊(SAM)。結構如圖1所示。
圖1 CBAM注意力模塊
CAM部分通常包括一個全局平均池化層,用來得到每個特征通道的全局統(tǒng)計量,經過兩個全連接層來得到每個特征通道的重要性分數。使用sigmoid函數對其進行歸一化處理,作為每個通道的注意力權重,用來對通道特征進行加權,使得網絡更加關注有利于分類的通道特征,提高分類的準確率。
SAM部分通常包括一個卷積層和一個最大池化層,通過這兩個步驟來獲取輸入特征圖每個空間區(qū)域像素的重要性。將兩個模塊的結果相乘,得到特征圖,使得網絡更加關注重要的空間位置特征,提高網絡的泛化能力和精度。
總之,CBAM模塊適用于目標檢測、圖像分類等任務,它可以使模型更加關注關鍵的特征區(qū)域,提升模型的性能。
ResNet34是由微軟公司提出的一種深度卷積神經網絡,常被應用于圖像分類、目標檢測和語義分割等視覺任務中。ResNet34是ResNet系列中的一個子系列,相比于更深層次的ResNet50和ResNet101,其網絡結構簡潔,計算速度快,同時在性能上也表現(xiàn)出色。
ResNet34的主要特點在于使用殘差學習(Residual Learning)機制。在深度卷積神經網絡的訓練中,梯度消失是一個很嚴重的問題,而ResNet則通過一種特殊的殘差模塊,堆疊多層Residual Block來學習非常深的網絡,并避免了這一問題。Residual Block包含2個或3個卷積層,其中第一個卷積層的卷積核大小為1×1,中間層的卷積核大小為3×3,最后一個卷積層的卷積核大小也是1×1,而且在該結構中還包含了跨層的連接,以便更容易地訓練出更深的網絡。ResNet34共有32個Residual Block,其中前16個Block包含8個基礎卷積層,后16個Block包含16個基礎卷積層,使得網絡能夠高效地提取圖像特征,從而在圖像分類任務中取得了優(yōu)秀的性能表現(xiàn)。
本文在ResNet34模型的基礎上,在平均池化層的前面加入了CBAM注意力模塊,可以對卷積層進行特征加權,有助于保留更多的信息,以增強對重要信息的感受性。它還可以優(yōu)化ResNet34模型的空間特征學習能力,進而提高圖像分類的準確性。模型結構如圖2所示。
圖2 CBAM_ResNet34模型
本文的實驗基于Linux系統(tǒng),使用了兩個4 110處理器和NVIDIA RTX 3090 GPU平臺。在實驗過程中,本文采用了PyTorch框架來構建和訓練深度學習模型,同時進行了一系列實驗驗證和性能評估。
本文的數據集是一個公開的玉米病害數據集,包含8種類別,總計3 534張圖片,通過調整圖片尺寸、色調、裁剪、旋轉、邊緣填充5種數據增強方式進行數據擴充得到17 670張圖片。在使用數據集前,將數據集按照6∶2∶2的比例劃分為訓練集、驗證集、測試集。
本文將加入CBAM模塊的ResNet34與ResNet34兩個模型進行實驗對比分析,同時設置相同的超參數以保證實驗條件的一致性。在訓練過程中,記錄了模型在驗證集上的準確率。實驗結果表明,CBAM_ResNet34模型的驗證集準確率達到88.5%,相比ResNet34提高了1.5%。這表明加入CBAM模塊可以有效提高ResNet34模型的性能,使得模型在驗證集上的表現(xiàn)更好。
本文研究的是玉米病害分類問題,模型的評價指標包括準確率、召回率、精確率和F1-score等。為了評估模型的分類效果,首先通過對模型進行訓練,選擇每個模型最好的權重,然后對所劃分的測試集測試模型的性能指標。實驗結果如表1所示,由表可知,使用CBAM注意力模塊對ResNet34進行改進,所得的分類結果表現(xiàn)更好,相比于ResNet34,CBAM_ResNet34在4個評價指標中均取得了更好的性能指標。CBAM_ResNet34的準確率、精確率、召回率和F1分數分別為88.1%、84.9%、84.0%和84.5%,相比ResNet34分別提高了1.1%、1.5%、1.3%和1.4%。這說明CBAM注意力模塊的引入確實有助于提高玉米病害分類的性能。
表1 模型評估 單位:%
本文采用改進后的模型來預測玉米病害的種類,為了保證模型具有良好的泛化性能和可靠性,在未經過訓練的測試集圖片上進行了預測,這樣可以更好地模擬出實際應用中的情況。預測結果如圖3所示,對一張測試集圖片進行了預測,并準確地將其分類為銹病一般,預測準確率達到100%。這意味著本文的模型在未知數據集上具有較好的分類能力和泛化性能,具有較高的實用價值。
圖3 分類預測
本文利用深度學習技術對玉米病害進行了分類研究,在模型中加入了CBAM注意力模塊,以幫助模型更有效地學習圖片中的特征,進而提高分類準確率。玉米病害分類是一項復雜而具有挑戰(zhàn)性的任務,在不斷探索和研究的基礎上,需要不斷提升模型的精度和準確性。未來的研究方向將包括提高模型的魯棒性、推廣到更多的玉米病害類型、將模型應用于不同領域等。