伍錫如,薛其威
(桂林電子科技大學(xué) 電子工程與自動(dòng)化學(xué)院,廣西 桂林 541004)
隨著人工智能和機(jī)器人技術(shù)的不斷發(fā)展,無人駕駛系統(tǒng)作為人工智能領(lǐng)域中的一個(gè)重要研究方向已經(jīng)成為國內(nèi)外的研究熱點(diǎn)[1-3]。三維車輛檢測作為環(huán)境感知中的重要研究內(nèi)容,為無人駕駛系統(tǒng)的路徑規(guī)劃和運(yùn)動(dòng)控制提供車輛三維空間信息[4-5]。
激光雷達(dá)作為高精度主動(dòng)式環(huán)境探測傳感器,能夠精準(zhǔn)掃描周邊環(huán)境并生成點(diǎn)云信息地圖。激光雷達(dá)生成的三維點(diǎn)云分辨率和精度高,抗干擾性強(qiáng),掃描范圍廣,不受光照和陰影遮擋的影響[6-8]。三維點(diǎn)云可以提供更豐富的數(shù)據(jù)信息,有利于實(shí)現(xiàn)復(fù)雜交通環(huán)境下的無人駕駛[9-10]?;诩す饫走_(dá)的三維車輛檢測算法在過去幾年里發(fā)展較為迅速,涌現(xiàn)出了大量優(yōu)秀算法[11-13]。
Meng 等[14]利 用 圓 柱 形 候 選 框 進(jìn) 行 車 輛 選擇,解決車輛中心點(diǎn)擊策略中缺乏高度信息的問題,并通過在候選前去除背景噪聲來產(chǎn)生更精確的三維對(duì)象預(yù)測。文獻(xiàn)[15]結(jié)合RGB 圖像將激光雷達(dá)點(diǎn)云映射到網(wǎng)格地圖上,通過三維廣義聯(lián)合交集與SmoothL1 相結(jié)合,促進(jìn)三維目標(biāo)檢測的優(yōu)化。梁華為等人[16]基于SVM 分類器改進(jìn)了Adaboost 算法,對(duì)點(diǎn)云信息直接處理并使用最大熵模糊聚類的數(shù)據(jù)關(guān)聯(lián)方法增加穩(wěn)定性。劉健等人[17]通過八叉樹網(wǎng)格法檢測運(yùn)動(dòng)物體,使用DBSCAN 算法進(jìn)行聚類用于提升運(yùn)動(dòng)車輛檢測精度。文獻(xiàn)[18]中采用定向包圍體來描述目標(biāo)障礙物并用RANSAC 算法找出點(diǎn)云分布與方向航向角。崔鑫等人[19]利用深度學(xué)習(xí)方法分別對(duì)點(diǎn)云與圖像進(jìn)行檢測,通過匈牙利算法對(duì)檢測結(jié)果跟蹤并選擇最優(yōu)匹配結(jié)果輸出。上述算法為無人駕駛系統(tǒng)的車輛檢測提供了重要的參考依據(jù)[20-21]。三維車輛檢測過程中普遍存在網(wǎng)格繪制過程復(fù)雜且耗時(shí)長,對(duì)高度被遮擋的車輛會(huì)出現(xiàn)檢測框合并的狀況,而且點(diǎn)云與圖像數(shù)據(jù)的時(shí)空匹配對(duì)時(shí)間戳精度要求高且對(duì)小目標(biāo)不敏感。因此三維車輛檢測時(shí)間長與精度低的問題亟需解決[22]。
本文采用統(tǒng)計(jì)濾波算法和RANSAC 地面分割將點(diǎn)云信息進(jìn)行篩選,剔除離群點(diǎn)減少分類誤差并減少點(diǎn)云計(jì)算量;改進(jìn)3DSSD 深度神經(jīng)網(wǎng)絡(luò),引入融合采樣對(duì)車輛不同位置特征點(diǎn)進(jìn)行選取以優(yōu)化三維檢測的集合提取模塊,降低特征點(diǎn)冗余度;改進(jìn)邊框預(yù)測模塊對(duì)候選點(diǎn)二次篩選,選擇中心部分預(yù)測三維邊框,提高檢測精度。
基于激光雷達(dá)的三維車輛檢測算法的總體框架如圖1 所示。首先將激光雷達(dá)采集到的點(diǎn)云信息進(jìn)行預(yù)處理,利用統(tǒng)計(jì)濾波算法剔除離群點(diǎn);通過RANSAC 算法進(jìn)行地面分割,分離地面無用點(diǎn);預(yù)處理后傳入三維檢測網(wǎng)絡(luò),使用集合提取模塊融合采樣提取車輛特征點(diǎn);特征點(diǎn)傳入邊框預(yù)測模塊選擇中心點(diǎn),輸出三維檢測結(jié)果。
圖1 三維車輛檢測算法總體框架Fig.1 Overall framework of 3D vehicle detection algorithm
激光雷達(dá)掃描過程存在軟硬件誤差使得點(diǎn)集的三維坐標(biāo)產(chǎn)生偏移,出現(xiàn)離群點(diǎn),產(chǎn)生多余特征信息,導(dǎo)致算法模型訓(xùn)練達(dá)不到全局最優(yōu)。
通過最小二乘迭代方法來估計(jì)曲率張量,并在迭代時(shí)根據(jù)點(diǎn)云鄰域?yàn)闃颖痉峙錂?quán)重,細(xì)化點(diǎn)周圍的鄰域。利用曲率以及統(tǒng)計(jì)權(quán)重來校正正態(tài)分布。通過計(jì)算法線和曲率并與閾值進(jìn)行對(duì)比剔除離群點(diǎn),從而較好的保持車輛點(diǎn)云的紋理特征。
在笛卡爾坐標(biāo)系下,點(diǎn)云的每個(gè)點(diǎn)以x,y,z三維坐標(biāo)形式存在。假設(shè)某個(gè)點(diǎn)云樣本為:
其中:n表示采樣點(diǎn)云點(diǎn)的總個(gè)數(shù);pi表示采樣樣本D中的無序點(diǎn),只取每個(gè)無序點(diǎn)的x,y,z三維坐標(biāo)。計(jì)算點(diǎn)的距離閾值dmax:
其中:di為兩兩無序點(diǎn)間距,為點(diǎn)云樣本無序點(diǎn)的平均距離,σ為樣本標(biāo)準(zhǔn)差,α為閾值系數(shù)。若某點(diǎn)與點(diǎn)的距離大于dmax,則判定其為離群點(diǎn),將其剔除于點(diǎn)集。點(diǎn)云統(tǒng)計(jì)濾波算法如表1所示。
表1 點(diǎn)云統(tǒng)計(jì)濾波算法Tab.1 Point cloud statistical filtering algorithm
激光點(diǎn)云統(tǒng)計(jì)濾波算法中每個(gè)點(diǎn)的臨近點(diǎn)個(gè)數(shù)根據(jù)PCL 點(diǎn)云庫統(tǒng)計(jì)濾波器設(shè)定參數(shù)。由于離群點(diǎn)是基于數(shù)據(jù)集中點(diǎn)到臨點(diǎn)的距離分布計(jì)算所得,結(jié)果分布是具有均值和標(biāo)準(zhǔn)差的高斯分布,因此將臨近點(diǎn)數(shù)設(shè)為50,閾值設(shè)為1,閾值系數(shù)α為0.2,平均距離在全局距離均值和標(biāo)準(zhǔn)差之外的區(qū)域都設(shè)置為離群點(diǎn)。
圖2 為點(diǎn)云數(shù)據(jù)過濾前原始圖,近端點(diǎn)云分布分散,地面點(diǎn)云不清晰。遠(yuǎn)端點(diǎn)云在障礙物周邊存在較為雜亂的離群點(diǎn)且分布不均,為車輛檢測增加檢測難度;圖3 為點(diǎn)云數(shù)據(jù)過濾后的視圖,局部區(qū)域的點(diǎn)分布較為均勻。近端地面點(diǎn)云平整,易于后續(xù)的地面分割實(shí)現(xiàn)。遠(yuǎn)端點(diǎn)僅保留車輛及墻面點(diǎn)云信息,分布均勻。
圖2 點(diǎn)云數(shù)據(jù)過濾前圖Fig.2 Image before filtering point cloud data
圖3 點(diǎn)云數(shù)據(jù)過濾后圖Fig.3 Image after filtering point cloud data
激光雷達(dá)采集無人駕駛系統(tǒng)駕駛環(huán)境時(shí),由于地面點(diǎn)云形狀固定,增加點(diǎn)云信息計(jì)算量;同時(shí)存在地面紋理雜亂并含有部分離群點(diǎn),大幅度降低三維車輛檢測的精度。
本文采用RANSAC 算法剔除地面點(diǎn)云,RANSAC 算法首先通過隨機(jī)采樣從測試點(diǎn)集中選取一個(gè)子集進(jìn)行參數(shù)估計(jì)。運(yùn)用所有測試數(shù)據(jù)集對(duì)該估計(jì)模型進(jìn)行檢驗(yàn),根據(jù)測試樣本集中數(shù)據(jù)對(duì)模型的支持度,確定地面估計(jì)的正確性。通過不斷建立假設(shè)與檢驗(yàn)的迭代,以期獲取一個(gè)具有全局最優(yōu)的地面模型參數(shù),即獲得最優(yōu)直線擬合,具體實(shí)現(xiàn)步驟如表2 所示:
表2 RANSAC 分割算法Tab.2 RANSAC segmentation algorithm
RANSAC 分割算法屬于非確定性算法,設(shè)?n是所選擇的n個(gè)點(diǎn)都為內(nèi)點(diǎn)的概率,算法運(yùn)行k次以后成功的概率是p,則概率p為:
因此地面擬合時(shí)設(shè)定單次內(nèi)點(diǎn)概率p=0.99,迭代次數(shù)k=10 000 確定最小模型,實(shí)現(xiàn)地面擬合;并根據(jù)KITTI 數(shù)據(jù)集中激光雷達(dá)點(diǎn)云采樣高度設(shè)定距離閾值di為0.3。圖4 為點(diǎn)云樣本RANSAC 地面分割前的原始圖,包含許多地面點(diǎn)增加了計(jì)算量;圖5 為RANSAC 地面分割后刪除地面點(diǎn)的圖,剔除地面點(diǎn)僅保留地面上障礙物能為后續(xù)的障礙物檢測減少難度。表3 為預(yù)處理前后點(diǎn)云對(duì)比。點(diǎn)云總點(diǎn)數(shù)減少且方差減小,剔除無用離群點(diǎn)使剩余點(diǎn)云更加集中,有利于三維車輛檢測算法訓(xùn)練。
圖4 RANSAC 地面分割前圖Fig.4 Image before RANSAC ground segmentation
圖5 RANSAC 地面分割后圖Fig.5 Image after RANSAC ground segmentation
表3 預(yù)處理模型對(duì)比Tab.3 Comparison of pretreatment models
針對(duì)車輛的特征存在多樣性和復(fù)雜性,引入深度神經(jīng)網(wǎng)絡(luò)以實(shí)現(xiàn)三維車輛檢測。改進(jìn)的深度神經(jīng)網(wǎng)絡(luò)3DSSD 障礙物檢測網(wǎng)絡(luò)框圖如圖6所示,由集合提取模塊、邊框預(yù)測模塊和分類回歸模塊構(gòu)成。
圖6 障礙物檢測網(wǎng)絡(luò)框圖Fig.6 Frame of obstacle detection network
集合提取模塊將激光雷達(dá)點(diǎn)云數(shù)據(jù)作為輸入,對(duì)點(diǎn)云數(shù)據(jù)直接進(jìn)行特征的提取。為了更好的提高采樣率和擴(kuò)大感受野,集合提取層使用多個(gè)分組卷積、多層感知器和最大池化的組合進(jìn)行下采樣。下采樣過程中會(huì)剔除負(fù)點(diǎn),但是不利于樣本分類、感受野無法被擴(kuò)大,導(dǎo)致分類精度有所降低。
本文在分組卷積之前增加融合采樣來對(duì)正點(diǎn)進(jìn)行采樣并提取足夠多的負(fù)點(diǎn)用于網(wǎng)絡(luò)訓(xùn)練。融合采樣過程如圖7 所示,采樣包括獲取點(diǎn)的距離信息與語義信息。語義信息可以被深層神經(jīng)網(wǎng)絡(luò)很好地捕獲,在采樣中加入距離信息作為采樣標(biāo)準(zhǔn),以此保存車輛內(nèi)部點(diǎn)和車輛周圍點(diǎn)云用于深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練。
圖7 融合采樣過程Fig.7 Fusion sampling process
采樣過程中為了減少點(diǎn)云冗余、增加特征多樣性,我們將空間距離和語義特征距離作為采樣標(biāo)準(zhǔn)。其表述如下:
其 中:Ld(A,B) 為A、B 兩 物 體 之 間 的 距 離,Lf(A,B)為A、B 兩個(gè)特征點(diǎn)的距離,λ為距離平衡系數(shù)。下采樣操作中兩個(gè)距離組合在一起作為標(biāo)準(zhǔn)比僅使用特征點(diǎn)距離更有效。
邊框預(yù)測模塊對(duì)集合提取模塊的融合采樣數(shù)據(jù)進(jìn)行中心點(diǎn)選擇、周圍點(diǎn)特征提取以及語義信息生成。本文為進(jìn)一步降低計(jì)算成本,將在融合處理前景點(diǎn)云時(shí)生成候選點(diǎn),選取候選點(diǎn)中心作為邊框預(yù)測的中心部分。根據(jù)中心點(diǎn)位置對(duì)融合采樣結(jié)果采用多層感知器進(jìn)行局部特征提取。
中心點(diǎn)選擇框圖如圖8 所示,根據(jù)融合采樣距離信息剔除遠(yuǎn)景點(diǎn)后將前景點(diǎn)向三維車輛中心移動(dòng)確定候選點(diǎn),再根據(jù)候選點(diǎn)坐標(biāo)求出(x,y,z,)平均值得出三維車輛中心點(diǎn)坐標(biāo)。
圖8 中心點(diǎn)選擇框圖Fig.8 Center point selection block diagram
靠近待測物體中心的候選點(diǎn)往往會(huì)得到更準(zhǔn)確地三維坐標(biāo)預(yù)測。對(duì)于每個(gè)候選點(diǎn),通過兩個(gè)步驟定義其中心標(biāo)簽,判斷候選點(diǎn)是否在待檢測物體中以確定lmask,lmask為0 或1;根據(jù)計(jì)算該點(diǎn)到目標(biāo)六面體各表面距離,通過如下公式得到lctrness:
其中:f,b,l,r,t,d分別代表中心點(diǎn)到六個(gè)面的距離。最后中心標(biāo)簽為lmask與lctrness的乘積,確定待預(yù)測物體中心標(biāo)簽后根據(jù)中心標(biāo)簽位置生成三維檢測框。
算法中多任務(wù)的損失函數(shù)L由分類損失、回歸損失和位移損失組成,設(shè)計(jì)如下:Ldist和Lsize使用SmoothL1 函數(shù)使得損失函數(shù)對(duì)離群點(diǎn)魯棒性更強(qiáng),SmoothL1 函數(shù)如下:
角損失Lcorner和角度回歸損失Langle分別表示如下:
其中:dac與dar分別表示回歸的殘差和預(yù)測值;tar和tac為對(duì)應(yīng)點(diǎn)云的樣本點(diǎn);角損失表示8 個(gè)預(yù)測角與標(biāo)注值的差值,其中Pm為點(diǎn)m的標(biāo)注值,Gm為點(diǎn)m的預(yù)測值。
位移損失Ls主要用于監(jiān)督CG 層的位移預(yù)測,同樣使用SmoothL1 函數(shù)計(jì)算對(duì)應(yīng)的樣本點(diǎn)的預(yù)測值以及殘差。
本文實(shí)驗(yàn)采用KITTI 數(shù)據(jù)集中的7 438 個(gè)點(diǎn)云訓(xùn)練樣本。在進(jìn)行數(shù)據(jù)的過濾和訓(xùn)練前,隨機(jī)將點(diǎn)云樣本分成訓(xùn)練集和驗(yàn)證集。
經(jīng)網(wǎng)絡(luò)架構(gòu)的搭建,實(shí)驗(yàn)的環(huán)境配置為Intel i5-9300H 處理器,16 GB 運(yùn)行內(nèi)存,英偉達(dá)GTX1660Ti 6 GB 顯存顯卡。采用自適應(yīng)矩估計(jì)優(yōu)化器,訓(xùn)練學(xué)習(xí)率為0.002,batchsize 為4,共80 000 次迭代。
為了驗(yàn)證訓(xùn)練模型的泛化能力,采樣未經(jīng)訓(xùn)練的樣本在多場景下進(jìn)行測試。
實(shí)驗(yàn)1 在光線條件良好,存在普通道路與崎嶇不平道路,有車輛??康沫h(huán)境下測試,如圖9 所示為實(shí)驗(yàn)1 車輛三維檢測結(jié)果。車輛之間存在小部分遮擋問題,車輛表面反射激光束,激光雷達(dá)回波強(qiáng)度不受影響,融合采樣對(duì)車輛各部分點(diǎn)云信息采樣完整。經(jīng)預(yù)處理后崎嶇地面對(duì)檢測結(jié)果無影響,車輛點(diǎn)云保留完整。與其他三維檢測算法對(duì)比,返回的點(diǎn)云信息完整,三維檢測框與車輛之間誤差偏轉(zhuǎn)角度較小。測試證明圖9 所用算法對(duì)光線條件良好且普通道路的三維車輛檢測有較好精度。
圖9 實(shí)驗(yàn)1 車輛三維檢測結(jié)果Fig.9 3D vehicle detection result of experiment 1
實(shí)驗(yàn)2 在車輛距離較遠(yuǎn)且道路部分處于陰影狀態(tài),光照條件復(fù)雜的環(huán)境下測試,如圖10所示為實(shí)驗(yàn)2 車輛三維檢測結(jié)果。實(shí)驗(yàn)中激光雷達(dá)在晴朗天氣反射強(qiáng)度衰減較少,由于太陽直射以及陰雨條件下激光雷達(dá)反射強(qiáng)度衰減大,采樣信息不完整,檢測存在一定難度。由點(diǎn)云圖像可知反射強(qiáng)度有所減弱,車輛之間較大部分的遮擋,近景與遠(yuǎn)景都存在待檢測車輛。點(diǎn)云信息只反射回車輛側(cè)面的部分信息,下采樣結(jié)果較少。光線不均勻造成激光雷達(dá)反射強(qiáng)度強(qiáng)弱不一,使得點(diǎn)云信息不平整具有較多離散點(diǎn),統(tǒng)計(jì)濾波對(duì)離散點(diǎn)剔除具有較好的效果。與其他算法相比漏檢誤檢概率低,且由于加入多任務(wù)的損失函數(shù),優(yōu)化了偏轉(zhuǎn)角的預(yù)測,對(duì)車輛偏轉(zhuǎn)角度檢測更為準(zhǔn)確。測試結(jié)果表明圖10所用算法對(duì)車輛距離較遠(yuǎn)且光照條件復(fù)雜的點(diǎn)云信息濾波與檢測有較好結(jié)果。
圖10 實(shí)驗(yàn)2 車輛三維檢測結(jié)果Fig.10 3D vehicle detection result of experiment 2
實(shí)驗(yàn)3 在光線分布不均且遮擋嚴(yán)重環(huán)境下進(jìn)行測試,如圖11 所示為實(shí)驗(yàn)3 車輛三維檢測結(jié)果。反射激光束數(shù)量減少,激光雷達(dá)回波強(qiáng)度降低,車輛遮擋導(dǎo)致每輛車僅能返回部分點(diǎn)云信息,例如車前端側(cè)面或車尾上端點(diǎn)云,為車輛三維檢測增加了難度。激光雷達(dá)采集的點(diǎn)云信息僅為局部信息,缺乏完整車輛三維信息。由于部分車輛距離激光雷達(dá)位置較遠(yuǎn),激光反射強(qiáng)度大幅度降低,僅有部分點(diǎn)返回構(gòu)建成點(diǎn)云地圖,融合采樣對(duì)于缺乏點(diǎn)云信息的部分點(diǎn)集可以同時(shí)采集語義信息與距離信息,采樣返回點(diǎn)集構(gòu)成樣本進(jìn)行檢測,實(shí)驗(yàn)結(jié)果表明本文算法可由車輛部分位置進(jìn)行特征提取并聯(lián)合推斷進(jìn)行三維車輛檢測。
圖11 實(shí)驗(yàn)3 車輛三維檢測結(jié)果Fig.11 3D vehicle detection result of experiment 3
本文算法與其他三維檢測網(wǎng)絡(luò)相比,對(duì)點(diǎn)云信息中車輛的漏檢與誤檢更少,對(duì)車輛偏轉(zhuǎn)角度的預(yù)測更為精準(zhǔn)。點(diǎn)云預(yù)處理之后可以有效保留車輛點(diǎn)云信息,避免離群點(diǎn)與崎嶇地面對(duì)車輛三維檢測精度的影響。改進(jìn)的融合采樣使得算法在復(fù)雜環(huán)境下可以較好的應(yīng)對(duì)車輛間遮擋、環(huán)境光干擾等問題,說明改進(jìn)網(wǎng)絡(luò)能夠高效提取車輛點(diǎn)云特征信息完成三維車輛檢測。
模型的精度測試實(shí)驗(yàn)采用檢測精度指標(biāo)P來衡量改進(jìn)網(wǎng)絡(luò)模型性能,計(jì)算公式如下。
其中:TP為正確識(shí)別并標(biāo)定目標(biāo)的數(shù)目,F(xiàn)P為錯(cuò)誤識(shí)別但標(biāo)定目標(biāo)的數(shù)目,F(xiàn)N為錯(cuò)誤識(shí)別且未能標(biāo)定目標(biāo)的數(shù)目。
本文算法在檢測精度上可達(dá)89.72%,檢測時(shí)間可達(dá)0.12 s。表4 為在實(shí)驗(yàn)1、實(shí)驗(yàn)2、實(shí)驗(yàn)3 中本文算法與3DBN、Point-GNN、AVOD、FPointNet 三維目標(biāo)檢測模型的性能進(jìn)行對(duì)比。由表4 可得出:在實(shí)驗(yàn)1 中由于體素的方法更適應(yīng)于簡單場景,因此本文算法檢測精度略低于Point-GNN,但優(yōu)于其他幾類三維目標(biāo)檢測模型;本文算法加入點(diǎn)云預(yù)處理模塊并使用融合采樣用于點(diǎn)云特征提取,可以應(yīng)對(duì)復(fù)雜環(huán)境的光照及遮擋問題,因此在實(shí)驗(yàn)2 與實(shí)驗(yàn)3 中本文算法檢測精度高于其他幾類算法。與二維圖像和激光雷達(dá)點(diǎn)云數(shù)據(jù)對(duì)齊后再映射到三維圖像的方法相比,直接基于點(diǎn)云的特征提取與三維檢測避免了時(shí)間戳的對(duì)齊,無需將相機(jī)和激光雷達(dá)聯(lián)合標(biāo)定,減少了在硬件設(shè)備調(diào)整過程中出現(xiàn)的誤差。
表4 三維檢測網(wǎng)絡(luò)性能對(duì)比Tab.4 Performance comparison of 3D detection network
本文提出了一種改進(jìn)的基于激光雷達(dá)三維車輛檢測的算法。該算法采用統(tǒng)計(jì)濾波算法與RANSAC 地面分割算法剔除點(diǎn)云冗余信息;加入融合采樣提取車輛點(diǎn)云語義信息和距離信息,擴(kuò)大感受野并提升分類精度;改進(jìn)邊框預(yù)測模塊對(duì)候選點(diǎn)二次篩選剔除遠(yuǎn)景點(diǎn),重新選擇車輛中心點(diǎn)生成三維檢測框。實(shí)驗(yàn)結(jié)果表明:統(tǒng)計(jì)濾波算法和RANSAC 地面分割的預(yù)處理可以有效地剔除離群點(diǎn),減少其他因素的干擾;檢測精度上可達(dá)89.72%,檢測時(shí)間可達(dá)0.12 s。對(duì)3DSSD深度神經(jīng)網(wǎng)絡(luò)的改進(jìn)具有較高的準(zhǔn)確性與實(shí)時(shí)性,使無人駕駛系統(tǒng)能在光照條件不均路況的復(fù)雜環(huán)境下實(shí)現(xiàn)三維車輛檢測。本文提出的算法具有重要的理論意義和應(yīng)用價(jià)值,可為無人駕駛系統(tǒng)的三維車輛檢測提供有力手段。