伍錫如,薛其威
(桂林電子科技大學 電子工程與自動化學院,廣西 桂林 541004)
隨著人工智能和機器人技術的不斷發展,無人駕駛系統作為人工智能領域中的一個重要研究方向已經成為國內外的研究熱點[1-3]。三維車輛檢測作為環境感知中的重要研究內容,為無人駕駛系統的路徑規劃和運動控制提供車輛三維空間信息[4-5]。
激光雷達作為高精度主動式環境探測傳感器,能夠精準掃描周邊環境并生成點云信息地圖。激光雷達生成的三維點云分辨率和精度高,抗干擾性強,掃描范圍廣,不受光照和陰影遮擋的影響[6-8]。三維點云可以提供更豐富的數據信息,有利于實現復雜交通環境下的無人駕駛[9-10]。基于激光雷達的三維車輛檢測算法在過去幾年里發展較為迅速,涌現出了大量優秀算法[11-13]。
Meng 等[14]利 用 圓 柱 形 候 選 框 進 行 車 輛 選擇,解決車輛中心點擊策略中缺乏高度信息的問題,并通過在候選前去除背景噪聲來產生更精確的三維對象預測。文獻[15]結合RGB 圖像將激光雷達點云映射到網格地圖上,通過三維廣義聯合交集與SmoothL1 相結合,促進三維目標檢測的優化。梁華為等人[16]基于SVM 分類器改進了Adaboost 算法,對點云信息直接處理并使用最大熵模糊聚類的數據關聯方法增加穩定性。劉健等人[17]通過八叉樹網格法檢測運動物體,使用DBSCAN 算法進行聚類用于提升運動車輛檢測精度。文獻[18]中采用定向包圍體來描述目標障礙物并用RANSAC 算法找出點云分布與方向航向角。崔鑫等人[19]利用深度學習方法分別對點云與圖像進行檢測,通過匈牙利算法對檢測結果跟蹤并選擇最優匹配結果輸出。上述算法為無人駕駛系統的車輛檢測提供了重要的參考依據[20-21]。三維車輛檢測過程中普遍存在網格繪制過程復雜且耗時長,對高度被遮擋的車輛會出現檢測框合并的狀況,而且點云與圖像數據的時空匹配對時間戳精度要求高且對小目標不敏感。因此三維車輛檢測時間長與精度低的問題亟需解決[22]。
本文采用統計濾波算法和RANSAC 地面分割將點云信息進行篩選,剔除離群點減少分類誤差并減少點云計算量;改進3DSSD 深度神經網絡,引入融合采樣對車輛不同位置特征點進行選取以優化三維檢測的集合提取模塊,降低特征點冗余度;改進邊框預測模塊對候選點二次篩選,選擇中心部分預測三維邊框,提高檢測精度。
基于激光雷達的三維車輛檢測算法的總體框架如圖1 所示。首先將激光雷達采集到的點云信息進行預處理,利用統計濾波算法剔除離群點;通過RANSAC 算法進行地面分割,分離地面無用點;預處理后傳入三維檢測網絡,使用集合提取模塊融合采樣提取車輛特征點;特征點傳入邊框預測模塊選擇中心點,輸出三維檢測結果。

圖1 三維車輛檢測算法總體框架Fig.1 Overall framework of 3D vehicle detection algorithm
激光雷達掃描過程存在軟硬件誤差使得點集的三維坐標產生偏移,出現離群點,產生多余特征信息,導致算法模型訓練達不到全局最優。
通過最小二乘迭代方法來估計曲率張量,并在迭代時根據點云鄰域為樣本分配權重,細化點周圍的鄰域。利用曲率以及統計權重來校正正態分布。通過計算法線和曲率并與閾值進行對比剔除離群點,從而較好的保持車輛點云的紋理特征。
在笛卡爾坐標系下,點云的每個點以x,y,z三維坐標形式存在。假設某個點云樣本為:

其中:n表示采樣點云點的總個數;pi表示采樣樣本D中的無序點,只取每個無序點的x,y,z三維坐標。計算點的距離閾值dmax:

