?

目標檢測算法YOLOv5s用于柑桔成熟果實檢測的改進

2024-01-31 04:17鄭永強劉艷梅馬巖巖易時來謝讓金
中國南方果樹 2024年1期
關鍵詞:柑桔精度特征

蹇 川,鄭永強,劉艷梅,馬巖巖,易時來,呂 強,謝讓金

( 1 西南大學工程技術學院,重慶,400715;2 西南大學柑桔研究所/國家柑桔工程技術研究中心/國家數字種植業(柑桔)創新分中心,重慶,400712;3 重慶市北碚區經濟作物技術推廣站,重慶,400700 )

柑桔是我國乃至世界種植面積和產量最大的水果作物。據《中國農村統計年鑒(2021)》統計數據,2021年我國柑桔產量達到5 595.61萬t,較2020年增長8.0%。采收前產量評估是柑桔生產過程重要環節,可為制訂銷售計劃和下一年度施肥方案提供數據支撐。目前,桔園產量評估仍然以歷史產量和人工使用計數器進行數量統計為主要手段。隨著機器視覺和計算機技術的發展,目標檢測得以快速發展。如能利用機器視覺檢測技術對柑桔果實進行識別計數,則可能大幅減少有關人工投入、節省工作時間和提高經濟效益,而且能有效提升果實檢測和產量預估精度。果實精確計數與建立好的產量預估模型是精準預估產量的重要前提,對縮小預估值與真實值之間的誤差至關重要[1-2]。

基于計算機視覺技術的水果檢測和技術方法可以大致分為兩類:基于手工設計特征的方法和基于深度學習的方法。前者主要由計算機視覺專家根據水果的形態、顏色和紋理特征,設計特定的特征描述方法,提取圖像中果實的魯棒特征,實現較為精準的檢測與識別。例如,Zhang等[3]開發了一種圖像分割技術,用于在圖像上檢測和計數柑桔類水果,并將該技術與基于人類視覺的計數進行了比較。張小花等[4]提出了一種基于霍夫變換,應用MATLAB軟件對剔除背景的柑桔進行計數的方法,其識別正確率達到94.01%。 Linker等[5]使用了基于形狀和顏色的圖像處理方法,分別達到了85%和89%的準確率?;谑止ぴO計特征的方法屬于早期實驗室階段的研究探索,大多數模型和方法泛化性較差,對于真實環境采集的圖像的光照變化、尺度變化和葉片遮擋具有較差的檢測性能和穩定性?;谏疃葘W習的水果檢測與計數方法是當前的主流方法。其主要基于卷積神經網絡或Transformer架構設計目標檢測網絡模型,同時實現特征學習、目標定位、目標分類[6],通過數據驅動的方式優化檢測網絡模型參數,使訓練的網絡模型能夠精準地檢測識別目標。目標檢測網絡模型進一步又分為單階段模型和多階段模型。在通用目標檢測領域存在大量的經典目標檢測模型,例如:多階段的Faster R-CNN[7]、CenterNet[8]、Cascade R-CNN[9]等網絡模型。最近幾年,隨著無錨點單階段模型檢測精度提高,其逐漸成為目標檢測的主流框架,例如:迭代發展的YOLO系列[10]、SSD系列輕量級網絡模型[11],以及最近基于Transformer架構的DETR模型和基于擴散模型的DiffusionDet模型。

在智慧農業領域,由于弱運算能力的農業機器人、移動終端、邊緣計算盒子等設備的廣泛部署和應用,簡單有效的單階段檢測模型(YOLO和SSD模型)被廣泛研究,并面向特定應用得到改進。例如,黃彤鑌等[12]針對柑桔果實識別提出改進YOLOv5網絡模型,平均識別精度達到91.3%。熊俊濤等[13]提出基于改進YOLOv3網絡的夜間環境柑桔識別方法——Des-YOLO v3網絡,其識別精度和F1值分別達到了97.67%和0.976,但模型太大(225.3 MB),無法作為嵌入式算法使用。湯旸等[14]面向采摘機器人提出了一種改進YOLOv3-tiny輕量化柑桔識別方法,提高了模型的識別精度,增強了算法的魯棒性。然而,這些方法和模型對于葉片遮擋導致的小目標(單顆果實局部被拍攝)和多顆果實重疊兩種情況的漏檢率高[15-17],嚴重影響后期的產量預估。

