唐小煜, 向秋馳, 黃曉寧, 張怡豐
(1. 華南師范大學行知書院, 汕尾 516600; 2. 華南師范大學物理與電信工程學院, 廣州 510006; 3. 華南師范大學數(shù)據科學與工程學院, 汕尾 516600)
蟲害是影響農作物產量和質量的主要威脅。傳統(tǒng)防蟲方法通常依賴于農業(yè)專家的觀察分析,但該方法具有主觀性、耗時且缺乏普適性等問題。運用計算機視覺技術對害蟲圖像檢測和識別,可協(xié)助蟲害防治。害蟲圖像由于存在形態(tài)相似、尺度多變、姿態(tài)多樣以及背景復雜等問題,傳統(tǒng)的圖像檢測和識別方法在實際應用中面臨挑戰(zhàn)。近年來,計算機視覺領域的深度學習技術備受矚目,尤其在圖像檢測和分類方面表現(xiàn)出色。深度學習技術已逐漸成為解決各行各業(yè)圖像檢測難題的首選,為提高工農業(yè)生產的智能化水平和產品質量提供了更準確和更高效的工具。利用深度學習技術解決農作物蟲害監(jiān)測與防治的重大難題,為實現(xiàn)創(chuàng)新發(fā)展智慧農業(yè)提供一種高效率、高精度、可實時監(jiān)測的解決方案[1]。鑒于此,探索切實可行的農作物害蟲圖像檢測任務的新方法,提出更有效的害蟲目標檢測算法具有重要意義。
在對害蟲圖像預處理方面,方明[2]基于模糊C-均值聚類算法對圖像中的害蟲進行圖像分割。陳樹越等[3]改進了Harris算法和凹點檢測算法,針對害蟲串連、并連和混連情況進行分割。廉飛宇等[4]提出了基于Daubechies小波壓縮算法對原始圖像進行三級小波分解,且在圖像重構之后進行邊緣檢測,生成的輪廓清晰。這些圖像預處理策略僅對特定數(shù)據集有效,針對其他數(shù)據集往往不能得到理想的增益效果,甚至還會帶來負優(yōu)化的情況,不同害蟲的特征差異以及害蟲所處環(huán)境背景的不同都會影響相關處理策略的性能發(fā)揮。
在特征提取方面,吳一全等[5]基于擴展Shearlet變換對害蟲的紋理特征進行提取,基于Krawtchouk矩不變量對儲糧害蟲的形態(tài)特征進行提取,最終將提取的紋理特征和形態(tài)特征進行歸一化并組合成綜合特征向量,最后送入支持向量機進行訓練。ESPINOZA等[6]將圖像處理和人工神經網絡(Artificial Neural Networks,ANN)相結合,首先對圖像進行分割,根據二值化后的圖像計算形態(tài)特征,然后提取HSV圖像的顏色特征,最終將14個形態(tài)特征送入ANN實現(xiàn)完成分類。隨著深度學習技術的發(fā)展,更多更強大的卷積神經網絡和端到端檢測模型被相繼提出,在現(xiàn)階段如何針對待測目標的特征設計適配的網絡架構或模塊是研究重點。
在識別分類方面,羅慧等[7-8]利用提取的邊緣特征、相對面積、離心率等8個特征設計分類器,實現(xiàn)對蟲的識別。李衡霞等[9]提出的基于深度卷積神經網絡的油菜蟲檢測方法,首先需要生成初步的候選區(qū)域,再利用Fast R-CNN算法實現(xiàn)對候選框的分類和定位,由于使用了兩階段的檢測方法,檢測速度較慢。李想[10]提出的深度學習模型可以實現(xiàn)蟲情的全自動化檢測,但是該系統(tǒng)只針對一種類型的害蟲進行檢測,無法實現(xiàn)對多種害蟲的檢測。
調查結果表明,主流網絡在正常尺寸目標中效果較為顯著,但在小目標檢測中效果一般。近年來,新的小目標網絡對小目標識別任務進行了針對性探索和改進[11]。本文數(shù)據集中存在部分小目標害蟲,直接采用小目標檢測網絡會導致正常尺寸目標識別精度降低從而影響整體識別效果。因此,本文以深度學習算法為基礎,提出改進YOLOv5的農業(yè)害蟲檢測模型,所添加的小目標檢測層有效提高了圖像中小目標特征信息的提取效率,同時針對數(shù)據集中的圖像采用數(shù)據增強的方法以及一種先分割圖像再檢測的策略。經實驗驗證,上述方案在面對背景復雜以及害蟲目標大小不一的情況下具有良好的檢測精度和速度,魯棒性較強。本文源代碼可從http://dx.doi.org/10.6054/j.jscnun.2023029網頁的“資源附件”鏈接中下載。該研究成果有利于農作物的蟲害預防工作,對提高農業(yè)生產的產量和促進傳統(tǒng)農業(yè)的智能化發(fā)展具有重要意義。
基于深度學習的目標檢測算法分為 “一階段檢測”和“二階段檢測”兩大類?!耙浑A段檢測”算法采用網絡提取圖像特征,直接預測物體的類別概率,提取圖像中位置的坐標信息,即單次檢測即可直接得到最終檢測結果。雖然這類模型檢測精度稍低,但簡潔的模型帶來了極高的檢測效率?!岸A段檢測”的基本步驟是輸入圖片后,先在圖像上判定含有待檢測物體的候選區(qū)域,然后通過卷積神經網絡進行分類。由于其更復雜的機制,比“一階段檢測”擁有更準確的檢測效果,目前二階段檢測器主要采用Faster RCNN模型[12]。一階段檢測器主要采用YOLO模型[13],因其具有較高的檢測速度、良好的檢測精度和兼容多種硬件平臺等優(yōu)點而備受青睞,例如可應用于漁業(yè)魚類檢測[14]和輸電線絕緣子檢測[15]等多個領域。蟲情實時分析模型在速度與規(guī)模上需滿足很高的要求,參考不同YOLO模型在同一數(shù)據集上的表現(xiàn)[16],YOLOv5與YOLOv3和YOLOv4相比,雖然檢測速度略有降低但相比平均檢測精度得到大幅提升,因此本文采用YOLOv5模型實現(xiàn)對害蟲的高精度檢測(表1)。
表1 不同YOLO模型在coco數(shù)據集上的表現(xiàn)
YOLO模型的核心思想是將目標檢測視為單一的回歸問題,直接在輸出層回歸邊框坐標和所屬類別。以往的目標檢測多采用滑動窗口技術,因而檢測的精度與滑動窗口的遍歷次數(shù)呈正相關,導致這類模型耗時且操作復雜。而YOLO模型則將輸入圖像分成S×S個網格,每個網格用于預測物體中心落入該網格的物體,該方法大幅減少了模型的運算量,進一步提高模型的檢測速度。YOLOv5算法在YOLOv3的基礎上優(yōu)化,在輸入端采取Mosaic增強、自適應圖片縮放等方法,通過對圖片進行隨機縮放、隨機裁剪、隨機排布的方式進行拼接,對于小目標的檢測能發(fā)揮更好的作用(圖1)。這種數(shù)據增強的策略還能通過減少由圖片縮放所帶來的冗余信息,從而提高推理速度。
圖1 Mosaic數(shù)據增強效果
YOLOv5在骨干網絡中結合了Focus結構和局部跨階段(Cross Stage Partial,CSP)[17]結構以及特征金字塔(Feature Pyramid Networks,FPN)[18],路徑聚合網絡(Path Aggregation Network,PAN)[19]等特征融合技巧,利用跨階段層次結構融合特征信息,在減少計算量的同時保證了正確率。
在輸出端,損失函數(shù)由分類損失函數(shù)和回歸損失函數(shù)兩部分構成。YOLOv5采用基于CIOULoss的回歸損失函數(shù),CIOULoss函數(shù)考慮了重疊面積和中心點距離,增加了相交尺度的衡量方式,在此基礎上還增加了一個影響因子,將預測框和目標框的長寬比同時考慮進來,解決了當預測框和目標框不相交時2個框交并比為0從而無法反映2個框距離遠近,以及當2個預測框大小相同且交并比也相同時無法區(qū)分兩者相交位置的問題。
通過修改網絡的深度和寬度,最終YOLOv5迭代出YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x共4種不同深度的模型,并隨著模型的復雜度增加,模型的識別準確率不斷提高。4種模型的整體框架一致,差別只在于CSP模塊堆疊層數(shù)的不同。YOLOv5x的結構如圖2所示。
圖2 YOLOv5x模型的結構圖
實驗發(fā)現(xiàn)采用YOLOv5模型可使數(shù)據集的訓練損失函數(shù)迅速收斂,均值平均精度達到較高水平,但在訓練過程中發(fā)現(xiàn),由于某些害蟲尺度過小(見表2),導致識別成功率低,容易出現(xiàn)漏檢和錯檢等現(xiàn)象。由于YOLOv5模型對正常尺度目標更為適用,本文針對小目標檢測提出了相應的改進算法。
表2 部分害蟲檢測框尺寸對比
研究發(fā)現(xiàn)在訓練過程中模型無法學習到足夠的小目標害蟲特征信息(圖2),以輸入尺寸608 px×608 px的圖像為例,經模型的下采樣處理,得到3種尺寸的特征圖。76 px×76 px的特征圖用于檢測小目標,對應的原圖網格特征感受域為8 px×8 px,如原始圖像中目標的寬或高小于8 px,則難以從中識別出特征信息,導致模型召回率低。針對此問題,本文提出增加特征提取層的改進方案(圖3)。
圖3 改進后YOLOv5x模型的部分框架
以輸入尺寸為640 px×640 px的圖像為例,在2次上采樣獲得最大特征圖尺寸(80 px×80 px)后,繼續(xù)對特征圖進行上采樣處理,使得特征圖繼續(xù)擴大為160 px×160 px,以此得到最大的第4種尺寸特征圖并進行小目標檢測。最大特征圖經過多次上采樣處理后可能存在部分重要特征丟失的問題。在接入PAN層并繼續(xù)下采樣經過C3模塊和Concat之后會擴大特征丟失的影響并影響其余檢測層。依據實驗數(shù)據,網絡在設計時不將最大特征層接入PAN,而是直接輸出。本文提出的融合設計既考慮深層特征圖所包含的語義信息,又考慮了淺層特征圖的位置、邊緣等特征信息,可以有效解決小目標害蟲特征在模型中多次卷積操作后特征信息丟失的問題,同時提高模型對小目標害蟲的檢測能力。
本文數(shù)據來源于第十屆泰迪杯全國大學生數(shù)據挖掘挑戰(zhàn)賽(https://www.tipdm.org)。數(shù)據包含28種害蟲在探照燈背景下的圖片,數(shù)據集由576張圖片組成。在所提供的害蟲樣本數(shù)據中存在著嚴重的類別不平衡問題(圖4)。在1 019個標簽中,八點灰燈蛾樣本數(shù)量最多,占全體數(shù)據的24.24%;褐飛虱屬次之,占比14.72%;干紋冬夜蛾和豆野螟的樣本數(shù)量最少(僅占0.09%)。如此類別不平衡的數(shù)據集將導致模型容易過度擬合那些樣本更多的類別,同時忽視對小樣本類別的學習。因此使用合理的數(shù)據增強策略對數(shù)據集進行擴充是有必要的。數(shù)據集的576張圖片中包含大量錯標和不完整檢測框(圖5),害蟲微小的類間差異和類內差異很容易掩蓋錯誤標注的樣本,從而誤導模型在訓練時的優(yōu)化方向,降低模型的識別能力。
圖4 29類害蟲標簽數(shù)量分布以及樣本圖片
圖5 數(shù)據增強實例
在進行數(shù)據擴充之前,首先以檢測框內是否含有完整昆蟲個體、框內昆蟲是否在背景中出現(xiàn)為標準,對數(shù)據進行清洗,數(shù)據清洗后得到533張標簽圖片,以這些標簽圖片作為原始數(shù)據集進行后續(xù)的模型學習訓練。
由于原始數(shù)據集圖像過少,模型無法充分理解害蟲特征,本文選擇旋轉、裁剪、鏡像、平移等方法進行數(shù)據增強。數(shù)據集中存在大量復雜背景圖片,害蟲與背景難以分辨。在增強數(shù)據的基礎上,批量調整HSV降低亮度以模擬復雜背景,進一步增強數(shù)據,最終形成1 599張圖片組成的訓練數(shù)據。對增強后的圖像進行劃分時,為避免隨機分配導致測試集和驗證集含有的圖片與訓練集內圖片相似而影響實驗結果,劃分時將原始數(shù)據集中圖片與其對應擴增圖片劃分為一組,統(tǒng)一對所有組圖片進行劃分。以圖片數(shù)量8∶1∶1的比例劃分為訓練集、驗證集和測試集。部分圖片經過數(shù)據增強后如圖5所示。
針對圖像分辨率高,背景復雜、害蟲目標小等特點和改進后YOLOv5模型計算量增大的問題,本文提出一種切割圖像并檢測的方法(圖6)。為了在模型主干網絡的卷積操作時不丟失高分辨率圖像中小目標的特征信息,并防止顯卡存儲器超載,在目標圖像分辨率過大時,將目標圖像切割為多個圖像并送入YOLOv5網絡中檢測,再回收所有圖像,計算坐標的相對值,集體進行非極大值抑制計算,得到最終檢測框并輸出。此方法能一定程度上提升準確性,將切割后的圖像輸入目標檢測網絡中,會有效降低最小目標圖像的像素。
本實驗在colab平臺上進行,所分配GPU型號為Tesla K80,GPU 顯存為 12 G,內存為16 G。訓練參數(shù)設置:圖片輸入尺寸為640 px×640 px,學習率由余弦退火算法進行更新,可降低過度擬合的概率,最大迭代次數(shù)為200。本文選取YOLOv5x模型,一定程度上提高了模型的魯棒性。判斷指標選取均值平均精度(mean Average Precision,mAP):
(1)
(2)
其中,r1、r2、rn是按升序排列的精確率(P)插值段第一個插值處對應的召回率,K為檢測任務所含類別數(shù)。mAP是目標檢測領域的重要衡量指標,表示對目標檢測中每個類別的平均精度求和后取平均。
對數(shù)據集進行數(shù)據增強后得到的1 533張圖片投入訓練,并將增加圖片切割檢測機制與改進之前對比,收斂后結果如圖7所示。模型能更快收斂且mAP明顯提升??梢姅U充數(shù)據樣本并結合蟲情探照燈捕獲圖片背景環(huán)境,對圖像做降低亮度處理以模擬實際背景情況的策略得到較好的訓練結果。
圖7 訓練過程loss和mAP曲線
在基本模型訓練參數(shù)相同的情況下,模型改進前和改進后的準確率如表3所示。經算法改進和增強后,數(shù)據集訓練損失曲線震蕩減輕并得到較好的收斂(圖8)。從表3的box_loss和mAP可看出,經過檢測優(yōu)化后的YOLOv5模型在識別精度上大幅提升。不但在本文數(shù)據集有進步且在害蟲數(shù)據集IP102[20]上也有2%的提升,檢測優(yōu)化后的YOLOv5也能很好應對復雜背景下害蟲圖像的檢測(圖9),該結果進一步驗證了本文模型的可靠性與實用性。
圖8 優(yōu)化后訓練過程的loss和mAP曲線
圖9 優(yōu)化后測試的結果
表3 YOLOv5x模型優(yōu)化前后的性能
針對蟲情探照燈捕獲高分辨率圖像中害蟲識別統(tǒng)計的問題,本文提出基于深度學習模型的解決方案。首先對數(shù)據集進行數(shù)據增強的操作擴充數(shù)據樣本,并結合蟲情探照燈捕獲圖片背景環(huán)境,提出對數(shù)據集降低亮度處理,模擬實際背景情況,增大訓練難度以達到更好的訓練效果;其次改進YOLOv5模型的結構,增加檢測層,不對原有正常尺寸目標識別產生影響,提高對小目標害蟲的識別和定位準確率;同時結合數(shù)據集中圖像分辨率較高的特點采取了先分割圖像后進行檢測的策略,一定程度上提高了檢測準確率。結果表明以上方法均能有效提高識別準確率和魯棒性。采用第十屆泰迪杯全國大學生數(shù)據挖掘挑戰(zhàn)賽的測試數(shù)據集驗證,本模型具有可靠性和實用性。該成果獲得了2022年第十屆泰迪杯數(shù)據挖掘挑戰(zhàn)賽全國一等獎。該方案對農業(yè)上害蟲治理具有一定參考意義,也有助于提高農業(yè)現(xiàn)代化、智能化水平,具有較高的應用價值。