段新濤,王伸,2,趙晴,張杰,鄭國清,李國強
(1. 河南師范大學(xué)計算機與信息工程學(xué)院,河南 新鄉(xiāng) 453007;2. 河南省農(nóng)業(yè)科學(xué)院農(nóng)業(yè)經(jīng)濟與信息研究所/河南省智慧農(nóng)業(yè)工程技術(shù)研究中心,河南 鄭州 450002;3. 農(nóng)業(yè)農(nóng)村部黃淮海智慧農(nóng)業(yè)技術(shù)重點實驗室,河南 鄭州 450002)
玉米是世界上種植最廣泛和產(chǎn)量最高的糧食作物,也是我國重要的糧食、飼料和工業(yè)原料作物[1]。 國家統(tǒng)計局2021 年數(shù)據(jù)顯示,我國玉米種植面積為4.33×107hm2,總產(chǎn)量為2.7×108t[2]。蟲害一直是影響玉米生產(chǎn)的重要因素,蟲害的暴發(fā)會使玉米產(chǎn)量大幅度降低,造成巨大的經(jīng)濟損失。 我國玉米害蟲有200 多種,其中黏蟲、棉鈴蟲、玉米螟和甜菜夜蛾是夏玉米常見害蟲。 如果蟲害監(jiān)測防控不到位,一旦暴發(fā)成災(zāi),將直接影響農(nóng)業(yè)生產(chǎn),危及國家糧食安全[3]。 因此,準(zhǔn)確監(jiān)測與診斷玉米常見蟲害,并采取有效的防治措施,是保證玉米高產(chǎn)穩(wěn)產(chǎn)的重要途徑。
在常規(guī)的玉米蟲害監(jiān)測中,農(nóng)技人員多采用人工現(xiàn)場調(diào)查,或利用蟲情測報燈誘集[4]然后人工調(diào)查。 這種方式效率低,費用高,時效性差。 為提高效率,許多學(xué)者研制了基于智能設(shè)備的害蟲蟲情田間采集系統(tǒng)[5-7],記錄蟲情數(shù)據(jù),實現(xiàn)了害蟲蟲情數(shù)據(jù)采集電子化,提高了害蟲信息采集效率,同時減輕了農(nóng)技人員的工作強度,避免數(shù)據(jù)輸入錯誤。 隨后,又有學(xué)者將機器視覺算法應(yīng)用于害蟲計數(shù)[8-9],實現(xiàn)害蟲的自動統(tǒng)計,進(jìn)一步提高了監(jiān)測精度。 但是由于蟲體重疊、雜質(zhì)等背景干擾,這種方式往往會出現(xiàn)計數(shù)錯誤,無法滿足野外應(yīng)用場景監(jiān)測需求。
近幾年,隨著人工智能技術(shù)的快速發(fā)展,部分學(xué)者將基于深度學(xué)習(xí)(deep learning)的目標(biāo)檢測算法應(yīng)用于作物病蟲害檢測[10-12]。 相比于傳統(tǒng)的害蟲檢測方法,基于深度學(xué)習(xí)的目標(biāo)檢測算法更加精確,具有很強的自適應(yīng)性和魯棒性。 YOLO(You Only Look Once)[13-17]是一種單階段目標(biāo)檢測算法,具有檢測速度快、實時性強等特點。 李靜等[18]提出一種基于改進(jìn)的GoogLeNet 卷積神經(jīng)網(wǎng)絡(luò)模型,用于識別玉米螟蟲害。 牛學(xué)德等[19]提出一種輕量級CNN-MobileNetV3 模型,用于識別玉米、番茄、馬鈴薯3 類作物17 種葉部病害。 陳峰等[20]利用機器視覺和卷積神經(jīng)網(wǎng)絡(luò),構(gòu)建東北寒地玉米害蟲識別方法,用于檢測玉米螟、草地貪夜蛾、玉米黏蟲、玉米雙斑螢葉甲等害蟲。 綜上,YOLO 系列算法適用于田間害蟲檢測,具有高準(zhǔn)確率、高檢測速度等特點,但當(dāng)檢測對象較小且對象之間相互遮擋時,檢測效果不理想。
為此,本研究首先改進(jìn)誘捕裝置,以提高誘捕效率;然后以YOLOv4 模型為基礎(chǔ),構(gòu)建YOLOv4-Corn 模型。 該模型引入SENet 模塊,增強模型對關(guān)鍵信息的篩選能力,以解決小目標(biāo)特征信息提取不充分等問題;采用柔性非極大值抑制(Soft-NMS)算法,改善模型對目標(biāo)密集區(qū)域的檢測能力,以解決因堆疊導(dǎo)致的漏檢率高等問題。 本研究將集成性誘捕裝置與目標(biāo)檢測算法相結(jié)合,為夏玉米田間害蟲監(jiān)測預(yù)警提供技術(shù)支撐,提高作物害蟲監(jiān)測預(yù)警的信息化水平。
于2021 年夏玉米生長季,在河南省農(nóng)業(yè)科學(xué)院(原陽)試驗示范基地開展圖像采集。 在試驗地安裝玉米害蟲誘集與拍攝裝置,以采集黏蟲、棉鈴蟲、玉米螟和甜菜夜蛾等夏玉米主要害蟲。 害蟲誘集與拍攝裝置(圖1)由太陽能供電組件、測報誘集單元、害蟲清理單元、拍攝單元等組成。 這個裝置是在前期硬件[21]基礎(chǔ)上進(jìn)行改進(jìn)的,增加了害蟲清理單元。 測報誘集單元選用黏蟲、棉鈴蟲、玉米螟和甜菜夜蛾性誘芯(北京中捷四方生物科技股份有限公司生產(chǎn))。 拍攝單元的攝像頭選用1 200 萬像素微型網(wǎng)絡(luò)攝像頭,圖像分辨率為4 000 × 3 000 像素。 圖像采集時,在測報誘集單元放置4 種誘芯,以誘集目標(biāo)害蟲。 每48 h 采集一次害蟲圖像。 圖像采集后,害蟲清理單元自動清理害蟲蟲體。 整個夏玉米生長季,共采集有效圖像1 500 張,從中篩選出清晰度高的照片447張。
圖1 玉米害蟲誘集與拍攝裝置示意圖
使用圖像標(biāo)注工具LabelImg 標(biāo)注采集到的玉米害蟲圖像,生成VOC 數(shù)據(jù)集。 圖像標(biāo)注時,將黏蟲、棉鈴蟲、玉米螟、甜菜夜蛾分別標(biāo)注為1、2、3、4;為盡可能避免背景的干擾,以害蟲蟲體的最小外接矩形作為標(biāo)注框,盡量減少標(biāo)注框內(nèi)的無用像素。 圖像標(biāo)注后,采用mosaic(馬賽克)數(shù)據(jù)增強方法,將數(shù)據(jù)集擴充至5 047 張,然后將增強后的數(shù)據(jù)集按照9 ∶1的比例隨機劃分為(訓(xùn)練集+驗證集)和測試集,(訓(xùn)練集+驗證集)中訓(xùn)練集和驗證集的劃分比例仍為9∶1。
YOLOv4 算法[22]是一種單階段目標(biāo)檢測算法,是在YOLOv3 目標(biāo)檢測架構(gòu)的基礎(chǔ)上添加最優(yōu)秀的優(yōu)化策略。 YOLOv4 網(wǎng)絡(luò)結(jié)構(gòu)由主干網(wǎng)絡(luò)(Backbone)、頸部網(wǎng)絡(luò)(Neck)和檢測頭(Head)3部分組成。 主干網(wǎng)絡(luò)為CSPDarkNet53。 頸部網(wǎng)絡(luò)也稱加強特征提取網(wǎng)絡(luò),由CBL 組件、SPP 模塊和FPN+PAN 組成。 檢測頭為YOLOv3。
玉米害蟲圖像(416×416)進(jìn)入CSPDkNet53主干網(wǎng)絡(luò)進(jìn)行5 次下采樣,不斷提取目標(biāo)的特征信息,從淺層P1 層到達(dá)深層P5 層,分別獲得5個不同尺度的特征層(208×208,104×104,52×52,26×26,13×13)。 在輸出最后一個特征層后,加入SPP 空間金字塔池化層,分別利用13×13、9×9、5×5、1×1(無處理)四個不同尺度的最大池化進(jìn)行處理。 經(jīng)過SPP 模塊處理后,分離出更顯著的圖像特征。
由于YOLOv4 對大中型顯著性目標(biāo)有較好的檢測效果,但對分辨率低、體積小的小目標(biāo)很難檢測到。 為此,本研究從兩方面改進(jìn)YOLOv4 模型,提出了YOLOv4-Corn 模型。 改進(jìn)后的模型網(wǎng)絡(luò)結(jié)構(gòu)見圖2。
圖2 改進(jìn)后的YOLOv4-Corn 網(wǎng)絡(luò)結(jié)構(gòu)
1.3.1 引入通道注意力機制SENet 模塊YOLOv4 算法提取圖像特征時,對于圖像各個通道以相同的權(quán)重進(jìn)行信息提取,導(dǎo)致對不明顯特征的檢測精度較低,可能造成小目標(biāo)特征丟失。而SENet 采用重新標(biāo)定的方法,通過獲取輸入特征層的每一個通道的權(quán)值,根據(jù)權(quán)值大小對通道信息進(jìn)行篩選,以增強網(wǎng)絡(luò)對有用信息的提取,解決小目標(biāo)特征信息提取不充分等問題。 引入SENet 模塊,可給害蟲蟲體分配更大的權(quán)重,使YOLOv4 網(wǎng)絡(luò)更多的注意力用于圖片中玉米害蟲蟲體特征信息的提取。
SENet 工作過程分為3 部分:①SENet 先對輸入特征圖進(jìn)行全局平均池化,使單個通道的特征層被池化成一個具體的數(shù)據(jù),得到大小為C×1×1的特征圖(C 為特征圖通道數(shù)),獲得全局特征;②通過賦值操作,賦予兩層全連接層各自一個權(quán)重值,來構(gòu)建不同通道互相之間的依賴性;③通過sigmoid 函數(shù)激活歸一化權(quán)重,獲得大小為C×1×1的權(quán)重值,在對應(yīng)位置與原輸入特征圖相乘,促使權(quán)重值加權(quán)到原先特征圖上,使得模型對關(guān)鍵信息有更強的提取能力。
本研究在YOLOv4 模型主干網(wǎng)絡(luò)輸出的3 個特征層(52×52×256、26×26×512、13×13×1 024)和第一次上采樣后的特征層(13×13×1 024)后,分別增加SENet 模塊。 以YOLOv4 主干網(wǎng)絡(luò)輸出的第一個特征層(52×52×256)為例,將其作為SENet 的輸入,首先對輸入的52×52×256 特征圖進(jìn)行平均池化得到1×1×256 的特征圖,將特征圖的寬和高壓縮成一維,這個一維參數(shù)可以獲得52×52 的全局視野,感受區(qū)域更廣。 壓縮成1×1×256 后,經(jīng)過2 個全連接層來減少參數(shù)量,最后經(jīng)sigmoid 激活函數(shù)得到1×1×256 的權(quán)重值,再與初始的52×52×256 特征層進(jìn)行矩陣相乘,得到每個通道都帶有權(quán)重值的特征層。 至此,在YOLOv4模型中引入SENet 模塊,工作完成。
1.3.2 柔性非極大值抑制(Soft-NMS)算法 采用非極大值抑制(non maximum suppression,NMS)去除重復(fù)框,是YOLOv4 算法必備的后處理步驟,可降低誤檢。 NMS 原理是將檢測框按得分排序,然后保留得分最高的框,同時刪除與該框重疊面積大于一定比例的其他框。 從田間采集到的玉米害蟲圖像,常出現(xiàn)蟲體堆疊等情況,在采用NMS算法去除重復(fù)框時,由于檢測目標(biāo)緊密靠近且相互遮擋,檢測結(jié)果中會出現(xiàn)多個不同置信度的檢測框,如果按照原來的方法進(jìn)行處理,首先選中置信度最高的預(yù)測框,那么其余檢測框在后續(xù)的交并比較中,將由于與置信度最高的預(yù)測框重疊面積過大而被刪除,造成漏檢率增大。
柔性非極大值抑制(Soft-NMS)算法[23]則是將某一類別的預(yù)測框按置信度排序,把最高分值的框設(shè)定為基準(zhǔn)框,然后將剩余的框分別與其做交并比(Intersection over Union,IoU)計算,刪除大于設(shè)定閾值的,保留小于閾值的,并依次循環(huán),從而消除冗余重復(fù)的預(yù)測框,找到物體最佳位置。
本研究即采用Soft-NMS 算法,首先按照置信度排序,選擇得分最高的檢測框為基準(zhǔn),然后使用懲罰函數(shù)對其余檢測框進(jìn)行處理和重新排序,再次計算置信度得分,保留置信度最高的檢測框,依此類推,最終實現(xiàn)蟲體目標(biāo)的很好篩選,有效解決了由于玉米害蟲重疊面積過大而導(dǎo)致被檢測網(wǎng)絡(luò)誤刪從而造成漏檢的問題。
本研究利用精確率(precision,P)、召回率(recall,R)、F1 值、平均精度(AP)來評估模型的綜合性能,見公式(1)~(3)。 檢測精度各指標(biāo)的優(yōu)先級由高到低為AP、F1 值、P、R。
式中,TP(true positives)代表被正確檢出的目標(biāo)害蟲;TN(true negatives)代表被正確檢出的非目標(biāo)害蟲;FP(false positives)代表被誤檢的目標(biāo)害蟲;FN(false negatives)代表被漏檢的目標(biāo)害蟲。其中,F(xiàn)1 值是精確率與召回率的調(diào)和平均數(shù),可以兼顧到精確度和召回率;AP 表示模型在各個召回率下的精確率平均值。
所有模型在CPU 為intel(R) Core(TM) i7-9700 CPU @ 3.0 GHz、GPU 為NVIDIA GeForce RTX 2070、顯存為16 GB 的臺式計算機上訓(xùn)練和測試。 操作系統(tǒng)為Ubuntu 18.04,CUDA 庫版本為10.2,深度學(xué)習(xí)框架為Python 3.6、Pytorch 1.4.0。
訓(xùn)練參數(shù)設(shè)置:將訓(xùn)練設(shè)置為凍結(jié)和解凍兩個階段,凍結(jié)階段模型主干被凍結(jié),特征提取網(wǎng)絡(luò)不發(fā)生改變,僅對網(wǎng)絡(luò)進(jìn)行微調(diào),共設(shè)置50 個迭代周期(epoch),樣本批量大小(batchsize)設(shè)置為8,學(xué)習(xí)率(learning rate)設(shè)置為0.001;解凍階段模型主干網(wǎng)絡(luò)不被凍結(jié),網(wǎng)絡(luò)所有參數(shù)都會發(fā)生改變,共設(shè)置50 個迭代周期,樣本批量大小設(shè)置為4,學(xué)習(xí)率設(shè)置為0.0001。
為驗證改進(jìn)部分對蟲害檢測模型的影響,采用消融試驗方法驗證各改進(jìn)策略的有效性,結(jié)果見表1。 其中,模型1 為原YOLOv4 網(wǎng)絡(luò),模型2為引入SENet 模塊的YOLOv4 網(wǎng)絡(luò),模型3 為引入Soft-NMS 算法的YOLOv4 網(wǎng)絡(luò),模型4 為YOLOv4-Corn 網(wǎng)絡(luò)。 從結(jié)果可知,本研究所采用的改進(jìn)措施均能明顯提高YOLOv4 模型對4 種害蟲的檢測性能。 相較于模型1,模型2 的平均精度提高1.47 ~4.99 個百分點,F(xiàn)1 值提高0.01 ~0.04,召回率提高0.74 ~3.75 個百分點,準(zhǔn)確率提高0.94~3.74 個百分點;模型3 的平均精度提高1.11~5.68 個百分點,F(xiàn)1 值提高0~0.02,召回率提高0.24~2.59 個百分點,準(zhǔn)確率提高0.01 ~3.00個百分點;模型4 的平均精度提高1.83~7.00 個百分點,F(xiàn)1 值提高0.01~0.04,召回率提高0.93 ~3.44 個百分點,準(zhǔn)確率提高0.88~4.45個百分點。
表1 消融試驗結(jié)果
為驗證改進(jìn)后模型的檢測性能,在相同軟硬件環(huán)境下比較本研究構(gòu)建的YOLOv4-Corn 模型與Faster R-CNN、YOLOv3、YOLOv4 對4 種玉米害蟲的檢測效果。 由表2 可見,與Faster R-CNN、YOLOv3 和YOLOv4 模型相比,YOLOv4-Corn 對4種害蟲的檢測性能均較高,其中F1 值分別提高0.21~0.37、0.01~0.02 和0.01 ~0.03,召回率分別提高18.03~30.3、1.15~3.67個百分點和0.93~3.44個百分點,準(zhǔn)確率分別提高22.31 ~43.29、0.96~5.55個百分點和0.88 ~4.45 個百分點,平均精度分別提高21.42 ~45.07、1.85 ~5.69 個百分點和1.83~7.00 個百分點。
表2 四種網(wǎng)絡(luò)模型性能指標(biāo)比較
從YOLOv4-Corn 對4 種害蟲的檢測性能來看,YOLOv4-Corn 對甜菜夜蛾的檢測性能最優(yōu),F(xiàn)1 值和平均精度分別為0.99 和99.07%;其次為棉鈴蟲,F(xiàn)1 值和平均精度分別為0.97 和96.59%;對玉米螟的檢測性能最差,F(xiàn)1 值和平均精度分別為0.93 和93.34%。
為直觀展示模型檢測性能,分別用YOLOv4與YOLOv4-Corn 對同一誘集圖像進(jìn)行檢測,結(jié)果如圖3 所示。 經(jīng)目視解譯、人工計數(shù),該檢測圖像中有36 頭黏蟲、7 頭棉鈴蟲、14 頭玉米螟和4 頭甜菜夜蛾;利用YOLOv4 模型能檢測出4 種害蟲,除漏檢1 頭黏蟲外,其余均準(zhǔn)確檢出;利用YOLOv4-Corn 模型則完全準(zhǔn)確地檢測出4 種害蟲,沒有出現(xiàn)漏檢、誤檢的情況。 可見,針對玉米害蟲較稀疏的圖像,YOLOv4-Corn 和YOLOv4 均能表現(xiàn)出良好的檢測性能,但針對玉米害蟲較密集的圖像,YOLOv4-Corn 的檢測性能更優(yōu)。 表明改進(jìn)模型對檢測目標(biāo)的識別能力有一定加強作用,檢測效果更好,檢測能力更強,能夠滿足實際應(yīng)用場景下玉米害蟲的檢測精度要求。
圖3 不同模型的玉米害蟲檢測效果
準(zhǔn)確監(jiān)測害蟲蟲情動態(tài),提前采取綠色防治措施,既有利于合理使用農(nóng)藥,減少環(huán)境污染,又可以保證作物產(chǎn)量。 本研究基于性誘測報原理,針對玉米主要害蟲特性,設(shè)計了玉米害蟲誘集與拍攝裝置, 并提出一種適合小目標(biāo)檢測的YOLOv4 - Corn 模型。 YOLOv4 - Corn 模型在YOLOv4 模型的基礎(chǔ)上做了兩方面的改進(jìn):①引入SENet 模塊。 通過學(xué)習(xí)每個特征通道的權(quán)重,依據(jù)權(quán)重增強有用特征的表達(dá),提升模型對關(guān)鍵信息的篩選能力,解決了小目標(biāo)害蟲難以被檢測的問題;②引入Soft-NMS 算法。 通過在非極大值抑制過程中加入懲罰函數(shù),改善模型對目標(biāo)密集區(qū)域的檢測能力,解決了玉米害蟲堆疊導(dǎo)致的漏檢問題。 并通過消融試驗驗證了改進(jìn)策略的有效性。 表明該模型適用于黃淮海夏玉米種植區(qū)黏蟲、棉鈴蟲、玉米螟、甜菜夜蛾的檢測。 這與李靜[18]、陳峰[20]等的研究結(jié)果基本一致。
與Faster R-CNN、YOLOv3、YOLOv4 模型相比,YOLOv4-Corn 模型對4 種玉米害蟲都有較好的檢測效果,其中,對黏蟲的檢測平均精度為95.89%,F(xiàn)1 值為0.95;對棉鈴蟲的檢測平均精度為96.59%,F(xiàn)1 值為0.97;對玉米螟的平均檢測精度為93.34%,F(xiàn)1 值為0.93;對甜菜夜蛾的平均檢測精度為99.07%,F(xiàn)1 值為0.99。 表明YOLOv4-Corn 模型可以滿足田間玉米害蟲檢測任務(wù)的需求,能很好地解決害蟲目標(biāo)過小以及相互遮擋問題,從而高效、準(zhǔn)確地檢測出目標(biāo)害蟲,為夏玉米田間害蟲監(jiān)測預(yù)警提供技術(shù)支撐。
本研究構(gòu)建的YOLOv4-Corn 模型僅適用于黏蟲、棉鈴蟲、玉米螟、甜菜夜蛾4 種玉米害蟲,對于其他玉米害蟲的檢測能力還有待進(jìn)一步試驗驗證。 今后將進(jìn)一步優(yōu)化YOLOv4-Corn 模型的網(wǎng)絡(luò)結(jié)構(gòu),以滿足更多種玉米害蟲的檢測任務(wù)。