郭景華, 董清鈺, 王靖瑤
(1. 廈門大學 機電工程系,福建,廈門 361005;2. 廈門大學 航空航天學院,福建,廈門 361005)
障礙物的準確識別和檢測是無人車進行軌跡規劃與安全控制的前提條件。而野外環境存在不平坦的地面、雜草、樹木,背景較復雜,且道路上障礙物種類繁多,遮擋嚴重,這些都給野外環境下無人車障礙物檢測算法的準確性和魯棒性帶來很大挑戰[1]。
當前常見的障礙物檢測方法主要分為基于激光雷達和基于視覺兩種。激光雷達通過旋轉激光束,利用物體表面的反射光計算得出反射光的時差,不僅能獲得與物體相隔的距離,還能獲得物體的位置信息和反射特性,其優點是光束窄、波長短、分辨率高[2-3]。XIE Desheng 等[4]利用三維激光雷達,實現了復雜交通環境下對障礙物進行檢測和跟蹤。OHKAWA 等[5]根據激光的反射強度值不同,對石塊進行了檢測。然而,野外環境下激光雷達內部長期處于旋轉中的機械結構會給系統帶來不穩定性,在顛簸振動時的影響尤其明顯,且當距離增加時,激光雷達獲得的點云會逐漸稀疏,使檢測變得困難。
在較大尺度且動態的環境中,視覺檢測因為其具有的紋理信息,表現出更好的效果[6]。基于視覺的障礙物檢測需要使用攝像機拍攝環境信息圖像,再利用視覺檢測算法對道路障礙物進行識別與檢測,通常分為傳統視覺識別算法和基于深度學習的識別算法兩種方法。
傳統機器視覺算法中,需要人工分析圖片的特征,選取諸如顏色、紋理、輪廓、HOG、Harr等特征作為切入點,再通過圖像處理算法提取特征,然后通過特征的值來區分障礙物[7]。最后需要對圖像進行形態學操作等后處理,得到目標與背景分離后的清晰圖像,并將分離后的圖像送入分類器中實現分類。因為傳統機器視覺算法需要手工提取特征,所以對于野外環境下復雜多變的障礙物,算法魯棒性較低。
卷積神經網絡通過共享權值,可以自主學習豐富的圖像特征信息,當前在障礙物檢測研究中被廣泛使用[8]。對于障礙物的檢測,當前常用的模型有兩類,第1 類為基于區域推薦的兩步(Two Stage)目標檢測算法,主要有R-CNN、SPP-Net、Fast RCNN、Faster R-CNN 等。第2 類為基于回歸的一步(One Stage)目標檢測算法,代表網絡為SSD 和YOLO 系列兩種類型。這兩類常用模型各有優缺點,基于區域推薦的目標檢測算法的檢測速度較慢,但精度遠高于基于回歸的目標檢測算法;基于回歸的檢測算法的檢測速度較快,但損失了一定檢測精度[9-10]。
盡管目前基于深度學習的障礙物研究較多,但很多都局限在背景簡單的城市道路中,對野外環境下形態復雜的障礙物研究較少。考慮到野外環境存在背景復雜等問題,檢測相較于城市道路更加困難,為在保證實時性的同時盡可能地精確檢測障礙物,本文利用了深度學習中的Faster R-CNN 卷積神經網絡技術,通過替換特征提取網絡,引入注意力機制和替換非極大值抑制算法完成了對Faster RCNN網絡的改進優化,實現了越野環境下障礙物的準確檢測和識別。
野外環境中障礙物具有復雜多變、尺度變換大等特點[11],因為ResNet 網絡在特征提取時不易丟失細節特征,FPN 網絡能很好解決尺度變換大的問題,所以本文將FPN 網絡與ResNet50 網絡進行結合,對野外環境圖像進行特征提取。
圖1 所示為FPN 網絡與ResNet50 網絡相結合的結構。在自底向上的過程中,將ResNet50 中conv2_x、conv3_x、conv4_x、conv5_x 層的最后一個殘差塊輸出特征作為FPN 網絡各級的輸入,并記為{C2,C3,C4,C5};在自頂向下的過程中,每一級的特征圖C 經過1×1 卷積調整得到特征圖M,經調整后的M 特征圖也有4 級,記為{M1,M2,M3,M4}。通過以上采樣將相鄰兩級特征圖M 進行融合,并經過3×3 卷積后得到最終的特征圖P。為避免計算量過大,本文特征提取時最終僅輸出4種尺度級別特征圖,記為{P2,P3,P4,P5}。由于FPN 的所有層使用同一個分類器和回歸器,所有特征圖中取固定特征維度256。

