景 亮,鮑致遠
(江蘇大學 電氣信息工程學院,江蘇 鎮江 212013)
農業是國民經濟的基礎,現代農業裝備是現代農業的重要支撐。近年來,隨著我國老齡化程度逐漸加重,勞動力出現短缺,導致果園運營成本直線上升。因此,果園機器人成為替代繁重體力勞動、改善生產條件、提高生產效率、降低生產成本的關鍵裝備。
無人農機在果園的實際作業中存在一些障礙物,并且經常會出現人與無人農機協同作業的情況。為了確保無人農機作業時的安全性與可靠性,設計一個準確、實時的障礙物檢測算法十分必要。
目前,障礙物檢測包含激光傳感器檢測[1]、超聲波傳感器檢測[2]和圖像傳感器檢測[3]方法。在果園作業環境中,圖像傳感器具備價格低廉、不易受干擾、響應迅速等特點[4]。采用圖像傳感器檢測果園障礙物屬于目標檢測的子任務,隨著近年來計算機計算能力的飛速增長,深度學習方法已成為目標檢測領域的主流,主要分為:先候選區域再分類的兩階段檢測算法,例如R-CNN[5]、Fast RCNN[6]、Faster-RCNN[7];直接回歸物體位置與類別的單階段檢測算法,例如YOLO[8-10]系列算法和SSD[11-12]算法。其中,單階段檢測算法精準度較低,但檢測速度快、計算需求資源小。
目前,陳成坤等[13]將YOLOv4 算法應用到嵌入式設備中,但存在實時性較差的問題。陳斌等[14]提出一種改進的YOLOv3-tiny 算法,通過融合淺層特征并引入殘差模塊,但存在模型參數量較大的問題。魏建勝等[15]提出一種改進的YOLOv3 算法,將損失函數改進為DIoU,但存在精確度較低的問題。
針對上述問題,本文提出Ghost-CA-YOLOv4 網絡,采用GhostNet[16]作為主干特征提取網絡,并在GhostNet 中引入注意力機制進一步增強主干網絡對障礙物特征的關注。同時,將傳統YOLOv4 的DIoU-NMS 改進為Soft-CIoUNMS,以降低誤檢概率。
YOLOv4 的網絡結構分為Backbone、SPP、PANet 和Head。其中,Backbone 由一個CBM 模塊和多個Resblock_body 疊加塊組成,進行初步的提取特征任務;SPP 在原有特征基礎上增加13×13、9×9、5×5 的感受野,能更好地處理上下文特征;PANet 將Backbone、SPP 中提取到的特征進行不同尺度的融合,以強化Backbone 的特征提取能力;Head 通過卷積操作輸出物體坐標與概率。YOLOv4 的網絡結構與模塊組成如圖1所示。

Fig.1 YOLOv4 network structure and module composition圖1 YOLOv4網絡結構和模塊組成
1.2.1 GhostNet
2020 年,輕量化網絡GhostNet 被提出,主要對常規卷積進行優化。由于常規卷積操作會生成大量冗余特征圖,而Ghost Module 利用線性變換生成指定比例的冗余特征圖,在計算精度幾乎相同的情況下,消耗的計算資源更少。
Ghost Module 的具體實現、常規卷積與Ghost Module的區別如圖2 所示。首先,Primary Conv 使用1×1 卷積獲取必要的濃縮特征,Cheap Operation 使用3×3的深度可分離卷積獲取相似特征圖;然后將兩者進行拼接。

Fig.2 Difference between conventional convolution and Ghost Module and the specific implementation of Ghost Module圖2 常規卷積與Ghost Module區別與Ghost Module的具體實現
在線性變換和普通卷積的卷積核大小一樣的情況下,假設輸入矩陣為A×B×C,輸出矩陣為A′×B′×C′,普通卷積的卷積核為K×K,Ghost Module 中總卷積與常規卷積的比例為M,通常M?C。常規卷積與Ghost Module 的計算量的比值如式(1)所示。
常規卷積與Ghost Module 的參數量比值如式(2)所示。
Ghost Bottleneck 的結構如圖3 所示。當步長(Stride)為1 時,由兩個Ghost Module 和一個殘差邊組成Ghost Bottleneck。第一個Ghost Module 擴展輸入矩陣的通道數,第二個Ghost Module 縮減通道數。當步長為2 時,在兩個Ghost Module 間添加[2×2]的深度可分離卷積完成寬高壓縮操作,其他部分不變。Ghostnet 由多個Ghost Bottleneck疊加塊組成,結構如表1所示。

