杜海順 張春海 安文昊 周 毅 張 鎮 郝欣欣
(1.河南大學人工智能學院, 鄭州 450046; 2.河南省車聯網協同技術國際聯合實驗室, 鄭州 450046)
我國作為農業大國,糧食產量穩居世界首位。糧食豐收的前提是農作物的健康成長,而農作物病害是造成農產品產量和品質下降的重要原因[1]。合理施用農藥是防治農作物病害的主要手段,而合理施用農藥的前提是準確識別農作物病害的類型[2]。傳統農作物病害識別主要靠農民憑經驗進行。受專業知識的限制,農民常常對一些農作物病害無法判斷或誤判,從而使農作物病害難以得到準確及時的防治。因此,若能及時準確地識別農田中出現的農作物病害,不僅可以減少農藥化肥的使用,降低生產成本、節約資源,而且可以減少化學污染、保護環境,進一步增加農民的收入,提高農產品的產量與品質,推動國家農業現代化的進程。
20世紀80年代以來,國內外學者在農作物病害圖像識別方面展開了諸多研究,提出許多傳統的農作物病害圖像識別方法[3-9]。例如,張燕等[3]提出了一種基于核相互子空間法的番茄病害快速識別模型。該模型通過將葉部病害圖像的顏色及紋理特征映射到高維空間進行主成分分析,建立非線性病害特征空間,并基于非線性特征空間的最小正則角實現了番茄病害識別。雖然這些傳統病害識別方法大多已經用于實踐,但是它們過于依賴病斑分割的效果和特征設計的質量,從而無法滿足現代農業生產對農作物病害準確識別的需求。
近年來,隨著人工智能技術的快速發展,國內外學者開始嘗試采用卷積神經網絡對農作物病害進行識別[10-12]。例如,趙恒謙等[10]對VGG16和ResNet網絡進行分步遷移訓練,取得了較好農作物病害識別效果。劉洋等[11]通過對MobileNet和Inception V2 2種輕量級卷積神經網絡的遷移學習,得到2種作物病害識別模型并將它們分別移植到Android手機端,實現了識別精度、運算速度以及網絡尺寸之間的平衡。雖然這些方法在農作物病害識別方面取得了較好的效果,但是它們都沒有對網絡提取的特征做進一步處理,也沒有引導網絡去關注更具判別力的顯著性特征。為了解決這一問題,一些學者通過在網絡中引入注意力機制或特征融合策略來改善農作物病害識別精度[13-23]。例如,黃林生等[13]提出一種多尺度卷積結構與注意力機制結合的農作物病害識別模型,不僅通過引入Inception模塊對不同尺度的病害特征進行提取,提高了特征的豐富度,還通過在殘差結構中引入注意力模塊,增強了網絡對顯著性特征的提取能力。于明等[14]提出了一種基于顏色掩膜和通道自適應自注意力機制的農作物病害識別網絡,根據葉片顏色變化、病斑范圍與病斑間的位置關系,有效地提取了葉片病害顏色和位置特征,實現了農作物葉部病害的識別。姜紅花等[21]提出了一種基于ResNet18的蘋果葉部病害分類模型,通過引入空間和通道注意力機制,來增強網絡對顯著性特征的提取,從而提高識別精度;還通過采用隨機裁剪分支來擴充樣本,訓練網絡模型,達到了更好的分類效果。雖然這些方法通過在網絡中使用注意力機制來提取農作物病害圖像的顯著性特征,取得了較好的病害識別效果,但是這些方法提取的病害圖像顯著性特征大多不足,且對網絡不同層特征中包含的判別信息挖掘不夠。
為了更加有效地提取農作物病害圖像中的判別特征,提高農作物病害識別精度,本文提出一種基于多層信息融合和顯著性特征增強的農作物病害識別網絡(MISF-Net)。MISF-Net主要由ConvNext[24]主干網絡、多層信息融合模塊(Multi-layer information fusion module, MIFM)以及顯著性特征增強模塊(Saliency feature enhancement module, SFEM)組成。其中ConvNext主干網絡主要用于提取農作物病害圖像的特征;MIFM模塊主要用于提取和融合主干網絡淺層、中層、深層特征中的判別信息;SFEM模塊主要用于提取和增強農作物病害圖像中的顯著性特征。
本文提出的MISF-Net整體架構如圖1所示。由圖1可以看出,整體網絡模型由ConvNext主干網絡、多層信息融合模塊(MIFM)以及顯著性特征增強模塊(SFEM)組成。