圖1 FPN+ResNet50網絡結構
NMS(Non-Maximum Suppression)是較常用的非極大值抑制算法,其本質是搜索局部最大值預測框,為避免傳統NMS 算法因為閾值難調整帶來的誤刪除和誤檢問題,本文使用Soft-NMS 算法代替NMS 算法,對于與最高分框IoU 大于閾值的框,不直接去掉,而是通過加上與IoU 相關聯的權值將他的置信度降低,這樣可以使更多的框被保留下來,能一定程度上避免誤刪除的情況出現,為避免閾值設置,使用高斯加權,如式(1)所示。
式中:M為當前得分最高框;bi為待處理建議框。
Soft-NMS算法具體步驟為:
1)獲取某一類別的所有建議框的坐標信息以及置信度;
2)將該類別建議框置信度由高到低排序并記錄順序;
3)將該類別置信度最高的建議框依次與剩余建議框計算IoU值并記錄,根據IoU計算權值,IoU越大權重值越小,對置信度的抑制越明顯,將計算后的置信度再次按從大到小排序,去掉置信度特別低的建議框。
依次對所有類別進行以上3個步驟的操作。
經過NMS 和Soft-NMS 對候選框進行篩選的效果如圖2所示,使用NMS篩選建議框時,如果閾值設置過大,篩選條件過于嚴格,會出現圖2a所示的漏檢情況;如果閾值設置過小,篩選條件不嚴格,會出現誤檢情況。而使用Soft-NMS 算法能在一定程度上解決建議框篩選不夠精確的問題,提升了網絡模型的識別效果。

圖2 NMS和Soft-NMS對比
基礎網格生成的特征圖通道維度和空間維度包含不同的信息,而且各個特征信息對目標檢測的效果貢獻也不同。在已有網絡中嵌入軟注意力機制[12-13],有助于特征圖中有效特征信息篩選和減小計算量。為平衡網絡模型的檢測精確度和檢測速度,本文借鑒SENet網絡中ResNet網絡嵌入注意力機制的方式,即在每個卷積層殘差塊最后嵌入注意力機制,如圖3所示。
由圖3 可知,圖像從左側傳入,在前向傳播的過程中產生特征圖,注意力機制嵌入到每個卷積層后, 組成新的conv2_x、 conv3_x、 conv4_x、conv5_x,各conv_x 塊輸出的特征圖最后傳入FPN網絡。
優化后的Faster R-CNN 模型損失主要分為RPN部分的損失和Fast R-CNN 部分的損失,并且兩部分損失都由分類損失(cls Loss) 和回歸損失(bbox Regression Loss)組成。

表1 注意力機制(AM)嵌入后配置信息
RPN部分損失計算如式(2)所示。
式中:Ncls為篩選的Anchor 數,取256;Lcls為二分類交叉熵損失函數;Nreg為Anchor 位置的個數;Lreg為邊界框回歸損失。
在RPN 網絡里產生的Anchor 只針對前景和背景進行分類,可以看作是個二分類問題,因此,用二分類交叉熵損失函數對其分類損失進行計算,如式(3)所示。
邊界框回歸損失中:
式中:pi為第i個Anchor 預測為真實標簽的概率,當為正樣本時取1,為負樣本時取0;Ncls為篩選的Anchor 數,取256;ti表示預測第i個Anchor 的邊界框回歸參數;表示第i個Anchor 所對應的實際標定框的邊界回歸參數。
Fast R-CNN部分對目標進行最終檢測的損失計算如式(6)所示。
式中:Lloc為邊界框回歸損失。
Fast R-CNN部分利用多分類的交叉熵損失函數對其分類損失進行計算:
邊界框回歸損失中:
本文數據集采集于真實野外環境,有訓練集9 000 張圖像,驗證集4 000 張圖像,測試集4 000張圖像。LabelImg 是一款可視化圖像標定工具,專門用來實現數據集標定工作,標注后的信息可以自動以圖像名稱命名為.xml文件,模型訓練時讀取生成的.xml文件即可獲取圖像中目標信息和圖像尺寸信息。利用LabelImg 對本文數據集中圖像進行標定,標定后各類別目標數量信息見表2。

表2 各類別目標數量
幾何變換是一種最基礎、最直接的擴充樣本方法。在野外環境中,障礙物往往存在多角度問題,即同一類型目標(比如樹木、石頭、動物等)在圖像中可能會以多種方向、位置排布出現。為了避免數據集內障礙物在圖像里分布情況不夠多樣化,使模型學習不到必要特征的情況發生,本文在圖像進入網絡模型訓練之前,進行翻轉數據增強操作。在模型訓練過程中,圖像翻轉數據增強方法會在線地隨機對稱翻轉數據集內的圖像,無需重新標定數據集。使用該數據增強方法后,模型在學習到旋轉不變性的同時,其學習到不相關特征的可能性也大幅度減少,從而使模型泛化能力和魯棒性得到提高。圖4為圖像翻轉后的效果。

