?

改進YOLOv5 識別復雜環境下棉花頂芽

2023-11-26 10:12周建平席光澤
農業工程學報 2023年16期
關鍵詞:頂芽注意力棉花

彭 炫 ,周建平 ※,許 燕 ,席光澤

(1. 新疆大學機械工程學院,烏魯木齊 830017;2. 新疆維吾爾自治區農牧機器人及智能裝備工程研究中心,烏魯木齊 830017)

0 引言

棉花是中國僅次于糧食的第二大作物,是關系到國計民生的重要資源。近年來,棉花種植主要依靠人工,勞動力短缺、機械智能化生產程度低等問題仍需解決,因此中國的棉花產量仍有很大提升空間[1-5]。棉花打頂是棉田作業過程中的重要環節,脫離人工打頂促進智能機械化打頂是降低成本、提升棉花生產效率的重要手段。對于棉花打頂機器人的設計,首要任務是解決復雜棉田環境中不損傷棉花蕾,精準驅動激光去除頂芽是其重中之重,因此精準識別定位棉花頂芽是關鍵環節。

近年來,隨著Fast R-CNN、YOLO 系列等[6-9]經典目標檢測算法不斷迭代更新,其迅速在各個領域得到了廣泛應用。國內外研究學者針對目標檢測技術在農業領域的應用進行了廣泛的研究。KOIRALA 等[10]為驗證芒果發育階段影響開花數量,使用YOLOv3 算法在芒果發育階段自動檢測圓錐花序數量,但YOLOv3 檢測物體的實時性較慢。劉海濤等[11]為實現非接觸、低成本、精準識別棉花頂芽,提出一種基于YOLOv4 模型的復雜環境下棉花頂芽識別方法,然而該設計對頂芽了解不夠全面,并沒有對頂芯進行識別,造成頂芽識別率過低,打頂效果不佳。JIA 等[12-13]改進了Mask RCNN 算法,提升了樹葉遮擋等復雜環境下蘋果識別的準確度,但是Mask RCNN 模型為一階段檢測模型,較比YOLO 模型檢測效率較低。朱旭等[14]采用Fast R-CNN 模型算法在惡劣環境下對藍莓進行識別,目標檢測準確率和效率明顯提高,但是Fast R-CNN 算法需要采集大量的數據訓練模型,在樣本不足的時檢測準確度明顯降低。李天華等[15-16]設計了一種基于YOLOv4 的改進算法,實現了對復雜環境下的番茄識別定位,能夠有效解決果實遮擋、光照影響下番茄識別準確率低的問題,但訓練成本過大,檢測幀數過低,模型計算量過大,不便于模型輕量化運行。CHEN等[17]為提升茶蕾識別定位精度,保證茶蕾采摘的完整率,設計了一種基于YOLOv3 的改進茶蕾識別算法模型,該模型能在光照變化和部分遮擋等復雜環境下識別茶蕾并定位采摘點。茶蕾與棉花頂芽同樣是小目標農作物,但YOLOv3 檢測算法對小目標提取效果并不理想,該算法識別的準確率有待加強。薛月菊等[18]針對果園場景下光照的多樣性、背景的復雜性及芒果與樹葉顏色的高度相似性,特別是樹葉和枝干對果實遮擋及果實重疊等問題,提出了改進YOLOv2 檢測方法,但由于YOLOv2 模型過大,識別效果和檢測速度不夠理想。樊湘鵬等[19]為建立高效、準確的葡萄葉部病害檢測系統,引入遷移學習機制,利用大型公開數據集對VGG16 模型預訓練,保持模型前端13 個層等參數和權重不變,對全連接層和分類層改進后利用新數據集微調訓練模型,雖然能夠完成對葡萄葉部病蟲害識別,但訓練成本過大,檢測速度較慢。

基于此,上述研究學者在目標檢測技術存在小目標檢測精度低、實時檢測慢、模型計算量大等問題,本文對復雜環境下對棉花頂芯識別為研究對象,本文選用YOLOv5s 模型,針對以上述問題進行優化,設計一種基于YOLOv5s 的改進棉花頂芽識別模型,為棉花機械化打頂提供視覺識別研究基礎。

1 試驗數據獲取