圖1 MISF-Net基本框架
如圖1所示,在訓練階段,首先對輸入農作物病害圖像進行隨機裁剪、亮度與對比度調整等預處理;然后,將預處理的圖像輸入嵌入SFEM模塊的ConvNext主干網絡處理得到淺層特征圖F1、F2,中層特征圖F3及深層特征圖F4;更進一步,將F1、F2、F3、F4輸入多層信息融合模塊,進一步提取和融合它們包含的判別信息,得到最終融合特征Fm;最后,將深層特征圖F4經全局平均池化處理得到的特征和融合特征Fm分別輸入相應的全連接層FC處理得到輸出預測值,同時采用交叉熵損失函數監督網絡訓練。在測試階段,采用融合特征Fm作為農作物圖像的最終特征。
卷積神經網絡淺層的感受野較小,其輸出的特征圖包含豐富的邊緣、紋理、形狀等細節信息。隨著網絡層數加深,感受野越來越大,其輸出的特征圖包含的抽象語義信息也越來越多。為了充分挖掘主干網絡淺層、中層、深層特征圖中包含的判別信息,本文設計1個多層信息融合模塊(MIFM),如圖2所示。由圖2可以看出,該模塊主要由2個淺層信息處理模塊(Shallow information processing module, SIM)、1個全局自適應平均池化操作(Global adaptive average pooling, GAP)和1個深層信息處理模塊(Deep information processing module, DIM)組成。其中,2個淺層信息處理模塊分別用于處理主干網絡Layer1和Layer2輸出的淺層特征圖F1和F2,全局自適應平均池化操作用于處理主干網絡Layer3輸出的中層特征圖F3,而深層信息處理模塊用于處理主干網絡Layer4輸出的深層特征圖F4。

圖2 多層信息融合模塊
(1)淺層信息處理模塊(SIM)
如圖3所示,淺層信息處理模塊由1個自適應平均池化Adp、1個全連接層FC和1個ReLU激活函數組成。

圖3 淺層信息處理模塊

As=δ(W1Reshape(Adpk(Fs)))
(1)
其中
式中 Adpk(·)——將尺寸為C×H×W的特征圖自適應平均池化為尺寸為C×k×k的特征圖函數
Reshape(·)——將尺寸為C×H×W的特征圖改變形狀為C×HW的特征圖函數
W1——全連接層權重
r——降維比
δ(·)——ReLU激活函數
首先將輸入的淺層信息進行自適應平均池化處理得到C×k×k的特征圖,以保留更多的有助于病害分類的淺層信息;然后,采用全連接層對淺層信息進一步處理,以提取更具有判別力的病害圖像特征。
(2)深層信息處理模塊(DIM)
如圖4所示,深層信息處理模塊由1個通道池化操作Cmp、1個全局自適應平均池化層GAP、1個全連接層FC和1個ReLU激活函數組成。

圖4 深層信息處理模塊

Ad=δ(W2GAP(Cmpn(Fd)))
(2)
其中
式中 Cmpn(·)——將特征圖按通道順序均分為C/n組后,對每組進行沿通道方向最大池化處理函數
GAP(·)——全局自適應平均池化
W2——全連接層權重
在DIM中,通過通道池化Cmpn(·)操作,對特征圖的每n個通道沿通道方向進行最大池化處理,能夠保留較多的重要深層語義信息。此外,采用全連接層對深度語義信息進一步處理,能夠提取其中更具判別力的病害圖像特征。
(3)多尺度特征融合
將淺層特征圖F1和F2經淺層信息處理模塊(SIM)處理得到特征A1和A2,中層特征圖F3經全局自適應平均池化操作處理得到A3,深層特征圖F4通過深層信息處理模塊(DIM)處理得到A4后,將它們進行拼接融合,得到的融合特征Fm為
Fm=Cat(A1,A2,A3,A4)
(3)
式中 Cat(·)——通道維度上拼接函數
特別地,本文采用參數k=4和r=4的SIM來處理主干網絡Layer1輸出的淺層特征,采用參數k=2和r=2的SIM來處理主干網絡Layer2輸出淺層特征,采用參數n=2和r=2的DIM來處理由主干網絡輸出的深層特征。
顯著性特征對農作物病害識別至關重要。為了增強農作物病害圖像的顯著性特征,設計1個顯著性特征提取增強模塊(SFEM),如圖5所示。

