楊昊 傅鈺雯 楊健晟
摘 要:識別果蠅并根據其數(shù)量變化總結出果蠅暴發(fā)規(guī)律,在其暴發(fā)期到來前采用相應手段進行誘殺,是有效加強樹莓蟲害防控的綜合措施。但是,由于果蠅軀體小,人工識別難度大、耗時長、效率低,因此本文提出一種基于深度學習的果蠅識別方法。該方法采用YOLO v3目標檢測模型,通過建立果蠅數(shù)據集對模型進行訓練。測試結果表明,該方法對果蠅的平均識別精度為95.23%,滿足果蠅識別的要求。
關鍵詞:計算機視覺;果蠅識別;深度學習;YOLO v3
Abstract: Drosophila recognition and its population statistic analysis is a useful method for drosophila breakout modeling. Then using corresponding methods to trap and kill drosophila before the outbreak period is an effective comprehensive control measure for raspberry pest control. However, due to the small size of drosophila, manual recognition is difficult, time-consuming, and inefficient. Therefore, this paper proposed a drosophila recognition method based on deep learning. This method uses the YOL0 v3 target detection model, and trains the model by establishing a drosophila data set. The test results show that the average recognition accuracy is 95.23%, which meets the requirements for drosophila recognition.
Keywords: computer vision; drosophila recognition; deep learning; YOLO v3
樹莓果實具有高營養(yǎng)及高經濟價值,但易受蟲害影響。其中,果蠅影響尤甚:雌果蠅成蟲會刺破果皮,產卵于樹莓果實內部,卵孵化后幼蟲蛀食新鮮樹莓,造成樹莓加速腐敗[1]。準確掌握果蠅數(shù)量是防害的首要條件。目前,果蠅防治主要依靠田間粘蟲板誘集統(tǒng)計的調查方法,通過統(tǒng)計粘蟲板上果蠅數(shù)量,可推測出該區(qū)域實際的果蠅數(shù)量,從而預測果蠅暴發(fā)期,實現(xiàn)及時誘殺。但目前,粘蟲板統(tǒng)計方法仍然依靠人工識別,由于粘蟲板上蟲的種類多,果蠅體積相對較小,因此混雜其中難以辨認,依靠人工辨識粘蟲板上的果蠅難度大、效率低,急需一種更加精確且快速的方法對粘蟲板上的果蠅進行識別。
計算機視覺作為可替代人眼識別的技術已被應用于昆蟲識別與檢測[2]。與人工識別相比,計算機視覺識別速度更快。彭瑩瓊等提出使用BP(Back Propagation)神經網絡對果蠅翅脈特征進行識別,從而辨識果蠅[3]。陳彥彤等提出基于深度神經網絡的蠅類面部識別[4]。但目前,對果蠅的研究主要集中在從圖像數(shù)據中識別特定特征,這類研究需要高分辨率果蠅圖像作為支撐。但是,田間圖像采集分辨率較低,這類低分辨率且像素占比少的果蠅識別至今未見相關報道。
深度學習對特征不明顯的學習建模具有較好的效果。目前,基于深度學習的目標檢測算法主要分為雙步目標檢測算法和單步目標檢測算法。雙步目標檢測算法如Faster R-CNN,通常先使用區(qū)域候選網絡來提取候選目標信息,進而利用檢測網絡完成目標識別。單步目標檢測算法如YOLO、SSD等,是端到端檢測算法,可直接利用網絡對目標進行檢測[5]。在實際應用過程中,單步檢測算法具有更快的檢測速度。因此,本研究基于深度學習對果蠅進行識別,通過采集果蠅圖像建立數(shù)據樣本庫,搭建目標檢測模型,并對其進行訓練,最終完成對果蠅圖片的識別。
1 研究方案
本文以單步目標檢測算法YOLO v3為基礎,對粘蟲板上的果蠅進行識別。先采集果蠅圖像數(shù)據,并對數(shù)據集中果蠅區(qū)域逐一標注作為模型輸入。其中,果蠅數(shù)據采用樹莓蟲害常見的黑腹果蠅,通過收集果蠅幼卵,在培養(yǎng)皿中培養(yǎng)至成熟期后,將其放置到粘蟲板上,并對其進行圖像數(shù)據采集。之后,利用深度學習算法搭建模型,將標注好的果蠅數(shù)據集導入構建的模型進行訓練,最后通過調整參數(shù)尋優(yōu)獲得最優(yōu)模型。其中,深度學習模型采用YOLO v3。與傳統(tǒng)YOLO算法相比,該模型改進了網絡結構,并利用多尺度特征進行對象檢測,使用logistic回歸分析代替softmax邏輯回歸進行對象分類。YOLO v3為端到端的目標檢測算法,首先產生候選區(qū)域生成相應的錨框及預測框,將原圖劃分為多個小方塊區(qū)域,中心點為小方塊區(qū)域中心,在每個小方塊區(qū)域生成三種形狀錨框覆蓋整張圖片。而預測框可看作在錨框上進行微調,可調整中心坐標和寬度、高度。根據候選框計算生成相應預測框。通過真實框找到真實框中心點所在的小方塊區(qū)域,基于該小方塊可生成三個錨框,將這三個錨框與真實框進行對比,找出最符合的錨框。最后,利用卷積神經網絡進行特征提取,建立損失函數(shù),多層級檢測,開啟端到端訓練,利用多層級預測輸出。
2 數(shù)據采集及數(shù)據集構建
2.1 數(shù)據采集
樣本為黑腹果蠅,數(shù)據來自用6支培養(yǎng)皿培養(yǎng)的果蠅幼卵。以培養(yǎng)皿內果蠅飛行為其成熟標志,當培養(yǎng)皿內有5只以上成熟果蠅后放出果蠅至粘蟲板上。藍色粘蟲板對果蠅有較好的引誘性,為了更貼近實際田間材料,本次樣本制作使用藍色粘蟲板作為襯底。數(shù)據采用iPhone XS專業(yè)模式進行定參數(shù)拍攝,其中焦距為4.25 mm,光圈為f/1.8,曝光時間為1/100 s,圖像尺寸為3 024×3 024。共采集466張果蠅圖片,采集的典型果蠅圖像如圖1所示。
2.2 數(shù)據集建立
本次YOLO v3數(shù)據集格式采用VOC格式,使用軟件LabelImg對圖像進行標注。標注時,為避免富有特征的部分被遺漏,框選果蠅完整軀體進行標注。本次實驗只有果蠅一個類,將其命名為drosophila,標注完成后自動生成xml文件,其中包括圖像名、圖像路徑、標注框坐標等信息。對果蠅的標注完成后,結果如圖2所示。為了看清標注效果,文中圖示進行了放大處理。所有果蠅樣本標注完成后,通過腳本文件自動分成訓練集和測試集,設置整體數(shù)據的95%作為訓練集,5%作為測試集。
3 YOLO v3模型的建立、訓練與測試
3.1 YOLO v3模型搭建
本文采用YOLO v3網絡,共106層,由殘差模塊、卷積層、上采樣層和YOLO層構成。殘差模塊解決深度神經網絡退化問題;卷積層用以提取圖像特征;上采樣層進行特征融合;YOLO層對網絡提取信息解碼。其中,骨架網絡采用Darknet53網絡結構,此網絡為全卷積網絡,融合ResNet殘差網絡,為防止有效信息丟失,用向量卷積運算步長來降采樣,以降低池化帶來的負面效果。Darknet53網絡結構中采用了大量3×3和1×1卷積,3×3卷積可增加通道數(shù),1×1卷積可壓縮3×3卷積后的特征表示。Darknet53一共含有53層卷積層,除去最后一個全連接層,共52個卷積層。
利用YOLO v3對輸入圖像進行處理,需要將圖像大小按原圖比例設置為416×416。首先,將輸入圖像進行縮放處理,以較長邊設置為416,根據較長邊與原尺寸比例等比縮小較短邊,空余部分使用灰色填充。標注文件也根據等比例放縮xml文件中標注框坐標。YOLO v3模型損失函數(shù)為中心目標誤差函數(shù)、寬高坐標誤差函數(shù)、置信度誤差值和分類誤差函數(shù)總和的均值。整體模型使用獨立邏輯分類器代替Softmax算法,使用空間金字塔結構預測邊界框。整體網絡結構更加復雜,但準確率更高、速度更快。缺點在于雙重IOU計算標準引入,會造成模型精度不一,表明當下YOLO v3可以較好地預測出小scale的目標,但是在大scale目標上易出錯。因為果蠅體積較小,因此滿足目標要求。
3.2 YOLO模型訓練
本文采用骨架網絡為Darknet53的YOLO v3目標檢測模型,在Paddle框架中搭建YOLO v3網絡,模型利用百度AI STUDIO平臺進行訓練,其硬件平臺CPU為4 Cores,內存32 GB,磁盤100 GB,GPU為Tesla V100,顯存32 GB,運行系統(tǒng)為ubuntu。權值衰減速率設為0.000 5,訓練設置學習參數(shù)為0.001,由于本次實驗只有果蠅一個類,因此將類別設置為1。ignore_thresh參與計算IOU閾值大小,當預測檢測框ground true的IOU大于ignore_thresh時,參與loss計算。為保證檢測精度,避免過擬合和欠擬合,選擇ignore_thresh=0.5進行訓練。模型訓練每1 000輪保存一次權重。
3.3 測試結果
本次訓練結果以最優(yōu)模型作為檢測模型,模型整體平均精確率mAP為95.23%,整體識別率較高??傮w設置訓練20 000輪,訓練過程中損失函數(shù)前期迭代快速縮減,最終loss收斂于7.8,在損失函數(shù)收斂后,結束訓練。訓練完成后,將測試集分別輸入訓練好的網絡模型中進行驗證測試,得到目標檢測算法對測試集的檢測結果,如圖3所示。從圖3中可看出,模型對圖像中不同形態(tài)果蠅各個形態(tài)識別準確,置信度為97%和98%,識別速度為2.965 s。
4 結論
為實現(xiàn)代替人工對粘蟲板上果蠅識別,以提高整體識別精度與效率,本文提出基于深度學習的果蠅識別方法。該方法采用骨架網絡為Darknet53的106層YOLO v3目標檢測算法,共生成466張果蠅數(shù)據集圖像及其標注文件,設置模型訓練20 000輪,每1 000輪保存一次權重,最終從所有權重中選取最優(yōu)模型,mAP為95.23%。實驗證明,本文提出的基于YOLO v3目標檢測算法的果蠅識別方法,對粘蟲板上果蠅具有較高識別率,可快速且精準地識別出粘蟲板上的果蠅,滿足果蠅檢測識別要求。
參考文獻:
[1]陳哲,張群英,楊鼎元,等.貴陽地區(qū)樹莓主要蟲害的發(fā)生規(guī)律和防治措施[J].安徽農業(yè)學報,2019(2):57-58.
[2]洪金華,忻惠琴,陸海華,等.基于YOLOV3模型的卷煙廠煙蟲識別方法[J].煙草科技,2020(9):77-84.
[3]彭瑩瓊,廖牧鑫,鄧泓,等.果實蠅離線快速辨識系統(tǒng)的研究與實現(xiàn)[J].科技創(chuàng)新導報,2018(27):160-161.
[4]陳彥彤,陳偉楠,張獻中,等.基于深度卷積神經網絡的蠅類面部識別[J].光學精密工程,2020(7):1558-1567.
[5]REDMEN J,DIVVALA S,GIRSHICK R,et al., You Only Look Once: Unified, Real-Time Object Detection[C]// Computer Vision & Pattern Recognition.IEEE,2016.