嚴(yán)陳慧子, 田芳明,2, 譚 峰, 王思琪, 石景秀
(1.黑龍江八一農(nóng)墾大學(xué)信息與電氣工程學(xué)院,黑龍江大慶 163319;2.農(nóng)業(yè)農(nóng)村部農(nóng)產(chǎn)品及加工品質(zhì)量監(jiān)督檢驗測試中心,黑龍江大慶 163316)
水稻是我國主要的糧食作物和經(jīng)濟(jì)作物,水稻的病蟲害脅迫并制約著水稻產(chǎn)業(yè)的健康可持續(xù)發(fā)展[1]。據(jù)全國農(nóng)業(yè)技術(shù)推廣服務(wù)中心預(yù)測,2022年我國水稻病蟲害呈重發(fā)流行風(fēng)險趨勢,累計發(fā)生面積達(dá)6 867萬hm2,比2021年增加了13.6%[2]。在病蟲害監(jiān)測和防控過程中,準(zhǔn)確、高效地識別病蟲害是有效解決農(nóng)作物病蟲害問題的重要前提。當(dāng)前對水稻病蟲害的診斷主要依靠人工鑒別,其主觀性強(qiáng)、效率低下,難以滿足糧食生產(chǎn)防控的需求[3]。因此,亟需一種快速、準(zhǔn)確的水稻病害智能識別方法。
基于人工智能技術(shù)的圖像識別一直以來都是備受關(guān)注的研究熱點(diǎn)[4]。近年來,隨著深度學(xué)習(xí)研究在計算機(jī)視覺領(lǐng)域的深入,基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測算法在目標(biāo)識別、實(shí)時定位上的表現(xiàn)日益優(yōu)異,并且被廣泛應(yīng)用于遙感圖像處理[5-6]、橋梁破壞評估[7]、醫(yī)學(xué)診斷[8-9]、果實(shí)采摘[10]、雜草識別[11-12]等諸多領(lǐng)域,然而目前有關(guān)自然環(huán)境下農(nóng)作物病害目標(biāo)檢測的研究較少。
目標(biāo)檢測算法主要分為2種:一種是基于區(qū)域建議框預(yù)測的兩階段算法,首先生成候選框,再進(jìn)行特征提取與分類,其代表有Fast R-CNN、Faster R-CNN等。李就好等以ResNet-50作為Faster R-CNN 的特征提取網(wǎng)絡(luò),融入了特征金字塔結(jié)構(gòu),實(shí)現(xiàn)了自然環(huán)境下苦瓜病害的定位與識別[13]。徐信羅等修改原始區(qū)域生成網(wǎng)絡(luò)中的錨框(anchor)尺寸,發(fā)現(xiàn)改進(jìn)后的方法對松材線蟲病受害木冠幅的識別精度提高了6.78百分點(diǎn)[14]。王云露等改進(jìn)了Faster R-CNN的網(wǎng)絡(luò)結(jié)構(gòu),解決了蘋果葉片病斑尺度小等難以定位、識別的問題[15]。另一種是基于回歸問題的單階段算法,即直接回歸目標(biāo)邊界矩形框位置和類別的端到端算法,其代表有SDD、RetinaNet和YOLO系列。李善軍等采用ResNet-18作為SSD算法的主干網(wǎng)絡(luò),最終對柑橘的檢測精確率達(dá)到了87.89%,檢測時間也較原先的方法得到縮短[16]。佘顥等提出基于改進(jìn)的SDD模型的水稻害蟲識別方法,提高了模型識別率、檢測速度[17]。閆建偉等改進(jìn)RetinaNet模型框架的損失函數(shù),運(yùn)用 K-means++算法找出合適的anchor,實(shí)現(xiàn)了刺梨果實(shí)的快速識別[18]。郭陽等以5種常見水稻蟲害為研究對象,通過試驗對比發(fā)現(xiàn),YOLOv3算法比較適用于田間水稻蟲害的識別[19]??傮w來看,兩階段算法的相對精度更高,但耗時長,單階段算法的識別精度較低,但檢測速度較快。
由于目前有關(guān)大田環(huán)境下農(nóng)作物病害目標(biāo)檢測的研究較少,而且存在檢測速度慢、精度低等問題,本研究提出了一種基于改進(jìn)的YOLOv4的水稻葉部病害檢測方法,使用MobileNet V3替換主干網(wǎng)絡(luò)CSPDarkNet-53,并引入坐標(biāo)注意力機(jī)制以增加目標(biāo)檢測模型對水稻病斑的注意力,減少對背景的關(guān)注,改進(jìn)后的模型在識別準(zhǔn)確率、檢測速度方面都有所提高,能夠?qū)崿F(xiàn)大田環(huán)境中水稻病害的識別,對水稻安全生產(chǎn)具有重要意義。
如圖1所示,YOLOv4基本模型包括3個部分,第1個是主干特征提取網(wǎng)絡(luò),選用CSPDarknet-53網(wǎng)絡(luò)初步提取其中間層、中下層和底層特征層,分別對應(yīng)(52,52,256)、(26,26,512)和(13,13,1 024),將這3個特征層作為第2部分網(wǎng)絡(luò)結(jié)構(gòu)的輸入。第2個是頸部網(wǎng)絡(luò),用于加強(qiáng)特征提取,使用融合空間金字塔池化層(spatial pyramid pooling,SPP)的路徑聚合網(wǎng)絡(luò)(path aggregation network,PANet),在SPP模塊里,對于第1部分底層輸出的特征層進(jìn)行3次標(biāo)準(zhǔn)卷積操作后,分別用5×5、9×9、13×13、無處理4個不同大小的卷積核進(jìn)行最大池化處理,有效地拓寬了感受野,沒有加深網(wǎng)絡(luò)深度從而讓訓(xùn)練速度減慢;在PANet模塊里,對于主干網(wǎng)絡(luò)中間層、中下層輸出的特征層,在完成特征金字塔從下到上的特征提取后,接著從上到下提取特征,在整個過程中有效融合了低層信息、高層語義信息,避免了淺層細(xì)節(jié)特征的丟失。第3個是頭部網(wǎng)絡(luò),利用YOLO Head對第2部分輸出的3個有效特征層進(jìn)行結(jié)果預(yù)測,分別檢測小、中、大3種目標(biāo),每個目標(biāo)對應(yīng)3個錨框,利用錨框偏移預(yù)測目標(biāo)位置,同時輸出目標(biāo)的類別概率。
MobileNet V3模型有效結(jié)合了MobileNet V1、MobileNet V2這2個模型的優(yōu)勢,進(jìn)一步提高了模型的精度,是效率更高的輕量型卷積神經(jīng)網(wǎng)絡(luò)。MobileNet V2采用線性瓶頸結(jié)構(gòu)結(jié)合反向殘差結(jié)構(gòu),利用逐點(diǎn)卷積將低維空間映射到高維空間,在高維特征空間后接線性激活函數(shù)(rectified linear unit,ReLU),由此避免激活層ReLU丟失低維度特征信息。由于ReLU在低維空間內(nèi)的工作效率低,不利于特征的提取,易丟失特征信息,因此在逐點(diǎn)卷積結(jié)束后使用線性激活層來代替ReLU函數(shù),以此保證提取到的特征信息更加充足。
基于MobileNet V2的網(wǎng)絡(luò)結(jié)構(gòu),MobileNet V3在瓶頸結(jié)構(gòu)中引入了SE注意力模塊來突出有用特征。采用h-swish激活函數(shù),大大降低了計算量。網(wǎng)絡(luò)的最后1層去掉了1×1的卷積層,將平均池化層向前移動。MobileNet V3主體部分由11個瓶頸結(jié)構(gòu)組成,前3個結(jié)構(gòu)中采用卷積核數(shù)為3的深度卷積,后面8個采用卷積核數(shù)為5的深度卷積,瓶頸結(jié)構(gòu)中的其他設(shè)置均相同。
注意力機(jī)制是機(jī)器學(xué)習(xí)領(lǐng)域中一種特殊的信息選擇網(wǎng)絡(luò)結(jié)構(gòu),其本質(zhì)是通過自主學(xué)習(xí),將有限的計算資源分配給圖像中信息量占比最大的區(qū)域,突出重點(diǎn)區(qū)域的信息,減少不相干背景的干擾,其有效性已在許多圖像識別研究中得到了充分驗證[20]。然而,對于復(fù)雜環(huán)境下的目標(biāo)檢測任務(wù),由于存在大量無關(guān)的背景信息,引入注意力機(jī)制能達(dá)到事半功倍的目的。
在視覺空間中,坐標(biāo)位置信息往往很少被關(guān)注到。坐標(biāo)注意力模塊(CAM)的本質(zhì)是在捕獲通道信息的同時,也關(guān)注位置信息的遠(yuǎn)程依賴關(guān)系。為了避免平均池化操作造成位置信息的丟失,對于輸入特征圖分別沿著水平、垂直2個空間方向通過平均池化層聚合特征,池化后的特征圖經(jīng)過一系列維度移位、維度拼接等編碼操作得到2組方向感知和位置敏感的注意映射,將這2組注意映射加權(quán)融合后可得到高質(zhì)量特征圖。坐標(biāo)注意力流程如圖2所示。
在實(shí)際應(yīng)用中,不僅要考慮模型的準(zhǔn)確率,還要解決檢測時間長的問題。由于主干網(wǎng)絡(luò)是網(wǎng)絡(luò)模型提取目標(biāo)特征的關(guān)鍵結(jié)構(gòu),原始YOLOv4的主干網(wǎng)絡(luò)結(jié)構(gòu)較為復(fù)雜,總參數(shù)量相對較大,因此,考慮用一種性能優(yōu)異且結(jié)構(gòu)相對精簡小巧的網(wǎng)絡(luò)替換原始網(wǎng)絡(luò),與其他輕量級網(wǎng)絡(luò)相比,MobileNet V3模型特征提取能力強(qiáng)、參數(shù)極少、計算量小,能夠有效地提高模型的運(yùn)行速度,在目標(biāo)分類任務(wù)中表現(xiàn)良好,因此使用MobileNet V3作為主干網(wǎng)絡(luò)可以提高模型的檢測速度。此外,由于本研究使用的水稻數(shù)據(jù)集背景復(fù)雜,病斑的形狀不規(guī)則,因此在頸部網(wǎng)絡(luò)的8個位置加入CAM模塊,這樣可以在注意力的分布上提高模型性能,而且CAM屬于輕量級模塊,沒有帶來過多的運(yùn)算成本。模型的整體結(jié)構(gòu)如圖3所示。
本研究對象為稻瘟病、胡麻斑病和白葉枯病,其病害特征如表1所示。使用的水稻病害圖像數(shù)據(jù)大部分來源于科學(xué)數(shù)據(jù)銀行,少數(shù)用網(wǎng)絡(luò)上獲取的圖像作為補(bǔ)充,共獲取水稻病害圖像770張,圖4為部分?jǐn)?shù)據(jù)集。為了增強(qiáng)模型的泛化能力、減少過擬合,對原始數(shù)據(jù)集進(jìn)行調(diào)節(jié)光照度、隨機(jī)旋轉(zhuǎn)、增加高斯噪聲和圖像拼接等預(yù)處理操作,將原始圖像擴(kuò)充至3 000張作為最終的水稻病害數(shù)據(jù)集。使用LabelImg圖像工具標(biāo)注病害圖像的病斑位置和類別,生成XML類型的標(biāo)注文件。在最終生成的水稻病害數(shù)據(jù)集里隨機(jī)選取300張作為測試集,剩下的2 700張按照9∶1的比例劃分為訓(xùn)練集、驗證集,其中訓(xùn)練集有2 430張。
表1 水稻的病害特征
本試驗平臺的配置如表2所示。為了加快模型的收斂速度,主干網(wǎng)絡(luò)部分采用遷移學(xué)習(xí)的訓(xùn)練方法,使用基于ImageNet數(shù)據(jù)集預(yù)訓(xùn)練的權(quán)重文件。在試驗過程中,輸入之前將圖像尺寸調(diào)整為416×416,保證輸入圖像的統(tǒng)一性,采用自適應(yīng)矩估計(adaptive moment estimation,Adam)優(yōu)化器, 優(yōu)化器的權(quán)重衰減因子設(shè)置為0,開啟馬賽克數(shù)據(jù)增強(qiáng)和余弦退火衰減算法。在本研究的整個訓(xùn)練過程中有300個訓(xùn)練輪次(epoch),前50個epoch凍結(jié)主干網(wǎng)絡(luò)進(jìn)行訓(xùn)練,學(xué)習(xí)速率為1×10-3,批次大小(batch_size)為8,每個epoch迭代次數(shù)為303次,后250個epoch解凍參數(shù)訓(xùn)練,batch_size為4,每個epoch的迭代次數(shù)為607次,整個訓(xùn)練中的總迭代次數(shù)是182 650次。
表2 試驗平臺配置
本試驗選用平均精度均值(mAP)、檢測速度(FPS)作為目標(biāo)檢測模型的評價指標(biāo)。mAP綜合考慮了精確度和召回率的評分,用來評價多目標(biāo)分類準(zhǔn)確率;FPS是指每秒鐘檢測圖像的幀數(shù),其值越大,表明模型的檢測速度越快。
2.3.1 算法優(yōu)化對比試驗分析 為了縮短檢測時間,達(dá)到實(shí)時性的目的,本研究擬采用輕量級網(wǎng)絡(luò)替換原始YOLOv4模型的主干網(wǎng)絡(luò)CSPDarkNet-53。首先選取MobileNet V1、MobileNet V2和MobileNet V3等3種輕量級網(wǎng)絡(luò)進(jìn)行對比試驗,試驗結(jié)果見表3。可以看出,將主干網(wǎng)絡(luò)替換成輕量級網(wǎng)絡(luò)后,檢測時間大大縮減,并且MobileNet V3作為主干網(wǎng)絡(luò)的計算量(FLOPs)不到原始YOLOv4模型的1/2,mAP也小幅度增加了0.07%,FPS增加了17.8幀/s,相較于其他網(wǎng)絡(luò),MobileNet V3在識別準(zhǔn)確率上有明顯優(yōu)勢,因此選用MobileNet V3作為主干網(wǎng)絡(luò)。對MobileNet V3-YOLOv4模型進(jìn)行優(yōu)化,將CAM注意力機(jī)制嵌入MobileNet V3-YOLOv4模型中,算法優(yōu)化后的最終表現(xiàn)表4。將改進(jìn)后的算法與MobileNet V3-YOLOv4算法進(jìn)行對比發(fā)現(xiàn),即使增加了注意力機(jī)制,改進(jìn)后算法的檢測速度(FPS)與MobileNet V3-YOLOv4算法相差不大,平均每張圖像的檢測時間只增加了0.1 ms,然而改進(jìn)后算法的平均精度均值(mAP)提高了1.25%。將改進(jìn)后算法與原始YOLOv4算法對比發(fā)現(xiàn),改進(jìn)后算法的速度提升了17.72幀/s,mAP也增加了1.32%。由此可見,在優(yōu)化了模型的主干網(wǎng)絡(luò)、引入CAM之后,網(wǎng)絡(luò)的識別精度、檢測速度得到了明顯提升。
表3 YOLOv4網(wǎng)絡(luò)輕量化結(jié)果對比
表4 算法優(yōu)化結(jié)果對比
基于300張水稻病害圖像作為測試集進(jìn)行評估,圖5給出了每類目標(biāo)的平均精度(AP)和平均精度均值(mAP),可以看出,本研究算法較MobileNet V3-YOLOv4算法提高了總類別平均檢測精度。隨后引入誤檢率進(jìn)一步驗證改進(jìn)模型的性能,將本研究算法與MobileNet V3-YOLOv4算法進(jìn)行誤檢率的對比,結(jié)果(圖6)表明,本研究算法有效減少了大多數(shù)目標(biāo)類別的誤檢率,使MobileNet V3-YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)得到了顯著優(yōu)化。
為了檢驗改進(jìn)后模型的泛化能力,從300張測試集中選出4類具有代表性的圖像,這些圖像的拍攝角度不同、病斑大小和數(shù)量不一,分別為低光照度、單種類小目標(biāo)、單種類多目標(biāo)和多種類多目標(biāo)圖像。從圖7-a可以看出,本研究模型能夠全部檢測出弱光線情況下的稻瘟病病斑。由圖7-b可以看出,本研究模型比YOLOv4更能捕捉到小病斑,且邊界矩形框位置較為準(zhǔn)確。如圖7-c所示,對于包含不同角度、不同大小的多目標(biāo)圖像,大部分稻瘟病病斑都能被本研究模型檢測出來,包括遠(yuǎn)處模糊的、被遮擋的小病斑,但邊界矩形框位置有偏差。圖7-d包含了多種水稻病斑,其中YOLOv4模型、本研究模型沒有出現(xiàn)誤檢的情況,但仍有少量尺寸小的胡麻斑病斑沒有被檢測出來。經(jīng)過上述分析發(fā)現(xiàn),本研究提出的水稻病害識別模型相較于原始YOLOv4模型更能準(zhǔn)確地檢測出病斑的類別與位置。
2.3.2 不同模型的水稻病害檢測結(jié)果分析 基于相同的水稻病害數(shù)據(jù)集,對本研究模型與其他3種目標(biāo)檢測模型進(jìn)行試驗對比。由表5可知,本研究模型雖然在FLOPs和檢測速度上小于YOLOv5模型,但在識別準(zhǔn)確率上比YOLOv5模型高1.15百分點(diǎn),并且在識別精度、檢測速度上明顯優(yōu)于RetinaNet模型、CenterNet模型,同時兼顧了識別精度和檢測速度。
表5 不同模型的水稻病害檢測結(jié)果
農(nóng)業(yè)智能化對農(nóng)作物病害的檢測精度、實(shí)時性提出了新要求。為了解決水稻病害圖像中復(fù)雜田間環(huán)境背景造成的識別準(zhǔn)確率低和檢測速度慢的問題,對原有的YOLOv4算法進(jìn)行改進(jìn),提升其對病斑的識別能力和效率。在使用特征提取能力強(qiáng)的MobileNet V3作為主干網(wǎng)絡(luò)的同時,引入輕量型注意力模塊CAM,精簡了模型的網(wǎng)絡(luò)結(jié)構(gòu),減少了模型網(wǎng)絡(luò)權(quán)重和計算量。試驗結(jié)果表明,與未改進(jìn)的模型相比,改進(jìn)后模型的mAP提升了1.32百分點(diǎn),表明改進(jìn)的措施有效;識別單張圖像所用的平均時間為18.7 ms,表明具有一定的實(shí)時性。
綜上,本研究方法滿足了檢測精度高、檢測速度快的需求,貼近實(shí)際生活中關(guān)于水稻安全生產(chǎn)的需要,為后期部署到嵌入式設(shè)備奠定了基礎(chǔ)。此外,本研究模型在定位被遮擋的病斑時,病斑的邊界矩形框有偏差,因而在精準(zhǔn)定位方面還有很大進(jìn)步空間,有待進(jìn)一步探究。