圖5 顯著性特征增強模塊
給定一個輸入特征圖F∈RC×H×W,首先對輸入特征分別沿H維度和W維度進行平均池化得到A1、A2;然后,分別對A1、A2進行二維卷積和Sigmoid激活操作后,將得到的2個特征圖對應元素相乘得到權重特征圖h;更進一步,將權重特征圖h與輸入特征圖F進行對應元素相乘得到顯著性特征圖,將輸入特征圖F經tanh函數激活處理后的特征圖與1-h相乘得到非顯著性特征圖;最后,將顯著性特征圖與非顯著性特征圖進行拼接后再經過二維卷積處理,得到增強后的顯著性特征圖FA∈RC×H×W。上述過程可公式化為
(4)
式中gW(·)、gH(·)——沿著寬和高維度進行平均池化
Reshape1(·)——將尺寸為C×H×W的特征圖改變形狀為C×W×H的函數
Conv1(·)、Conv2(·)——C×C×1×1、2C×C×1×1的卷積函數
由于深層特征的顯著性信息更有益于農作物病害識別,因此本文將顯著性特征增強模塊插入到主干網絡的Layer3與Layer4之后,如圖1所示。
如圖1所示,在訓練階段,主干網絡輸出的特征F4和多層信息融合模塊輸出的融合特征Fm分別輸入相應的全連接層FC,得到相應的預測輸出值。采用預測標簽與真實標簽的交叉熵損失來訓練網絡模型。綜上,模型的總損失為
L=λLce1+Lce2
(5)
式中Lce1——融合特征分支預測標簽與真實標簽的交叉熵損失
Lce2——主干網絡預測標簽與真實標簽的交叉熵損失
λ——Lce1與Lce2間的平衡參數
特別地,在交叉熵損失函數中采用標簽平滑策略來增強網絡的泛化能力,帶標簽平滑的交叉熵損失函數定義為
(6)
其中
式中N、K——一個批次中的圖像數量和類別數


y(n)——第n幅圖像的真實標簽值
ε——標簽平滑系數
2.1.1數據集
本實驗在AI challenger 2018農作物病害數據集和自制RCP-Crops數據集上驗證MISF-Net的有效性。2個數據集的相關信息如表1所示。

表1 AI challenger 2018與RCP-Crops數據集信息統計
(1)AI challenger 2018數據集
該數據集共包含番茄、草莓、馬鈴薯、辣椒、桃、柑桔、葡萄、玉米、櫻桃、蘋果等10種農作物,劃分了59種病害類別。其中,健康類別10種,病害類別26種。病害類別中有23種病害還分為一般和嚴重兩種程度,如圖6所示。該數據集是在原有公開數據集Plant Village[25]的基礎上,根據不同病害類型的病害程度進行更細的劃分,同時也增加了新的農作物病害圖像。該數據集共包含36 258幅圖像,其中的31 718幅用于訓練,4 540幅用于測試。

圖6 AI challenger 2018數據集中部分病害圖像
(2)RCP-Crops數據集
RCP-Crops數據集中的圖像均在河南省信陽市固始縣和新縣的農田中拍攝。圖像采集時間為2022年3—10月,采集裝置為榮耀v20手機。采集對象為玉米、水稻、小麥、棉花和花生5種農作物。該數據集共包含花生褐斑病、玉米銹病、玉米小斑病、小麥白粉病、棉花網紋型枯萎病以及水稻葉黑粉病等25種農作物病害,共包含1 665幅圖像。與AI challenger 2018數據集相比,RCP-Crops數據集的訓練樣本數占比較低,這是由于農作物病害數據集采集的時間成本和投入成本較高,為了實現高效訓練,將其中的1 011幅用于訓練,654幅用于測試。該數據集部分圖像如圖7所示。

圖7 RCP-Crops數據集中部分病害圖像
2.1.2實驗設置
本實驗使用PyTorch 深度開源框架實現,并在搭載i7-10700F CPU和NVIDIA 3090 GPU的計算平臺上訓練。采用在ImageNet數據集[26]預訓練的ConvNext作為主干網絡。在訓練階段和測試階段,所有圖像的分辨率都調整為224像素×224像素。在訓練階段,對所有訓練圖像進行裁剪、亮度和對比度隨機轉換、水平翻轉等數據增強處理。采用權重衰減因子為0.05的Adam優化器訓練網絡,共訓練100個周期,設置訓練批次大小為64。優化器的初始學習率設置為5×10-4,并使用學習率預熱策略。在訓練過程中,優化器的學習率將在第40、50、70個周期分別減小為原來的1/10。采用準確率和F1值作為評價指標。
為了驗證MISF-Net的有效性,在AI challenger 2018公開數據集和RCP-Crops自制數據集上與其他方法進行了實驗對比。
MISF-Net與其他方法在AI challenger 2018數據集上的實驗結果如表2所示。由表2可以得出,MISF-Net的準確率、F1值分別達到87.84%、87.72%。相比于GoogleNet,MISF-Net在準確率上提升1.48個百分點,在F1值上提高1.50個百分點。相比于文獻[13]方法,MISF-Net在準確率上提升1.37個百分點,在F1值上提高1.38個百分點。這說明本文的MISF-Net能夠更加精確地識別農作物病害。