其中:di為兩兩無序點間距,為點云樣本無序點的平均距離,σ為樣本標準差,α為閾值系數。若某點與點的距離大于dmax,則判定其為離群點,將其剔除于點集。點云統計濾波算法如表1所示。

表1 點云統計濾波算法Tab.1 Point cloud statistical filtering algorithm
激光點云統計濾波算法中每個點的臨近點個數根據PCL 點云庫統計濾波器設定參數。由于離群點是基于數據集中點到臨點的距離分布計算所得,結果分布是具有均值和標準差的高斯分布,因此將臨近點數設為50,閾值設為1,閾值系數α為0.2,平均距離在全局距離均值和標準差之外的區域都設置為離群點。
圖2 為點云數據過濾前原始圖,近端點云分布分散,地面點云不清晰。遠端點云在障礙物周邊存在較為雜亂的離群點且分布不均,為車輛檢測增加檢測難度;圖3 為點云數據過濾后的視圖,局部區域的點分布較為均勻。近端地面點云平整,易于后續的地面分割實現。遠端點僅保留車輛及墻面點云信息,分布均勻。

圖2 點云數據過濾前圖Fig.2 Image before filtering point cloud data

圖3 點云數據過濾后圖Fig.3 Image after filtering point cloud data
激光雷達采集無人駕駛系統駕駛環境時,由于地面點云形狀固定,增加點云信息計算量;同時存在地面紋理雜亂并含有部分離群點,大幅度降低三維車輛檢測的精度。
本文采用RANSAC 算法剔除地面點云,RANSAC 算法首先通過隨機采樣從測試點集中選取一個子集進行參數估計。運用所有測試數據集對該估計模型進行檢驗,根據測試樣本集中數據對模型的支持度,確定地面估計的正確性。通過不斷建立假設與檢驗的迭代,以期獲取一個具有全局最優的地面模型參數,即獲得最優直線擬合,具體實現步驟如表2 所示:

表2 RANSAC 分割算法Tab.2 RANSAC segmentation algorithm
RANSAC 分割算法屬于非確定性算法,設?n是所選擇的n個點都為內點的概率,算法運行k次以后成功的概率是p,則概率p為:

因此地面擬合時設定單次內點概率p=0.99,迭代次數k=10 000 確定最小模型,實現地面擬合;并根據KITTI 數據集中激光雷達點云采樣高度設定距離閾值di為0.3。圖4 為點云樣本RANSAC 地面分割前的原始圖,包含許多地面點增加了計算量;圖5 為RANSAC 地面分割后刪除地面點的圖,剔除地面點僅保留地面上障礙物能為后續的障礙物檢測減少難度。表3 為預處理前后點云對比。點云總點數減少且方差減小,剔除無用離群點使剩余點云更加集中,有利于三維車輛檢測算法訓練。

圖4 RANSAC 地面分割前圖Fig.4 Image before RANSAC ground segmentation

圖5 RANSAC 地面分割后圖Fig.5 Image after RANSAC ground segmentation

表3 預處理模型對比Tab.3 Comparison of pretreatment models
針對車輛的特征存在多樣性和復雜性,引入深度神經網絡以實現三維車輛檢測。改進的深度神經網絡3DSSD 障礙物檢測網絡框圖如圖6所示,由集合提取模塊、邊框預測模塊和分類回歸模塊構成。

圖6 障礙物檢測網絡框圖Fig.6 Frame of obstacle detection network
集合提取模塊將激光雷達點云數據作為輸入,對點云數據直接進行特征的提取。為了更好的提高采樣率和擴大感受野,集合提取層使用多個分組卷積、多層感知器和最大池化的組合進行下采樣。下采樣過程中會剔除負點,但是不利于樣本分類、感受野無法被擴大,導致分類精度有所降低。
本文在分組卷積之前增加融合采樣來對正點進行采樣并提取足夠多的負點用于網絡訓練。融合采樣過程如圖7 所示,采樣包括獲取點的距離信息與語義信息。語義信息可以被深層神經網絡很好地捕獲,在采樣中加入距離信息作為采樣標準,以此保存車輛內部點和車輛周圍點云用于深度神經網絡訓練。

