









摘要:針對機器人視覺系統在開闊環境中檢測精度低的問題,該文提出了基于改進YOLOv8n的目標檢測算法。實驗結果顯示,在引入多尺度檢測頭和壓縮-激勵注意力模塊后,YOLOv8n的準確率上升到82.3%,而在引入Ghost卷積后,算法的浮點運算數降低至11.6。同時基于改進YOLOv8n的目標檢測算法在水面環境中的檢測準確率可達83.6%,高于其他算法。上述結果表明,基于改進YOLOv8n的目標檢測算法不僅檢測精度高,且計算復雜度低。
關鍵詞:機器人;目標檢測;YOLOv8n;注意力機制;Ghost卷積
doi:10.3969/J.ISSN.1672-7274.2024.11.016
中圖分類號:TP 242" " " " " " " " "文獻標志碼:A" " " " " " 文章編碼:1672-7274(2024)11-00-03
Research on Object Recognition Algorithm for Robot Vision System Based on Improved YOLOv8n
GONG Mingming
(Qingdao Vocational and Technical College, Qingdao 266000, China)
Abstract: In response to the problem of low detection accuracy of robot vision systems in open environments, a target detection algorithm based on improved YOLOv8n is proposed. The experimental results show that with the introduction of a multi-scale detection head and a compression excitation attention module, the accuracy of YOLOv8n increases to 82.3%, while with the introduction of Ghost convolution, the floating-point operations of the algorithm decrease to 11.6. At the same time, the detection accuracy of the object detection algorithm based on improved YOLOv8n in water surface environment can reach 83.6%, which is higher than other algorithms. The above results indicate that the object detection algorithm based on improved YOLOv8n not only has high detection accuracy, but also has low computational complexity.
Keywords: robot; object detection; YOLOv8n; attention mechanism; ghost convolution
機器人自發明以來,已經廣泛應用于各領域,集成了機械、控制、傳感、電子、人工智能等多個交叉學科的先進技術。大多數機器人均處于特定的環境中,面對開闊環境的作業機器人較少。這是因為機器人在開闊環境中的目標檢測難度較大,以水面垃圾清理機器人為例,其能自主對垃圾進行清理,有效降低垃圾的打撈成本[1]。但由于水面環境十分開闊,且水面環境中倒影、反光及波紋等現象的影響,導致機器人難以準確識別水面垃圾。鑒于此,本文提出了基于改進YOLOv8n的目標檢測方法。該方法創新性地利用多尺度檢測頭和Squeeze-Excitation(SE)注意力模塊對YOLOv8n進行了改進,并利用Ghost卷積降低了模型的計算復雜度。
1" "基于改進YOLOv8n的目標檢測算法
1.1 基于YOLOv8n的目標檢測算法
YOLOv8n作為一種能實現圖像分類、物體檢測和實例分割任務的網絡,相較于之前的YOLO版本,具有更好的性能和靈活性。YOLOv8n在之前的YOLO網絡基礎上,對骨干網絡、損失函數和Ancher-Free檢測頭進行了優化,從而實現了在從CPU到GPU的各種硬件平臺上的運行。YOLOv8n的結構如圖1所示。
由圖1可知,YOLOv8n主要分為Backbone網絡和Head網絡兩部分。其中Backbone網絡是物體檢測的基礎,其是由Darknet網絡演變而來,主要負責對圖像特征進行提取。同時,Backbone網絡還能有效加快網絡的運行速度。Backbone網絡主要包含卷積模塊、跨階段部分特征融合模塊(Cross stage partial feature fusion module,C2f)和空間金字塔池化(Spatial Pyramid Pooling Fast,SPPF)模塊。其中跨階段部分特征融合模塊由殘差模塊和卷積模塊組成,其是Backbone網絡的最主要特征提取模塊[2]。為了加強C2f的特征感知能力,本文在其中引入了坐標信息嵌入和坐標注意力。輸入特征圖的全局信息表示公式見式(1)。
(1)
式中,表示通道垂直方向上的特征;、、分別表示輸入特征圖的高、通道數和寬;表示通道水平方向上的特征;表示通道的特征信息。坐標注意力權重計算公式見式(2)。
(2)
式中,和分別表示垂直和水平方向上的坐標注意力權重;和均表示卷積變換函數;表示sigmoid函數;和分別表示特征圖在垂直和水平方向上的獨立張量。帶坐標注意力的特征圖見式(3)。
(3)
式中,表示帶坐標注意力的特征圖。在Head網絡中,特征金字塔網絡負責將深層和淺層的特征圖通過上采樣的方式進行融合,然后通過像素聚合網絡利用下采樣的方式對深層和淺層的特征圖進行融合。對于多尺度檢測結構而言,研究設置了3個輸出檢測頭,各檢測頭的輸入大小逐漸遞減。此外,由于YOLOv8n所用的損失函數對不平衡樣本的敏感度較高,因此本文用WIoU函數替代其原有函數,以減少有害梯度的產生。WIoU損失函數見式(4)。
(4)
式中,表示WIoU損失函數;表示離群度;和均表示學習參數;表示WIoU函數的梯度增益;表示IoU函數。
1.2 基于SE注意力和Ghost卷積的改進YOLOv8n
通過上述的YOLOv8n雖然能實現對目標的檢測,但由于YOLOv8n易受到環境因素的干擾,進而導致誤檢和漏檢。同時,由于在開闊環境中視野更加寬廣,因此當小目標數量較多時,YOLOv8n難以覆蓋所有檢測目標。鑒于此,為了提高YOLOv8n對小目標的檢測性能,本文在YOLOv8n中增加了小目標檢測頭。小目標檢測頭能對特征圖進行4倍采樣,進一步縮小局部感受野的大小[3]。通過小目標檢測頭雖然能實現對微小特征的檢測,但其所提取的信息缺乏針對性。因此,為了進一步提高YOLOv8n的目標檢測性能,本文在其中引入了壓縮-激勵(Squeeze-Excitation,SE)注意力模塊。在SE注意力模塊中,壓縮子塊是通過全局平均池化層對特征進行壓縮的,再通過激勵子塊對特征進行處理。激勵后的輸出計算公式見式(5)。
(5)
式中,表示激勵操作后的輸出;表示激勵操作;表示壓縮操作后的輸出;表示權重矩陣;表示sigmoid函數;表示ReLU函數;和分別表示降維和升維操作。通過引入SE注意力模塊可以增加網絡對特征信息的關注度,進而減小無關信息的干擾,提高網絡的魯棒性。在引入小目標檢測模塊和SE注意力模塊后,雖然使得網絡模型的目標檢測能力大幅提升,但其會產生大量的冗余特征圖,導致網絡模型的計算復雜度較大。因此,為了節約計算資源,降低網絡模型的計算復雜度,本文還在YOLOv8n中引入了Ghost卷積模塊,用以替換YOLOv8n中的普通卷積模塊。Ghost卷積模塊會先進行常規卷積再進行廉價線性變換,最終即可得到Ghost特征圖。本征特征圖計算公式見式(6)。
(6)
式中,表示本征特征圖;表示輸入特征圖;表示常規卷積。Ghost特征圖計算公式見式(7)。
(7)
式中,表示Ghost特征圖的通道特征圖;表示本征特征圖在通道的特征圖;表廉價線性變換。最后將本征特征圖和Ghost特征圖進行拼接,即可得到最終輸出。
2" "機器人目標檢測算法性能分析
為了驗證本文提出的目標檢測算法的性能,本文以水面垃圾檢測為例,對其進行了測試。分別驗證了多尺度檢測頭和注意力機制對YOLOVv8n的影響。實驗所用數據集為FloW-Img,該數據集包含2 000張水面垃圾圖像,其中1 500張圖片作為訓練集,剩余500張圖片作為測試集。實驗環境為Ubuntu 20.04.4.LTS,實驗所用GPU為Tesla P100-PCIE,內存為16 GB。實驗采用的優化算法為SGD算法,其衰減率和權重衰減分別為0.9和0.000 5,初始學習率和迭代次數分別為0.01和300,批處理大小和圖像尺寸分別為32和640×640。不同的檢測頭及SE注意力模塊引入方式的模型性能如圖2所示。
由圖2(a)可知,在引入a、b、c、d檢測頭后,模型的平均精度均值分別為80.7%、81.8%、81.4%和81.7%,浮點運算數分別為12.2、11.9、12.0和11.9,其中b類檢測頭的準確度略高于其他類型的檢測頭。由圖2(b)可知,在引入SE1、SE2和SE3后,模型的平均精度均值分別為81.4%、82.2%和80.7%,浮點運算數分別為12.8、12.7和12.5。上述結果表明,多尺度檢測頭的引入方式對模型的性能影響不大,而SE注意力模塊的引入方式會影響模型的性能。改進YOLOv8n的消融實驗結果及不同目標檢測模型的性能如圖3所示。
由圖3(a)可知,隨著多尺度檢測頭和SE注意力模塊的引入,模型的計算復雜度也隨之上升,由8.1上升至了11.7和12.7,而在引入Ghost卷積后,模型的平均精度均值雖然無太大變化,但其浮點運算數顯著降低,僅為11.6。由圖3(b)可知,YOLOv5s、YOLOv7-tiny、YOLOv8s和改進YOLOv8n的對水面垃圾檢測的平均精度均值分別為75.6%、67.5%、82.5%和83.6%,浮點運算數分別為16.8、12.5、31.8和11.6。上述結果表明,引入Ghost卷積能有效降低模型的計算復雜度,同時改進YOLOv8n的檢測精度和計算復雜度均優于其他模型。
3" "結束語
由于機器人在開闊環境中對微小物體的識別存在困難,因此為了實現對開闊環境中物體的準確檢測,本文提出了基于改進YOLOv8n的目標檢測算法,并以典型的開闊環境-水面為例進行了測試。實驗結果顯示,在YOLOv8n中引入多尺度檢測頭和SE注意力模塊后,其平均精度均值顯著升高,由79.5%上升至了82.3%,但同時其浮點運算數也顯著上升,由11.7上升至了12.7。而在引入Ghost卷積后,浮點運算數顯著降低,僅為11.6。改進后的YOLOv8n的平均檢測精度上升至83.6%;而浮點運算數則小于其他模型。上述結果表明,本文提出的基于改進YOLOv8n的機器人目標檢測算法具有檢測精度高,計算復雜度低的優點。由于本文所用數據集的物體種類和環境較為單一,導致其在實際中的應用效果未知。因此,未來將對數據集進行擴展,增加物體種類和環境類別,保證測試結果的準確性。
參考文獻
[1] 唐賢康,趙軍.中小水域的水面垃圾清理機器人[J].兵工自動化,2022,41(2):92-96.
[2] 崔克彬,焦靜頤.基于MCB-FAH-YOLOv8的鋼材表面缺陷檢測算法[J].圖學學報,2024,45(1):112-125.
[3] 陳偉,王曉龍,張晏瑋,等.基于改進YOLOv8的高速公路服務區車輛違停檢測[J].計算機工程,2024,50(4):11-19.