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