譚彬 蔡健榮 許騫 孫力



摘要:柑橘是我國種植面積最大、產量最高的水果作物,對我國的經濟發展具有重要作用。柑橘病蟲害侵染是導致柑橘產量及品質下降的重要原因之一,高效、準確的柑橘檢測技術對柑橘產業的發展具有重要意義。因此,本研究提出一種基于注意力機制改進卷積神經網絡的柑橘病蟲害識別算法,以多尺度特征提取網絡Inception v3為基礎,在Inception結構間加入CBAM注意力機制,構建基于注意力機制的多尺度特征提取網絡;然后融合殘差注意力網絡,提升模型的整體性能,以實現對柑橘病蟲害的精準識別。試驗結果表明,基于注意力機制改進卷積神經網絡的柑橘病蟲害識別算法從通道和空間維度提高了對輸入有效特征的關注度,在融合殘差注意力網絡后,提高了模型的整體性能,實現對5種柑橘葉片(潰瘍病、潛葉蛾、黑點病、紅蜘蛛和健康葉片)的識別準確率達到98.49%,比基礎模型提高4.02百分點,說明本研究提出的方法對柑橘病蟲害的識別效果較好。最后將模型進行部署,設計柑橘病蟲害識別系統,實現基于移動端的柑橘病蟲害智能檢測,為相關研究提供參考。
關鍵詞:柑橘病蟲害;圖像分類;注意力機制;深度學習;CBAM
中圖分類號:TP391.41? 文獻標志碼:A
文章編號:1002-1302(2024)08-0176-07
收稿日期:2023-06-12
基金項目:國家現代農業產業技術體系建設專項(編號:CARS-26)。
作者簡介:譚 彬(1997—),男,山東臨沂人,碩士研究生,從事圖像處理和無損檢測研究。E-mail:2670600717@qq.com。
通信作者:蔡健榮,博士,教授,從事食品、農產品質量快速無損檢測研究。E-mail:jrcai@ujs.edu.cn。
作為柑橘重要的原產地之一,我國國土資源豐富,柑橘品種多樣,同時具有悠久的種植歷史。如今柑橘已經發展成為我國種植范圍最廣的水果作物之一,具有重要經濟地位[1]。2021年柑橘年產量達到5 595.61萬t,為柑橘種植者帶來巨大的經濟價值,同時為我國經濟發展帶來巨大驅動力。隨著消費者需求和消費觀念的轉變,優質柑橘已經成為廣大消費者最迫切的需求,但是由于病蟲害導致的柑橘果型及水平品質的大幅下降嚴重降低了柑橘的銷售潛力,影響柑橘產業的發展[2]。因此急需進行柑橘病蟲害的檢測研究,以及針對病害做出預警,提高柑橘品質,增強柑橘市場競爭力。
目前,針對農作物病蟲害的檢測工作主要是以人工目視識別為主,存在效率低、技術人員具有較高的專業性等問題[3]。采用生物學的檢測方法需要專業檢測設備[4],由專業檢測人員在實驗室操作,過程復雜、耗時長,而且成本較高,同樣不適用于大面積果園防治工作。隨著計算機技術的發展,使用傳統圖像處理技術對病害進行處理得到廣泛的應用,研究人員通過對病斑區域的顏色、紋理和形狀等特征進行提取[5-7],手動構建病害識別模型,實現對病害的識別分類。Zhang等使用K-means聚類算法對黃瓜病害葉片圖像進行分割,提取顏色、形狀特征,使用稀疏表示法對黃瓜葉片圖像進行分類,總體準確率為85.70%,但受到人為主觀選擇因素影響以及客觀試驗背景條件的限制,存在泛化性差等問題[8]。
隨著人工智能技術的發展,基于深度學習的圖像智能識別研究取得較大的進展。卷積神經網絡是深度學習的一個重要組成部分,憑借其強大的自主目標區域特征選擇以及自我學習能力,在農作物病害識別領域應用廣泛[9-15]。朱帥等通過在改進的殘差網絡中添加SE注意力模塊的方法,在部分PlantVillage數據集上達到99.40%的準確率[16]。樊湘鵬等設計卷積神經網絡結構,利用L2正則化和Dropout策略優化網絡,對復雜背景下的玉米9種病害實現97.10%的平均精度[17]。李慶盛等采用基于非對稱注意力機制殘差網絡方法對玉米病害圖像檢測達到97.25%的準確率[18]。楊泳波等采用基于SE-Inception和膠囊網絡的方法對茄科病害進行識別,其識別精度達到95.20%[19]。賈兆紅等采用基于Res2Net和雙線性注意力的方法對7種番茄病害的平均識別準確率達到98.66%[20]。黃林生等在殘差網絡的基礎上加入注意力機制SE-Net,提出了一種多尺度卷積結構與注意力機制相結合的農作物病害識別模型,并在復雜田間環境收集的8種農作物病害數據集上實現95.62%的平均準確率[21]。
上述研究表明,深度學習可以在圖像智能識別中取得積極的效果。考慮到柑橘病蟲害在不同時期和不同環境下病斑區域和尺寸大小不同,現有模型可能存在特征提取能力不足等問題。因此本研究基于當前深度學習模型結構,提出一種基于注意力機制改進卷積神經網絡的柑橘病蟲害識別算法,利用通道注意力模塊和空間注意力模塊分別從不同的維度提高特征注意力,并融合2個模型的特征提取能力,最終實現較高的檢測精度。本研究通過在實際田間環境下拍攝柑橘葉片病蟲害圖像,自建柑橘葉片病蟲害數據集,以期為真實場景下的柑橘病蟲害識別應用提供指導。
1 材料與方法
1.1 樣本獲取及數據采集
本研究以患有潰瘍病(canker)、潛葉蛾(leafminer)、黑點病(melanose)、紅蜘蛛(redspider)等病蟲害葉片和健康(health)葉片5種常見的柑橘葉片為研究對象,自建柑橘葉片病蟲害數據集,所有葉片在江西省贛州市柑桔研究所和浙江省柑桔研究所內柑橘種植園獲取。使用智能手機分別在田間復雜環境下拍攝和實驗室內單一環境下拍攝獲取實驗數據,并按照病害種類將圖像進行分類。本研究共收集251張潰瘍病葉片圖像,243張潛葉蛾葉片圖像,348張黑點病葉片圖像,350張紅蜘蛛葉片圖像,598張健康葉片圖像,共計1 790張圖像數據。柑橘各類別葉片如圖1所示。
1.2 圖像數據預處理
深度學習模型的性能表現一定程度上取決于訓練數據的規模。本研究構建的柑橘葉片病蟲害數據集的數量與訓練模型所需要的數據量相比較小,容易出現過擬合現象,因此為提高模型的泛化能力,增強模型的魯棒性,防止模型過擬合,對柑橘葉片病蟲害數據集進行數據增強。本研究采用離線增強的方法[22],通過旋轉、平移、改變亮度和增加高斯噪聲4種方式對樣本數據進行預處理,最終將原始數據擴充為原來的5倍。擴增后的數據按照6 ∶2 ∶2的比例劃分為訓練集、驗證集和測試集,將所有輸入圖像尺寸調整為299×299×3,并對輸入數據進行歸一化處理。擴增前后數據分布見表1。
2 柑橘葉片病蟲害識別模型
2.1 注意力機制
卷積塊注意力模塊(convolutional block attention module,簡稱CBAM)是由通道注意力模塊(channel attention module,簡稱CAM)和空間注意力模塊(spartial attention module,簡稱SAM)等2個部分組成[23-24] 。
通道注意力模塊如圖2所示,將輸入特征基于高度和寬度進行全局最大池化和全局平均池化操作后,經過由多層感知機(MLP)組成的共享網絡,將輸出結果通過基于element_wise的加和操作,再經過Sigmoid激活,得到通道注意力特征圖。
其過程如下式所示:
Mc(F)=σ{MLP[AvgPool(F)]+MLP[MaxPool(F)]}=σ{W1[W0(Fcavg)]+W1[W0(Fcmax)]}。(1)
其中,Mc(F)為通道注意力特征,σ為Sigmoid激活函數,F為輸入特征,MLP為多層感知機,AvgPool為平均值池化,MaxPool為最大值池化,W0和W1分別表示2個全連接層的權重參數,權重參數可以共享。
空間注意力模塊如圖3所示,其主要探討空間層面特征圖之間的內在關系,利用特征的空間關系生成空間注意力圖,突出目標區域的重要性。其操作是將CAM的輸出特征作為SAM的輸入,首先經過基于通道的平均池化和最大池化得到2個1×H×W的特征圖,將其基于通道進行Concatenate操作后,經過卷積核大小為7×7的卷積層獲得空間注意力特征圖。
其過程如下式所示:
Ms(F)=σ(f7×7{[AvgPool(F);MaxPool(F)]})
=σ(f7×7{[Fsavg;Fsmax]})。(2)
其中,σ為Sigmoid激活參數,MLP為多層感知機,f為卷積操作,7×7為卷積核尺寸,Ms(F)為空間注意力特征。
2.2 模型結構設計
由于柑橘病蟲害在不同的時期具有較大差異的葉面表征,實際環境下的光線照射以及拍攝角度等因素對使用傳統卷積神經網絡的識別影響較大,造成識別準確率不高,因此本研究提出一種基于注意力機制改進卷積神經網絡的模型用于柑橘葉片病蟲害的識別研究。注意力機制可以得到不同特征維度的各自權重系數,然后將權重分布施加在原來的特征之上,幫助模型提高對輸入有效特征的關注度,抑制無效特征,提高網絡模型的表達能力。針對柑橘葉片不同的病害區域,CBAM注意力機制能夠更加關注葉片圖像中對病蟲害識別有意義的特征部分[25]。本研究選擇Inception v3網絡[26],因其采用分解卷積,使用2個3×3卷積代替5×5卷積,并采用非分對稱卷積,將N×N卷積替換為成1×N和N×1卷積,在保持相同感受野的情況下可以減少計算量。為了更好地關注輸入有效特征,在不同的Inception結構之間加入CBAM注意力機制模塊,得到基于注意力機制的多尺度特征提取網絡,以此實現提升每一個Inception模塊提取到的特征之間通道和空間注意力的效果。
針對柑橘病蟲害葉片復雜的病斑特征,可能存在單一網絡的特征提取能力不足,因此本研究選擇殘差網絡[27],其將原始輸入特征跨通道連接到輸出,有效保證了輸出信息對原始數據輸入特征信息的準確提取。本研究在ResNet34的所有殘差結構中加入CBAM注意力機制模塊,構建殘差注意力網絡(RCNet),然后使用Concatenate將基于注意力機制改進的2個子卷積網絡進行融合,使得融合后的模型表征能力實現有效提高。其中在改進網絡的尾部添加全局平均池化層,解決2個模型輸出尺寸不一致問題,并添加全連接層,使用Softmax分類器完成識別。柑橘病蟲害識別模型結構見圖4。
3 試驗結果與分析
3.1 試驗平臺及訓練參數
本試驗是在筆者自己制作的柑橘葉片病蟲害數據集上完成的。本試驗平臺為Windows 10 64bit操作系統,處理器為Intel Xren Platinum P-8124 CPU@3.00 GHz,內存64 GB,GPU為NVIDIA GeForce RTX2080Ti,開發環境為Python 3.8,CUDA 11.1,試驗所用深度學習框架為Keras 2.4.3和TensorFlow 2.4.0,編譯軟件為Pycharm 2020.3.3 x64。
本試驗采用自適應矩估計Adam,經過反復測得最佳配置超參數:初始學習率0.001,學習率下降策略采用指數下降,損失函數為交叉熵損失函數,迭代次數為50次,批處理數量為32。其中指數下降為階梯狀衰減,學習率衰減因子為0.9。
3.2 評價指標
對于圖像分類任務,采用準確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1-score(F1值)和混淆矩陣作為實驗的評價指標,實現對模型性能的評估。其中混淆矩陣可以直觀的展現模型在各類別上正確分類情況,通過混淆矩陣可以計算得出準確率、精確率、召回率和F1值,各指標計算公式如下所示。
Accuracy=TP+TNTP+TN+FP+FN;(3)
Precision=TPTP+FP;(4)
Recall=TPTP+FN;(5)
F1-score=2×Precision×RecallPrecision+Recall。(6)
3.3 模型性能分析
3.3.1 消融試驗
本研究提出的基于注意力機制改進卷積神經網絡的柑橘病蟲害識別算法,為驗證該方法在柑橘葉片病蟲害數據集上的有效性,對模型進行消融試驗,分別使用Inception v3、Inception v3+CBAM、Inception v3+CBAM+RCNet,統一所有超參數在柑橘葉片病蟲害數據集上進行訓練,采用準確率作為評價指標。試驗結果見表2,訓練過程驗證精度曲線見圖5。
由表2可知,在基礎模型Inception v3網絡基礎上加入CBAM注意力機制,準確率提升1.56百分點,說明不同的Inception模塊分別經過通道注意力模塊和空間注意力模塊后,將使模型更加關注有效部分特征信息。在加入殘差注意力網絡(RCNet)后,模型的準確率提升2.46百分點,說明融合2個模型的輸出特征將有效提升模型的特征提取能力,更好地提取柑橘病蟲害葉片特征,最終實現模型準確率達到98.49%,相比基礎模型提升4.02百分點。
由圖5可知,與基礎Inception v3模型以及加入CBAM注意力機制的模型相比,經過融合殘差注意力網絡的模型驗證精度更好,訓練過程中的驗證準確率曲線前期快速平穩上升,振蕩幅度小,表明本試驗模型具有較高的穩定性。
3.3.2 對比試驗
為更好地驗證本研究方法的整體性能,將本研究模型分別與VGG16、DenseNet201、ResNet34以及Inception v3進行對比試驗。由表3可知,在柑橘葉片病蟲害數據集上達到98.49%的識別準確率,相比于Inception v3和ResNet34分別提升4.02、3.52百分點,與VGG16和DenseNet201相比也有較大的提升。因此,證明本研究方法所構建的網絡模型在柑橘葉片病蟲害識別應用中的識別效果更優,綜合性能表現更好。
3.4 混淆矩陣分析
為進一步觀察各模型在柑橘葉片病蟲害測試集上的表現,通過混淆矩陣可以清晰地反映出各個模型對柑橘葉片不同類別病蟲害的識別表現。混淆矩陣是以矩陣的形式將真實類別和預測類別進行匯總,觀察混淆矩陣(圖6)發現,本試驗方法對柑橘葉片病蟲害的識別效果最好,被誤識別的數量最少。其中對潰瘍病的識別效果最優,但在黑點病中有一部分葉片被誤識別為健康和紅蜘蛛,同時健康和紅蜘蛛中也存在一些被誤識別為黑點病的情況。這主要是因為這些病害病癥較輕,其葉片的葉面表征及像素分布較為相似,同時也說明病害的相似度會一定程度上影響模型的識別精度。
為進一步研究不同改進模型對柑橘葉片各類別病蟲害的具體識別差異,得出各類別病害的精確率、召回率和F1值。由表4可知,本研究方法在柑橘葉片病蟲害數據集上對各類別病害都有較高的F1值。其中對于潰瘍病的識別效果最好,識別精確率達到100%;在黑點病識別任務中各類指標較低,這主要由于黑點病的病斑較小,圖像表征不明顯,容易造成誤判。總體上與其他改進模型相比,本研究方法在柑橘葉片病害識別中的各性能指標表現較優,表明該方法的試驗有效性,并為柑橘病蟲害的精準識別提供技術支撐。
3.5 模型魯棒性分析
為進一步評估本研究方法的魯棒性,將本試驗方法應用于PlantVillage農作物公開數據集,其包含14種作物,38類病害,共計54 305張病害圖像。在此試驗中將本試驗方法與其他模型進行對比試驗,具體試驗結果見表5。與其他模型相比,本試驗方法在測試集的平均準確率達到99.14%,表明本研究方法對PlantVillage公開農作物病害數據集具有較好的識別效果,具有良好的魯棒性。
3.6 柑橘病害識別系統
將保存的模型進行加載,使用前向傳播部分進行推斷,經過測試在使用GPU NVIDIA 1650(Compute capability:7.5)上,連續識別100張病害圖像需要29.48 s,平均每張耗時0.294 8 s,模型加載需要10.64 s。因此在系統啟動時就需要先完成模型加載,進行識別時可直接進行計算,減少計算時間。
本研究為實現田間柑橘病蟲害的快速準確識別,使用Flask開發系統應用,以獲得的柑橘病蟲害識別模型為基礎,設計網頁端柑橘病蟲害識別系統。用戶通過瀏覽器完成注冊后訪問該系統,即可使用系統相關功能。系統主要功能界面包括病害查詢、圖片上傳(圖7)及診斷報告(圖8)。其中圖片上傳功能欄用戶使用移動端設備將需要診斷的柑橘病害圖片上傳至云服務器端,上傳方式為選擇本地圖片和即時拍攝2種方式。服務器端對病害圖片進行推斷,并將處理結果與云數據庫中柑橘病蟲害防治數據庫信息匹配,最后將推斷結果和防治措施一同發送給用戶,并顯示在診斷報告功能欄。
4 結論
針對柑橘葉片病蟲害的識別問題,本研究提出一種基于注意力機制改進卷積神經網絡的柑橘病蟲害識別算法。首先在Inception模塊間嵌入CBAM注意力機制模塊,構建多尺度特征注意力網絡;然后基于注意力機制構建殘差注意力網絡,融合2個子網絡的特征,從全局提高模型的整體特征提取能力。
通過試驗發現加入注意力機制對提升模型性能的有效性,融合殘差注意力網絡使得模型的特征提取能力有效提高,在柑橘葉片病蟲害數據集上達到98.49%的識別準確率。同時,構建柑橘病蟲害識別系統,實現其應用價值,幫助柑橘管理者更好地進行種植生產活動。未來可以進一步增加病蟲害種類,以及同種類不同程度的樣本數據,進一步提升模型的應用價值。
參考文獻:
[1]沈兆敏. 我國柑橘生產銷售現狀及發展趨勢[J]. 果農之友,2021(3):1-4.
[2]祁春節,顧雨檬,曾 彥. 我國柑橘產業經濟研究進展[J]. 華中農業大學學報,2021,40(1):58-69.
[3]王彥翔,張 艷,楊成婭,等. 基于深度學習的農作物病害圖像識別技術進展[J]. 浙江農業學報,2019,31(4):669-676.
[4]唐利華,郭堂勛,李其利,等. 柑橘黃龍病田間診斷與檢測技術研究進展[J]. 中國植保導刊,2018,38(8):81-87.
[5]Munisami T,Ramsurn M,Kishnah S,et al. Plant leaf recognition using shape features and colour histogram with K-nearest neighbour classifiers[J]. Procedia Computer Science,2015,58:740-747.
[6]Yang X,Ni H M,Li J K,et al. Leaf recognition using BP-RBF hybrid neural network[J]. Journal of Forestry Research,2022,33(2):579-589.
[7]Azlah M A F,Chua L S,Rahmad F R,et al. Review on techniques for plant leaf classification and recognition[J]. Computers,2019,8(4):77.
[8]Zhang S W,Wu X W,You Z H,et al. Leaf image based cucumber disease recognition using sparse representation classification[J]. Computers and Electronics in Agriculture,2017,134:135-141.
[9]Agarwal M,Gupta S K,Biswas K K. Development of efficient CNN model for tomato crop disease identification[J]. Sustainable Computing:Informatics and Systems,2020,28:100407.
[10]Mique E L Jr,Palaoag T D. Rice pest and disease detection using convolutional neural network[C]//Proceedings of the 1st International Conference on Information Science and Systems. 2018:147-151.
[11]Rangarajan A K,Purushothaman R,Ramesh A. Tomato crop disease classification using pre-trained deep learning algorithm[J]. Procedia Computer Science,2018,133:1040-1047.
[12]Geetharamani G,Pandian A. Identification of plant leaf diseases using a nine-layer deep convolutional neural network[J]. Computers & Electrical Engineering,2019,76:323-338.
[13]Xing S L,Lee M,Lee K K. Citrus pests and diseases recognition model using weakly dense connected convolution network[J]. Sensors,2019,19(14):3195.
[14]Liu B,Ding Z F,Tian L L,et al. Grape leaf disease identification using improved deep convolutional neural networks[J]. Frontiers in Plant Science,2020,11:1082.
[15]王 超,王春圻,劉金明. 基于深度學習的玉米葉片病害識別方法研究[J]. 現代農業研究,2022,28(6):102-106.
[16]朱 帥,王金聰,任洪娥,等. 基于多特征融合的殘差網絡果樹葉片病害識別[J]. 森林工程,2022,38(1):108-114,123.
[17]樊湘鵬,周建平,許 燕,等. 基于改進卷積神經網絡的復雜背景下玉米病害識別[J]. 農業機械學報,2021,52(3):210-217.
[18]李慶盛,繆 楠,張 鑫,等. 基于注意力機制非對稱殘差網絡和遷移學習的玉米病害圖像識別[J]. 科學技術與工程,2021,21(15):6249-6256.
[19]楊泳波,趙遠洋,李振波,等. 基于膠囊 SE-Inception 的茄科病害識別方法研究[J]. 圖學學報,2022,43(1):28-35.
[20]賈兆紅,張袁源,王海濤,等. 基于Res2Net和雙線性注意力的番茄病害時期識別方法[J]. 農業機械學報,2022,53(7):259-266.
[21]黃林生,羅耀武,楊小冬,等. 基于注意力機制和多尺度殘差網絡的農作物病害識別[J]. 農業機械學報,2021,52(10):264-271.
[22]侯發東. 基于卷積神經網絡的棉花葉部病蟲害自動識別研究[D]. 泰安:山東農業大學,2020.
[23]Woo S,Park J,Lee J Y,et al. CBAM:convolutional block attention module[C]//European Conference on Computer Vision.Cham:Springer,2018:3-19.
[24]張會敏,謝澤奇,張善文. 基于注意力膠囊網絡的作物病害識別方法[J]. 江蘇農業科學,2022,50(6):101-106.
[25]Chen J D,Zhang D F,Zeb A,et al. Identification of rice plant diseases using lightweight attention networks[J]. Expert Systems with Applications,2021,169:114514.
[26]Szegedy C,Vanhoucke V,Ioffe S,et al. Rethinking the inception architecture for computer vision[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Las Vegas,NV,USA.IEEE,2016:2818-2826.
[27]He K M,Zhang X Y,Ren S Q,et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Las Vegas,NV,USA.IEEE,2016:770-778.