筆者分析認為小目標局部果實和多顆重疊果實被漏檢的原因如下:(1)葉片遮擋的局部果實在圖形上可能呈現為各種形狀,且尺度可能小于16像素×16像素,此時果實輪廓語義信息已失效,只有依賴于成熟果實的顏色和紋理才能定位和識別;(2)在提取特征過程中,隨著卷積網絡深度增加,特征圖空間分辨率降低,小的局部果實的特征相應逐漸變弱甚至消失,從而導致漏檢;(3)在檢測網絡Head階段,多顆重疊果實由于目標中心距離近,在特征圖下采樣過程中,多顆果實的中心可能被映射到相同位置,從而導致錯誤地檢測為單顆果實,特別是兩顆果實重疊較多時,更容易檢測為單顆果實;(4)多顆重疊果實的定位必須在高分辨率的網絡低層階段進行,需要設計額外的模塊在網絡低層挖掘和學習重疊果實之間的邊界和中心位置用以輔助最終的定位?;谏鲜龇治?筆者設計了一種集成多層Context Aggregation Block (CABlock)和特征金字塔思想的改進型YOLOv5s網絡模型。模型的低層CABlock模塊,通過設計的1×1卷積實現的特征通道注意力機制,能夠更好地挖掘和學習小目標局部果實顏色和紋理特征,同時,像素級空間注意力機制也能夠使CABlock更好地學習多顆重疊果實之間的邊界特征。特征金字塔的特征圖上采樣和下采樣機制,能夠有效地將低層CABlock挖掘的小目標局部果實和多顆重疊果實特定的顏色紋理特征、邊緣重疊特征融合到常規果實特征圖中,從而保證在不降低常規果實檢測精度的同時,有效地提高小目標局部果實和多顆重疊果實的檢測精度。

1 材料與方法

1.1 數據采集與預處理

1.1.1 數據采集

果實圖像數據采集區域位于重慶市北碚區西南大學柑桔研究所,采集時間在完全轉色期和成熟期。使用數碼相機、手機、全景相機等設備在不同天氣、不同時刻、不同距離和光照角度條件下進行拍攝,包括單株整樹果實圖像、局部冠層果實圖像和單個果實圖像。拍攝的圖像尺寸為4 160像素×4 160像素,保存為jpg格式。共采集了500幅圖像,其中,整株和局部冠層果實圖像(存在遮擋和目標較小)占比90%,無遮擋單果圖像占比10%。

1.1.2 數據標注與增強

在數據處理階段,使用LabelImg軟件對采集的500幅原始圖像進行手工標注,并生成相應的txt標注文件,文件信息包括果實在圖像中的坐標位置、尺寸大小以及標簽名“orange”。將標注好的文件按圖像和對應標簽的方式分別放在images和labels文件夾中,作為成熟柑桔果實數據集。

為了避免過擬合,增加訓練數據,提高模型泛化能力和魯棒性,降低模型對圖像的敏感度,利用python工具對每幅原始圖像隨機使用模糊、亮度、裁剪、旋轉、平移、翻轉等方法進行5次(類)增強處理(見圖1)。將原始圖像和增強圖像合在一起,最終得到3 000幅圖像的柑桔果實數據集(增強圖像的坐標位置等數據通過python編寫程序完成,不用手工標注)。圖像標注與增強工作完成后,將整個數據集按照8∶2的比例隨機分為訓練集和驗證集,其中訓練集為2 400幅,驗證集為600幅。

1.2 YOLOv5s網絡改進

YOLOv5是2020年6月由Glenn Jocher開發并開源的一種單階段目標檢測算法,該算法在YOLOv4的基礎上改進而來,其速度與精度等性能得到了極大提升。YOLOv5是一個在COCO數據集上預訓練的物體檢測架構和模型,它使目標檢測問題轉化為回歸問題,即先訓練網絡在初始錨框的基礎上輸出預測框,進而和真實框進行比對,計算兩者差距,再反向更新,迭代網絡參數,最后訓練出一個精度最高的檢測權重。YOLOv5網絡結構由Backbone和Head兩個部分組成。其中,Backbone是在不同圖像細粒度上聚合并形成圖像特征的卷積神經網絡;Head則將上一部分得到的圖像特征組合起來,并將圖像特征傳遞到預測層,最后對圖像特征進行預測,生成邊界框并預測類別。YOLOv5分為YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x四個版本,其復雜程度和模型文件大小依次遞增。

柑桔園里成熟柑桔果實數量過多、果實較小且背景復雜,容易出現枝葉遮擋、漏檢和果實重疊等現象,會影響YOLOv5的識別效果和檢測精度。結合需求和后續應用,選擇最為輕量級的YOLOv5s進行改進,即在Head網絡的最后一個卷積之后添加一個由3個Context Aggregation Block (CABlock)組成的金字塔結構特征提取層(spatial context pyranid,SCP),形成新的目標檢測網絡(見圖2和圖3)。金字塔結構特征提取層(SCP)每一層由一個帶有剩余連接的CABlock組成[18],可以很容易地插入到Backbone或Head的末端。CABlock可以學習從整個特征圖中聚合特征,并使用自適應權重將它們組合到每個像素中,增強特征提取能力并且擴大了感受野,可以有效地融合局部和全局特征,同時減少信息混淆,使網絡對小目標和重疊遮擋目標的識別效果得到提升。

圖3 改進YOLOv5s網絡結構

1.3 柑桔果實目標檢測

1.3.1 評價指標

1.3.2 試驗設計