棉花頂芽數據采集地于新疆生產建設兵團第八師143 團棉花基地,品種為新路早50,采集設備為索尼A7M3 全高清攝像機,為采集真實環境的復雜棉花頂芽數據,不同光照和不同天氣條件下均分為單株頂芽、多株頂芽、遮擋頂芽3 種類別進行拍攝,共采集到1 360張頂芽圖像,經篩選后得到506 張清晰頂芽圖像(其中不同光照156 張,不同天氣150 張,不同遮擋頂芽面積200 張),經數據增強(平移、翻轉、剪切、降噪、縮放比例、亮度增強)擴充到3 103 張圖像,隨機抽取2 663 張作為訓練集,240 張作為驗證集,200 張作為測試集,圖1 為棉花頂芽樣本數據。

2 YOLOv5s 檢測算法改進

2.1 YOLOv5-CPP 模型

使用YOLOv5s 目標檢測算法對棉花頂芽數據集進行訓練,在復雜環境下棉花頂芽識別效果并不理想。隨著網絡層的加深,小目標信息逐漸丟失,同時由于YOLOv5s 算法中原有3 個檢測頭,對多尺度目標特征信息提取效果不佳,尤其對棉花頂芽小目標檢測識別會出現錯檢漏檢的問題。為了實現頂芽較好的檢測效果,以YOLOv5s 目標檢測算法為基礎,將主干網絡得第2 層引出第4 個目標檢測頭,因淺層含有特征信息更加豐富,為避免隨著網絡加深信息丟失,將淺層與深層提取到的特征信息進行融合,解決小目標特征信息隨著網絡結構加深信息丟失問題,避免特征提取不充分。由于在改進的YOLOv5s 結構中增加目標檢測層會使模型的計算量加大,因此在原有目標檢測網絡中,需要設計一種既能解決模型參數量問題又能解決對小目標提取效果好的模塊來代替C3 模塊。經試驗分析,CPP-CBAM 注意力機制為最佳模塊,將CPP-CBAM 加入到第13 層得到棉花頂芽最佳目標檢測模型,圖2 為YOLOv5-CPP 目標檢測模型改進結構圖。

圖2 YOLOv5-CPP 模型結構圖Fig.2 The YOLOv5-CPP model structure figure

2.2 CPP-CBAM 注意力機制模塊

CPP-CBAM 注意力機制模塊如圖3 所示,C3 卷積核結構分為兩個分支,第一分支將特征圖先升維后降維然后與第二分支網絡進行特征融合,特征融合后特征圖再進入通道模塊,最大池化層Maxpool 以及平均池化層AvgPool 將特征圖變成兩個矩陣[C,1,1]的權重向量,兩個拼接的權重向量經過MLP 網絡獲取到通道的權重值,增加原特征圖的特征通道數,通道數得到兩個激活函數,將兩個輸出結果的每個元素相加,再由Sigmoid 激活函數過濾掉冗余過多頂芽特征,按權重重要程度先進行篩選特征圖,篩選出的特征圖在再經過空間模塊Maxpool最大池化以及平均池化層AvgPool,形成一個[1,H,W]的權重向量,由于CBAM 模塊多數經過1×1 卷積核、最大池化層以及平均池化層操作,能夠壓縮特征通道維度,將復雜的模型特征通道數大大減少,達到增加注意力機制后,目標檢測模型參數也減少的目的。

圖3 注意力機制圖Fig.3 Attention mechanism figure

2.3 分類 Focal Loss 損失函數

機械打頂作業過程中由于棉田環境復雜,棉花頂芽被葉片嚴重遮擋,給機器對頂芽識別帶來困難,為了使預測框回歸到真實框速度加快,因此考慮將CIOU[20]損失函數替換為SIOU[21]損失函數。GIOU[22]、DIOU[23]、CIOU 損失函數只考慮了預測框與真實框的寬高比,并沒有考慮到它們之間的方向,易退化成IOU 損失函數,導致頂芽識別率精確度下降,式(1)SIOU 損失函數引入了真實框與預測框之間的向量角,其包含式(2)角度損失函數式、式(3)距離損失函數式、式(4)形狀損失函數。

式中 γ為賦予時間的距離值,ρx為真實框與預測框中心點和最小外接框寬比值的平方,ρy為真實框與預測框中心點和最小外接框高比值的平方,式(3)θ為控制對形狀損失的關注程度,t、w、h代表真實框與預測框的寬與高,為預測框的寬與高,接近4 才能避免過度關注形狀損失函數。

2.4 系統平臺與評價指標

