胡嘉沛,李 震,2,黃河清,洪添勝,姜 晟,曾鏡源
(1. 華南農業(yè)大學電子工程學院,廣州 510642; 2. 國家柑橘產業(yè)技術體系機械研究室,廣州 510642;3. 華南農業(yè)大學工程學院,廣州 510642; 4. 廣東省山區(qū)特色農業(yè)資源保護與精準利用重點實驗室,梅州 514015)
黃龍病是當前全球范圍內最嚴重的柑橘疾病之一,對世界柑橘產業(yè)構成巨大威脅[1]。柑橘木虱是柑橘黃龍病的主要傳播媒介[2],對柑橘木虱進行檢測與防控可以有效地控制黃龍病傳播[3]。目前常用的檢測方法都依賴于人工檢測,如通過黃色粘蟲板或捕蟲網采集計數和使用塑料棒敲打枝干取樣[4]。此類方法存在實時性差、工作效率低和勞動強度大等缺點[5-6]。因此,研究柑橘木虱高效精確檢測的關鍵技術對于黃龍病防控具有十分重要的意義。
近年來,隨著機器視覺技術的快速發(fā)展,卷積神經網絡已經被廣泛應用于各類農作物病蟲害的檢測。Zhou等[7]以卷積神經網絡為基礎,提出用于檢測油菜病蟲害的深度學習模型,識別率為96%。Wang等[8]使用改進的YOLOv3檢測番茄的12種病蟲害,識別率為92.39%。Selvaraj等[9]基于卷積神經網絡和遷移學習方法提出了可識別8種香蕉病蟲害的檢測模型,識別的平均精度高于90%。以上研究的開展證明了機器視覺技術應用于農作物病蟲害檢測切實可行,為卷積神經網絡應用于柑橘病蟲害識別提供了參考。
對于自然環(huán)境下柑橘病蟲害的識別問題,國內外學者已提出了多種基于卷積神經網絡的解決方案。You等[10]基于壓縮卷積神經網絡,提出一種適用于移動端的柑橘病蟲害分類方法,在共有16 528幅圖像的數據集進行訓練和測試,其中包含14種柑橘病蟲害,分類的準確率達到93.2%。Xing等[11-12]在柑橘病蟲害分類領域開展系列研究,首先構建一個共有12 561幅圖像的數據集,包含24類柑橘病蟲害,其中柑橘木虱圖像有359張,其次提出柑橘病蟲害分類模型WeaklyDenseNet和BridgeNet-19,分類的準確率分別為93.42%和95.47%,模型大小分別為30.5和69.8 MB。上述研究主要應用于輔助農戶進行柑橘病蟲害分類,模型的輸出不包含檢測目標的位置和數量信息,無法精確地判斷蟲害情況,不適合應用于柑橘木虱監(jiān)測。Partel等[5]以四輪摩托為行走機構,通過氣動敲擊機構拍打柑橘樹的枝干,使柑橘木虱跌落至白色背景的觀察臺,結合計算機視覺技術實現柑橘木虱檢測,其中檢測算法采用YOLOv1和YOLOv3目標檢測模型,在8 800幅白色背景的柑橘木虱圖像進行訓練和測試,識別準確率為80%,召回率為95%;該設備通過機器敲打取樣,解決了柑橘木虱個體小和在果園中容易被葉片遮擋等導致模型識別準確率低的問題。中國橘園機械作業(yè)環(huán)境復雜[13],柑橘樹行株距不統(tǒng)一,且大部分在山坡地種植,不便于使用上述設備和敲打取樣,通過小型嵌入式設備直接檢測果樹上的病蟲害是更合適的解決方案[14]。
綜上,本研究以果園場景下采集的柑橘木虱圖像為研究對象,以柑橘木虱為檢測目標,利用數據增強方法構建柑橘木虱彩色圖像數據集,以適用于嵌入式硬件平臺的YOLOv4-Tiny模型為基礎,改進模型的頸部網絡,優(yōu)化批歸一化方法并在訓練階段引入Mosaic數據增強,并通過試驗測試模型識別果園場景柑橘木虱的效果,以期為實現柑橘木虱的快速精確監(jiān)測提供參考。
本研究試驗數據采集于華南農業(yè)大學東區(qū)果園和工程學院果園,采集時間為2020年6月25日-2020年8月24日。為獲取不同自然光照強度下的柑橘木虱圖像,每天分為3個時間段進行采集,分別為9:00-11:00、14:00-15:00和17:00-18:00。使用手持式照相器材(榮耀20,華為,中國)對果樹上的柑橘木虱成蟲進行拍攝,拍攝距離為4~6 cm。獲得田間柑橘木虱圖像2 024張,涵蓋3 024×4 032、2 592×1 944和1 200×1 600(像素)3種分辨率。在此基礎上,又加入117張由全國各地柑橘專家或果農拍攝的柑橘木虱圖像,最終數據集包含2 141張原始圖像。
為防止訓練數據量過少發(fā)生過擬合現象,本研究參考通用方法[15-16],對圖像進行數據增強處理,包括隨機調節(jié)對比度、隨機調節(jié)亮度、加入高斯噪聲、加入伽馬噪聲、限制對比度自適應直方圖均衡(Contrast Limited Adaptive Histogram Equalization,CLAHE)、中值模糊、水平翻轉、垂直翻轉和轉置,每張原始圖像都生成9張新圖像,最終柑橘木虱數據集包含21 410幅圖像。
使用Labelimg工具標注每張圖片中的柑橘木虱目標所在區(qū)域,柑橘木虱數據集按照7∶1∶2的比例劃分為訓練集(14 990張)、驗證集(2 140張)和測試集(4 280張),每個數據集都包含自行采集的圖像和全國各地柑橘專家或果農拍攝的圖像。
本研究以YOLOv4-Tiny模型為基礎,設計柑橘木虱識別模型。YOLOv4-Tiny模型結構精簡、推理速度快,適用于嵌入式硬件平臺。但是,該模型對果園場景下柑橘木虱的識別精度有待提高,需要進一步優(yōu)化完善。
1.3.1 YOLOv4-Tiny模型改進
柑橘木虱目標的體型較小,本研究按照微軟公開數據集MS COCO的標準,將圖像中分辨率小于32×32 (像素)的柑橘木虱目標定義為小目標。YOLOv4-Tiny模型的主干網絡中包含3個跨階段局部(Cross Stage Partial,CSP)模塊,分別為CSP1、CSP2和CSP3。其中,CSP2層包含的位置信息更準確,細節(jié)信息更多,但語義信息較少。CSP3層包含更多的語義信息,但細節(jié)信息少、位置信息粗糙,許多小目標的位置信息和細節(jié)信息丟失。為提高YOLOv4-Tiny模型對柑橘木虱小目標的識別精度,本研究對其結構進行改進,提出改進的YOLOv4-Tiny模型,具體結構如圖1所示。在原YOLOv4-Tiny模型的頸部網絡中添加一條與主干網絡CSP2層相連的路徑,并將檢測尺度由2個擴展至3個。CSP2層和上采樣層(UP層)的輸出在通道維度上進行連接操作,融合這兩層的特征圖,隨后經過2個CBL模塊,最終得到相對輸入圖像分辨率像素8倍下采樣的特征圖。對于分辨率為416×416(像素)的輸入圖像,改進的YOLOv4-Tiny模型輸出3個尺度的特征圖,分辨率分別為13×13、26×26和52×52(像素)。
1.3.2 交叉小批量歸一化(CmBN)方法
在目標檢測任務中,由于顯卡內存容量的限制,批歸一化(Batch Normalization,BN)方法對統(tǒng)計信息的估算不準確,容易導致模型的誤差增加[17]。因此本研究使用交叉小批量歸一化(Cross mini-Batch Normalization,CmBN)方法代替原YOLOv4-Tiny模型中的BN方法。在訓練模型時,批量的訓練集圖像數據被平均分成若干個小批量分別傳入模型進行前向傳播,一次迭代完成前模型的權重不變,所以同一個批量中的小批量統(tǒng)計信息可以直接疊加。CmBN方法的實現步驟如下:
1)結合前i-1個小批量訓練集圖像數據的卷積層輸出信息,計算第i個小批量的均值和標準差;
2)將第i個小批量數據的卷積層輸出轉換成均值為0、方差為1的正態(tài)分布;
3)使用可學習參數對第i個小批量數據標準化后的卷積層輸出進行線性變換,以增加其表達能力。
CmBN方法的前向傳播計算過程如式(1)~式(5)所示:
式中l(wèi)為卷積層的層數,t為小批量的索引值,m為小批量數據的大小,i為小批量數據的索引值,τ為小批量索引值的序號,為第i個小批量中第i批數據在第l層卷積層的輸出,分別為第t和t-τ個小批量在第l層卷積層的輸出均值為第t個小批量在第l層卷積層輸出均值的平方和為第t個小批量在第l層卷積層輸出的標準差,C為增加數值穩(wěn)定性而添加的常數為第t個小批量中第i批數據在第l層卷積層歸一化后的輸出,γ和β為可學習的縮放和平移參數,為第t個小批量中第i批數據在第l層卷積層的輸出經過交叉小批量歸一化后得到的結果。
1.3.3 Mosaic數據增強
由于柑橘木虱尺寸小,在拍攝時極易被葉片、葉柄等非檢測目標遮擋,嚴重影響目標識別的準確率。針對上述問題,本研究在訓練模型時引入Mosaic數據增強,以提高模型對遮擋目標的識別能力。在每一次迭代開始前,深度學習框架不僅會從訓練集讀取圖像,而且會通過Mosaic數據增強生成新圖像,隨后將新生成的圖像和讀取的圖像組合成訓練樣本,輸入到模型進行訓練。Mosaic數據增強從柑橘木虱訓練集中隨機選取4張圖像,分別對4張被選中圖像進行隨機裁剪,將裁剪后的圖像按順序拼接得到1張新圖像,Mosaic數據增強生成圖像與4張訓練集圖像的分辨率保持一致。在隨機裁剪的過程中訓練集圖像目標框的一部分可能會被裁掉,從而模擬柑橘木虱被枝葉等物體遮擋的效果。
此外,本研究對Mosaic數據增強進行優(yōu)化,提出改進的Mosaic數據增強,以交并比(Intersection-over-Union,IoU)作為指標,結合標定數據集時所使用的相關標準設定閾值,用于篩選新生成圖像中的目標框。改進的Mosaic數據增強按照Mosaic數據增強的步驟生成新圖像,并對新生成圖像中的目標框進行過濾,如果新圖像目標框與相應原圖目標框的IoU小于閾值,刪除新圖像中的目標框,認為此處不存在柑橘木虱目標。反之,如果新圖像目標框與相應原圖目標框的IoU大于或等于閾值,則保留新圖像中的目標框,認為此處存在柑橘木虱目標。
1.4.1 試驗平臺
計算機配置為Intel Core i7-10700 處理器,主頻2.90 GHz,運行內存為16 GB,顯卡為Nvidia GeForce RTX 2080Ti,操作系統(tǒng)為Ubuntu16.04 LTS,深度學習框架為Darknet和PyTorch。嵌入式硬件平臺分別選用Jetson nano和Raspberry Pi 4B,運行內存均為4 GB。
1.4.2 模型訓練
在模型訓練時,將訓練集圖像的分辨率全部轉換為416×416(像素)。優(yōu)化器使用小批量梯度下降法(Mini-batch Gradient Descent,MBGD),批量設置為64,小批量設置為16。權值的衰減速率設為0.000 5,動量設置為0.9。模型迭代次數為20 000次,每迭代1 000次保存一次模型權重,最終選擇模型識別精度最高的權重。初始學習率為0.002 61,衰減系數為0.1。
1.4.3 評價指標
采用推理速度(ms/幀)作為模型識別速度的評判指標,推理速度為模型識別一幅圖像所需要的時間[18]。采用平均精度(Average Precision,AP,%)作為模型識別精度的評判指標[19-20]。AP與模型的準確率(Precision,P,%)和召回率(Recall,R,%)有關,P、R和AP的計算如式(6)~式(8)所示:
式中TP為被正確地檢測為柑橘木虱的數量,FP為被錯誤地劃分為柑橘木虱的數量,FN為圖像中目標被漏檢的數量。
YOLOv4-Tiny模型和改進的YOLOv4-Tiny模型對測試集的試驗結果如表1所示。其中平均精度為模型對測試集中柑橘木虱的識別精度,小目標對應模型識別測試集中分辨率小于32×32(像素)柑橘木虱的平均精度,所有目標對應模型識別測試集中所有柑橘木虱的平均精度,小目標在測試集所有目標中的占比為25.33%。YOLOv4-Tiny模型識別測試集中小目標和所有目標的平均精度分別為78.85%和94.02%。改進的YOLOv4-Tiny模型識別測試集中小目標和所有目標的平均精度相比原模型分別提高了4.29和1.02個百分點。改進的YOLOv4-Tiny模型的頸部網絡減少了主干網絡中低層特征圖細節(jié)信息和位置信息的流失。新增加的特征圖感受野較小,適合檢測圖像中分辨率較低的柑橘木虱目標,提高了模型對小目標的檢測能力。改進的YOLOv4-Tiny模型的模型大小增加了1 MB,每一幅圖像的推理時間增加了0.26 ms。改進后的模型只在頸部網絡增加3個卷積層、1個上采樣操作和1個連接操作,模型的主干網絡并沒有改變。因此改進后的YOLOv4-Tiny模型在提高檢測精度的同時保持較快的推理速度。
表1 YOLOv4-Tiny模型改進前后的平均精度、推理速度和模型大小對比Table 1 Comparison of average precision, inference speed and model size of YOLOv4-Tiny model before and after improvement
以YOLOv4-Tiny模型和改進的YOLOv4-Tiny模型為基礎,分別使用BN和CmBN作為模型的歸一化方法,并用相同的訓練參數對模型進行訓練,在測試集中的平均精度對比如表2所示。使用BN作為歸一化方法,YOLOv4-Tiny模型和改進的YOLOv4-Tiny模型的平均精度分別為94.02%和95.04%。使用CmBN作為歸一化方法可以令2個模型的平均精度分別提高0.66和0.27個百分點。由于設備限制,本試驗以4幅圖像作為1個批次進行小批量訓練。BN只能使用當前小批量的卷積層輸出特征,所以統(tǒng)計信息不準確,導致BN的性能下降,而CmBN則通過累積小批量的信息,變相地實現擴大樣本數,使統(tǒng)計信息的估算更準確。因此使用CmBN歸一化方法可以提高改進的YOLOv4-Tiny模型識別柑橘木虱的平均精度。
以YOLOv4-Tiny模型和改進的YOLOv4-Tiny模型為基礎,使用BN作為歸一化方法,對比在訓練模型時不使用Mosaic數據增強、使用Mosaic數據增強和使用本研究提出的改進的Mosaic數據增強的情況下,模型在測試集中的平均精度,試驗結果如表2所示。本研究所使用的數據集不標注遮擋超過80%的柑橘木虱,結合試驗將改進的Mosaic數據增強的閾值設定為0.2。使用Mosaic數據增強后,YOLOv4-Tiny模型和改進的YOLOv4-Tiny模型的平均精度分別為94.93%和95.48%,2個模型的平均精度比不使用Mosaic數據增強分別提高0.91和0.44個百分點。Mosaic數據增強生成的圖像使模型在訓練過程中僅通過局部特征對目標進行識別,強化模型對柑橘木虱局部特征的認知,弱化模型對于目標全部特征的依賴。使用本研究提出的改進的Mosaic數據增強后,2個模型的平均精度分別提高了1.18和0.57個百分點,進一步提升了模型的識別效果。
表2 改進前后的YOLOv4-Tiny模型使用不同歸一化方法和Mosaic數據增強的平均精度Table 2 Average precision of different normalization methods and Mosaic data augmentations for YOLOv4-Tiny model before and after improvement
Mosaic數據增強改進前后生成的圖像如圖2所示。Mosaic數據增強生成圖像中的白色目標框由于IoU低于閾值(圖2a和圖2b),在相應的改進的Mosaic數據增強生成的圖像中均被刪除(圖2c和圖2d)。Mosaic數據增強會產生只包含極少柑橘木虱目標信息甚至完全沒有目標信息的目標框,這類含有歧義的目標框會導致模型的學習變得困難,而結合IoU改進后的Mosaic數據增強可以過濾部分含有歧義的目標框。
為對比本研究提出的模型與常用典型模型[22]的效果,分別對典型模型快速區(qū)域卷積神經網絡(Faster Region Convolutional Neural Networks,Faster R-CNN)、YOLOv4、YOLOv4-Tiny和本研究提出的改進的YOLOv4-Tiny 模型采用柑橘木虱數據集進行訓練和測試,并將深度學習框架和訓練后的模型移植到Jetson nano和Raspberry Pi 4B,測試模型在嵌入式硬件平臺上的推理速度,其中改進的YOLOv4-Tiny 模型同時使用了CmBN方法和改進的Mosaic數據增強。不同模型對被遮擋柑橘木虱和小目標柑橘木虱的檢測結果如圖3所示,對于被枝葉遮擋的柑橘木虱,Faster R-CNN和本研究提出的改進YOLOv4-Tiny模型的檢出率最高,識別出全部目標,而YOLOv4和YOLOv4-Tiny模型對于被遮擋的目標均存在漏檢的情況。小目標柑橘木虱圖像中的檢測目標共計2個,Faster R-CNN、YOLOv4和本研究提出的改進的YOLOv4-Tiny模型都可以識別出全部柑橘木虱目標,而YOLOv4-Tiny模型只識別出1個。
Faster R-CNN、YOLOv4、YOLOv4-Tiny和改進的YOLOv4-Tiny 模型的平均精度、推理速度和模型大小的統(tǒng)計如表3所示,其中平均精度包括模型對訓練集、驗證集和測試集的平均精度,推理速度包括模型在圖形處理器RTX 2080Ti與嵌入式硬件平臺Jetson nano和Raspberry Pi 4B的推理速度。本研究提出的改進的YOLOv4-Tiny模型對測試集中柑橘木虱目標的平均精度最高(96.16%),比Faster R-CNN高1.69個百分點,此外Faster R-CNN為二階段網絡,模型大推理速度慢,不適用于嵌入式設備。改進的YOLOv4-Tiny模型較YOLOv4模型的模型大小縮小近10倍,在圖形處理器RTX2080 Ti上的推理速度快了3倍以上,兩者的平均精度相近。YOLOv4-tiny模型的平均精度比改進的YOLOv4-Tiny模型低2.16個百分點,在推理速度和模型大小方面與本研究提出的改進模型相近。本研究提出的改進的YOLOv4-Tiny模型不會在推理過程中引入太多額外的算力和內存開銷,該模型在具備高識別精度的同時,保持結構精簡和推理速度快的優(yōu)點,所需要的算力資源較小,適合部署于嵌入式硬件平臺。
表3 不同模型的平均精度、推理速度和模型大小對比Table 3 Comparison of average precision, inference speed and model size of different models
1)本研究基于YOLOv4-Tiny模型提出一種果園自然環(huán)境下的柑橘木虱目標檢測模型。通過改進YOLOv4-Tiny模型的頸部網絡,利用淺層卷積層包含的位置信息和細節(jié)信息,提高了模型對柑橘木虱小目標的識別能力。使用交叉小批量歸一化方法替代卷積層的批歸一化方法,提高統(tǒng)計信息的準確度,有效地提升了網絡的檢測精度。
2)本研究為提高模型對遮擋目標的識別能力,在訓練模型時使用Mosaic數據增強,強化模型對柑橘木虱局部特征的認知,并通過交并比指標優(yōu)化Mosaic數據增強,減少含有歧義的目標框,幫助模型更好地學習特征。
3)本研究制作了自然場景下的柑橘木虱數據集用于模型的訓練和測試,試驗結果表明,本研究提出的各項改進方法均能提升模型對柑橘木虱的識別精度,改進的YOLOv4-Tiny模型融合交叉小批量歸一化方法和改進的Mosaic數據增強后,識別柑橘木虱的平均精度達到96.16%,在圖形處理器上的推理速度為3.63 ms/幀,且模型大小為24.50 MB。該模型對果園環(huán)境下的柑橘木虱檢測性能良好,可對黃龍病防控技術以及柑橘木虱監(jiān)測裝備的研制提供參考。