Table 1 Ghostnet structure表1 Ghostnet結構

Fig.3 Ghost Bottleneck structure圖3 Ghost Bottleneck結構
1.2.2 注意力機制
注意力機制(Coordinate Attention,CA)[17]結合了通道維度信息和空間位置信息,首先進行Coordinate 信息嵌入,然后進行Coordinate Attention 生成,具體結構如圖4所示。

Fig.4 Structure of coordinate attention mechanism圖4 CA注意力機制結構
Coordinate 信息嵌入描述如下:沿著輸入矩陣的水平(X)軸和垂直(Y)軸分別進行全局池化得到兩個不同的空間方向特征。其中,水平(X)軸使用H×1 的卷積核進行全局池化,將輸入矩陣C×H×W轉換為C×H×1 的矩陣。
垂直(Y)軸使用1 ×W的卷積核進行全局池化,將輸入矩陣C×H×W轉換為C×1 ×W的矩陣。
Coordinate Attention 描述如下:將兩個空間方向特征先進行特征融合,然后進行1×1 卷積,最后通過非線性激活函數變換,得到中間特征映射f。
式中:[]為特征融合操作;δ為非線性激活函數;F1為1×1卷積變換函數。
對中間特征映射f進行空間維度分解,經過1×1 卷積和Sigmoid 函數得到特征gh、gw。
式中:σ為Sigmoid 函數;Fh、Fw為1×1卷積變換函數。
將輸入矩陣的殘差與gh、gw相乘得到最后的輸出矩陣。
式中:yc為最后的輸出矩陣;xc為輸入矩陣的殘差。
本文對Ghost Bottleneck 進行改進以提升檢測精度。當步長為1 時,在兩個Ghost Module 間引入CA 注意力機制;當步長為2 時,在深度可分離卷積后引入CA 注意力機制。改進后的Ghost Bottleneck 如圖5所示。

Fig.5 Improved Ghost Bottleneck圖5 改進Ghost Bottleneck
1.2.3 改進后的網絡
改進后的網絡Ghost-CA-YOLOv4 結構如圖6 所示,采用Ghostnet 作為主干特征提取網絡,并在Ghostnet 中引入CA 注意力機制。

Fig.6 Improved Ghost-CA-YOLOv4 network structure圖6 改進Ghost-CA-YOLOv4網絡結構
1.2.4 Soft-CIOU-NMS
YOLOv4 使用的DIoU-NMS 算法計算其余預測框與置信度最高檢測框重疊的程度,僅保留低于閾值的框。由于果園環境中存在檢測目標相互遮蔽的情況,DIoU-NMS 存在漏檢誤檢的問題[18]。為此,本文提出Soft-CIoU-NMS 算法,首先保留高于閾值的檢測框,然后根據重疊程度對其置信度進行調整,重疊程度采用CIoU 計算。Soft-CIoUNMS的計算公式如式(9)—式(11)所示。
式中:Si為當前預測框的置信度得分;RCIoU表示CIoU損失函數的懲罰項;Bi為當前類別中全部的預測框;μ為置信度最高的預測框;ε為預先設定的閾值;b為預測框的中心點;bgt為真實框的中心點;ρ為兩個框中心點的歐式距離;C為兩個預測框的外接框的對角線像素長度;α為權重函數;ν為度量寬高比一致性的量化指標;wgt為真實框寬度;hgt為真實框高度;w為預測框寬度;h表示預測框高度。
由此可見,Soft-CIoU-MNS 相較于DIoU-NMS 雖然增加了一部分計算,但僅占整體計算量的小部分,并不影響檢測速度。
本文數據集為在江蘇大學拍攝的1 600 張圖片,通過Labelimg 標注工具對拍攝圖片進行真實框標注,標注格式為PASCAL VOC,數據集包括樹(Tree)、人(People)、桿(Pole)3 種障礙物,其中人的姿態主要有站立、坐和蹲,按照8∶1∶1 的比例將數據集劃分為訓練集、驗證集和測試集,如圖7所示。

