彭羅曼,張海洋,王文鑫,白莎莎,劉炫,趙長(zhǎng)明
(1.光電成像技術(shù)與系統(tǒng)教育部重點(diǎn)實(shí)驗(yàn)室,北京 100081;2.信息光子技術(shù)工業(yè)和信息化部重點(diǎn)實(shí)驗(yàn)室,北京 100081;3.北京理工大學(xué) 光電學(xué)院,北京 100081)
隨著5G 技術(shù)與無(wú)人駕駛技術(shù)的快速發(fā)展,對(duì)周?chē)h(huán)境的可靠感知是無(wú)人駕駛領(lǐng)域的重要任務(wù)[1-3],環(huán)境感知分為地面濾除[4]、ROI 提取[5]、聚類(lèi)分割[6,7]、檢測(cè)識(shí)別[8]四大模塊,其中物體的精準(zhǔn)聚類(lèi)是后續(xù)障礙物檢測(cè)良好效果的基礎(chǔ)保障[9-11]。單獨(dú)分割相鄰障礙物是環(huán)境感知的重要問(wèn)題,車(chē)輛和行人為園區(qū)送貨車(chē)等低速無(wú)人駕駛感知的主要對(duì)象,激光雷達(dá)數(shù)據(jù)空間分布不均勻[12],稀疏點(diǎn)云的相鄰障礙物聚類(lèi)分割效果不佳,無(wú)法區(qū)分靠近車(chē)的行人以及相近的遠(yuǎn)距離行人,會(huì)給駕駛帶來(lái)安全隱患。
國(guó)內(nèi)外關(guān)于激光雷達(dá)點(diǎn)云的分割主要有深度學(xué)習(xí)和基于聚類(lèi)兩種方法[13-14]。PointNet++雖然相比PointNet 對(duì)點(diǎn)云的局部特征提取性能有所提升,但實(shí)時(shí)性方面仍然欠缺[15]?;谏疃葘W(xué)習(xí)的點(diǎn)云分割雖然檢測(cè)精度高,但存在訓(xùn)練數(shù)據(jù)集難以獲取、對(duì)計(jì)算單元性能要求高等問(wèn)題,且對(duì)稀疏點(diǎn)云適用性有限[16-17]。而基于聚類(lèi)的分割則避免了上述問(wèn)題,具有穩(wěn)定、快速等優(yōu)點(diǎn)。文獻(xiàn)[18]基于點(diǎn)云射線(xiàn)角度約束改進(jìn)歐式聚類(lèi)實(shí)現(xiàn)對(duì)一定范圍內(nèi)障礙物的分割與聚類(lèi),但其聚類(lèi)半徑閾值是根據(jù)不同區(qū)域劃分,沒(méi)有實(shí)現(xiàn)自適應(yīng),不夠靈活。文獻(xiàn)[19]基于KD-Tree 和歐式聚類(lèi)結(jié)合行人幾何約束實(shí)現(xiàn)越野環(huán)境下的多人行人點(diǎn)云聚類(lèi)提取,但能夠聚類(lèi)的行人相距很遠(yuǎn)。文獻(xiàn)[20]基于64 線(xiàn)激光雷達(dá)和RTK-GPS(real-time kinematic global positioning system)、INS(inertial navigation system)多幀融合后的數(shù)據(jù)進(jìn)行障礙物的聚類(lèi)檢測(cè),但不同障礙物相近時(shí),存在被聚類(lèi)成一個(gè)簇的問(wèn)題。文獻(xiàn)[21]通過(guò)點(diǎn)云去畸變和距離閾值自適應(yīng)的歐式聚類(lèi),實(shí)現(xiàn)較近和較遠(yuǎn)障礙物的聚類(lèi),但去畸變方法使得該算法的實(shí)時(shí)性較差。文獻(xiàn)[22]二次多項(xiàng)式擬合獲取不同距離下的歐式聚類(lèi)半徑,但該方法用于聚類(lèi)低線(xiàn)激光雷達(dá)采集的遠(yuǎn)處障礙物時(shí),存在縱向過(guò)分割的問(wèn)題。
為了解決上述問(wèn)題,基于16 線(xiàn)激光雷達(dá)獲取道路上人/人、人/車(chē)相鄰場(chǎng)景的稀疏點(diǎn)云數(shù)據(jù),提出了基于多幀融合的相鄰障礙物聚類(lèi)分割方法,在提高遠(yuǎn)距離人/人、人/車(chē)點(diǎn)云密度的同時(shí),提高相鄰人/人、人/車(chē)聚類(lèi)分割效果。
低線(xiàn)激光雷達(dá)點(diǎn)云數(shù)據(jù)稀疏,隨著物體和傳感器之間距離的增加,相鄰點(diǎn)之間的歐式距離增加,導(dǎo)致遠(yuǎn)距離物體聚類(lèi)困難,相鄰物體變得更加難以分割。因此,提出將多幀融合應(yīng)用于聚類(lèi)前的數(shù)據(jù)處理,增加遠(yuǎn)距離物體點(diǎn)云密度,便于后續(xù)聚類(lèi)分割。
基于IMU 獲取LIDAR 的位姿變化,實(shí)現(xiàn)多幀點(diǎn)云數(shù)據(jù)融合。LIDAR 和 IMU 頻率均設(shè)為10 Hz,根據(jù)ROS 多傳感器時(shí)間同步機(jī)制實(shí)現(xiàn)兩者時(shí)間同步。LIDAR 和 IMU 都有自身的坐標(biāo)系,在進(jìn)行數(shù)據(jù)融合前,需要將兩者輸出的信息統(tǒng)一到同一坐標(biāo)系下,實(shí)現(xiàn)空間同步。由于LIDAR 和IMU 在安裝完成后保持固定,所以對(duì)LIDAR 和 IMU 進(jìn)行聯(lián)合標(biāo)定,得到兩者之間的外參關(guān)系,將點(diǎn)云數(shù)據(jù)統(tǒng)一到IMU 坐標(biāo)系進(jìn)行多幀融合。
聯(lián)合標(biāo)定需要確定LIDAR 和IMU 之間的6 自由度的轉(zhuǎn)換關(guān)系,即={R,t},R為旋轉(zhuǎn)參數(shù),t為平移參數(shù)。LIDAR/IMU 的聯(lián)合標(biāo)定具體原理步驟如下:
1)將LIDAR 數(shù)據(jù)根據(jù)當(dāng)前假設(shè)的狀態(tài)變量變換到IMU 坐標(biāo)系下;
2)構(gòu)建KD-Tree 結(jié)構(gòu),對(duì)每一次掃描時(shí)的數(shù)據(jù),在下一次掃描中尋找最近鄰的點(diǎn)并計(jì)算距離,將每個(gè)點(diǎn)的鄰近誤差作為優(yōu)化目標(biāo)進(jìn)行優(yōu)化;
3)當(dāng)總距離最小時(shí),可認(rèn)為完全匹配。最終得到的轉(zhuǎn)換矩陣如式(1):
完成IMU 和LIDAR 的外參標(biāo)定后,通過(guò)上述的外參轉(zhuǎn)換矩陣將點(diǎn)云數(shù)據(jù)由LIDAR 坐標(biāo)系轉(zhuǎn)換到IMU 坐標(biāo)系下。
讀取的IMU 數(shù)據(jù)為GPFPD 格式,解析出前后兩幀的偏航角(heading)、俯仰角(pitch)、橫滾角(roll)、東向速度(Ve)、北向速度(Vn)、天向速度(Vu),得到各方向的角速度和加速度變化量,記為?gx、?gy、?gz、?ax、?ay、?az。通過(guò)IMU 得到前后兩幀旋轉(zhuǎn)矩陣、平移矩陣,分別為M、T,f為雷達(dá)頻率10 Hz。
通過(guò)上述旋轉(zhuǎn)平移矩陣得到兩幀點(diǎn)云的位姿變換,建立多幀點(diǎn)云融合模型如下,實(shí)現(xiàn)多幀融合。
多幀融合一定程度彌補(bǔ)了低線(xiàn)激光雷達(dá)分辨率低的缺點(diǎn),但針對(duì)道路環(huán)境中并排行走的行人以及靠近車(chē)輛的行人等相鄰障礙物場(chǎng)景,傳統(tǒng)聚類(lèi)分割效果欠佳。因此,結(jié)合上述問(wèn)題對(duì)傳統(tǒng)歐式聚類(lèi)提出以下分割指標(biāo)的改進(jìn),實(shí)現(xiàn)針對(duì)相鄰人/車(chē)、人/人的聚類(lèi)分割。
激光雷達(dá)點(diǎn)云具有近密遠(yuǎn)稀的特點(diǎn),傳統(tǒng)歐式聚類(lèi)依賴(lài)固定閾值[23],對(duì)不同距離的掃描范圍采用固定的聚類(lèi)閾值,閾值設(shè)置過(guò)小會(huì)使近距離的同一目標(biāo)被過(guò)度劃分為多個(gè)點(diǎn)簇,過(guò)大會(huì)使遠(yuǎn)距離的不同物體聚類(lèi)到同一簇。傳統(tǒng)的歐式聚類(lèi)無(wú)法針對(duì)相鄰人/車(chē)、人/人場(chǎng)景精準(zhǔn)分割。
提出自適應(yīng)聚類(lèi)半徑閾值的分割指標(biāo),分割原理如下:考慮到實(shí)際中處在相同水平位置而不同高度的點(diǎn)云一般屬于同一物體,因此將點(diǎn)云投影到XOY水平面,避免同一物體因不同高度聚類(lèi)閾值不同而過(guò)分割的情況。
式中:λ為閾值系數(shù),本文取0.32;? θ為水平角分辨率。
建立KD-Tree 結(jié)構(gòu),對(duì)點(diǎn)i進(jìn)行K鄰域搜索,計(jì)算近鄰點(diǎn)j與點(diǎn)i的歐式距離 dis(i,j)。當(dāng)dis(i,j)
采用上述自適應(yīng)聚類(lèi)閾值分割標(biāo)準(zhǔn),能分割水平投影歐式距離較大的物體,以及部分近距離相鄰障礙物,但僅靠自適應(yīng)聚類(lèi)閾值這一個(gè)分割標(biāo)準(zhǔn)并不能準(zhǔn)確分割遠(yuǎn)距離相鄰障礙物。因此針對(duì)上述問(wèn)題,加入向量夾角這一約束條件,提出進(jìn)一步的歐式聚類(lèi)改進(jìn),具體實(shí)現(xiàn)原理如下:障礙物表面點(diǎn)云分布一般成凸?fàn)睿噜徴系K物交界處點(diǎn)云分布為凹狀,通過(guò)計(jì)算某一點(diǎn)與兩側(cè)點(diǎn)的矢量和向量與該點(diǎn)到激光雷達(dá)原點(diǎn)向量的夾角來(lái)描述該特性。如圖1,藍(lán)點(diǎn)、綠點(diǎn)分別代表兩個(gè)相鄰障礙物,假設(shè)激光雷達(dá)為原點(diǎn)O,OB、OC分別為打在障礙物的兩條激光束。選擇B點(diǎn)兩側(cè)相鄰兩點(diǎn)A、C,計(jì)算單位向量VBA、VBC:
圖1 向量角度約束Fig.1 Vector angle constraints
通過(guò)VBA、VBC矢量和的單位向量VBM與B點(diǎn)指向激光雷達(dá)原點(diǎn)坐標(biāo)的向量VBO的向量積來(lái)區(qū)分A、B、C3 點(diǎn)屬于同一障礙物還是不同障礙物,表示如下:
當(dāng)向量積VBMVBO<0,點(diǎn)C與點(diǎn)B屬于同一類(lèi);VBMVBO>0,將點(diǎn)C標(biāo)記為不同類(lèi)。圖1中,VBMVBO<0,點(diǎn)C與點(diǎn)B屬于同一類(lèi);VCMVCO>0,則點(diǎn)D屬于不同類(lèi)。
整體算法流程見(jiàn)下文,流程圖如圖2 所示。
圖2 改進(jìn)歐式聚類(lèi)算法Fig.2 Improved Euclidean clustering algorithm
1)建立KD-Tree 數(shù)據(jù)結(jié)構(gòu)存放點(diǎn)云數(shù)據(jù)P(p1,p2,···,pn) ;
2)聚類(lèi)集合C(c1,c2,···,cm),隨機(jī)選擇pn點(diǎn)放入;
3)遍歷P(p1,p2,···,pn)
a)計(jì)算pn點(diǎn)的自適應(yīng)聚類(lèi)閾值;
b)尋找pn點(diǎn)的k個(gè)近鄰點(diǎn)Q(q1,q2,···,qk),計(jì)算近鄰點(diǎn)到pn點(diǎn)的歐式距離 ;
c)dis(pn,qk)>rt,將qk聚 類(lèi)到不同點(diǎn)集cm;dis(pn,qk)