圖7 融合采樣過程Fig.7 Fusion sampling process
采樣過程中為了減少點云冗余、增加特征多樣性,我們將空間距離和語義特征距離作為采樣標準。其表述如下:

其 中:Ld(A,B) 為A、B 兩 物 體 之 間 的 距 離,Lf(A,B)為A、B 兩個特征點的距離,λ為距離平衡系數。下采樣操作中兩個距離組合在一起作為標準比僅使用特征點距離更有效。
邊框預測模塊對集合提取模塊的融合采樣數據進行中心點選擇、周圍點特征提取以及語義信息生成。本文為進一步降低計算成本,將在融合處理前景點云時生成候選點,選取候選點中心作為邊框預測的中心部分。根據中心點位置對融合采樣結果采用多層感知器進行局部特征提取。
中心點選擇框圖如圖8 所示,根據融合采樣距離信息剔除遠景點后將前景點向三維車輛中心移動確定候選點,再根據候選點坐標求出(x,y,z,)平均值得出三維車輛中心點坐標。

圖8 中心點選擇框圖Fig.8 Center point selection block diagram
靠近待測物體中心的候選點往往會得到更準確地三維坐標預測。對于每個候選點,通過兩個步驟定義其中心標簽,判斷候選點是否在待檢測物體中以確定lmask,lmask為0 或1;根據計算該點到目標六面體各表面距離,通過如下公式得到lctrness:

其中:f,b,l,r,t,d分別代表中心點到六個面的距離。最后中心標簽為lmask與lctrness的乘積,確定待預測物體中心標簽后根據中心標簽位置生成三維檢測框。

算法中多任務的損失函數L由分類損失、回歸損失和位移損失組成,設計如下:Ldist和Lsize使用SmoothL1 函數使得損失函數對離群點魯棒性更強,SmoothL1 函數如下:

角損失Lcorner和角度回歸損失Langle分別表示如下:

其中:dac與dar分別表示回歸的殘差和預測值;tar和tac為對應點云的樣本點;角損失表示8 個預測角與標注值的差值,其中Pm為點m的標注值,Gm為點m的預測值。
位移損失Ls主要用于監督CG 層的位移預測,同樣使用SmoothL1 函數計算對應的樣本點的預測值以及殘差。
本文實驗采用KITTI 數據集中的7 438 個點云訓練樣本。在進行數據的過濾和訓練前,隨機將點云樣本分成訓練集和驗證集。
經網絡架構的搭建,實驗的環境配置為Intel i5-9300H 處理器,16 GB 運行內存,英偉達GTX1660Ti 6 GB 顯存顯卡。采用自適應矩估計優化器,訓練學習率為0.002,batchsize 為4,共80 000 次迭代。
為了驗證訓練模型的泛化能力,采樣未經訓練的樣本在多場景下進行測試。
實驗1 在光線條件良好,存在普通道路與崎嶇不平道路,有車輛停靠的環境下測試,如圖9 所示為實驗1 車輛三維檢測結果。車輛之間存在小部分遮擋問題,車輛表面反射激光束,激光雷達回波強度不受影響,融合采樣對車輛各部分點云信息采樣完整。經預處理后崎嶇地面對檢測結果無影響,車輛點云保留完整。與其他三維檢測算法對比,返回的點云信息完整,三維檢測框與車輛之間誤差偏轉角度較小。測試證明圖9 所用算法對光線條件良好且普通道路的三維車輛檢測有較好精度。

圖9 實驗1 車輛三維檢測結果Fig.9 3D vehicle detection result of experiment 1
實驗2 在車輛距離較遠且道路部分處于陰影狀態,光照條件復雜的環境下測試,如圖10所示為實驗2 車輛三維檢測結果。實驗中激光雷達在晴朗天氣反射強度衰減較少,由于太陽直射以及陰雨條件下激光雷達反射強度衰減大,采樣信息不完整,檢測存在一定難度。由點云圖像可知反射強度有所減弱,車輛之間較大部分的遮擋,近景與遠景都存在待檢測車輛。點云信息只反射回車輛側面的部分信息,下采樣結果較少。光線不均勻造成激光雷達反射強度強弱不一,使得點云信息不平整具有較多離散點,統計濾波對離散點剔除具有較好的效果。與其他算法相比漏檢誤檢概率低,且由于加入多任務的損失函數,優化了偏轉角的預測,對車輛偏轉角度檢測更為準確。測試結果表明圖10所用算法對車輛距離較遠且光照條件復雜的點云信息濾波與檢測有較好結果。

