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

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

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

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

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

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

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

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

圖6 模型的訓(xùn)練曲線圖
由表5 可知,優(yōu)化后的網(wǎng)絡(luò)對(duì)每一類障礙物的檢測(cè)效果都有提升,其中,對(duì)靜態(tài)障礙物的檢測(cè)效果提升尤其明顯。優(yōu)化前的網(wǎng)絡(luò)對(duì)每一種障礙物檢測(cè)時(shí)的mAP(0.5)大多都在60%以上,但對(duì)野外環(huán)境下最常見的3 種障礙物石頭、水坑、樹木,其mAP(0.5)均不足50%,且水坑的mAP(0.5)不足40%。優(yōu)化前對(duì)石頭、水坑、樹木這3 類障礙物檢測(cè)效果差的主要原因?yàn)閭鹘y(tǒng)Faster R-CNN 采用VGG16網(wǎng)絡(luò)提取特征時(shí)容易丟失信息。

表5 優(yōu)化前后各類別檢測(cè)結(jié)果mAP(0.5) 單位:%
改進(jìn)型Faster R-CNN 模型對(duì)石頭、水坑、樹木這3 類障礙物的mAP(0.5)繼續(xù)提升,都達(dá)到了63%以上。這是因?yàn)閮?yōu)化后的特征提取網(wǎng)絡(luò)能保證特征的有效提取,Soft-NMS 的使用也減少了NMS帶來的目標(biāo)建議框誤刪除和誤檢現(xiàn)象,提升了Recall值。
如圖7 所示,在背景雜亂、障礙物情況復(fù)雜的工況中,使用優(yōu)化方案的網(wǎng)絡(luò)識(shí)別效果較好,正確精準(zhǔn)框選出來所有障礙物;優(yōu)化前網(wǎng)絡(luò)漏檢了5 個(gè)“樹木”障礙物以及所有“石頭”。由圖7 可知,本文最終優(yōu)化所得網(wǎng)絡(luò)模型在野外環(huán)境障礙物檢測(cè)上具有一定優(yōu)越性。

圖7 檢測(cè)效果對(duì)比
“水坑”障礙物邊界不明顯,較難精確框選。如圖8 所示,在對(duì)“水坑”進(jìn)行檢測(cè)時(shí),使用改進(jìn)型Faster R-CNN 網(wǎng)絡(luò)精準(zhǔn)識(shí)別出圖像中所有“水坑”;改進(jìn)前網(wǎng)絡(luò)漏檢了兩個(gè)“水坑”。由圖8 可知,本文最終優(yōu)化所得網(wǎng)絡(luò)模型在野外環(huán)境障礙物檢測(cè)上具有一定優(yōu)越性。

圖8 檢測(cè)效果對(duì)比
本文以 Faster R-CNN 卷積神經(jīng)網(wǎng)絡(luò)模型為基礎(chǔ),從替換特征提取網(wǎng)絡(luò),引入注意力機(jī)制和替換非極大值抑制算法方面等方面對(duì) Faster R-CNN進(jìn)行模型改進(jìn),提升野外環(huán)境下無人車的障礙物檢測(cè)性能。試驗(yàn)結(jié)果表明,與原始Faster R-CNN 網(wǎng)絡(luò)相比,優(yōu)化改進(jìn)后的Faster R-CNN 算法在野外障礙物檢測(cè)任務(wù)中不僅檢測(cè)速度滿足實(shí)時(shí)性和魯棒性的要求,而且進(jìn)一步提升了障礙物檢測(cè)準(zhǔn)確率并降低了誤檢率。