圖4 圖像翻轉處理后效果
野外環境與城市環境不同,其光照變化大,沒有路燈等設備對環境進行補光,光照來源僅有太陽,且野外的樹蔭、山坡等物體的遮擋,對圖像光照環境影響也較大,為解決光照對模型魯棒性帶來的影響問題,本文使用色域扭曲法對數據集進行增強,該方法隨機地扭曲圖片色域中的HSV 通道。通過色域扭曲法,在訓練過程中,網絡會隨機對圖像色調、飽和度、明度進行調整,模擬不同光照情況下的圖片狀況,能高效地豐富數據集,使模型學習到更多有利特征,提高模型魯棒性和泛化能力。圖5 為對數據集進行隨機色域扭曲處理后的效果。

圖5 色域扭曲處理后效果
試驗環境使用Ubuntu 18.04 操作系統,采用GeForce RTX 3090 顯卡進行運算,顯存大小為24 GB,CPU 配置為Intel i7-11700K @ 3.60 GHz,CUDA 版本為11.1,Pytorch版本為1.8.0,Python版本為3.8。
為更快得到最優點,保證網絡的訓練效率,本文在訓練時,使用遷移學習方法,減少了到達收斂點所需epoch。本文訓練模型時的基本參數見表3。
為了評估目標檢測模型的性能,本文利用查全率(Recall)、平均精度(Average Precision, AP)和平均精度均值(mean Average Precision, mAP)衡量模型精度,每秒處理的幀數(Frames Per Second, FPS)作為模型速度的衡量標準。
在評價指標中,根據檢測結果與圖像真實情況的不同,將判別結果分為表4所列的4類。

表4 判別結果分類
精確率(Precision),即查準率,指所有識別出來的圖片中,正確樣本所占比率,如式(9)所示。
召回率(Recall),即查全率,指所有標記的全部正樣本中,能被正確識別的比率,如式(10)所示。本文Recall為IOU為0.5時所對應的值。
AP 值為Precision-recall 曲線下的面積。通常,在召回率增加的同時,精確率能維持在比較高的水平的分類器性能較好。但如果分類器的性能較差,網絡會降低一部分精確率以提升召回率,因此,AP 值能反映分類器性能的好壞,AP 值越大障礙物檢測時目標分類效果越好。
圖6 展示了模型訓練曲線,由可視化曲線可以看到,學習率減小并趨于0,隨著訓練輪數(epoch)的增加,模型評價指標在達到最高值后均趨于穩定,無明顯過擬合現象,改進后網絡縮短了模型收斂所需時間,且本文優化改進所得網絡無論是在評價指標mAP (0.5)、mAP (0.75) 還是Recall 上,都表現出了明顯的優勢。且經過測試,最終優化所得網絡檢測速度FPS為21,滿足實時性要求。

圖6 模型的訓練曲線圖
由表5 可知,優化后的網絡對每一類障礙物的檢測效果都有提升,其中,對靜態障礙物的檢測效果提升尤其明顯。優化前的網絡對每一種障礙物檢測時的mAP(0.5)大多都在60%以上,但對野外環境下最常見的3 種障礙物石頭、水坑、樹木,其mAP(0.5)均不足50%,且水坑的mAP(0.5)不足40%。優化前對石頭、水坑、樹木這3 類障礙物檢測效果差的主要原因為傳統Faster R-CNN 采用VGG16網絡提取特征時容易丟失信息。

表5 優化前后各類別檢測結果mAP(0.5) 單位:%
改進型Faster R-CNN 模型對石頭、水坑、樹木這3 類障礙物的mAP(0.5)繼續提升,都達到了63%以上。這是因為優化后的特征提取網絡能保證特征的有效提取,Soft-NMS 的使用也減少了NMS帶來的目標建議框誤刪除和誤檢現象,提升了Recall值。
如圖7 所示,在背景雜亂、障礙物情況復雜的工況中,使用優化方案的網絡識別效果較好,正確精準框選出來所有障礙物;優化前網絡漏檢了5 個“樹木”障礙物以及所有“石頭”。由圖7 可知,本文最終優化所得網絡模型在野外環境障礙物檢測上具有一定優越性。

圖7 檢測效果對比
“水坑”障礙物邊界不明顯,較難精確框選。如圖8 所示,在對“水坑”進行檢測時,使用改進型Faster R-CNN 網絡精準識別出圖像中所有“水坑”;改進前網絡漏檢了兩個“水坑”。由圖8 可知,本文最終優化所得網絡模型在野外環境障礙物檢測上具有一定優越性。

圖8 檢測效果對比
本文以 Faster R-CNN 卷積神經網絡模型為基礎,從替換特征提取網絡,引入注意力機制和替換非極大值抑制算法方面等方面對 Faster R-CNN進行模型改進,提升野外環境下無人車的障礙物檢測性能。試驗結果表明,與原始Faster R-CNN 網絡相比,優化改進后的Faster R-CNN 算法在野外障礙物檢測任務中不僅檢測速度滿足實時性和魯棒性的要求,而且進一步提升了障礙物檢測準確率并降低了誤檢率。