試驗運行環境操作系統為 Windows 10(64 位),內存為16 GB,顯卡驅動 RTX2060 SUPRER,搭載12 th Gen Intel(R) Core(TM) i5-9400F 2.90 GHz 處理器,編程平臺Anaconda 4.12.0,CUDA 11.6,開發環境 PyTorch,編程使用Python3.8,通過精確率(Precision,P),召回率(Recall,R)。

式中TP表示正樣本預測出來正確的框,FP表示負樣本預測出正樣本的框,FN表示從正樣本預測出負樣本的數量,TP+FP表示正樣本預測出來正確的框加上負樣本預測出正樣本的框,也就是表示預測框的個數。TP+FN表示正樣本預測出來正確的框加上正樣本預測出負樣本的數量也就是標注框的個數。

3 結果與分析

3.1 內部參數對模型的影響

為測試出YOLOv5s 模型的最佳內部參數,即不同批量大小對YOLOv5s 的影響,在訓練時利用github 官網提供的 YOLOv5.pt 預訓練權重,通過自制YOLO 格式棉花頂芽數據集,模型設置圖像大小為640×640 分辨率,訓練輪次設置為150,以及初始學習率為0.01,采用Adam 優化器,分別設置不同批量大小分別為10、12、15、17、20、25 進行訓練,試驗結果如表1 所示。通過數據對比可以看出,在相同迭代周期內,批量Batch size 設置為20 時效果最好,即使平均準確率mAP 達到了90.3%,圖片測試驗證效果可看出,未改進的目標檢測模型仍有提升空間。

表1 內部參數對模型的影響Table 1 Effect of batch size on model

3.2 不同注意力機制對模型的影響

為測試不同注意力機制對模型的影響,分別將不同注意力機制加入到YOLOV5s 目標檢測模型第13 層,將C3 模塊更換為SE、BotNet[24]、CotNet[25]、C2f、CCA、CCP-CBAM 6 種注意力機制模塊,YOLOv5-CPP 與其他5 種模型對比結果如表2 所示,YOLOv5-CPP 檢測平均準確率mAP 上升2.5、1.6、1.7、0.8、1.4 個百分點,而YOLOv5-SE、YOLOv5-BotNet、YOLOv5-CotNet、YOLOv5-CCA 這4 種模型檢測單株頂芽的平均精度值分別降低了1.1、0.1、0.3、0.4 個百分點,說明在棉花頂芽數據集上SE、BotNet、CotNet、CCA 注意力機制抑制了棉花頂芽的通道特征,造成總體識別頂芽精度下降,相反YOLOv5-CPP 精度上升比例最大,進一步說明了CPPCBAM 自注意力機制經過空間模塊與通道模塊,對重要特征進行數值編碼,強化了各特征之間的關系,降低了對全局注意力計算的結果,更加注重頂芽特征,因此CPP-CBAM 注意力機制在3 種樣本上效果均有所改善,尤其是對遮擋頂芽這種數量多的樣本改善效果更加明顯,因此得出CPP-CBAM 注意力機制既能夠解決在復雜情況下對小目標在復雜環境下的特征提取任務。

表2 各個注意力機制模型對比Table 2 Comparison of attention mechanism models

3.3 注意力機制不同位置加入模型對比分析

為測試CPP-CBAM 注意力機制對模型的影響,本試驗通過將注意力機制CPP-CBAM 插入到不同網絡層中,測試出模型的檢測速度與平均準確率,試驗效果見表3,第13 層分別加入CPP-CBAM 注意力機制之后,較比插入到1、3、5、9、20 層平均準確率mAP 明顯有所提升,因為隨著網絡加深,第13 層C3 模塊對特征圖處理效果較比CPP-CBAM 注意力機制特征提取能力較弱,淺層小目標信息較為豐富,C3 模型尚且能夠對小目標信息特征進行提取,但是隨著網絡加深小目標信息丟失,C3 模塊逐漸對小目標的特征提取效果不理想,因此可以推出第13 層插入CPP-CBAM 注意力機制效果最佳。

表3 不同層加入注意力機制對模型的影響Table 3 The effect of different layers adding attention mechanisms on the model

3.4 與其他模型對比分析

與其他模型對比結果見表4 所示,

表4 各個檢測模型對比Table 4 Comparison of each loss function

