?

基于YOLOv5 的果園果樹樹干識別研究

2024-04-15 14:04重慶三峽學院機械工程學院唐躍明
河北農機 2024年1期
關鍵詞:圖像處理樹干果園

重慶三峽學院機械工程學院 唐躍明

前言

果業是我國重要的農業種植產業,其種植面積及產量穩居世界首位,在農業中占有重要地位。目前,在果園生產管理過程中主要實現方式依然是人工,存在費時費力且效率低等缺點,因此迫切需要相應的果園機器人實現效率與速度的提升[1]。樹干是果園中重要的特征之一,實現機器人對樹干準確識別對于果園機器人尤為重要。

近年來,基于傳統圖像處理或深度學習方法的樹干識別研究越來越多,推動了相關產業的發展[2-3]。顧寶興等[4]把采集到的圖像輸入到改進的YOLOv3 模型中實現了果樹樹干的識別與定位。劉慧等[5]利用深度相機采集樹干圖像,利用超像素算法對圖像進行分割,融合深度與紋理相近的超像素塊,對深度圖像進行寬度檢測并保留一定閾值內的超像素塊,最后進行色調匹配以判斷是否為樹干。

上述方法雖然能識別出樹干,但是在速度以及精度上仍有待提高。為了實現更準更快識別果樹樹干,本文以YOLOv5 為基線進行改進,提出一種又快又準的樹干檢測模型——YOLOv5-SR。

1 YOLOv5 檢測模型

當前常見深度學習的目標檢測模型大概分為one-stage 和two-stage 兩種。two-stage 模型將識別分為兩個階段,第一階段生成候選的對象區域,第二階段對這些候選區域進行分類和邊界框回歸,這類模型一般有R-CNN、Fast-RCNN、Faster R-CNN 等。one-stage 模型將目標檢測問題視為單一的回歸問題,直接輸出目標的類別和位置信息,這類模型一般有SSD 算法、YOLO 等。本文考慮到場景對實時性的要求,選擇one-stage 類的YOLOv5 模型,此模型具備高準確率的同時還保持著高速檢測。

YOLOv5 網絡結構主要由Backbone、Neck 和Head三部分組成。其中Backbone 是通過卷積層、池化層等提取從輸入圖像中的特征;Neck 是連接Backbone 與Head 的模塊,主要作用是在Backbone 提取的特征基礎上,獲取更高級的語義信息和適應不同尺度圖像的能力;Head 則可實現把不同尺度的特征進行融合和轉換,捕捉更高層的語義信息和上下文關系,并實現最終的目標分類和邊界框回歸。

2 YOLOv5 網絡模型的改進

在本文中,模型的精度和速度都十分重要,速度的不足可能會導致延遲響應,精度的不足則可能導致錯誤的操作。為了實現果園機器人在復雜的工作環境中的高效準確運行,本文對YOLOv5 進行優化,優化后的模型不僅能提升精確度還能提升速度。

改進的YOLOv5 結構如圖1 所示。本文在YOLOv5模型的Backbone 中引入輕量級的RepVGG 模塊,不僅增強了模型的特征提取能力,還能降低模型在推理時所需的計算量,從而加快了模型的速度。我們在SPPF模塊后面引入了SimAM注意力機制,在不增加額外參數量的情況下,進一步加強模型對特征的提取,提升檢測精度。

圖1 改進模型網絡結構圖

2.1 RepVGG

本文向YOLOv5 模型中引入RepVGG 模塊,以RepVGG 模塊替代Backbone 中的部分C3 模塊,旨在通過這一改進,在維持檢測精度的前提下,顯著提升模型的檢測速度。

RepVGG 網絡結構是由DING Xianhan 提出的一種輕量高效的卷積網絡結構,其結構重參數化實現了訓練和推理的解耦,即在訓練期間利用多分支的結構以增強表征能力,而在推理期間將這些分支合并成一個等效的單一卷積層,加快了推理速度。

RepVGG 訓練和推理結構如圖2 所示,在訓練時為每一個3x3 卷積層添加平行的1x1 卷積分支和恒等映射分支構成一個RepVGG Block,而訓練完成之后將模型等價轉換成類似vgg 網絡的單路網絡以實現加快推理速度[6]。這在一定程度上提高了模型精度與模型推理速度。

圖2 RepVGG 訓練圖及推理圖

2.2 SimAM 注意力機制

SimAM注意力機制是Lingxiao Yang 等提出的一種簡單有效的注意力模塊。SimAM注意力機制與現有的通道、空域注意力機制不同,該注意力機制在沒有引入參數的情況下更加注重三維特征權重,可以實現更加全面、高效的平衡特征重要性[7]。

