時間:2023-05-17 10:16:15
導語:在遷移學習常見蔬菜害蟲的檢測分析的撰寫旅程中,學習并吸收他人佳作的精髓是一條寶貴的路徑,好期刊匯集了一篇優秀范文,愿這些內容能夠啟發您的創作靈感,引領您探索更多的創作可能。

關鍵詞:目標檢測;遷移學習;神經網絡;智慧農業;十字花科害蟲;豆科害蟲
引言:中國蔬菜種植面積、總產量、人均蔬菜消費量及出口量均居世界第一,是蔬菜生產、消費與出口大國[1].其中,十字花科和豆科蔬菜是日常生活中常見的蔬菜.害蟲是影響十字花科和豆科蔬菜生產的主要因素之一.十字花科和豆科蔬菜的害蟲主要包括菜青蟲、小菜蛾、黃曲條跳甲、白菜蝸牛、二十八星瓢蟲、豆野螟等[2].隨著人工智能、自動控制等理論的飛速發展,智慧農業逐漸成為農業發展的方向[3].在智慧農業領域,自動識別害蟲是急需解決的一個難題.針對十字花科和豆科蔬菜的主要害蟲,以自然場景下拍攝的6種害蟲圖片為基礎,構建十字花科和豆科蔬菜害蟲(CruciferousandLeguminousVegetablePests,CLVP)數據集.在該數據集上,以FasterR-CNN[4]和RetinaNte[5]作為骨干網絡,構建蔬菜害蟲目標檢測系統.基于遷移學習理論,訓練3個目標檢測網絡模型,即FR-R101、FR-X101和Re-R101.在該數據集上,Re-R101模型獲得相對更好的害蟲檢測結果.此外,通過分析實驗數據,討論害蟲檢測失敗的原因,指出提升害蟲目標檢測準確率的研究方向.
1相關工作和貢獻
在使用計算機視覺技術分析病蟲害方面,已經有一系列的研究[6-10].下面將主要從3個方面介紹相關工作,即害蟲目標檢測系統、目標檢測算法和遷移學習.針對不同種類的害蟲,之前的研究提出一系列智能檢測系統.針對蔬菜食葉害蟲,文獻[7]分析被害蟲啃食過的菜葉圖片,提取相應的形狀特征,構建BP神經網絡模型,實現識別甘藍菜的兩類害蟲.針對蔬菜鱗翅目害蟲,文獻[8]使用卷積神經網絡實現自動識別和檢測害蟲.針對田間常見病蟲害,文獻[9]構建病蟲害智能化識別系統.針對農作物病蟲害,文獻[10]提出基于空間金字塔池化的深度卷積神經網絡,實現自動識別農作物害蟲.目標檢測算法主要分為2大類.第1類是Two-Stage算法,主要以R-CNN系列算法為代表,比如:R-CNN[11]、FastR-CNN[12]和Faster-RCNN[4]等.這類算法主要分為2個步驟,即生成候選區域,在上一步生成的候選區域上分類和回歸.在R-CNN算法的基礎上,FastR-CNN使用深度卷積神經網絡提取目標特征.與使用SPPnet[13]的R-CNN相比,FastR-CNN的訓練和測試速度更快,精度更高.在FastR-CNN算法的基礎上,文獻[4]提出FasterR-CNN算法.第2類是One-Stage算法,主要以RetinaNte[5]、YOLO[14]和SSD[15]為代表.這類算法使用一個端到端的網絡模型直接預測物體的位置和類別.遷移學習[16]具有廣泛的應用場景[17].將遷移學習理論應用于棉花葉部病蟲害識別,文獻[18]使用改進的AlexNte網絡模型在PlantVllaige數據集上預訓練,將該預訓練模型遷移到棉花病蟲害數據集.將遷移學習應用于無人機獲取耕地信息,文獻[19]提出一種耕地信息獲取方法,提升獲取耕地信息的精度.結合遷移學習和軟件缺陷預測,文獻[20]提出一種基于加權貝葉斯模型的遷移學習算法,提高了跨項目缺陷預測性能.基于參數遷移策略,文獻[21]采用微調再訓練源模型的方法,實現識別水產動物.在修改源模型全連接層的基礎上,該方法進一步調整高層卷積模塊的權重,從而提升模型的性能.本文的主要貢獻如下.首先,針對十字花科和豆科蔬菜害蟲,建立CLVP數據集.其次,基于遷移學習理論,以FasterR-CNN[4]和RetinaNte[5]為骨干網絡,構建蔬菜害蟲目標檢測系統.此外,使用TOOD[22]算法進一步驗證CLVP是一個具有挑戰性的數據集.最后,分析實驗數據,推斷檢測失敗的原因,指出提升害蟲目標檢測準確率的研究方向.
2CLVP數據集
針對十字花科蔬菜和豆科蔬菜的主要害蟲,本文收集793張害蟲圖片.在標注這些圖片后,構建V1版本的CLVP數據集.CLVP數據集.表1各類害蟲樣本數量和標注數量害蟲名稱圖片數量標記數量菜青蟲7989小菜蛾79162黃曲條跳甲352433白菜蝸牛122172二十八星瓢蟲87104豆野螟7474在CLVP-V1數據集中,包含6種蔬菜害蟲,分別是菜青蟲(Cabbageworm)、小菜蛾(Diamondbackmoth)、黃曲條跳甲(Phyl-lotretastriolata)、白菜蝸牛(Cabbagesnail)、二十八星瓢蟲(Lady-bug)和豆野螟(Marucatestulalisgeyer).在菜地,用手機從不同角度拍攝這些害蟲圖片.菜青蟲、小菜蛾、黃曲條跳甲、白菜蝸牛、二十八星瓢蟲和豆野螟的圖片數量分別為79、79、352、122、87和74.在收集害蟲圖片后,對圖片進行以下操作.首先,對不同類別的害蟲設置對應的編號;然后,使用開源圖片標注工具LabelImg標注每一張圖片中害蟲的類別和位置.這六類害蟲的標注數量分別是89、162、433、172、104和74.在CLVP-V1中,害蟲的樣本數量和標注數量如表1所示在CLVP數據集中,圖片是在自然環境下拍攝的,包含各種現實環境因素,例如:菜地背景、光照變化、害蟲姿態變化等.部分樣例圖片如圖1所示.與之前構建的害蟲數據集不同,在CLVP數據中收集了許多害蟲幼蟲的圖片,例如菜青蟲幼蟲、小菜蛾幼蟲等.在文獻[7]和文獻[9]中,數據集的檢測對象主要是害蟲的成蟲形態.文獻[1-2]提出某些害蟲的幼蟲對相關蔬菜有更嚴重的危害.幼蟲體積較小導致在圖片中所占像素較少;此外,幼蟲顏色與拍攝背景相似.這使得CLVP數據集更具有挑戰,對害蟲目標檢測算法提出更高的要求.
3害蟲目標檢測系統
使用FasterR-CNN[4]和RetinaNte[5]作為蔬菜害蟲目標檢測系統的骨干網絡模型,基于遷移學習理論實現害蟲目標檢測系統.該系統的框架如圖2所示.
3.1目標檢測骨干網絡
FasterR-CNN主要包含4個子模塊.第1個子模塊是特征提取網絡.使用卷積神經網絡提取圖片特征,得到相應的特征圖.該特征圖被共享用于RPN網絡和目標分類.第2個子模塊是區域生成網絡(RegionProposalNetwork,RPN).使用固定尺寸的滑動窗口在卷積特征圖上滑動,得到對應維數的向量.將這個向量輸入全連接層后,得到判定目標為前景或背景的得分以及相應的邊界框回歸參數.第3個子模塊是感興趣區域池化.該模塊接收特征圖和經過RPN生成的候選區域,提取固定尺寸的特征向量.第4個子模塊是目標分類和邊界框回歸.RetinaNte包含4個子網絡,即ResNte[23]、特征金字塔網絡(FeaturePyramidNetwork,FPN)[24]、類別子網絡和錨框子網絡.類別子網絡實現分類錨框,錨框子網絡使錨框回歸到檢測目標的真實位置.為了解決訓練過程中的類別不平衡問題,提出FocalLoss損失函數.定義二分類的交叉熵損失函數如下:pt=p,ify=11-p,otherwise(1)其中,p∈0,1是模型對y=1的估計概率.通過平衡因子αt,定義FocalLoss如下:FL(pt)=-αt(1-pt)γlog(pt)(2)其中,γ≥0為可調節參數,(1-pt)γ是調節因子.
3.2基于遷移學習的害蟲檢測
遷移學習能夠把在源領域學習的知識應用到另一個新的目標領域,使得在目標領域也取得較好的泛化能力,在現實生活中有諸多應用場景.以FasterR-CNN和RetinaNte作為蔬菜害蟲目標檢測系統的骨干網絡,分別構建3個目標檢測網絡模型,即FR-R101、FR-X101和Re-R101.具體而言,FR-R101模型以FasterR-CNN為骨干網絡,使用FPN提升目標檢測系統的準確率,使用101層的ResNte作為計算特征圖的子網絡;FR-X101模型使用101層的ResNeXt[25]作為計算特征圖的子網絡,其他與FR-R101模型類似;Re-R101模型以RetinaNte作為骨干網絡,使用101層的ResNte作為計算特征圖的子網絡.如圖2所示,在COCO數據集[26]上訓練網絡模型,得到模型參數M.基于遷移學習理論,在CLVP數據集上訓練、驗證和測試的主要過程如下.首先,除分類層之外,用M初始化網絡參數.由于模型M已經具有提取低層特征的能力,使用M初始化網絡參數能加快訓練網絡模型的收斂速度.為了避免過擬合,使用在線數據增強策略來增加圖像樣本的多樣性.在CLVP數據集的訓練集上,使用SGD[27]算法優化網絡模型N.其次,以20次訓練迭代為周期,在驗證集上循環驗證模型N的預測能力.最后,保存在CLVP訓練集上訓練好的模型,并用該模型預測在測試集上的蔬菜害蟲檢測結果.在使用SGD[27]算法優化網絡模型時,學習率是一個重要的超參數.算法1用偽代碼的形式描述網絡模型的訓練過程,并詳細地說明學習率的變化策略.為避免梯度爆炸和過擬合,在網絡訓練的3個階段,即訓練熱身階段、基準學習率階段和學習率衰減階段,使用不同策略設置學習率.在新的數據集上,使用預訓練模型訓練時,如果設置較大的基準學習率,會導致模型不穩定,降低模型的收斂性.針對該問題,使用訓練熱身策略,緩慢地把學習率從一個較小的值增加至基準學習率.在訓練熱身階段結束之后,使用基準學習率訓練網絡模型.為了避免過擬合,當迭代次數大于學習率衰減閾值時,進入學習率衰減階段.使用上述學習率調整策略,增加模型的穩定性,提升模型的泛化能力.
4實驗和討論
4.1實驗規則
從CLVP-V1數據集中選擇80%的樣本作為訓練集,剩下10%的樣本作為驗證集,其他約10%作為測試集.為了方便其他學者在CLVP-V1數據集上評估算法,將公開CLVP-V1數據集,提供訓練、驗證和測試的列表.與COCO[26]數據集使用的評價指標一樣,分別根據10個IoU值(從0.5到0.95,間隔0.05)計算均值平均精度(meanAveragePrecision,mAP).CLVP數據集使用這10個mAP的平均值作為評估指標.
4.2實驗設置
為了驗證遷移學習的效果,在CLVP數據集上,對比3個目標檢測網絡模型,即FR-R101、FR-X101和Re-R101.在英偉達TeslaV100GPU上訓練、驗證和測試模型.為了公平地比較,設置上述3個網絡模型的參數相同.使用第4.3節中介紹的方法,確定最大訓練迭代次數maxi.設置批量大小為4,訓練熱身迭代次數wi為100,訓練熱身初始因子wf為0.001,基準學習率base為0.001,學習率衰減閾值di為1000,學習率衰減因子df為0.1.為了去除多余和得分較低的檢測框,在驗證和測試階段設置非極大值抑制閾值和得分閾值均為0.5.
4.3評估最大迭代次數
為獲得合適的最大迭代次數,在訓練網絡時,保存訓練過程的Loss值和驗證集的mAP值.使用上述數據繪制FR-R101、FR-X101和Re-R101的訓練損失與驗證集mAP的示意圖,分別如圖3、圖4和圖5所示.從圖3可以發現,在CLVP-V1訓練集上,大概迭代500次時,訓練Loss值降到0.2;迭代訓練大概3500次左右時,在驗證集上獲得相對較好的實驗結果.觀察圖4可以發現,在訓練集上,FR-X101網絡訓練將近500次時,訓練Loss值降到0.2;迭代訓練大概3200次左右時,在驗證集上獲得相對較高的mAP值.從圖5可以發現,迭代訓練600次左右時,訓練Loss值降到0.2;迭代訓練大概3300次左右時,在驗證集上獲得相對較好的結果.綜合上述對比分析,對這3個網絡模型,設置最大訓練迭代次數分別為3515、3189和
4.4實驗結果
根據以上實驗配置,在CLVP-V1數據集上,分別評估上述3個目標檢測網絡模型和TOOD[22]算法,評估結果如表2所示.分析表2中的數據,可以得出以下推斷.