為驗證YOLOv5-CPP 模型在棉花頂芽數據集上檢測效果,本文分將YOLOv3[26]、YOLOv5s、YOLOv6[27]、Fast-RCNN 這4 種網絡模型在棉花頂芽數據集上進行訓練,在相同迭代次數內,YOLOv3、YOLOv5s、YOLOv6、Fast-RCNN 這4 種網絡模型對數據集進行提取特征的效果并不理想,進一步說明網絡模型中模型對頂芽部分特征提取不到位,導致檢測精度不高。將CPP-CBAM 注意力機制加入到YOLOv5s 模型中,并改進邊界框回歸損失函數,對比4 種網絡模型在棉花頂芽的訓練情況,得出改進YOLOv5s 的mAP 值比YOLOv3、YOLOv5s、YOLOv6s、Faster-RCNN-tiny 模型分別高出3.3、2、2.4、2.1 個百分點,同時模型參數量分別減少57.3、3.5、34.1、26.3 MB,但檢測速度并未達到實時檢測棉花頂芽的幀率。

3.5 Jetson nano 部署試驗分析

為測試YOLOv5-CPP 模型移植到試驗樣機實時檢測頂芽的效果,將YOLOv5-CPP 與YOLOv5s、YOLOv5-CotNet、YOLOv5-BotNet 3 種模型進行對比分析,4 種模型檢測棉田同一區域被遮擋頂芽,如圖4 所示。通過測試頂芽圖可以發現,YOLOv5s、YOLOv5-BotNet、YOLOv5-CotNet 模型識別遮擋的頂芽分別漏檢頂芽個數為5、5、2,同時YOLOv5-BotNet 錯檢1 個頂芽,YOLOv5-CPP 檢測模型(圖4d)較比 YOLOv5-CotNet檢測模型(圖4c)檢測遮擋的頂芽,平均準確度mAP分別提升15、29 個百分點,YOLOv5-CPP 模型魯棒性進一步加強,模型識別準確度大幅度提升,同時在TensorRT 加速情況下檢測速度達到了52 幀/s,滿足實時檢測的效果,在遮擋情況下的頂芽基礎上識別率、模型的魯棒性進一步提升,驗證了對遮擋情況的下頂芽有提升的效果。

4 結論

本文在復雜環境識別遮擋下的棉花頂芽,建立不同不同光照和不同天氣條件下的棉花頂芽樣本,通過增加小目標檢測層提高淺層與深層的特征融合,提升檢測精度通過增加小目標檢測層,并且添加注意力機制,同時改進Focss Loss 損失函數,提升棉花頂芽樣本識別率,并通過棉花打頂平臺驗證不同檢測模型對棉花頂芽識別,得到以下幾個結論:

1)通過在模型特征提取層增加小目標檢測層以及YOLOv5-CPP 并 與 YOLOv5-SE、YOLOv5-BotNet、YOLOv5-CotNet、YOLOv5-C2f、YOLOv5-CCA 5 種 模型進行對比,平均準確度mAP 分別提高了2.5、1.6、1.7、0.8、1.4 個百分點,尤其在識別被遮擋頂芽平均精度AP分別提高了4.3、4.4、4.3、1.9、1.9 個百分點,充分驗證在模型特征提取層增加 CPP-CBAM 注意力機制能夠完成在復雜情況下的頂芽精確識別。

2)本文通過對YOLOv5 模型改進,YOLOv5-CPP 不均衡各類樣本 檢測精度mAP 達到了92.8%,比YOLOv5s模型提高了2 個百分點,與YOLOv3、YOLOv6、Fast RCNN 相比,mAP 分別提高了3.3、2.4、2.1 個百分點,分析得出YOLOv5-CPP 對復雜情況下樣本檢測優勢明顯。

YOLOv5-CPP 模型在復雜背景下識別精度、魯棒性大幅度提升,模型的檢測速度雖然降低,但YOLOv5-CPP 模型通過 TensorRT 加速后經過實地驗證后可以滿足棉花打頂實時識別檢測要求,而且對于棉花打頂機而言,在保證識別準確率的前提下,提升速度指標,是保障機械作業效率的前提,為模型在棉花打頂機械上的遷移部署提供技術支持。

猜你喜歡
頂芽注意力棉花
棉花是花嗎?
讓注意力“飛”回來
遼寧熊岳地區蘋果樹凍害調查分析*
脫毒馬鈴薯費烏瑞它不同薯塊對產量的影響
棉花
“揚眼”APP:讓注意力“變現”
A Beautiful Way Of Looking At Things
道地藥材建青黛組織培養技術研究
心中的“棉花糖”
第三講 棉花肥害診斷及其防治
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合