為了模型更具有全局視野,更深入地理解整個圖像場景,從而獲取更豐富的全局上下文信息,本文將SimAM注意力機制放置于Backbone 中的SPPF 模塊之后。此舉旨在充分利用SPPF 模塊提取的多尺度空間特征,通過SimAM 的注意力機制進行優化,從而實現特征提取階段更加聚焦于有助于檢測任務的信息,提升模型對目標的判別和定位能力,進而提高整體的檢測性能。

3 實驗結果與分析

3.1 實驗環境

本文實驗使用臺式計算機,運行環境為Ubuntu 22.04.3 LTS,CPU 型號為Intel (R)Core (TM)i7-9700K CPU@3.60GHz,GPU 為NVIDA GeForce RTX 2080 Ti,深度學習環境搭載于CUDA11.5 和pytorch1.7.1。

網絡訓練參數設置中,迭代次數為150 輪,初始學習率為0.01,權重衰減系數0.005,動量為0.08。

3.2 評價指標

本文采用的評價指標主要包括準確率、召回率、平均精度均值、參數量、單張圖像處理時間。其中準確率指在預測為正的樣本中,實際為正樣本的比例,能反映出模型在預測為正時的準確性;召回率指在所有實際為正的樣本中,被正確預測為正的樣本的比例,能反映出模型找出所有實際為正樣本的能力;平均精度均值則是綜合了準確率和召回率評估結果的準確度;參數量是指模型中所有可訓練參數的總數,代表了模型的復雜程度;單張圖像處理時間可表示模型處理圖像的速度,反映了模型實時性能。

3.3 實驗結果分析

為驗證本文模型各改進方法的有效性,在相同的硬件設備、相同數據集、相同模型參數下進行消融實驗,結果如表1 所示。在YOLOv5s 模型的基礎上再加入RepVGG 模塊之后模型的參數量28.67M,mAP 為0.754,單張圖像處理時間為6.0ms;在YOLOv5s 原模型上添加SimAM注意力機制之后,參數量26.77M,mAP上升了0.029,其單張圖像處理時間為6.4ms;通過將RepVGG 模塊以及SimAM 注意力機制融合加入到YOLOv5s 模型中后可以發現,參數量為28.17M,mAP達到了0.813,單張圖像處理時間僅5.7ms。實驗結果表明,本文在引入了RepVGG 模塊以及SimAM注意力機制之后,模型參數量雖有所上升,但是得益于RepVGG的結構重參數化以及SimAM 注意力機制使得圖像處理速度與精度大大提升,對于模型提升性能確實行之有效。

表1 消融實驗

為了進一步驗證本文改進的模型的優勢,將本文模型與SSD、YOLOv4、YOLOv3 等主流目標檢測算法在上文所提的條件下進行對比實驗,并選擇P、R、mAP、參數量等性能指標作為對比指標,實驗結果如表2 所示。由表2 可知,本文算法在mAP 上達到了0.813,相比較于SSD、YOLOv3、YOLOv4 以及Faster R-CNN 等算法都高,表明本文算法在精度要求上有一定優勢。而且在參數量以及處理速度方面,本文算法相比較于其他算法也更具有優勢,說明本文算法在實時目標檢測方面相較于其他模型更具有優勢,而且更容易實現模型的部署。

表2 對比實驗

綜上所述,本文所改進的果園果樹樹干目標檢測任務中實現了較高的mAP、較快的處理速度以及較低的參數量和計算量,說明本文算法憑借著高精度以及高速度的優勢基本能實現果園果樹樹干目標檢測任務。

4 結論

本文針對果園果樹樹干識別檢測提出了一種以YOLOv5 為基線的高精度實時目標檢測模型。在本文中采用了結構重參數化技術的RepVGG 模塊來替換網絡中原有的C3 模塊。這一關鍵改進極大提高了模型的推理速度,從而確保了模型即時響應需求。此外,我們引入了SimAM注意力機制。這一機制的加入使得模型對復雜果園環境擁有更全面的理解能力,更強的特征提取能力,使得模型在精確檢測果園中的樹干方面獲得了顯著提升。通過實驗結果分析,本文所改進后的模型算法,實現了高精度、高速度,基本符合果園機器人作業要求,為進一步研發更智能的果園機器人提供了一定幫助。

猜你喜歡
圖像處理樹干果園
天、空、地一體化“未來果園”看一下
秋天的果園
為什么樹干不是方的?
呼嚕豬的大果園
基于圖像處理的機器人精確抓取的設計與實現
機器學習在圖像處理中的應用
我家果園豐收了
為什么要在樹干上刷白漿
為什么要在樹干上刷白漿
為什么要在樹干上刷一層白漿
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合