邢鵬康 李久朋



摘要:馬鈴薯葉片的病害將直接導致馬鈴薯產量和質量的下降,為實現馬鈴薯葉片病害的精確檢測并及時預防病變,提出了一種基于小樣本學習的馬鈴薯葉片病害檢測算法。首先,利用一組共享權重的特征提取器將輸入圖片映射到深度特征空間;然后,提出一種任務感知注意力模塊用于融合小樣本學習網絡中的雙分支輸入特征,強化目標任務的特定表達能力;最后,引入一種動態卷積模塊提高卷積核的建模能力,并將卷積塊注意力機制(CBAM)嵌入到該卷積網絡中,構造特征強化學習模塊,細粒度地捕獲病害區域的細節特征。通過在開源馬鈴薯葉片病害檢測數據集上進行測試,所提出模型分別實現了93.92%的準確率、93.81%的精準率、93.85%的召回率和93.63%的F1值;此外,在自建數據集上與當前經典馬鈴薯葉片病害檢測模型相比,同樣具有較好的競爭力。
關鍵詞:馬鈴薯葉片;病害檢測;卷積塊注意力機制;小樣本學習;任務感知注意力
中圖分類號:TP391.41 文獻標志碼:A
文章編號:1002-1302(2023)15-0203-08
基金項目:河南省科技攻關重點資助項目(編號:212102310086);河南工業職業技術學院青年骨干教師培養計劃(編號:2020033004)。
作者簡介:邢鵬康(1984—),男,陜西西安人,碩士,講師,研究方向為農作物疾病檢測、深度學習、智慧農業。E-mail:pengkxing@sina.com。
植物的根、莖、葉等部位的病害嚴重影響作物的質量和產量,這也給農業相關部門造成了巨大的經濟損失。據估計,全球每年因農作物葉片病害造成的作物產量損失約為16%,這是糧食短缺和糧食生產成本增加的主要原因[1]。根據聯合國糧食及農業組織的報告,到2050年,世界人口將達到約91億,為了保持穩定的糧食供應,大約需要增長70%的糧食產量。馬鈴薯是僅次于小麥、玉米和水稻之外的世界第四大農產品,由于疾病和旱澇等自然環境的影響,馬鈴薯的產量深受影響,這也為糧農和農業部門帶來了巨大的挑戰[2]。
早期的馬鈴薯葉片病害檢測主要依賴專家先驗知識進行診斷,該類方法過度依賴人工判斷,主觀性較強,費時費力[3]。之后,研究人員引入了光譜儀來診斷馬鈴薯葉片的病害;然而,這些方法需要昂貴的實驗器材、專業的測量技術,成本較高,不利于開展大規模的診斷[4]。
隨著農業技術水平的提高和人工智能、計算機視覺等技術在農業領域的成功應用,無需人工干預就可以在短時間內高效、準確地檢測出植物葉片病害成為可能[5]。此外,構建的智能化檢測模型也有助于提升農作物產量和質量,對農業發展具有重要的指導意義。如趙越等提出了一種基于深度學習的馬鈴薯葉片病害檢測方法,通過搭建的Faster R-CNN 模型能快速定位出馬鈴薯葉片的病害部位[6]。Rashid等提出了一種基于級聯卷積神經網絡的馬鈴薯葉片疾病識別模型[7]。首先利用傳統的Yolov5模型進行馬鈴薯葉片病害分割;其次,利用卷積神經網絡對馬鈴薯葉片中的病害進行早、中和晚分類,及時預防馬鈴薯葉片病害的大規模暴發。趙建敏等利用卷積神經網絡搭建了一套基于Web前端、移動APP和后臺分類模型的多分類病害檢測模型,實現了移動端的智能檢測[8]。類似地,Li等提出了一種改進的Yolov5馬鈴薯病害檢測模型,通過改進CSP、FPN和NMS模塊,消除了外部環境的影響,增強了多尺度特征的提取能力,提高了檢測性能[9]。通過在自建馬鈴薯病害葉片數據集上進行測試,試驗也驗證了模型的有效性。Afzaal等針對葉片的不同背景、不同尺寸大小、不同遮擋以及光照影響等因素導致馬鈴薯葉片病害識別難的問題,通過分析馬鈴薯作物葉片的視覺特征來檢測馬鈴薯早疫病和晚疫病[10]。Saeed等提出了一種基于多階段檢測的馬鈴薯葉片病害識別自助系統,首先利用預訓練的主干網絡進行特征提取,并利用最小二乘回歸算法提取關鍵特征,依據抽取的最佳特征構建分類器[11]。
上述基于深度學習的馬鈴薯葉片病害檢測模型在一定程度上取得了成功;然而,現有模型仍然存在如下問題亟待解決:(1)由于馬鈴薯病害葉片區域較小,傳統模型定位不精確,導致模型檢測性能不佳;(2)現有模型的識別性能過度依賴帶標注訓練圖片的數量,雖然Chen等利用弱監督學習的方法緩解了馬鈴薯葉片病害檢測模型的性能依賴訓練圖片量大的挑戰,但該類弱監督方法仍需要帶標注圖片進行模型預訓練,并且對于未標注的新圖片泛化能力局限[12];(3)馬鈴薯葉片種類較多,帶標注的葉片收集費時費力。為此,本研究提出了一種基于小樣本學習的馬鈴薯病害葉片檢測算法。通過引入一種動態卷積模塊來提高卷積核的建模能力,并借助卷積塊注意力機制來聚焦病害葉片區域,強化關鍵特征的表達能力。本研究的主要創新點如下:(1)提出一種基于小樣本學習的馬鈴薯葉片病害檢測新方法,利用小樣本學習網絡有助于緩解帶標注馬鈴薯葉片樣本收集費時費力的問題;(2)設計一種動態卷積塊,通過帶偏移的采樣學習策略,細粒度捕獲病害區域的細節特征,強化卷積核的建模能力;(3)提出一種融合卷積塊注意力機制模塊,有效聚焦葉片病害區域,有助于緩解傳統方法因病害葉片區域小導致定位不精確的問題。
1 數據集
1.1 開源數據集
選擇Kaggle開源數據庫中馬鈴薯葉片樣本集,包含早疫病、晚疫病、灰霉病、炭疽病和健康葉片5種類型[13]。總共包括1 200張病害圖片和1 000張健康圖片,圖片大小為224像素×224像素,格式為jpg,并按照8 ∶2的比例劃分為訓練集和測試集。部分病害的可視化如圖1所示。
1.2 自建數據集
利用松下S5K相機作為馬鈴薯葉片的采集工具,所有圖片均采集于河南省商丘市周邊馬鈴薯種植區,葉片病害類型包括早疫病、晚疫病、炭疽病、軟腐病。總共包含590張健康圖片、645張病害葉片圖片,并按照8 ∶2的比例,劃分為訓練集和測試集。圖片原始像素大小為1 260像素×1 260像素,為了降低模型加載圖片時間,此處統一規整大小為224像素×224像素。每類病害葉片的樣本數量見表1。
2 方法論
2.1 模型結構
圖2為基于小樣本學習的馬鈴薯葉片病害檢測模型的結構圖。主要包括:(1)特征編解碼模塊,用于將三維圖片映射到深度特征空間;(2)任務感知注意力模塊,將支持特征和查詢特征進行特征深度融合,提高目標特征的表達能力;(3)動態卷積核,為了進一步捕獲病害區域的細節特征,強化目標特征的表達能力,采用動態卷積核實現信息的強交互;(4)卷積塊注意力機制,從通道和空間維度聚焦目標特征,提高模型對目標任務的強注意力,緩解因病害目標區域小,導致信息丟失或語義誤匹配問題。
2.2 特征提取
為充分挖掘馬鈴薯病害葉片的深層次特征,采用對稱的編解碼網絡作為特征提取器。其中,卷積層用于將三維圖片映射到深度特征空間,同時可以有效過濾目標的背景區域;然而,病害葉片區域小極易造成信息的丟失,因此,引入反卷積層進行特征細化,并在卷積層和反卷積層之間加入殘差連接,防止因病害區域小導致目標特征丟失。特征提取網絡結構如圖3所示。
此處,進一步考慮到病害區域小,特征捕獲難度大,極易導致信息丟失的問題,在編解碼過程中引入稠密編碼塊[14]。稠密編碼塊網絡詳細計算流程如圖4所示。稠密編碼塊主要通過挖掘圖像的局部信息,恢復目標的邊緣、顏色失真等細節特征。具體地,每個稠密編碼塊利用3×3和5×5的卷積塊提供多尺度編碼特征,1×1卷積塊直接連接相鄰層的輸出并用于當前層的特征融合。具體計算如
公式(1)和公式(2)所示。
式中:Foi-2、Foi-1和Foi表示相鄰層特征圖;σ表示ReLU函數;k3(·)和k5(·)分別表示3×3和5×5的卷積塊;表示采用1×1卷積塊進行特征融合操作;表示特征拼接操作。
2.3 任務感知注意力
小樣本學習網絡支持分支的輸入為支持圖片,為待識別的查詢分支圖片提供直接的任務特定知識,并且小樣本學習網絡的雙分支輸入為相同類的不同圖片。為了充分挖掘支持分支和查詢分支任務之間的相關性,利用圖5所示的任務感知注意力網絡進行雙分支特征的深度融合。
假設支持分支和查詢分支的映射特征分別為Fs和Fq,首先利用雙線性插值技術將Fs和Fq統一為相同大小的特征圖,即{Fs,Fq}∈Rc×h×w。然后,
為了融合支持分支和查詢分支的特征圖,利用平均池化操作獲得Fs和Fq對應的掩碼特征圖Fs′和Fq′,并利用大小為1×1的卷積塊將掩碼特征圖進行連接,具體計算如公式(3)所示。
式中:‖表示拼接操作,Com(·)表示對比函數,由Sigmoid和ReLU函數組成。最終的特征圖FF計算如公式(4)所示。
式中:表示矩陣點乘運算。
2.4 特征強化學習
馬鈴薯病害區域面積較小,攜帶的有效信息較局限,這對模型的魯棒性和泛化性能提出了更高的考驗。為此,引入了一種動態卷積模塊,通過利用帶偏移的采樣學習策略,細粒度捕獲病害區域的細節特征,強化卷積核的建模能力;其次,從通道和空間維度上進一步聚焦馬鈴薯葉片病害區域,緩解傳統方法因病害葉片區域小導致定位不精確的問題。
2.4.1 動態卷積塊 考慮到馬鈴薯葉片病害區域不規則、病害面積較小,利用常規的卷積核進行特征處理極易造成信息的丟失或歧義。為此,本研究從正方形窗口、垂直方向和水平方向進行細粒度的特征捕獲。具體來說,首先將任務感知融合特征FF作為動態卷積模塊核生成器的輸入,并利用1個對稱的正方形和2個非對稱的長方形卷積核進行特征處理。然后,利用核大小為S和S2的2個連續一維池化模塊提取融合特征的全局表示。具體計算如公式(5)所示。
式中:FglobalF表示融合特征的全局表示;pools(·)和pools2(·)分別表示不同卷積核大小的全局池化函數;Fconv1(·)、Fconv2(·)和Fconv3(·)分別表示2個非對稱的長方形卷積核和1個對稱的正方形卷積核操作。
2.4.2 卷積塊注意力機制 馬鈴薯病害區域僅占整幅圖像的小部分區域,為了剔除無關背景信息的干擾,強化目標特征的表達能力,在動態卷積塊中添加卷積塊注意力機制(convolutional block attention module,CBAM),對捕獲的病害區域特征進行重新加權整合,自動過濾無關信息的感染,重點聚焦病害區域[15]。CBAM注意力機制特征處理流程如圖6所示。
CBAM由通道注意力機制和空間注意力機制2個部分組成,通過協同學習給定圖片中目標的局部特征,弱化背景信息的權重,強化目標區域特征的關注度,進而提升模型對于特定任務的特征學習能力。具體來說,在通道注意力機制特征處理階段,對于動態卷積模塊的輸出特征FglobalF,首先在空間維度上利用全局最大池化(Maxpool)和全局平均池化(Avgpool)進行特征編碼壓縮,生成2個大小為1×1×C的特征圖,同時沿通道方向融合每個通道特征圖在整張特征圖中的位置編碼信息,旨在緩解下采樣過程中因病害區域面積小、感受野局限導致部分信息丟失的問題[16]。上述過程可表示為公式(6)。
式中:Mc(·)表示特征融合函數,用于實現最大池化和平均池化后的特征融合;σ表示Sigmoid函數;MLP表示多層感知機;γ表示全局最大池化操作,δ表示全局平均池化操作。
在空間注意力機制特征處理階段,將通道注意力機制處理后的特征F′globalF作為空間注意力機制特征處理模塊的輸入,并類似通道注意力機制特征處理階段的全局最大池化和全局平均池化進行特征編碼壓縮;然后,利用通道級聯的方式進行特征融合,并根據不同位置的編碼信息進行加權重組,獲得帶權重信息的空間特征Ms,用于表示不同區域特征信息的重要性分布。最后,將所有位置的空間特征圖拼接,獲得目標特定任務的特征表示,具體計算如公式(7)和公式(8)所示。
式中:Fv(·)表示通道級聯操作。
為了使模型具有分類能力,將重組后的特征F′F作為全連接網絡的輸入,并利用Softmax函數實現馬鈴薯病害葉片的分類,并選擇交叉熵損失函數計算真實病害標簽與預測結果之間的損失,根據損失值優化模型參數。
3 試驗結果與分析
3.1 試驗設置與評價指標
處理器Intel CoreTM i7-10750H CPU;編程語言為python 3.9;采用PyTorch 1.7.2深度學習加速庫,GPU GTX-3060Ti,CUDA 11.1。設定初始學習率為0.001,選用隨機梯度下降法來優化模型,批量大小為8,動量為0.9,訓練迭代次數為26。
選擇當前主流的病害識別模型評價指標:準確率(Accuracy)、精準率(Precision)、召回率(Recall)和F1值,計算如公式(9)所示。
式中:Tp表示所提出模型預測的正確樣本總數;Tn表示所提出模型預測錯誤的樣本總數;Fp表示誤報樣本總數;Fn表示漏報樣本總數。
3.2 試驗對比分析
3.2.1 開源數據集 為了驗證所提出模型的有效性,在相同的數據樣本和評價指標下與Yolov3、Yolov5、Faster R-CNN、Vgg-16、ResNet-101模型進行對比試驗,詳細結果如表2所示。
由表2可知,本研究模型分別實現了93.92%的準確率、94.81%的精準率、93.85%的召回率和93.63%的F1值。在準確率方面,相比所有對比模型中表現最佳的ResNet-101模型,提升了0.53百分點;在精準率方面,相比表現最佳的Faster R-CNN模型,提升了1.12百分點;在召回率方面,相比表現最佳的Faster R-CNN模型,提升了0.72百分點;在F1值方面,雖然相比ResNet-101模型有略微下降,但相比Faster R-CNN模型,提升了0.79百分點。究其原因主要包括:(1)所提出模型通過融合目標任務到支持分支中,強化了目標特定信息的表達能力;(2)病害區域小,極易造成目標任務的信息丟失,所提出模型通過引入動態卷積、從不同方向細粒度地捕獲目標區域的細節特征;(3)利用卷積塊注意力機制從空間和通道維度進一步聚焦目標任務,過濾無關信息的干擾。
為了進一步驗證所提出模型對不同馬鈴薯病害葉片的檢測精度,分別對早疫病、晚疫病、灰霉病、炭疽病和健康葉片5種類型進行單一性能測試,每類葉片選擇50張圖片,取每類葉片病害檢測結果的均值作為最終的結果,詳細結果如表3所示,可以看出,由于晚疫病病害區域明顯,相比其余病害類型,其檢測結果明顯;炭疽病由于病害區域小,檢測難度增大,但本研究所提出模型仍然可以實現93.55%的準確率,這進一步驗證了該模型的高效性。
3.2.2 自建數據集 為驗證所提出模型的魯棒性和泛化性能,在自建數據集上進行測試,包括早疫病、晚疫病、軟腐病、炭疽病和健康葉片5種類型,詳細結果見表4。
從表4可以看出,本研究所提出模型在自建數據集上具有相同的發現,尤其是在早疫病的檢測中,仍然可以實現91.79%的準確率,這進一步說明所提出模型在實際應用場景中同樣有效。
3.2.3 可視化結果 圖7和圖8分別給出了所提出模型在開源數據集和自建數據集上的測試可視化。可以看出,無論在開源數據集還是自建數據集,多種馬鈴薯病害葉片的檢測效果具有較好的競爭力,驗證了所提出模型的高效性,對未來構建智慧農業提供一定的理論和技術支撐。此外,圖9和圖10給出了Yolov3、Yolov5、Faster R-CNN、Vgg-16、ResNet-101模型在開源數據集和自建數據集上對100張不同馬鈴薯葉片病害圖片的檢測混淆矩陣。其中,橫坐標表示模型的預測結果,縱坐標表示真實標簽。
3.3 消融試驗
為探究不同模塊對馬鈴薯病害葉片檢測性能的影響程度,進行消融試驗。由表5可以看出,任務感知注意力模塊相比其余模塊,在檢測性能的提升中起著更關鍵的作用,主要原因是任務感知注意力模塊直接利用查詢分支提供的任務特定信息,來強化特征的表達能力。然而,模型的最好檢測性能是通過組合任務感知注意力、動態卷積核和特征強化學習模塊共同完成,這也驗證了本研究最初的設計初衷。
4 結論
由于馬鈴薯葉片種類多、病害區域小,導致傳統基于深度學習的馬鈴薯葉片病害檢測模型性能局限。本研究提出了一種基于小樣本學習的馬鈴薯葉片病害檢測模型,通過挖掘查詢分支中任務特定信息來提高目標任務的檢測性能;此外,利用動態卷積核細粒度地捕獲目標在不同方向的特征,強化卷積模塊的建模能力;并在此基礎上,利用卷積塊注意力機制進一步聚焦有限區域的病害目標,提升模型對于不同馬鈴薯病害葉片的檢測性能。這有助于及時檢測出馬鈴薯病害葉片,預防馬鈴薯產量和質量的下降。根據所提出模型在開源數據集和自建數據集上的測試結果,得出如下結論。
(1)通過在開源的馬鈴薯病害葉片檢測數據集上進行測試,所提出模型實現了93.92%的準確率、93.81%的精準率、93.85%的召回率和93.63%的F1值;在自建數據集上實現了93.87%的準確率、94.02%的精準率、93.71%的召回率和93.93%的F1值。
(2)利用所提出的任務感知注意力直接挖掘查詢分支中任務的特定表達,可以有效提升模型對于不同病害的檢測性能,這對小樣本學習網絡進一步利用任務特定知識具有一定的借鑒作用。
(3)動態卷積核可以在垂直、水平和立體窗口中細粒度地捕獲目標區域的細節特征,有助于強化卷積塊的建模能力,提升模型對于不同病害目標的檢測性能。
參考文獻:
[1]Chen J D,Chen J X,Zhang D F,et al. Using deep transfer learning for image-based plant disease identification[J]. Computers and Electronics in Agriculture,2020,173:105393.
[2]趙建敏,蘆建文. 基于字典學習的馬鈴薯葉片病害圖像識別算法[J]. 河南農業科學,2018,47(4):154-160.
[3]Tiwari D,Ashish M,Gangwar N,et al. Potato leaf diseases detection using deep learning[C]//2020 4th International Conference on Intelligent Computing and Control Systems (ICICCS).Madurai,India.IEEE,2020:461-466.
[4]Mahum R,Munir H,Mughal Z U N,et al. A novel framework for potato leaf disease detection using an efficient deep learning model[J]. Human and Ecological Risk Assessment,2023,29(2):303-326.
[5]Lee T Y,Lin I A,Yu J Y,et al. High efficiency disease detection for potato leaf with convolutional neural network[J]. SN Computer Science,2021,2(4):297.
[6]趙 越,趙 輝,姜永成,等. 基于深度學習的馬鈴薯葉片病害檢測方法[J]. 中國農機化學報,2022,43(10):183-189.
[7]Rashid J,Khan I,Ali G,et al. Multi-level deep learning model for potato leaf disease recognition[J]. Electronics,2021,10(17):2064.
[8]趙建敏,李 艷,李 琦,等. 基于卷積神經網絡的馬鈴薯葉片病害識別系統[J]. 江蘇農業科學,2018,46(24):251-255.
[9]Li J W,Qiao Y L,Liu S,et al. An improved YOLOv5-based vegetable disease detection method[J]. Computers and Electronics in Agriculture,2022,202:107345.
[10]Afzaal H,Farooque A A,Schumann A W,et al. Detection of a potato disease (early blight) using artificial intelligence[J]. Remote Sensing,2021,13(3):411.
[11]Saeed F,Khan M A,Sharif M,et al. Deep neural network features fusion and selection based on PLS regression with an application for crops diseases classification[J]. Applied Soft Computing,2021,103:107164.
[12]Chen J D,Deng X F,Wen Y X,et al. Weakly-supervised learning method for the recognition of potato leaf diseases[J/OL]. Artificial Intelligence Review,(2022-12-21)[2023-01-08].https://doi.org/10.1007/s/0462-022-10374-3.
[13]Abdallah A. Plant village dataset[EB/OL]. (2022-11-26)[2023-01-05]. https://www.kaggle.com/abdallahalidev/plantvillage-dataset.
[14]Zhang L B,Zhang J,Ma J,et al. SC-PNN:saliency cascade convolutional neural network for pansharpening[J]. IEEE Transactions on Geoscience and Remote Sensing,2021,59(11):9697-9715.
[15]Wang S H,Zhou Q,Yang M,et al. ADVIAN:Alzheimers disease VGG-inspired attention network based on convolutional block attention module and multiple way data augmentation[J]. Frontiers in Aging Neuroscience,2021,13:687456.
[16]Shuai Y Z,Yuan Q,Zhao S S.A spatial-channel attention-based convolutional neural network for remote sensing image classification[C]//IGARSS 2022—2022 IEEE International Geoscience and Remote Sensing Symposium.Kuala Lumpur,Malaysia.IEEE,2022:3628-3631.