圖10 實驗2 車輛三維檢測結果Fig.10 3D vehicle detection result of experiment 2
實驗3 在光線分布不均且遮擋嚴重環境下進行測試,如圖11 所示為實驗3 車輛三維檢測結果。反射激光束數量減少,激光雷達回波強度降低,車輛遮擋導致每輛車僅能返回部分點云信息,例如車前端側面或車尾上端點云,為車輛三維檢測增加了難度。激光雷達采集的點云信息僅為局部信息,缺乏完整車輛三維信息。由于部分車輛距離激光雷達位置較遠,激光反射強度大幅度降低,僅有部分點返回構建成點云地圖,融合采樣對于缺乏點云信息的部分點集可以同時采集語義信息與距離信息,采樣返回點集構成樣本進行檢測,實驗結果表明本文算法可由車輛部分位置進行特征提取并聯合推斷進行三維車輛檢測。

圖11 實驗3 車輛三維檢測結果Fig.11 3D vehicle detection result of experiment 3
本文算法與其他三維檢測網絡相比,對點云信息中車輛的漏檢與誤檢更少,對車輛偏轉角度的預測更為精準。點云預處理之后可以有效保留車輛點云信息,避免離群點與崎嶇地面對車輛三維檢測精度的影響。改進的融合采樣使得算法在復雜環境下可以較好的應對車輛間遮擋、環境光干擾等問題,說明改進網絡能夠高效提取車輛點云特征信息完成三維車輛檢測。
模型的精度測試實驗采用檢測精度指標P來衡量改進網絡模型性能,計算公式如下。

其中:TP為正確識別并標定目標的數目,FP為錯誤識別但標定目標的數目,FN為錯誤識別且未能標定目標的數目。
本文算法在檢測精度上可達89.72%,檢測時間可達0.12 s。表4 為在實驗1、實驗2、實驗3 中本文算法與3DBN、Point-GNN、AVOD、FPointNet 三維目標檢測模型的性能進行對比。由表4 可得出:在實驗1 中由于體素的方法更適應于簡單場景,因此本文算法檢測精度略低于Point-GNN,但優于其他幾類三維目標檢測模型;本文算法加入點云預處理模塊并使用融合采樣用于點云特征提取,可以應對復雜環境的光照及遮擋問題,因此在實驗2 與實驗3 中本文算法檢測精度高于其他幾類算法。與二維圖像和激光雷達點云數據對齊后再映射到三維圖像的方法相比,直接基于點云的特征提取與三維檢測避免了時間戳的對齊,無需將相機和激光雷達聯合標定,減少了在硬件設備調整過程中出現的誤差。

表4 三維檢測網絡性能對比Tab.4 Performance comparison of 3D detection network
本文提出了一種改進的基于激光雷達三維車輛檢測的算法。該算法采用統計濾波算法與RANSAC 地面分割算法剔除點云冗余信息;加入融合采樣提取車輛點云語義信息和距離信息,擴大感受野并提升分類精度;改進邊框預測模塊對候選點二次篩選剔除遠景點,重新選擇車輛中心點生成三維檢測框。實驗結果表明:統計濾波算法和RANSAC 地面分割的預處理可以有效地剔除離群點,減少其他因素的干擾;檢測精度上可達89.72%,檢測時間可達0.12 s。對3DSSD深度神經網絡的改進具有較高的準確性與實時性,使無人駕駛系統能在光照條件不均路況的復雜環境下實現三維車輛檢測。本文提出的算法具有重要的理論意義和應用價值,可為無人駕駛系統的三維車輛檢測提供有力手段。