模型訓練使用的操作系統為Window10(64位)操作系統,CPU型號為12th Gen Intel(R) Core(TM) i9-12900@2.40 GHz,內存為32 GB,GPU為NVIDIA GeForce RTX 3080。采用的深度學習框架為PyCharm 2020.1 (Professional Edition),并配合CUDA進行訓練加速。模型訓練參數設置為:epochs=300,batch size=16,momentum=0.937,weight_decay=0.005,lr0=0.01,輸入圖像分辨率全部歸一化處理為640像素×640像素,使用隨機梯度下降優化器(SGD)。

為了檢驗改進模型的檢測精度以及與其他模型的性能差異,采用同一數據集(訓練集),在上述相同設備和訓練參數條件下,對原始YOLOv5s、改進YOLOv5s以及Faster R-CNN進行訓練測試,對比結果。

為了更加直觀地展示網絡模型的改進效果,特別是在小目標、重疊目標和遮擋目標的檢測方面的精度提升,將包含這3類自然場景下的圖像樣本測試集(驗證集)分別通過Faster R-CNN、原始YOLOv5s模型和改進YOLOv5s模型進行識別精度測試,對比結果。

2 結果與分析

2.1 不同模型訓練測試對比

訓練測試結果如表1所示,改進YOLOv5s模型的準確率和平均精度分別為98.21%和98.07%,相比于原始YOLOv5s模型準確率提升了0.31百分點,平均精度提高了0.17百分點;與Faster R-CNN相比,改進YOLOv5s模型的準確率和平均精度分別提高了8.41和8.31百分點。在模型大小方面,YOLOv5s最小,改進YOLOv5s略有增加,兩者遠小于Faster R-CNN。改進YOLOv5s模型的檢測速率為30.76幀/s(單張成熟柑桔果實圖像的平均檢測時間32.5 ms),稍慢于YOLOv5s,是Faster R-CNN的2.6倍。

表1 各模型采用相同柑桔果實目標檢測訓練集訓練測試結果

2.2 不同場景下不同模型識別精度對比

測試結果如表2所示,改進YOLOv5s模型在遮擋、重疊以及小目標等3類測試集上的平均精度分別為99.4%、97.2%和98.0%,均高于另外兩種模型。從3類測試集檢測樣本中各隨機挑選1幅圖像進行檢測的效果如圖4所示??梢钥闯?原始YOLOv5s模型對3類自然場景的目標均存在漏檢的情況,改進YOLOv5s模型的漏檢情況有明顯改善。

表2 各模型對遮擋、重疊以及小目標場景下柑桔果實目標的識別精度

注:圖中方框為檢測框,orange表示類別名,類別名后數字表示檢測置信度;圓圈表示未檢測到的柑桔果實。

3 討論與結論

巡檢機器人搭載的邊緣設備通常受限于有限計算資源和低功耗要求,因此需要部署體積小、計算復雜度低的算法模型以提高推理速度和減少數據傳輸量。本研究以自然條件下成熟柑桔果實圖像為研究對象,根據柑桔果實的生長特點,提出一種基于改進YOLOv5s模型的成熟柑桔果實檢測方法。首先獲取成熟柑桔果實圖像,并建立相應的數據集。之后引入Context Aggregation Block來提高YOLOv5s模型的精度。在此基礎上,對改進后的網絡結構進行了優化,提高了檢測速度。最后,通過訓練和對比試驗測試了改進模型的性能。采用相同數據集進行訓練測試的結果表明,與其他模型(Faster R-CNN和YOLOv5s)相比,改進YOLOv5s模型的檢測準確率(98.21%)與平均精度(98.07%)最高,識別效果得到增強;在模型大小方面,改進YOLOv5模型(15.8 MB)遠小于Faster R-CNN(334.4 MB),略高于YOLOv5s模型(14.4 MB),不影響其后續遷移應用,可為柑桔果園產量預估以及柑桔采摘機器人等其他領域的視覺識別提供技術支持。改進YOLOv5s模型對于遮擋果實、重疊果實以及小目標果實的識別能力有提升,平均精度分別為99.4%、97.2%和98.0%,有效減少了誤檢、漏檢等現象。成熟柑桔果實的自動檢測,對于柑桔的產量預估和自動采摘意義重大,也為智慧果園向機械化發展提供了一定的技術支撐。本研究的改進YOLOv5s模型滿足部署到各種移動平臺的條件,可以進行自然環境下精度較高的柑桔果實檢測作業。后續可以搭配目標追蹤算法模型,以實現更為精確的檢測計數與產量預估。

猜你喜歡
柑桔精度特征
如何表達“特征”
不忠誠的四個特征
基于DSPIC33F微處理器的采集精度的提高
柑桔無公害栽培技術研討
柑桔樹青苔病的發生與防治
柑桔園冬季管理技術
柑桔砂皮病研究進展
抓住特征巧觀察
GPS/GLONASS/BDS組合PPP精度分析
改進的Goldschmidt雙精度浮點除法器
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合