杜海順 張春海 安文昊 周 毅 張 鎮(zhèn) 郝欣欣
(1.河南大學(xué)人工智能學(xué)院, 鄭州 450046; 2.河南省車聯(lián)網(wǎng)協(xié)同技術(shù)國際聯(lián)合實驗室, 鄭州 450046)
我國作為農(nóng)業(yè)大國,糧食產(chǎn)量穩(wěn)居世界首位。糧食豐收的前提是農(nóng)作物的健康成長,而農(nóng)作物病害是造成農(nóng)產(chǎn)品產(chǎn)量和品質(zhì)下降的重要原因[1]。合理施用農(nóng)藥是防治農(nóng)作物病害的主要手段,而合理施用農(nóng)藥的前提是準(zhǔn)確識別農(nóng)作物病害的類型[2]。傳統(tǒng)農(nóng)作物病害識別主要靠農(nóng)民憑經(jīng)驗進(jìn)行。受專業(yè)知識的限制,農(nóng)民常常對一些農(nóng)作物病害無法判斷或誤判,從而使農(nóng)作物病害難以得到準(zhǔn)確及時的防治。因此,若能及時準(zhǔn)確地識別農(nóng)田中出現(xiàn)的農(nóng)作物病害,不僅可以減少農(nóng)藥化肥的使用,降低生產(chǎn)成本、節(jié)約資源,而且可以減少化學(xué)污染、保護(hù)環(huán)境,進(jìn)一步增加農(nóng)民的收入,提高農(nóng)產(chǎn)品的產(chǎn)量與品質(zhì),推動國家農(nóng)業(yè)現(xiàn)代化的進(jìn)程。
20世紀(jì)80年代以來,國內(nèi)外學(xué)者在農(nóng)作物病害圖像識別方面展開了諸多研究,提出許多傳統(tǒng)的農(nóng)作物病害圖像識別方法[3-9]。例如,張燕等[3]提出了一種基于核相互子空間法的番茄病害快速識別模型。該模型通過將葉部病害圖像的顏色及紋理特征映射到高維空間進(jìn)行主成分分析,建立非線性病害特征空間,并基于非線性特征空間的最小正則角實現(xiàn)了番茄病害識別。雖然這些傳統(tǒng)病害識別方法大多已經(jīng)用于實踐,但是它們過于依賴病斑分割的效果和特征設(shè)計的質(zhì)量,從而無法滿足現(xiàn)代農(nóng)業(yè)生產(chǎn)對農(nóng)作物病害準(zhǔn)確識別的需求。
近年來,隨著人工智能技術(shù)的快速發(fā)展,國內(nèi)外學(xué)者開始嘗試采用卷積神經(jīng)網(wǎng)絡(luò)對農(nóng)作物病害進(jìn)行識別[10-12]。例如,趙恒謙等[10]對VGG16和ResNet網(wǎng)絡(luò)進(jìn)行分步遷移訓(xùn)練,取得了較好農(nóng)作物病害識別效果。劉洋等[11]通過對MobileNet和Inception V2 2種輕量級卷積神經(jīng)網(wǎng)絡(luò)的遷移學(xué)習(xí),得到2種作物病害識別模型并將它們分別移植到Android手機(jī)端,實現(xiàn)了識別精度、運(yùn)算速度以及網(wǎng)絡(luò)尺寸之間的平衡。雖然這些方法在農(nóng)作物病害識別方面取得了較好的效果,但是它們都沒有對網(wǎng)絡(luò)提取的特征做進(jìn)一步處理,也沒有引導(dǎo)網(wǎng)絡(luò)去關(guān)注更具判別力的顯著性特征。為了解決這一問題,一些學(xué)者通過在網(wǎng)絡(luò)中引入注意力機(jī)制或特征融合策略來改善農(nóng)作物病害識別精度[13-23]。例如,黃林生等[13]提出一種多尺度卷積結(jié)構(gòu)與注意力機(jī)制結(jié)合的農(nóng)作物病害識別模型,不僅通過引入Inception模塊對不同尺度的病害特征進(jìn)行提取,提高了特征的豐富度,還通過在殘差結(jié)構(gòu)中引入注意力模塊,增強(qiáng)了網(wǎng)絡(luò)對顯著性特征的提取能力。于明等[14]提出了一種基于顏色掩膜和通道自適應(yīng)自注意力機(jī)制的農(nóng)作物病害識別網(wǎng)絡(luò),根據(jù)葉片顏色變化、病斑范圍與病斑間的位置關(guān)系,有效地提取了葉片病害顏色和位置特征,實現(xiàn)了農(nóng)作物葉部病害的識別。姜紅花等[21]提出了一種基于ResNet18的蘋果葉部病害分類模型,通過引入空間和通道注意力機(jī)制,來增強(qiáng)網(wǎng)絡(luò)對顯著性特征的提取,從而提高識別精度;還通過采用隨機(jī)裁剪分支來擴(kuò)充樣本,訓(xùn)練網(wǎng)絡(luò)模型,達(dá)到了更好的分類效果。雖然這些方法通過在網(wǎng)絡(luò)中使用注意力機(jī)制來提取農(nóng)作物病害圖像的顯著性特征,取得了較好的病害識別效果,但是這些方法提取的病害圖像顯著性特征大多不足,且對網(wǎng)絡(luò)不同層特征中包含的判別信息挖掘不夠。
為了更加有效地提取農(nóng)作物病害圖像中的判別特征,提高農(nóng)作物病害識別精度,本文提出一種基于多層信息融合和顯著性特征增強(qiáng)的農(nóng)作物病害識別網(wǎng)絡(luò)(MISF-Net)。MISF-Net主要由ConvNext[24]主干網(wǎng)絡(luò)、多層信息融合模塊(Multi-layer information fusion module, MIFM)以及顯著性特征增強(qiáng)模塊(Saliency feature enhancement module, SFEM)組成。其中ConvNext主干網(wǎng)絡(luò)主要用于提取農(nóng)作物病害圖像的特征;MIFM模塊主要用于提取和融合主干網(wǎng)絡(luò)淺層、中層、深層特征中的判別信息;SFEM模塊主要用于提取和增強(qiáng)農(nóng)作物病害圖像中的顯著性特征。
本文提出的MISF-Net整體架構(gòu)如圖1所示。由圖1可以看出,整體網(wǎng)絡(luò)模型由ConvNext主干網(wǎng)絡(luò)、多層信息融合模塊(MIFM)以及顯著性特征增強(qiáng)模塊(SFEM)組成。
圖1 MISF-Net基本框架
如圖1所示,在訓(xùn)練階段,首先對輸入農(nóng)作物病害圖像進(jìn)行隨機(jī)裁剪、亮度與對比度調(diào)整等預(yù)處理;然后,將預(yù)處理的圖像輸入嵌入SFEM模塊的ConvNext主干網(wǎng)絡(luò)處理得到淺層特征圖F1、F2,中層特征圖F3及深層特征圖F4;更進(jìn)一步,將F1、F2、F3、F4輸入多層信息融合模塊,進(jìn)一步提取和融合它們包含的判別信息,得到最終融合特征Fm;最后,將深層特征圖F4經(jīng)全局平均池化處理得到的特征和融合特征Fm分別輸入相應(yīng)的全連接層FC處理得到輸出預(yù)測值,同時采用交叉熵?fù)p失函數(shù)監(jiān)督網(wǎng)絡(luò)訓(xùn)練。在測試階段,采用融合特征Fm作為農(nóng)作物圖像的最終特征。
卷積神經(jīng)網(wǎng)絡(luò)淺層的感受野較小,其輸出的特征圖包含豐富的邊緣、紋理、形狀等細(xì)節(jié)信息。隨著網(wǎng)絡(luò)層數(shù)加深,感受野越來越大,其輸出的特征圖包含的抽象語義信息也越來越多。為了充分挖掘主干網(wǎng)絡(luò)淺層、中層、深層特征圖中包含的判別信息,本文設(shè)計1個多層信息融合模塊(MIFM),如圖2所示。由圖2可以看出,該模塊主要由2個淺層信息處理模塊(Shallow information processing module, SIM)、1個全局自適應(yīng)平均池化操作(Global adaptive average pooling, GAP)和1個深層信息處理模塊(Deep information processing module, DIM)組成。其中,2個淺層信息處理模塊分別用于處理主干網(wǎng)絡(luò)Layer1和Layer2輸出的淺層特征圖F1和F2,全局自適應(yīng)平均池化操作用于處理主干網(wǎng)絡(luò)Layer3輸出的中層特征圖F3,而深層信息處理模塊用于處理主干網(wǎng)絡(luò)Layer4輸出的深層特征圖F4。
圖2 多層信息融合模塊
(1)淺層信息處理模塊(SIM)
如圖3所示,淺層信息處理模塊由1個自適應(yīng)平均池化Adp、1個全連接層FC和1個ReLU激活函數(shù)組成。
圖3 淺層信息處理模塊
As=δ(W1Reshape(Adpk(Fs)))
(1)
其中
式中 Adpk(·)——將尺寸為C×H×W的特征圖自適應(yīng)平均池化為尺寸為C×k×k的特征圖函數(shù)
Reshape(·)——將尺寸為C×H×W的特征圖改變形狀為C×HW的特征圖函數(shù)
W1——全連接層權(quán)重
r——降維比
δ(·)——ReLU激活函數(shù)
首先將輸入的淺層信息進(jìn)行自適應(yīng)平均池化處理得到C×k×k的特征圖,以保留更多的有助于病害分類的淺層信息;然后,采用全連接層對淺層信息進(jìn)一步處理,以提取更具有判別力的病害圖像特征。
(2)深層信息處理模塊(DIM)
如圖4所示,深層信息處理模塊由1個通道池化操作Cmp、1個全局自適應(yīng)平均池化層GAP、1個全連接層FC和1個ReLU激活函數(shù)組成。
圖4 深層信息處理模塊
Ad=δ(W2GAP(Cmpn(Fd)))
(2)
其中
式中 Cmpn(·)——將特征圖按通道順序均分為C/n組后,對每組進(jìn)行沿通道方向最大池化處理函數(shù)
GAP(·)——全局自適應(yīng)平均池化
W2——全連接層權(quán)重
在DIM中,通過通道池化Cmpn(·)操作,對特征圖的每n個通道沿通道方向進(jìn)行最大池化處理,能夠保留較多的重要深層語義信息。此外,采用全連接層對深度語義信息進(jìn)一步處理,能夠提取其中更具判別力的病害圖像特征。
(3)多尺度特征融合
將淺層特征圖F1和F2經(jīng)淺層信息處理模塊(SIM)處理得到特征A1和A2,中層特征圖F3經(jīng)全局自適應(yīng)平均池化操作處理得到A3,深層特征圖F4通過深層信息處理模塊(DIM)處理得到A4后,將它們進(jìn)行拼接融合,得到的融合特征Fm為
Fm=Cat(A1,A2,A3,A4)
(3)
式中 Cat(·)——通道維度上拼接函數(shù)
特別地,本文采用參數(shù)k=4和r=4的SIM來處理主干網(wǎng)絡(luò)Layer1輸出的淺層特征,采用參數(shù)k=2和r=2的SIM來處理主干網(wǎng)絡(luò)Layer2輸出淺層特征,采用參數(shù)n=2和r=2的DIM來處理由主干網(wǎng)絡(luò)輸出的深層特征。
顯著性特征對農(nóng)作物病害識別至關(guān)重要。為了增強(qiáng)農(nóng)作物病害圖像的顯著性特征,設(shè)計1個顯著性特征提取增強(qiáng)模塊(SFEM),如圖5所示。
圖5 顯著性特征增強(qiáng)模塊
給定一個輸入特征圖F∈RC×H×W,首先對輸入特征分別沿H維度和W維度進(jìn)行平均池化得到A1、A2;然后,分別對A1、A2進(jìn)行二維卷積和Sigmoid激活操作后,將得到的2個特征圖對應(yīng)元素相乘得到權(quán)重特征圖h;更進(jìn)一步,將權(quán)重特征圖h與輸入特征圖F進(jìn)行對應(yīng)元素相乘得到顯著性特征圖,將輸入特征圖F經(jīng)tanh函數(shù)激活處理后的特征圖與1-h相乘得到非顯著性特征圖;最后,將顯著性特征圖與非顯著性特征圖進(jìn)行拼接后再經(jīng)過二維卷積處理,得到增強(qiáng)后的顯著性特征圖FA∈RC×H×W。上述過程可公式化為
(4)
式中g(shù)W(·)、gH(·)——沿著寬和高維度進(jìn)行平均池化
Reshape1(·)——將尺寸為C×H×W的特征圖改變形狀為C×W×H的函數(shù)
Conv1(·)、Conv2(·)——C×C×1×1、2C×C×1×1的卷積函數(shù)
由于深層特征的顯著性信息更有益于農(nóng)作物病害識別,因此本文將顯著性特征增強(qiáng)模塊插入到主干網(wǎng)絡(luò)的Layer3與Layer4之后,如圖1所示。
如圖1所示,在訓(xùn)練階段,主干網(wǎng)絡(luò)輸出的特征F4和多層信息融合模塊輸出的融合特征Fm分別輸入相應(yīng)的全連接層FC,得到相應(yīng)的預(yù)測輸出值。采用預(yù)測標(biāo)簽與真實標(biāo)簽的交叉熵?fù)p失來訓(xùn)練網(wǎng)絡(luò)模型。綜上,模型的總損失為
L=λLce1+Lce2
(5)
式中Lce1——融合特征分支預(yù)測標(biāo)簽與真實標(biāo)簽的交叉熵?fù)p失
Lce2——主干網(wǎng)絡(luò)預(yù)測標(biāo)簽與真實標(biāo)簽的交叉熵?fù)p失
λ——Lce1與Lce2間的平衡參數(shù)
特別地,在交叉熵?fù)p失函數(shù)中采用標(biāo)簽平滑策略來增強(qiáng)網(wǎng)絡(luò)的泛化能力,帶標(biāo)簽平滑的交叉熵?fù)p失函數(shù)定義為
(6)
其中
式中N、K——一個批次中的圖像數(shù)量和類別數(shù)
y(n)——第n幅圖像的真實標(biāo)簽值
ε——標(biāo)簽平滑系數(shù)
2.1.1數(shù)據(jù)集
本實驗在AI challenger 2018農(nóng)作物病害數(shù)據(jù)集和自制RCP-Crops數(shù)據(jù)集上驗證MISF-Net的有效性。2個數(shù)據(jù)集的相關(guān)信息如表1所示。
表1 AI challenger 2018與RCP-Crops數(shù)據(jù)集信息統(tǒng)計
(1)AI challenger 2018數(shù)據(jù)集
該數(shù)據(jù)集共包含番茄、草莓、馬鈴薯、辣椒、桃、柑桔、葡萄、玉米、櫻桃、蘋果等10種農(nóng)作物,劃分了59種病害類別。其中,健康類別10種,病害類別26種。病害類別中有23種病害還分為一般和嚴(yán)重兩種程度,如圖6所示。該數(shù)據(jù)集是在原有公開數(shù)據(jù)集Plant Village[25]的基礎(chǔ)上,根據(jù)不同病害類型的病害程度進(jìn)行更細(xì)的劃分,同時也增加了新的農(nóng)作物病害圖像。該數(shù)據(jù)集共包含36 258幅圖像,其中的31 718幅用于訓(xùn)練,4 540幅用于測試。
圖6 AI challenger 2018數(shù)據(jù)集中部分病害圖像
(2)RCP-Crops數(shù)據(jù)集
RCP-Crops數(shù)據(jù)集中的圖像均在河南省信陽市固始縣和新縣的農(nóng)田中拍攝。圖像采集時間為2022年3—10月,采集裝置為榮耀v20手機(jī)。采集對象為玉米、水稻、小麥、棉花和花生5種農(nóng)作物。該數(shù)據(jù)集共包含花生褐斑病、玉米銹病、玉米小斑病、小麥白粉病、棉花網(wǎng)紋型枯萎病以及水稻葉黑粉病等25種農(nóng)作物病害,共包含1 665幅圖像。與AI challenger 2018數(shù)據(jù)集相比,RCP-Crops數(shù)據(jù)集的訓(xùn)練樣本數(shù)占比較低,這是由于農(nóng)作物病害數(shù)據(jù)集采集的時間成本和投入成本較高,為了實現(xiàn)高效訓(xùn)練,將其中的1 011幅用于訓(xùn)練,654幅用于測試。該數(shù)據(jù)集部分圖像如圖7所示。
圖7 RCP-Crops數(shù)據(jù)集中部分病害圖像
2.1.2實驗設(shè)置
本實驗使用PyTorch 深度開源框架實現(xiàn),并在搭載i7-10700F CPU和NVIDIA 3090 GPU的計算平臺上訓(xùn)練。采用在ImageNet數(shù)據(jù)集[26]預(yù)訓(xùn)練的ConvNext作為主干網(wǎng)絡(luò)。在訓(xùn)練階段和測試階段,所有圖像的分辨率都調(diào)整為224像素×224像素。在訓(xùn)練階段,對所有訓(xùn)練圖像進(jìn)行裁剪、亮度和對比度隨機(jī)轉(zhuǎn)換、水平翻轉(zhuǎn)等數(shù)據(jù)增強(qiáng)處理。采用權(quán)重衰減因子為0.05的Adam優(yōu)化器訓(xùn)練網(wǎng)絡(luò),共訓(xùn)練100個周期,設(shè)置訓(xùn)練批次大小為64。優(yōu)化器的初始學(xué)習(xí)率設(shè)置為5×10-4,并使用學(xué)習(xí)率預(yù)熱策略。在訓(xùn)練過程中,優(yōu)化器的學(xué)習(xí)率將在第40、50、70個周期分別減小為原來的1/10。采用準(zhǔn)確率和F1值作為評價指標(biāo)。
為了驗證MISF-Net的有效性,在AI challenger 2018公開數(shù)據(jù)集和RCP-Crops自制數(shù)據(jù)集上與其他方法進(jìn)行了實驗對比。
MISF-Net與其他方法在AI challenger 2018數(shù)據(jù)集上的實驗結(jié)果如表2所示。由表2可以得出,MISF-Net的準(zhǔn)確率、F1值分別達(dá)到87.84%、87.72%。相比于GoogleNet,MISF-Net在準(zhǔn)確率上提升1.48個百分點(diǎn),在F1值上提高1.50個百分點(diǎn)。相比于文獻(xiàn)[13]方法,MISF-Net在準(zhǔn)確率上提升1.37個百分點(diǎn),在F1值上提高1.38個百分點(diǎn)。這說明本文的MISF-Net能夠更加精確地識別農(nóng)作物病害。
表2 MISF-Net和目前先進(jìn)方法在AI challenger 2018數(shù)據(jù)集上的性能對比
MISF-Net與其他方法在RCP-Crops數(shù)據(jù)集上的實驗結(jié)果如表3所示。由表3可以得出,MISF-Net的準(zhǔn)確率、F1值分別達(dá)到95.41%、95.31%。相比于TL-SE-ResNeXt-101[18],MISF-Net在準(zhǔn)確率上提升1.83個百分點(diǎn),在F1值上提高2.06個百分點(diǎn)。相比于ResNet50,MISF-Net在準(zhǔn)確率上提升0.61個百分點(diǎn), F1值提高0.72個百分點(diǎn)。這進(jìn)一步說明了本文的MISF-Net可以實現(xiàn)農(nóng)作物病害的高精度識別。
表3 MISF-Net與目前先進(jìn)方法在RCP-Crops數(shù)據(jù)集上的性能對比
2.3.1消融實驗
為了評估MIFM和SFEM模塊對模型整體性能的貢獻(xiàn),在AI challenger 2018數(shù)據(jù)集上進(jìn)行了消融實驗。采用ConvNext作為主干網(wǎng)絡(luò)(Baseline),并在此基礎(chǔ)上構(gòu)建了3個網(wǎng)絡(luò):①Baseline+SFEM。②Baseline+MIFM。③Baseline+SFEM+MIFM。
消融實驗結(jié)果如表4所示。從表4可以看出,相比于Baseline,Baseline+SFEM的準(zhǔn)確率提高1.11個百分點(diǎn), F1值提高1.06個百分點(diǎn)。這說明SFEM模塊能夠有效地增強(qiáng)農(nóng)作物病害圖像中的顯著性判別特征,進(jìn)而提高網(wǎng)絡(luò)的病害識別精度。與Baseline相比,Baseline+MIFM的準(zhǔn)確率提高1.26個百分點(diǎn), F1值提高1.37個百分點(diǎn)。這說明MIFM模塊能夠有效地提取和融合主干網(wǎng)絡(luò)淺層、中層、深層特征中的判別信息,進(jìn)而提高網(wǎng)絡(luò)的性能。此外,與Baseline相比,Baseline+SFEM+MIFM的準(zhǔn)確率提升2.01個百分點(diǎn), F1值提高2.01個百分點(diǎn)。這充分說明在主干網(wǎng)絡(luò)中同時加入SFEM和MIFM模塊,可以顯著地提高網(wǎng)絡(luò)性能。
表4 AI challenger 2018數(shù)據(jù)集上的消融實驗結(jié)果
2.3.2超參數(shù)分析
MISF-Net中只有損失函數(shù)平衡參數(shù)λ一個超參數(shù)。為了研究這個超參數(shù)的取值對網(wǎng)絡(luò)整體性能的影響,在AI challenger 2018數(shù)據(jù)集上進(jìn)行了實驗,實驗結(jié)果如圖8所示。
圖8 準(zhǔn)確率和F1值隨損失函數(shù)平衡參數(shù)λ的變化曲線
由圖8可以看出,隨著損失函數(shù)平衡參數(shù)λ的增大,網(wǎng)絡(luò)模型的準(zhǔn)確率和F1值都呈先上升后下降的趨勢,這表明了較小的損失函數(shù)平衡參數(shù)會過度強(qiáng)調(diào)SFEM模塊作用,而較大的損失函數(shù)平衡參數(shù)又會過度強(qiáng)調(diào)MIFM模塊作用。因此,當(dāng)λ=1時效果最優(yōu)。
根據(jù)AI challenger 2018數(shù)據(jù)集中8類共353幅農(nóng)作物病害圖像的識別結(jié)果,得到如圖9所示的農(nóng)作物病害分類混淆矩陣。
從圖9可以看出,MISF-Net的農(nóng)作物病害種類識別效果很好,極少出現(xiàn)錯誤。雖然MISF-Net在識別農(nóng)作物病害程度時也取得了很好的效果,但仍存在一些將農(nóng)作物病害程度識別錯誤的現(xiàn)象。這可能是因為農(nóng)作物病害程度不僅取決于病斑面積,還取決于病斑的顏色、分布等諸多因素,從而增加了病害程度的識別難度。為此,在今后將重點(diǎn)研究病斑部位的特征提取策略。
圖10為可視化的Baseline 和MISF-Net提取的農(nóng)作物病害圖像特征。從圖10可以看出,雖然Baseline能夠提取到病害圖像的部分顯著性信息,但是它對病斑部位的顯著性信息提取不足,進(jìn)而導(dǎo)致提取特征的判別力較弱。與Baseline相比,MISF-Net能夠提取到更多的顯著性信息,從而取得了更高的病害識別精度。
圖10 特征圖可視化
(1)為了充分挖掘ConvNext主干網(wǎng)絡(luò)淺層、中層、深層特征中包含的判別信息,設(shè)計了一個多層信息融合模塊,對主干網(wǎng)絡(luò)的淺層、中層、深層特征進(jìn)行提取和融合,得到了更具判別力的農(nóng)作物病害特征表示。
(2)設(shè)計了一個顯著性特征增強(qiáng)模塊并將其插入在ConvNext主干網(wǎng)絡(luò)的Lyayer3和Layer4之后,有效地增強(qiáng)了農(nóng)作物病害圖像中的顯著性特征。
(3)基于設(shè)計的多層信息融合模塊和顯著性增強(qiáng)模塊,設(shè)計了一個端到端的農(nóng)作物病害識別網(wǎng)絡(luò)MISF-Net,并分別在農(nóng)作物病害數(shù)據(jù)集AI challenger 2018和自制數(shù)據(jù)集RCP-Crops上對其進(jìn)行了測試。
(4)在農(nóng)作物病害數(shù)據(jù)集AI challenger 2018上,MISF-Net的病害識別準(zhǔn)確率和F1值分別達(dá)到87.84%和87.72%,高于ResNet50(86.67%、86.59%)和TL-SE-ResNeXt-101(86.96%、86.80%)。在自制數(shù)據(jù)集RCP-Crops上,MISF-Net的病害識別準(zhǔn)確率和F1值分別達(dá)到95.41%和95.31%,高于ResNet50(94.80%、94.59%)和TL-SE-ResNeXt-101(93.58%、93.25%)。