郭蓓,王貝貝,張志紅,吳蘇,李鵬,胡莉婷
摘要:農作物圖像在進行目標檢測時,由于作物種植較密集、成像質量不佳等原因嚴重影響目標檢測算法的檢測精度。針對存在的問題,提出一種基于YOLOv3的改進算法優(yōu)化在農作物目標檢測的檢測性能:對YOLOv3的主干特征提取網絡進行優(yōu)化,利用原網絡中輸出的4倍降采樣特征圖對目標進行檢測,并且在算法原網絡殘差塊的基礎上增加殘差單元,以檢測目標較小的農作物位置信息;提出高斯衰減函數,對圖像中高度重疊的農作物候選框的衰減較強,在有效抑制冗余框的同時也可以有效地降低漏檢率;對回歸損失函數進行優(yōu)化改進,用CIOU Loss作為損失函數,使得目標檢測過程中最終的目標定位更加精確。將改進的 YOLOv3算法和原 YOLOv3 算法、Faster R-CNN 算法在實拍的玉米作物圖像數據集上進行對比實驗,結果表明改進后的YOLOv3算法能有效檢測農作物小目標,算法檢測的平均準確率均值和檢測速度都有明顯的提升。
關鍵詞:目標檢測;YOLOv3算法;特征提取網絡;損失函數
1? 引言
物候觀測是對生態(tài)物候現(xiàn)象按統(tǒng)一的標準進行觀察和記載,是生態(tài)氣象業(yè)務和科研的基礎,更是氣候多圈層生態(tài)氣象業(yè)務觀測體系的重要組成部分。隨著我國現(xiàn)代化智慧農業(yè)的普及,智能化設備監(jiān)測田間作物逐漸替代人工觀測,物候自動觀測儀包含了采集器、傳感器和通信單元等設備,保證物候觀測的準確性與高效性。
隨著物聯(lián)網和人工智能等技術的發(fā)展,植被生態(tài)的觀測方法正在發(fā)生變革,計算機視覺技術逐漸被應用到植被物候觀測中。計算機視覺不僅是工程研究領域更是計算機科學中具有重大意義和挑戰(zhàn)性的研究領域,目標檢測作為其主要的研究方向逐漸成為當下的熱門研究內容。目標檢測的主要任務是在圖像中找到符合要求的目標信息,并標記目標所屬類別,分析所處的位置信息[1]。農作物目標檢測是基于目標檢測的方法對圖中的農作物進行目標識別檢測,輸出作物類別,能更好地觀察作物生長狀況是否良好,及時監(jiān)測田間雜草的生長信息,為農事活動提供判斷依據,保障作物生長狀況持續(xù)向好。利用算法判斷相應類別數量,是后期統(tǒng)計作物生長情況、種植密度和產量信息的重要依據,為國家糧食安全保駕護航。
目前比較熱門的目標檢測算法大多是基于深度學習構建識別模型,自動提取目標識別過程中的特征信息,具有強大的魯棒性和泛化能力,算法根據識別階段主要分為兩大類:two-stage與one-stage目標檢測算法。two-stage目標檢測算法檢測速度較慢一些,但檢測精確度很高,而one-stage目標檢測算法的檢測時間會顯著提升,對于實時檢測有更好的適用性,但檢測精度較低[2],常見的算法有SSD、YOLO、RetinaNet、RefineDet、YOLOv3等。
于博文等提出改變網絡結構利用可形變卷積優(yōu)化的殘差單元結構加入到特征提取網路,提高檢測目標的效率和精確度[3]。陳禹蒲等提出將深度學習骨干網絡拆分為兩個子網絡分支,通過降低子網絡的層數和通道數以降低網絡結構的總參數量。提高網絡結構的特征提取能力[4]。王瀟等提出通過降低重疊部分較大的目標框的置信度引入了Soft-NMS,提高目標二次檢測可能,增強網絡的召回率[5]。王陽等提出利用WIoU損失函數優(yōu)化回歸損失,通過恰當的梯度分配方式,提高網絡結構的精確度[6];申志超對卷積核與感受野的定量關系進行分析,設計了基于三級可控感受野結構和特征圖降采樣結構的農作物檢測網絡,實現(xiàn)了卷積層拓撲結構的改進,提高了模型的檢測性能[7];張穎超引入DropBlock正則化技術,降低模型的內存需求,使用PANet對特征信息去除噪聲,定位特征網絡像素點,能更快更準確地完成農作物葉片病蟲害檢測[8];金沙沙將NAM注意力機制加入到YOLOv5s主干網絡上,并參考Bi FPN的思想修改YOLOv5s的頸部網絡,提高YOLOv5s的特征融合能力,大大提高農作物種子檢測性能[9]。
在自然條件下,農作物圖像在采集過程中光照、抖動、遮擋等外界因素會造成成像質量不佳,圖像在分辨率、特征信息等有一定的差異,嚴重干擾目標檢測算法的定位精度,導致產生較高的漏檢率,上述研究算法在農作物識別檢測效果不盡理想,因此本文基于one-stage目標檢測YOLOv3算法,提出改進的YOLOv3農作物目標檢測算法。它通過優(yōu)化調整主干特征提取網絡、調整NMS重疊框置信度、引入新的損失函數以及有效的數據處理與訓練方法,實現(xiàn)了在不影響實時性能的前提下,大幅提高農作物目標檢測的平均精度和檢測速度。
2? 基于改進的YOLOv3目標檢測算法
2.1? 加強特征提取網絡
YOLOv3算法主干網絡結構為Dark Net53,包含53個卷積網絡層,算法利用殘差網絡建立了5個殘差塊,通過殘差塊的累積,實現(xiàn)網絡深度的增加。YOLOv3網絡對小目標檢測時,采用的是8倍降采樣輸出特征圖,而對處于早期生長期的農作物目標一般像素比較小,直接影響目標識別模型對于小目標作物的檢測精度,目標檢測層為8倍降采樣特征圖對目標較小的農作物位置信息的檢測能力是有一定局限性的,為了加強對于小目標農作物的檢測精度,獲取更多的小作物目標位置信息,將原算法網絡模型輸出的8倍降采樣特征圖經過2倍上采樣后與Darknet 53中第2個殘差塊輸出的4倍降采樣特征圖進行連接,建立輸出為4倍降采樣的特征融合目標檢測層,以更好地檢測小目標農作物信息[10]。同時,原網絡的第2個殘差塊中增加2個殘差單元以獲取更豐富的低層小目標作物的位置信息,改進的YOLOv3網絡結構如圖1所示。
2.2? 調整NMS重疊框置信度
農作物實際種植過程中易出現(xiàn)作物生長過密,作物之間生長間距過小的情況,作物進行目標檢測時,會因為候選框重疊度較大進而影響一部分作物識別的置信度,造成誤檢,影響識別精確度。因此本論文對重疊框置信度的規(guī)則作出調整。
標準的NMS的抑制函數如下所示,IOU超過閾值的檢測框的得分直接設置為0。
(1)
本文提出高斯懲罰函數,具體公式如下:
(2)
高斯衰減函數對沒有重疊的檢測框的原有檢測分數的衰減相對較弱,同時對高度重疊的候選框的衰減較強,與農作物檢測對于重疊框衰減函數的需求一致,在實驗中,動態(tài)閾值的設計導致閾值中斷,對檢測結果造成影響的概率很低,檢測精度幾乎不受影響,這樣可以避免閾值設置大小的問題。所以高斯衰減函數可以作為重疊框調整函數來使用[11]。
2.3? 損失函數
YOLOv3的損失函數主要包含三部分:置信度損失、分類損失和回歸損失,其中置信度損失和分類損失上采用的是交叉熵損失,回歸損失使用誤差平方和的方式,最后對三個損失求和[12],損失函數公式如下:
(3)
其中:
S2表示特征圖大小
B表示該網格對應的預測框個數
表示置信度概率預測
表示類別概率預測
λcoord表示回歸損失權重
λnobj表示不包含目標的置信度損失權重
本文算法主要針對回歸損失函數進行優(yōu)化改進,用CIOU Loss作為損失函數,更有效實現(xiàn)了預測框與真值框之間的損失計算,使得目標檢測過程中最終的目標定位更加精確。
在目標檢測過程中,一般將bounding box表示交并比IoU(Interest over Union),IoU主要指的是預測邊界框與真實邊界框的交集與并集的比值。計算公式為如下所示:
(4)
IoU值相同的情況下,真實框與預測框的重合度情況差別很大。因此本文將CIOU作為損失函數,考慮到提高目標框回歸的穩(wěn)定性,將目標框與預測框的距離,重疊率以及尺度都包含在內,避免IOU在迭代訓練過程中發(fā)散,其收斂精度更高[13],表達式為:
(5)
其中:
b和bgt表示預測框中心點與目標框中心點
ρ2(b,bgt)表示歐式距離
c表示預測框與目標框的最小外接矩形的對角線長度。
3? 實驗及分析
3.1? 數據集
本文基于YOLOv3的改進算法主要用于玉米的密度檢測,目前的高標準現(xiàn)代化農業(yè)建設過程中,利用觀測設備觀測到的作物圖像進行農作物目標檢測,檢測出作物種植類別,并能給出當前范圍該作物的植株數目,對于估算作物密度情況有重要借鑒意義,并對后續(xù)的農事活動(補苗、間苗、施肥)等具有重要參考價值,是發(fā)展智慧農業(yè)的主要研究方向。
物候自動觀測儀主要由傳感器、采集器、通信單元等部分組成,系統(tǒng)框圖如圖2所示,本論文利用自動觀測設備單反相機拍攝的玉米實景圖片作為分析對象,通過4G無線網絡將拍攝圖像數據上傳到云平臺,當圖片滿足處理要求時,進入識別模塊,通過相應的識別算法對圖片進行處理獲取我們所需要的特征參數。
玉米圖像拍攝站點位于北京延慶物候植被觀測站,拍攝2023年6月1日至2023年7月15日玉米的生長期圖像,玉米的發(fā)育期生長狀態(tài)包括出苗期、三葉期、七葉期,玉米數據集共包含1200張圖像,圖像格式為JPG格式,像素大小為2992×2000,平均每張圖像上有120個目標,利用 LabelImg 軟件人工標定標簽,生成 xml 格式文件記錄所有目標的位置、大小和類別信息。將數據按7:2:1 隨機分為訓練集、驗證集、測試集。模型開始訓練時,輸入圖像大小調整為 416×416,依據PASCAL VOC 數據集格式標準,對圖像標注信息的邊界框寬、高和中心點坐標進行歸一化處理,以減少異常樣本對數據的影響。
3.2? 網絡訓練
實驗使用的硬件配置為Inter(R) Core i7-9700K CPU,NVIDIA Geforce RTX 2080 Ti顯卡,Windows 10 企業(yè)版操作系統(tǒng),軟件環(huán)境是基于 Anaconda平臺搭建TensorFlow-GPU環(huán)境,版本號為TensorFlow-GPU 2.1.0,CUDA 10.1,Cudnn 7.4,通過 Python 語言編程實現(xiàn)搭建和復現(xiàn)實驗中的所有網絡模型。
基于人工標記的玉米數據集,分別用Faster R-CNN算法、YOLOv3算法和改進的YOLOv3算法進行模型訓練,算法模型訓練過程中初始學習率為0.001,衰減系數為0.005,模型訓練迭代次數為10000次。三種算法的網絡訓練曲線如圖3、圖4、圖5所示。
算法訓練曲線包含訓練精度曲線和訓練損失曲線,由模型訓練曲線圖可知,改進的YOLOv3算法模型大約經過7000次迭代后,各參數輸出逐漸趨于穩(wěn)定,訓練精度達到0.92,明顯高于YOLOv3算法和Faster R-CNN算法的訓練精度;模型的訓練損失為0.2,較YOLOv3算法和Faster R-CNN算法的訓練損失明顯降低。經驗證對比實驗分析,改進的YOLOv3算法對于玉米數據集的訓練模型有明顯的提升,效果優(yōu)于YOLOv3算法和Faster R-CNN算法。
3.3? 訓練結果定量評估
3.3.1? 改進算法性能測試
本文改進的YOLOv3算法主要從三個方面的改進
優(yōu)化,基于不同方式的算法優(yōu)化在測試集上的目標檢測性能如表1所示,相比于原YOLOv3算法,表 中 Algorithm-1 模塊調整NMS重疊框置信度,mAP(平均準確度均值,Mean Average Precision)提升 3.2%,單張圖檢測耗時降低 0.03 s;Algorithm-2模塊加強特征提取網絡,mAP提升 2.3%,單張圖檢測耗時減少 0.05s;Algorithm-3模塊優(yōu)化損失函數, mAP提升 4.1%,單張圖檢測耗時增加 0.03 s。由表1網絡模型目標檢測性能分析可知,不同方式的算法模型優(yōu)化方式都會提高目標檢測模型性能,并且這些增益是互補的,將三種模式結合在一起能使網絡檢測性能進一步提升。
3.3.2? 算法對比實驗分析
本文改進算法主要是對置信度、特征提取網絡、損失函數三個方面做出優(yōu)化改進,改進后的YOLOv3算法對比原算法網絡模型在測試集上的目標檢測性能測試如表2所示。改進后的算法對比其他算法網絡模型對玉米作物植株檢測結果輸出圖像如圖6所示。
基于改進的YOLOv3網絡的玉米識別模型對玉米圖像檢測的平均準確度均值(mAP)為91.2%,單張圖像檢測時間為0.22 s,較Faster R-CNN算法網絡模型和原YOLOv3算法網絡模型,mAP值分別提高了11%和8.8%,改進的YOLOv3檢測速度比Faster R-CNN算法模型快0.08 s,比YOLOv3網絡模型快0.03 s,改進網絡模型的檢測精度和檢測速度明顯提升。另外,改進后的YOLOv3網絡模型檢測輸出圖像中,檢測框的位置偏差更小,優(yōu)于原網絡模型。
從圖6可以看出,F(xiàn)aster R-CNN網絡模型和原YOLOv3網絡模型對圖像中的小目標植株存在漏檢情況,對圖像中的其他農作物存在錯檢情況,不能完全檢測出圖像中的玉米植株,而改進的YOLOv3網絡模型可以有效地檢測出場景中的小目標信息,檢測的準確性較高,并且有效避免錯檢情況發(fā)生,保證田間作物目標檢測與識別。
4? 結論
為了有效地檢測農作物小目標,以實時監(jiān)測田間作物生長狀態(tài)是否良好為目的,本文提出的改進YOLOv3檢測算法用于農作物目標檢測,對YOLOv3的主干特征提取網絡進行優(yōu)化;采用高斯衰減函數調整NMS重疊框置信度;對回歸損失函數進行優(yōu)化改進,用CIOU Loss作為損失函數,使得目標檢測過程中最終的目標定位更加精確。將改進的 YOLOv3算法與Faster R-CNN算法、原 YOLOv3 算法在實拍的玉米作物拍攝數據集上進行對比實驗,改進的YOLOv3網絡的玉米識別模型對玉米圖像檢測的mAP值為91.2%,較Faster R-CNN算法網絡模型和原YOLOv3算法網絡模型,mAP值分別提高了11%和8.8%,結果表明改進后改進的YOLOv3網絡算法檢測的平均準確率均值和檢測速度都有較大的提升,改進模型的檢測性能明顯提高,對于小目標作物的生長檢測有較好的應用效果,能順利保證田間物候自動觀測儀的識別效果,為農事活動提供判斷依據,保障作物生長狀況持續(xù)向好。但是該優(yōu)化算法檢測精度的提升在一定程度上抑制了圖像的檢測速度,在實際田間大規(guī)模圖像進行目標檢測時,會影響設備的整體監(jiān)測速度,后續(xù)研究工作將致力于對網絡模型結構與參數進行優(yōu)化,通過降低參數達到提高模型檢測速度的目的。
參考文獻
[1] 耿創(chuàng),宋品德,曹立佳.YOLO算法在目標檢測中的研究進展[J].兵器裝備工程學報,2022,43(9):162-173.
[2] 李維剛,楊潮,蔣林,等.基于改進YOLOv4算法的室內場景目標檢測[J].激光與光電子學進展,2022,59(18):251-260.
[3] 于博文,呂明.改進的YOLOv3算法及其在軍事目標檢測中的應用[J].兵工學報,2022,43(2):345-354.
[4] 陳禹蒲,馬曉川,李璇.基于YOLOv3錨框優(yōu)化的側掃聲吶圖像目標檢測[J].信號處理,2022,38(11):2359-2371.
[5] 王瀟,李子琦,高濤,等.基于無損跨尺度特征融合的交通目標檢測算法[J].中國公路學報,2023,36(9):315-325.
[6] 王陽,袁國武,瞿睿,等.基于改進YOLOv3的機場停機坪目標檢測方法[J].鄭州大學學報(理學版),2022,54(5):22-28.
[7] 申志超.基于YOLO的顆粒狀農作物檢測算法研究[D].哈爾濱:哈爾濱工業(yè)大學,2022.
[8] 張穎超.基于深度學習的農作物葉片病害檢測識別方法及其應用研究[D].石家莊:河北科技大學,2022.
[9] 金沙沙.圖像分割與目標檢測在農業(yè)場景中的應用研究[D].浙江湖州:湖州師范學院,2022.
[10] 賈世娜.基于改進YOLOv5的小目標檢測算法研究[D].南昌:南昌大學,2022.
[11] 潘昕暉,邵清,盧軍國.基于CBD-YOLOv3的小目標檢測算法[J].小型微型計算機系統(tǒng),2022,43(10):2143-2149.
[12] 鞠默然,羅海波,王仲博,等.改進的YOLO V3算法及其在小目標檢測中的應用[J].光學學報,2019,39(7):253-260.
[13] 阮激揚. 基于YOLO的目標檢測算法設計與實現(xiàn)[D].北京:北京郵電大學,2019.
[14] 潘語豪,危疆樹,曾令鵬.基于YOLOv3的農田鳥類目標檢測算法[J].激光與光電子學進展,2022,59(2):510-518.
[15] 王楊,曹鐵勇,楊吉斌,等.基于YOLO v5算法的迷彩偽裝目標檢測技術研究[J].計算機科學,2021,48(10):226-232.
[16] 王佩. 基于特征融合與信息增強的目標檢測算法研究[D].江西贛州:江西理工大學,2022.
[17] 王英立,史肖波.一種基于多尺度yolo算法的車輛目標識別方法:CN202210806937.2[P].CN202210806937.2[2023-07-06].
[18] 孫景蘭, 張志紅, 余衛(wèi)東,等. 中國農業(yè)氣象觀測自動化技術研究進展[J]. 氣象科技進展, 2022, 12 (4): 7-13.
[19] 王少博,張成,蘇迪,等.基于改進YOLOv3和核相關濾波算法的旋轉彈目標探測算法[J].兵工學報,2022,43(5):1032-1045.
[20] 楊富強,余波,趙嘉彬,等.基于改進YOLOv3的橋梁底部裂縫目標檢測方法[J].中國科技論文,2022,17(3):252-259.
[21] Lin T Y , Goyal P , Girshick R , et al. Focal loss for dense object detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, PP(99):2999-3007. https://doi.org/10.48550/arXiv. 1708.02002.
[22] Law H, Deng J. Cornernet: Detecting objects as paired keypoints[C]// European Conference on Computer Vision. Springer, Cham, 2018. https://doi.org/10.1007/s11263-019-01204-1
[23] Tian Z, Shen C, Chen H, et al. FCOS: Fully convolutional one-stage object detection[C]// CVF International Conference on Computer Vision (ICCV). IEEE, 2019. https://doi.org/10.1109/ICCV.2019. 00972.
[24] Cai Z, Vasconcelos N. Cascade R-CNN: Delving into high quality object detection[C]// Computer Vision and Pattern Recognition (cs.CV), IEEE, 2017. https://doi.org/10.48550/arXiv.1712.00726.
[25] Pang J, Chen K, Shi J, et al. Libra R-CNN: Towards balanced learning for object detection[C]// CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2020. https://doi.org/10.48550/ arXiv.1904.02701.
[26] Lu X, Li B, Yue Y, et al. Grid R-CNN[C]// CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2019. DOI: 10.1109/CVPR.2019.00754.
[27] Redmon J, Divvala S, Girshick R, et al. You Only Look Once: Unified, Real-Time Object Detection[C]// Conference on Computer Vision and Pattern Recognition (CVPR), IEEE, 2019. https://doi.org/10.1109/ CVPR.2016.91.
[28] Redmon J, Farhadi A. YOLO9000: Better, Faster, Stronger[C]// Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2017:6517-6525. https://doi.org/ 10.1109/CVPR.2017.690.
引用格式:郭蓓,王貝貝,張志紅,吳蘇,李鵬,胡莉婷.基于改進的YOLOv3農作物目標檢測算法[J].農業(yè)大數據學報,2024,6(1): 40-47. DOI:10.19788/j. issn.2096-6369.000006.
CITATION: GUO Bei, WANG BeiBei, ZHANG ZhiHong, WU Su, LI Peng, HU LiTing. Improved YOLOv3 Crop Target Detection Algorithm[J]. Journal of Agricultural Big Data, 2024,6(1): 40-47. DOI: 10.19788/j.issn.2096-6369.000006.
Improved YOLOv3 Crop Target Detection Algorithm
GUO Bei1,2*, WANG BeiBei2, ZHANG ZhiHong1, WU Su2, LI Peng2, HU LiTing1
1. CMA·Henan Key Open Laboratory of Agrometeorological Support and Application Technology, Zhengzhou 450003, China;? ? ? ?2. Henan Zhongyuan Photolectric Meassurement and Control Technology Co.,LTD, Zhengzhou 450047, China
Abstract: When detecting targets in crop images, the detection accuracy of target detection algorithms can be seriously affected due to factors such as dense crop planting and poor imaging quality. In order to optimize the detection performance of crop object detection in YOLOv3, an improved algorithm based on YOLOv3 is proposed. Firstly, the backbone feature extraction network of YOLOv3 is optimized by utilizing the downsampling feature maps outputted by the original network to detect targets, and residual units are added on the basis of the residual blocks in the original network to detect the position information of small crop objects. Moreover, a Gaussian decay function is introduced to attenuate highly overlapping crop candidate boxes in the image, effectively suppressing redundant boxes and reducing false negative rate. Furthermore, the regression loss function is optimized by using CIOU Loss, making the final object localization more accurate during the object detection process. To evaluate the improved YOLOv3 algorithm, a comparative experiment is conducted on a real-world dataset of maize crop images, comparing it with the original YOLOv3 algorithm and the Faster R-CNN algorithm. The results demonstrate that the improved YOLOv3 algorithm can effectively detect small crop targets, exhibiting significantly improved mean average precision and detection speed.
Keywords: target detection;YOLOv3 algorithm; feature extraction network; loss function