Fig.7 Self-made dataset圖7 自制數據集
為了進一步提升模型的泛化能力,在訓練前對數據集進行數據增強操作。本文實驗采用的數據增強方法包括隨機翻轉、裁剪、對比度調整、顏色變換,使得數據集圖片數量增加到3 200張。
計算機硬件為Inter(R)Core i7-10870H CPU、NVIDIA RTX 3070 Laptop GPU、運行內存16 GB;訓練框架為Pytorch 1.7.1 和Cuda 11.2;編程語言版本為Python 3.8.5,操作系統為Windows 10。本文具體訓練參數如下:圖像輸入尺寸為416×416,優化器SGD 的批尺寸為8、動量為0.94、權重衰減系數為0.001,初始學習率為0.001,衰減率為0.95。
本文使用準確率(Precision,P)、召回率(Recall,R)、類別平均精度(mAP),模型參數大小(單位為MB)和每秒傳輸幀數(FPS)對模型進行評價,如式(12)—式(14)所示。
式中:TP代表被正確分類的正樣本;FP代表被錯誤分類的負樣本,FN 代表被錯誤分類的正樣本;AP代表某個類別的平均精度;NoC代表數據集中待檢測目標總類別數。AP計算公式如式(15)所示:
為了驗證改進模型的效果,對YOLOv4、YOLOv4-Tiny、MobileNetv3-YOLOV4 和Ghost-CA-YOLOv4 進行比較,每個模型均在自制數據集上訓練200 個周期(Epoch),各性能指標如表2所示。

Table 2 Comparison of detection indicators of different models表2 不同模型檢測指標比較
由表2 可知,Ghost-CA-YOLOv4 模型相較于YOLOv4,在精準率、召回率、mAP 方面分別提升0.78%、0.55%、0.87%;相較于YOLOv4-Tiny 分別提升9.88%、12.77%、13.61%;相較于MobileNetv3-YOLOV4 分別提升1.71%、3.39%、3.63%。在模型大小方面,Ghost-CA-YOLOv4 相較于YOLOv4 縮小82%;相較于YOLOv4-Tiny 增大97%,相較于MobileNetv3-YOLOV4 縮小17%。Ghost-CA-YOLOv4 的FPS 在4種模型中僅次于YOLOv4-Tiny。綜合而言,Ghost-CA-YOLOv4 在檢測精度和速度方面性能更好。具體檢測效果如圖8、圖9所示。

Fig.8 Detection effect image1圖8 檢測效果圖1

Fig.9 Detection effect image2圖9 檢測效果圖2
由圖9 可見,在面對目標重疊或密集的情況下,Soft-CIoU-NMS 算法、Ghost-CA-YOLOv4 依然能保證檢測的準確性,YOLOv4、YOLOv4-Tiny、MobileNetv3-YOLOV4 存在漏檢或檢測精度較低的現象。
為了驗證Ghostnet、CA 注意力機制和Soft-CIoU-NMS提升YOLOv4 性能的有效性,在訓練集和驗證集相同的情況下設計消融實驗,如表3 所示。由此可見,替換主干網絡導致模型的mAP 下降3.32%,模型大小縮減82.44%;引入CA 注意力機制后mAP 提升3.48%,模型大小小幅增加,表明CA 注意力機制可有效提升模型的特征提取能力;加入Soft-CIoU-NMS 后模型的mAP 提升0.81%,表明該部分能降低誤檢概率,進一步提升模型性能。

Table 3 Results of ablation experiment表3 消融實驗結果
本文提出一種基于Ghost-CA-YOLOv4 的果園障礙物檢測算法,將Ghostnet 作為主干網絡對模型進行輕量化操作,并在Ghostnet 中結合CA 注意力機制,以提升模型對位置信息和通道信息的關注程度。在后處理部分,將DIoUNMS 改進為Soft-CIoU-NMS 以增強模型在目標重疊或密集時的檢測能力。
實驗表明,Ghost-CA-YOLOv4 模型檢測精度更高、檢測速度快且模型較小,能更好地滿足果園機器人的作業需求。未來可通過通道剪枝技術獲得最佳輕量化模型,使其能在嵌入式設備上有具有更快的檢測速度和更高的檢測精度。同時,由于在實際果園場景中會出現大量噴霧的情況,后續工作也可研究去霧算法,將其與現有目標檢測算法結合,在實際作業中更好的完成避障感知任務。