表2 MISF-Net和目前先進方法在AI challenger 2018數據集上的性能對比
MISF-Net與其他方法在RCP-Crops數據集上的實驗結果如表3所示。由表3可以得出,MISF-Net的準確率、F1值分別達到95.41%、95.31%。相比于TL-SE-ResNeXt-101[18],MISF-Net在準確率上提升1.83個百分點,在F1值上提高2.06個百分點。相比于ResNet50,MISF-Net在準確率上提升0.61個百分點, F1值提高0.72個百分點。這進一步說明了本文的MISF-Net可以實現農作物病害的高精度識別。

表3 MISF-Net與目前先進方法在RCP-Crops數據集上的性能對比
2.3.1消融實驗
為了評估MIFM和SFEM模塊對模型整體性能的貢獻,在AI challenger 2018數據集上進行了消融實驗。采用ConvNext作為主干網絡(Baseline),并在此基礎上構建了3個網絡:①Baseline+SFEM。②Baseline+MIFM。③Baseline+SFEM+MIFM。
消融實驗結果如表4所示。從表4可以看出,相比于Baseline,Baseline+SFEM的準確率提高1.11個百分點, F1值提高1.06個百分點。這說明SFEM模塊能夠有效地增強農作物病害圖像中的顯著性判別特征,進而提高網絡的病害識別精度。與Baseline相比,Baseline+MIFM的準確率提高1.26個百分點, F1值提高1.37個百分點。這說明MIFM模塊能夠有效地提取和融合主干網絡淺層、中層、深層特征中的判別信息,進而提高網絡的性能。此外,與Baseline相比,Baseline+SFEM+MIFM的準確率提升2.01個百分點, F1值提高2.01個百分點。這充分說明在主干網絡中同時加入SFEM和MIFM模塊,可以顯著地提高網絡性能。

表4 AI challenger 2018數據集上的消融實驗結果
2.3.2超參數分析
MISF-Net中只有損失函數平衡參數λ一個超參數。為了研究這個超參數的取值對網絡整體性能的影響,在AI challenger 2018數據集上進行了實驗,實驗結果如圖8所示。

圖8 準確率和F1值隨損失函數平衡參數λ的變化曲線
由圖8可以看出,隨著損失函數平衡參數λ的增大,網絡模型的準確率和F1值都呈先上升后下降的趨勢,這表明了較小的損失函數平衡參數會過度強調SFEM模塊作用,而較大的損失函數平衡參數又會過度強調MIFM模塊作用。因此,當λ=1時效果最優。
根據AI challenger 2018數據集中8類共353幅農作物病害圖像的識別結果,得到如圖9所示的農作物病害分類混淆矩陣。
從圖9可以看出,MISF-Net的農作物病害種類識別效果很好,極少出現錯誤。雖然MISF-Net在識別農作物病害程度時也取得了很好的效果,但仍存在一些將農作物病害程度識別錯誤的現象。這可能是因為農作物病害程度不僅取決于病斑面積,還取決于病斑的顏色、分布等諸多因素,從而增加了病害程度的識別難度。為此,在今后將重點研究病斑部位的特征提取策略。
圖10為可視化的Baseline 和MISF-Net提取的農作物病害圖像特征。從圖10可以看出,雖然Baseline能夠提取到病害圖像的部分顯著性信息,但是它對病斑部位的顯著性信息提取不足,進而導致提取特征的判別力較弱。與Baseline相比,MISF-Net能夠提取到更多的顯著性信息,從而取得了更高的病害識別精度。

圖10 特征圖可視化
(1)為了充分挖掘ConvNext主干網絡淺層、中層、深層特征中包含的判別信息,設計了一個多層信息融合模塊,對主干網絡的淺層、中層、深層特征進行提取和融合,得到了更具判別力的農作物病害特征表示。
(2)設計了一個顯著性特征增強模塊并將其插入在ConvNext主干網絡的Lyayer3和Layer4之后,有效地增強了農作物病害圖像中的顯著性特征。
(3)基于設計的多層信息融合模塊和顯著性增強模塊,設計了一個端到端的農作物病害識別網絡MISF-Net,并分別在農作物病害數據集AI challenger 2018和自制數據集RCP-Crops上對其進行了測試。
(4)在農作物病害數據集AI challenger 2018上,MISF-Net的病害識別準確率和F1值分別達到87.84%和87.72%,高于ResNet50(86.67%、86.59%)和TL-SE-ResNeXt-101(86.96%、86.80%)。在自制數據集RCP-Crops上,MISF-Net的病害識別準確率和F1值分別達到95.41%和95.31%,高于ResNet50(94.80%、94.59%)和TL-SE-ResNeXt-101(93.58%、93.25%)。