詳解激光雷達(dá)點(diǎn)云處理那些事,點(diǎn)云預(yù)處理、感知、定位

前言&薦語(yǔ):
少華兄整理的激光點(diǎn)云系列文章質(zhì)量很高,小湯也受邀參與了部分討論。特意轉(zhuǎn)載記錄,供日后學(xué)習(xí),也分享給相關(guān)方向的朋友,歡迎同行朋友多交流。
少華兄整理出了三篇文章,這邊合在一篇里了,黑色加粗斜體字體是三篇文章的標(biāo)題。
本文于2023.03.04發(fā)于知乎同名賬號(hào)StrongerTang:?詳解激光雷達(dá)點(diǎn)云處理那些事,點(diǎn)云預(yù)處理、感知、定位 - 知乎 (zhihu.com)

系列文章目錄:
1. 激光點(diǎn)云系列之一:詳解激光雷達(dá)點(diǎn)云數(shù)據(jù)的處理過程
2. 激光雷達(dá)點(diǎn)云處理中遇到的問題及對(duì)策
3. 激光點(diǎn)云系列之三:點(diǎn)云配準(zhǔn)
激光點(diǎn)云系列之一:詳解激光雷達(dá)點(diǎn)云數(shù)據(jù)的處理過程
隨著激光雷達(dá)的上車數(shù)量的不斷攀升,如何用好激光雷達(dá)成為了重中之重,而用好激光雷達(dá)的關(guān)鍵點(diǎn)之一就在于處理好點(diǎn)云數(shù)據(jù)。
激光點(diǎn)云指的是由三維激光雷達(dá)設(shè)備掃描得到的空間點(diǎn)的數(shù)據(jù)集,每一個(gè)點(diǎn)云都包含了三維坐標(biāo)(XYZ)和激光反射強(qiáng)度(Intensity),其中強(qiáng)度信息會(huì)與目標(biāo)物表面材質(zhì)與粗糙度、激光入射角度、激光波長(zhǎng)以及激光雷達(dá)的能量密度有關(guān)。
為了更進(jìn)一步解釋清楚點(diǎn)云,筆者梳理了點(diǎn)云的相關(guān)參數(shù)和特點(diǎn)。
表:激光雷達(dá)點(diǎn)云的相關(guān)參數(shù)

表:點(diǎn)云的特點(diǎn)

從點(diǎn)云的采集原理來看,以ToF路線的激光雷達(dá)為例,激光點(diǎn)云是由車載激光掃描系統(tǒng)向周圍發(fā)射激光信號(hào),然后收集反射回來的激光信號(hào)得來的,并通過光速、激光從發(fā)射到返回的時(shí)間等信息來測(cè)得目標(biāo)物的距離信息,再結(jié)合IMU、里程計(jì)、GNSS等信息計(jì)算出前方目標(biāo)物的三維坐標(biāo)信息和距離信息。
此外,在點(diǎn)云的采集和分析過程中,感知算法人員需要根據(jù)車載激光雷達(dá)的特點(diǎn)與工作原理,并結(jié)合激光雷達(dá)的角分辨率、視場(chǎng)角等相關(guān)參數(shù),才能更好地利用點(diǎn)云。
那么,激光雷達(dá)點(diǎn)云在車端的處理環(huán)節(jié)中,具體有哪些處理過程和方法?又如何優(yōu)化?
此后,為了驗(yàn)證這些問題,筆者先后訪談了圖達(dá)通算法負(fù)責(zé)人許建博士和系統(tǒng)及應(yīng)用負(fù)責(zé)人Leon、上汽高級(jí)經(jīng)理殷瑋、縱目科技感知算法工程師湯強(qiáng)、禾賽科技的專家等。在此,筆者感謝各路專家給予的支持,并整理出如下系列的文章,以供讀者參閱。
以下為激光點(diǎn)云處理系列文章的第一篇內(nèi)容。
激光雷達(dá)點(diǎn)云處理的具體流程
聊完何謂點(diǎn)云及其特征后,下文將繼續(xù)分析激光雷達(dá)點(diǎn)云在自動(dòng)駕駛中的處理流程。在此之前,有兩點(diǎn)需要說明。
其一,激光雷達(dá)點(diǎn)云被用于感知和定位時(shí),點(diǎn)云會(huì)先完成預(yù)處理,然后按照不同用途進(jìn)行不同的處理,并在點(diǎn)云的應(yīng)用細(xì)節(jié)上也會(huì)不同。
湯強(qiáng)說:“激光雷達(dá)用于定位的話,算法模型會(huì)要求點(diǎn)云的數(shù)據(jù)量盡可能多,并且區(qū)別于感知,定位還需要道路數(shù)據(jù)。如車道線或地標(biāo),它們對(duì)于激光的反射率和普通路面的反射率是不同的,激光雷達(dá)通過這種方式來獲取路面信息的數(shù)據(jù)。激光雷達(dá)用于感知的話,它會(huì)有一個(gè)預(yù)處理的過程,會(huì)確定一個(gè)ROI范圍,隨后用這一區(qū)域的點(diǎn)云數(shù)據(jù)來完成后續(xù)的檢測(cè)?!?/p>
其二,每家企業(yè)在點(diǎn)云的具體應(yīng)用過程中,還會(huì)根據(jù)各自技術(shù)方案與應(yīng)用場(chǎng)景不同,會(huì)存在些許處理流程上的差異,但大部分處理流程皆相同。
為了更詳細(xì)地闡述點(diǎn)云的處理流程,筆者結(jié)合專家訪談的內(nèi)容與公開信息,梳理出激光雷達(dá)點(diǎn)云在自動(dòng)駕駛應(yīng)用中的普遍流程。

圖:激光點(diǎn)云的處理流程
01點(diǎn)云預(yù)處理層面
1.1 原始點(diǎn)云數(shù)據(jù)的接收與解析
(1)點(diǎn)云數(shù)據(jù)的接收
激光雷達(dá)的原始點(diǎn)云數(shù)據(jù)都會(huì)被存放在一個(gè)數(shù)據(jù)包里(pcap),此時(shí)數(shù)據(jù)包里面的數(shù)據(jù)都是一連串的字節(jié)符號(hào),無法直接使用。
以Velodyne的16線激光雷達(dá)為例,原始點(diǎn)云數(shù)據(jù)的接收主要是通過UDP(用戶數(shù)據(jù)報(bào)協(xié)議)的形式向網(wǎng)絡(luò)發(fā)送數(shù)據(jù)。具體來說,在激光雷達(dá)的web端進(jìn)行設(shè)置或通過命令行進(jìn)行設(shè)置后,技術(shù)人員會(huì)在接收端匹配激光雷達(dá)的IP地址與自身的UDP端口號(hào),從而即可接收原始點(diǎn)云數(shù)據(jù)。
從數(shù)據(jù)的內(nèi)容來看,該型號(hào)的激光雷達(dá)在垂直方向上(-15°到+15°)有16線的激光束,其每幀的數(shù)據(jù)長(zhǎng)度固定為1248字節(jié),這些字節(jié)包括前42字節(jié)的前數(shù)據(jù)包標(biāo)識(shí)、12組數(shù)據(jù)包、4字節(jié)時(shí)間戳和最后兩字節(jié)雷達(dá)型號(hào)參數(shù)。

圖:Velodyne-16激光雷達(dá)每一幀的點(diǎn)云數(shù)據(jù)情況
(數(shù)據(jù)來源:《Velodyne VLP-16激光雷達(dá)數(shù)據(jù)格式解析》)
每個(gè)數(shù)據(jù)包中的數(shù)據(jù)都包含了激光光束的旋轉(zhuǎn)角度、距離值、反射強(qiáng)度的信息。例如,“B6 07”代表了激光雷達(dá)的探測(cè)距離,“2A”代表了激光的反射強(qiáng)度,但這些信息都是以兩字節(jié)表示,需要進(jìn)一步解析這些數(shù)據(jù)。

圖:Velodyne-16激光雷達(dá)數(shù)據(jù)包的一部分?jǐn)?shù)據(jù)
(數(shù)據(jù)來源:《Velodyne VLP-16激光雷達(dá)數(shù)據(jù)格式解析》)
(2)點(diǎn)云數(shù)據(jù)(pcd)的解析
數(shù)據(jù)包(pcap)中的原始數(shù)據(jù)需要進(jìn)一步轉(zhuǎn)換為可被感知技術(shù)人員使用的pcd格式的數(shù)據(jù)集。
點(diǎn)云數(shù)據(jù)的pcd格式文件是激光點(diǎn)云的一種存儲(chǔ)格式,pcd文件主要是由笛卡爾坐標(biāo)(x,y,z)和強(qiáng)度值i組成的列表,即每個(gè)點(diǎn)云都會(huì)附帶獨(dú)有的三維坐標(biāo)系和能量反射強(qiáng)度。
在這個(gè)坐標(biāo)系中,x軸指向汽車的前部,y軸指向汽車的左側(cè)。由于這個(gè)坐標(biāo)系采用右手定則,坐標(biāo)系z(mì)軸指向汽車上方。

圖:點(diǎn)云pcd坐標(biāo)
(數(shù)據(jù)來源:《學(xué)習(xí)筆記:點(diǎn)云庫(kù)PCL介紹》)
為了闡述點(diǎn)云數(shù)據(jù)的解析過程,筆者還是以上文Velodyne-16激光雷達(dá)的某幀點(diǎn)云數(shù)據(jù)包為例,并根據(jù)公開信息梳理如下。
第一步,計(jì)算激光線的旋轉(zhuǎn)角度值。
例如,上圖數(shù)據(jù)包前一部分的第一行的旋轉(zhuǎn)角度為0xE0、0x63。
a) 反轉(zhuǎn)兩個(gè)字節(jié)變成十六進(jìn)制63 E0
b) 把63 E0變成無符號(hào)的十進(jìn)制為25568
c) 再把25568除以100得到255.68,那么得到的值255.68就是當(dāng)前的旋轉(zhuǎn)角度值
第二步,計(jì)算16線激光分別測(cè)得的距離。
例如,上圖數(shù)據(jù)包前一部分的第一個(gè)激光線的距離,其值為“B6 07 2A”,其中“ B6 07”為距離“2A”為反射強(qiáng)度。
a) 反轉(zhuǎn)兩個(gè)距離字節(jié)“ B6 07”,將其變成“07 B6”
b) 把“07 B6”變成無符號(hào)的十進(jìn)制為1974
c) 由于該型號(hào)激光雷達(dá)的分辨率為2.0mm,所以激光束測(cè)得的目標(biāo)物距離為1974*2=3948mm
d) 將3948mm轉(zhuǎn)化為米計(jì)量的單位,即3.948m
第三步,獲得該幀的時(shí)間戳和激光雷達(dá)型號(hào)參數(shù)。
例如,上圖數(shù)據(jù)包后一部分的最后六個(gè)字節(jié)的數(shù)據(jù)“6D 69 94 0F 37 22”。
a) 前四個(gè)字節(jié)的數(shù)據(jù)“6D 69 94 0F”為該幀的時(shí)間戳,然后反轉(zhuǎn)順序“0F 94 69 6D”
b) 將“0F 94 69 6D”轉(zhuǎn)換為十進(jìn)制的值261384557微秒(μs)
c) 把261384557除以1000000可獲得當(dāng)前的時(shí)間,即261.384557秒(s)
d) 后兩個(gè)字節(jié)“37 22”表示雷達(dá)的型號(hào)和參數(shù)
第四步,把角度和距離信息轉(zhuǎn)化為三維坐標(biāo)XYZ值。
三維坐標(biāo)XYZ值可通過旋轉(zhuǎn)角度α(已在第一步中求得)、垂直角度ω(每束激光線對(duì)應(yīng)的固定值)和距離值R(已在第二步中求得)來綜合求出,具體的坐標(biāo)換算如下圖所示。

圖:目標(biāo)物點(diǎn)云的三維坐標(biāo)計(jì)算
(數(shù)據(jù)來源:《Velodyne VLP-16激光雷達(dá)數(shù)據(jù)格式解析》)
1.2 運(yùn)動(dòng)畸變補(bǔ)償
運(yùn)動(dòng)畸變是指在一幀時(shí)間內(nèi),激光雷達(dá)或者其載體在發(fā)生運(yùn)動(dòng)后,產(chǎn)生的點(diǎn)云位置不一樣的問題。
要理解運(yùn)動(dòng)畸變補(bǔ)償,我們首先要知道自動(dòng)駕駛車端的激光雷達(dá)點(diǎn)云為什么會(huì)產(chǎn)生運(yùn)動(dòng)畸變。
其實(shí),激光雷達(dá)發(fā)射的一幀激光點(diǎn)云會(huì)由多個(gè)激光點(diǎn)組成,而這些激光點(diǎn)云是由掃描器件經(jīng)過一次掃描后才形成的。在靜止的場(chǎng)景中時(shí),車輛處于靜止?fàn)顟B(tài)且場(chǎng)景中的目標(biāo)物也處于相對(duì)靜止?fàn)顟B(tài),那么采集到的一幀點(diǎn)云是沒有畸變的,每條激光線束最終會(huì)形成一個(gè)閉合的圓形。

圖:靜止?fàn)顟B(tài)下的車輛點(diǎn)云不產(chǎn)生畸變
在運(yùn)動(dòng)場(chǎng)景下,如車輛高速行駛或者轉(zhuǎn)彎時(shí),一幀點(diǎn)云中的起始點(diǎn)云和終止點(diǎn)云只能在不同坐標(biāo)系下獲得測(cè)量結(jié)果,這便導(dǎo)致了三維環(huán)境信息產(chǎn)生了畸變。如下圖所示,當(dāng)車輛在運(yùn)動(dòng)過程中,車端上的激光雷達(dá)在掃描完一圈后,在最后一束激光照射到目標(biāo)物時(shí),跟第一束激光照射到目標(biāo)時(shí)相比,目標(biāo)物的空間位置已發(fā)生了相對(duì)位移——該物體在兩個(gè)不同時(shí)刻的點(diǎn)云,顯示在坐標(biāo)系中的信息是不同的。

運(yùn)動(dòng)畸變補(bǔ)償就是為了解決上述問題——把激光在采集過程中的運(yùn)動(dòng)軌跡計(jì)算出來,并在對(duì)應(yīng)的激光點(diǎn)云上補(bǔ)償這部分運(yùn)動(dòng)位移帶來的變化,將同一幀的點(diǎn)云統(tǒng)一到同一時(shí)刻的坐標(biāo)系下。
為了進(jìn)一步解釋運(yùn)動(dòng)畸變補(bǔ)償,某主機(jī)廠感知算法工程師舉例說:“比如,若車端配有IMU或者輪式里程計(jì),感知算法人員就可以通過IMU和輪式里程計(jì)(或者直接用IMU)的方式,推算出0.1秒內(nèi)車是怎么運(yùn)動(dòng)的,然后利用運(yùn)動(dòng)模型來做運(yùn)動(dòng)畸變補(bǔ)償?!?/p>
常見的運(yùn)動(dòng)畸變補(bǔ)償?shù)姆椒ǎ?/p>
純估計(jì)方法(ICP/VICP)
迭代最近點(diǎn)(ICP)方法是采用ICP算法來匹配兩個(gè)點(diǎn)云,通過不斷地算法迭代后,將點(diǎn)云之間的誤差縮至最小。
VICP方法是ICP算法的變種形式,模型假設(shè)車輛是在勻速運(yùn)動(dòng),在進(jìn)行匹配點(diǎn)云的同時(shí)估計(jì)車輛的自身速度。
迭代最近點(diǎn)(ICP)和VICP被統(tǒng)稱為“純估計(jì)方法”。
傳感器輔助方法(IMU/ODOM)
慣性測(cè)量單元(IMU)方法是在IMU隊(duì)列中查找相鄰兩幀IMU的數(shù)據(jù),然后通過球面線性插值的方式計(jì)算掃描點(diǎn)所在時(shí)刻的激光雷達(dá)位姿,并應(yīng)用齊次坐標(biāo)系變化將兩個(gè)點(diǎn)云坐標(biāo)變換至同一坐標(biāo)系下。
輪式里程計(jì)(ODOM)方法是通過求解當(dāng)前幀激光雷達(dá)數(shù)據(jù)中每個(gè)點(diǎn)云對(duì)應(yīng)的坐標(biāo)系下的里程計(jì)位姿后,再根據(jù)求得的位姿把每個(gè)點(diǎn)云坐標(biāo)都轉(zhuǎn)化到同一坐標(biāo)系下(需要轉(zhuǎn)化兩次),最后重新封裝該幀點(diǎn)云數(shù)據(jù)。
慣性測(cè)量單元(IMU)和輪式里程計(jì)(ODOM)被統(tǒng)稱為傳感器輔助方法。
融合的方法
該方法是同時(shí)使用里程計(jì)和ICP的融合方案,會(huì)先利用里程計(jì)方法進(jìn)行矯正,去除大部分的運(yùn)動(dòng)畸變,再通過ICP方法進(jìn)行匹配,得到里程計(jì)的誤差值,再把誤差值均攤到每個(gè)點(diǎn)云上,并重新對(duì)點(diǎn)云位置進(jìn)行修正。最后,再利用ICP方法進(jìn)行迭代,直至誤差收斂為止。
1.3?點(diǎn)云組幀
感知算法人員在完成點(diǎn)云的運(yùn)動(dòng)畸變補(bǔ)償后,會(huì)發(fā)現(xiàn)一個(gè)問題:激光雷達(dá)發(fā)送的點(diǎn)云數(shù)據(jù)包中的點(diǎn)云數(shù)量其實(shí)非常少,完全無法用來進(jìn)行后續(xù)感知和定位層面的處理工作。
此時(shí),感知算法人員就需要對(duì)這些數(shù)據(jù)包進(jìn)行點(diǎn)云組幀的處理。
關(guān)于點(diǎn)云組幀,某L4解決方案商的感知算法工程師說:“以單激光雷達(dá)為例,感知算法人員會(huì)把多個(gè)點(diǎn)云數(shù)據(jù)包疊加到同一幀上,讓這一幀上的點(diǎn)云數(shù)據(jù)能包含上萬個(gè)點(diǎn)云,以便后續(xù)感知和定位流程的處理。若車端有多個(gè)激光雷達(dá),感知算法人員會(huì)分別解析這幾個(gè)激光雷達(dá)的點(diǎn)云數(shù)據(jù)包,然后把解析后的點(diǎn)云數(shù)據(jù)集合在同一時(shí)刻上,讓其變成一個(gè)大的數(shù)據(jù)包。例如,技術(shù)人員會(huì)把車端多個(gè)激光雷達(dá)在t時(shí)刻的點(diǎn)云都匯集在一起,作為一幀點(diǎn)云數(shù)據(jù)來處理?!?/p>
1.4 外參變化
點(diǎn)云數(shù)據(jù)通過解析得到的點(diǎn)云坐標(biāo)系屬于激光雷達(dá)坐標(biāo)系,而在實(shí)際的自動(dòng)駕駛技術(shù)應(yīng)用中,仍需要將激光雷達(dá)的坐標(biāo)系轉(zhuǎn)化為車輛的坐標(biāo)系,這個(gè)建立聯(lián)系的過程稱之為點(diǎn)云的外參變化。
由于激光雷達(dá)與車體是剛性連接,所以在車輛運(yùn)動(dòng)過程中,兩者之間的相對(duì)姿態(tài)和位移是固定不變的,只需要建立兩者相對(duì)坐標(biāo)系之間的位置關(guān)系,通過旋轉(zhuǎn)或者平移的方式,就能將這兩個(gè)三維坐標(biāo)系統(tǒng)一到一個(gè)三維坐標(biāo)系下(也稱為全局坐標(biāo)系或世界坐標(biāo)系)。
1.5?濾波處理
在激光雷達(dá)獲取點(diǎn)云數(shù)據(jù)的過程中,由于受到產(chǎn)品自身系統(tǒng)、待測(cè)物體表面及掃描環(huán)境等因素的影響,點(diǎn)云數(shù)據(jù)中會(huì)不可避免地夾雜著一些噪點(diǎn)(離群點(diǎn)),需要將其直接剔除或者以平滑的方式進(jìn)行處理。這些噪點(diǎn)(離群點(diǎn))會(huì)在后續(xù)的點(diǎn)云處理環(huán)節(jié)中(如點(diǎn)云分割、特征提取、點(diǎn)云配準(zhǔn)等)讓模型結(jié)果產(chǎn)生一定的誤差。因此,在實(shí)際的點(diǎn)云處理流程中,感知人員會(huì)對(duì)點(diǎn)云進(jìn)行濾波處理。
噪點(diǎn)是指對(duì)模型處理無用的點(diǎn)云數(shù)據(jù)。
離群點(diǎn)是指遠(yuǎn)離主觀測(cè)區(qū)域的點(diǎn)云數(shù)據(jù)。
在與專家的訪談交流中,筆者了解到,在自動(dòng)駕駛行業(yè)內(nèi),噪點(diǎn)一般包含了離群點(diǎn)。所以,后續(xù)的文章中,筆者將以噪點(diǎn)來統(tǒng)稱。
下表為筆者梳理的自動(dòng)駕駛行業(yè)內(nèi)常見的濾波算法。
表:自動(dòng)駕駛行業(yè)內(nèi)常見的濾波算法

02感知功能層面的處理
在整個(gè)點(diǎn)云預(yù)處理工作完成后,感知算法人員會(huì)將點(diǎn)云數(shù)據(jù)分別進(jìn)行感知和定位層面的處理。
在感知層面的流程中,點(diǎn)云數(shù)據(jù)主要是用于3D目標(biāo)檢測(cè),即自動(dòng)駕駛系統(tǒng)需要識(shí)別檢測(cè)出車輛感知區(qū)域內(nèi)的障礙物,從而采取避障等措施。
在點(diǎn)云預(yù)處理工作完成后,感知層面的處理會(huì)有兩個(gè)分支:一個(gè)是應(yīng)用傳統(tǒng)的3D目標(biāo)檢測(cè)方法,包括點(diǎn)云分割、目標(biāo)物的聚類分析等;另一個(gè)是直接應(yīng)用深度學(xué)習(xí)模型來完成3D目標(biāo)檢測(cè)。
下文將分別拆解基于兩種不同方法下的點(diǎn)云3D目標(biāo)檢測(cè)流程。
2.1?基于傳統(tǒng)方法的感知數(shù)據(jù)處理
(1)地面點(diǎn)云分割
在進(jìn)行目標(biāo)檢測(cè)后,點(diǎn)云數(shù)據(jù)中會(huì)有很大一部分點(diǎn)云屬于地面點(diǎn)數(shù)據(jù),并呈現(xiàn)出一定的紋理狀,這會(huì)對(duì)后續(xù)目標(biāo)物的點(diǎn)云處理流程產(chǎn)生影響。
一方面,若不將這些地面點(diǎn)云數(shù)據(jù)進(jìn)行分割及去除,這些無效的點(diǎn)云數(shù)據(jù)就會(huì)對(duì)位于地面上的物體點(diǎn)云數(shù)據(jù)造成干擾,會(huì)降低目標(biāo)障礙物分割算法的準(zhǔn)確性和魯棒性;另一方面,由于點(diǎn)云數(shù)據(jù)量過大,這就會(huì)增加模型對(duì)計(jì)算量的需求。
所以,在進(jìn)行后續(xù)工作前,感知算法人員需要先對(duì)地面點(diǎn)云進(jìn)行過濾處理。
由于卷積神經(jīng)網(wǎng)絡(luò)模型一般會(huì)以滑窗的方式對(duì)每一塊局部區(qū)域提取特征,然后做分類回歸,所以深度學(xué)習(xí)的方法往往不需要預(yù)先分割出地面點(diǎn)云。在自動(dòng)駕駛領(lǐng)域,考慮到硬件性能的占用、開發(fā)周期、模型成熟度等因素,感知算法人員一般會(huì)采用傳統(tǒng)算法來進(jìn)行地面點(diǎn)云分割。
筆者梳理了幾種常用的地面點(diǎn)分割方法:
平面柵格法
主要思路:平面柵格法通常是根據(jù)設(shè)定好的尺寸建立平面網(wǎng)格(也可以做多層網(wǎng)格或者三維體素),然后將原始點(diǎn)云投影到各自的網(wǎng)格中,對(duì)每個(gè)網(wǎng)格中的點(diǎn)云集合提取特征,比如平均高度、最大高度、高度差、密度等等。
技術(shù)亮點(diǎn):不考慮矢量特征,讓后續(xù)規(guī)劃控制能更易于實(shí)現(xiàn)。
存在的問題:當(dāng)激光雷達(dá)線束比較少的時(shí)候,比如16線激光雷達(dá)在采集道路數(shù)據(jù)時(shí),車輛前方20米以外的地面上,能夠打到的激光點(diǎn)已經(jīng)比較少了,而且打到障礙物上的激光線束一般也只有一條。如果在柵格中采用高度特征進(jìn)行地面過濾,低矮的障礙物很容易會(huì)被當(dāng)成地面點(diǎn)過濾掉。
點(diǎn)云法向量
主要思路:點(diǎn)云的法向量是指通過設(shè)置點(diǎn)云的角度閾值來分割地面的點(diǎn)云,一般地面點(diǎn)云的法向量是垂直方向,只需要通過模型來求解點(diǎn)云法向量與地面法向量的夾角,并與設(shè)定好的閾值來作對(duì)比和分類。該方法需要其鄰域點(diǎn)做支持,而鄰域的大小一般由鄰域半徑值或臨近點(diǎn)個(gè)數(shù)來表示。過大的鄰域會(huì)抹平三維結(jié)構(gòu)細(xì)節(jié)使得法向量過于粗糙,而過小的鄰域由于包含了太少的點(diǎn)受噪聲干擾程度較強(qiáng)。
技術(shù)亮點(diǎn):該方法可以較好地提取出道路兩旁法向量突變的點(diǎn)云集合構(gòu)成路沿,從而配合柵格化將道路區(qū)域、非道路區(qū)域、障礙物進(jìn)行劃分。
存在的問題:
1)根據(jù)法向量方法的假設(shè),該方法一定要先對(duì)點(diǎn)云進(jìn)行校正,如果不進(jìn)行校正,那么很可能出現(xiàn)某一幀沒有地面點(diǎn)被分割出來的極端情況(激光雷達(dá)傾斜角度過大)。
2)法向量方法對(duì)于平臺(tái)類型障礙物(如路沿邊上的長(zhǎng)方形花壇)生成的點(diǎn)無法有效區(qū)分。
模型擬合法-平面擬合(RANSAC)
主要思路:RANSAC平面擬合是指通過隨機(jī)選區(qū)的三個(gè)點(diǎn)云來建立平面方程,并將點(diǎn)云數(shù)據(jù)依次代入平面方程內(nèi),然后根據(jù)設(shè)置好的距離閾值來判定,該點(diǎn)是否為平面內(nèi)的點(diǎn)。例如,閾值范圍內(nèi)的點(diǎn)為內(nèi)點(diǎn),而閾值外的點(diǎn)為外點(diǎn)。迭代次數(shù)最多的平面方程即為地面方程,而方程內(nèi)的內(nèi)點(diǎn)為地面點(diǎn)集,反之為障礙物的點(diǎn)云集。
技術(shù)亮點(diǎn):當(dāng)數(shù)據(jù)中有大量的異常數(shù)據(jù)時(shí),該方法也能高精度地估計(jì)模型參數(shù)——能從大規(guī)模點(diǎn)云數(shù)據(jù)中,更容易地估計(jì)出地面點(diǎn)云集。
存在的問題:
1)考慮到排水的因素,交通道路通常是中間凸起、兩邊低洼,類似于拱橋形狀。雖然曲率不大,但是通過隨機(jī)采樣的一致性算法計(jì)算地平面,可能會(huì)得到傾斜于一側(cè)的平面作為地面方程。
2)在上下坡的時(shí)候,由于地面非絕對(duì)平面,該方法計(jì)算出的地面方程,會(huì)出現(xiàn)把前方地面點(diǎn)集作為障礙物點(diǎn)的情況。
3)由于RANSAC是在點(diǎn)云空間隨機(jī)地取三個(gè)點(diǎn)構(gòu)建平面,如果場(chǎng)景中存在大塊墻面時(shí),會(huì)出現(xiàn)將墻面作為地面方程的情況。
面元網(wǎng)格法
主要思路:基于面元的分割可以分為局部類型或者表面類型,常采用區(qū)域增長(zhǎng)的方式進(jìn)行地面分割。其核心是基于點(diǎn)法線之間角度的比較,將滿足平滑約束的相鄰點(diǎn)合并在一起,以一簇點(diǎn)集的形式輸出,每簇點(diǎn)集被認(rèn)為是屬于相同平面。
技術(shù)亮點(diǎn):該方法能夠較好地應(yīng)對(duì)地面存在曲率的情況,對(duì)于比較平緩的曲面或者平面能夠達(dá)到較好的分割效果。
存在的問題:
1)實(shí)際道路中的噪聲點(diǎn)太多,直接使用區(qū)域增長(zhǎng)的方式分割地面,會(huì)出現(xiàn)較多零星的地面點(diǎn)被當(dāng)成障礙物點(diǎn)云集合地情況。
2)區(qū)域增長(zhǎng)算法的時(shí)耗較大,對(duì)于實(shí)時(shí)性要求較高的感知算法模塊,需要進(jìn)一步優(yōu)化。比如將平面的區(qū)域增長(zhǎng)降為到邊緣,或者劃分區(qū)域,在小范圍內(nèi)進(jìn)行分割等等。
(2)目標(biāo)物的點(diǎn)云分割
在去除掉地面點(diǎn)云后,接下來感知算法人員就需要將目標(biāo)物點(diǎn)云進(jìn)行有效地分割、分塊,從而便于對(duì)目標(biāo)物進(jìn)行單獨(dú)處理,即點(diǎn)云分割。目標(biāo)障礙物的點(diǎn)云分割是根據(jù)空間、幾何和紋理等特征對(duì)點(diǎn)云進(jìn)行劃分。
筆者梳理了幾個(gè)常用的點(diǎn)云分割方法:
基于邊緣的方法
主要思路:基于邊緣的方法是指由物體的形狀是尤其邊緣來描述的,所以通過定位目標(biāo)物邊緣點(diǎn)云快速變化的點(diǎn),來尋找靠近目標(biāo)物邊緣區(qū)域的點(diǎn)并進(jìn)行分割。
技術(shù)亮點(diǎn):該方法采用了可重構(gòu)多環(huán)網(wǎng)絡(luò)的算法優(yōu)化機(jī)制,提高了算法運(yùn)行的效率。
存在的問題:
1)該方法較適用簡(jiǎn)單場(chǎng)景(如低噪聲、均勻密度),不適用于擁有大量三維點(diǎn)云的數(shù)據(jù)集。
2)面對(duì)存在不連續(xù)邊緣的目標(biāo)物點(diǎn)云數(shù)據(jù),若不采用點(diǎn)云填充,就不能直接用于識(shí)別檢測(cè)。
基于區(qū)域增長(zhǎng)的方法
主要思路:基于區(qū)域增長(zhǎng)的方法是指通過使用鄰域信息來將具有相似屬性的附近點(diǎn)歸類,以獲得到分割區(qū)域,并區(qū)分出不同區(qū)域之間的差異性。該方法主要分為兩類:種子區(qū)域方法和非種子區(qū)域方法。其中,種子區(qū)域方法是通過選擇多個(gè)種子點(diǎn)來開始做分割,以這些種子點(diǎn)為起始點(diǎn),通過添加種子的鄰域點(diǎn)的方式逐漸形成點(diǎn)云區(qū)域;非種子區(qū)域方法是將所有點(diǎn)都分為一個(gè)區(qū)域,然后將其劃分為更小的區(qū)域。
技術(shù)亮點(diǎn):相比于邊緣的方法,該方法的分割準(zhǔn)確度會(huì)更高。
存在的問題:方法依賴于選取的起始種子點(diǎn)或者區(qū)域細(xì)分位置,若選取的不恰當(dāng),就會(huì)導(dǎo)致分割過度或不足等問題。
基于屬性的方法
主要思路:基于屬性的方法是先計(jì)算目標(biāo)物點(diǎn)云的屬性,例如距離、密度、水平或垂直方向的點(diǎn)云分布等,并以此來定義測(cè)量點(diǎn)之間的領(lǐng)域,然后將每個(gè)方向上的法向量的斜率和點(diǎn)鄰域的數(shù)據(jù)之差作為聚類的屬性。
技術(shù)亮點(diǎn):相比于前兩個(gè)方法,基于屬性的方法可以消除異常值和噪點(diǎn)的影響。
存在的問題:該方法依賴于點(diǎn)之間鄰域的定義和點(diǎn)云數(shù)據(jù)的點(diǎn)密度,在處理大量輸入點(diǎn)的多維屬性時(shí),會(huì)導(dǎo)致模型對(duì)計(jì)算量的需求過大。
(3)目標(biāo)物聚類分析
在目標(biāo)物點(diǎn)云分割完后,感知算法人員就需要將點(diǎn)云圖中各個(gè)已分割的點(diǎn)云聚類成若干個(gè)整體,即把具有相似程度較高的點(diǎn)云組成一組,以便降低后續(xù)模型的計(jì)算量——這個(gè)過程就被稱為點(diǎn)云聚類。
常見的點(diǎn)云聚類方法如下:
K-means
主要思路:K-means 聚類算法是指將整個(gè)點(diǎn)云數(shù)據(jù)集分為 k 個(gè)具有某種統(tǒng)一特征的點(diǎn)云簇。首先,從每個(gè)點(diǎn)云簇中隨機(jī)選擇k個(gè)點(diǎn)作為點(diǎn)云簇的中心點(diǎn)。然后,對(duì)每個(gè)點(diǎn)云簇分別計(jì)算每個(gè)點(diǎn)云簇與上述k個(gè)點(diǎn)之間的實(shí)際距離,依據(jù)距離值最小的原則將其聚類到該點(diǎn)云簇。之后再對(duì)聚類的點(diǎn)云簇計(jì)算形心坐標(biāo),并更新點(diǎn)云簇中心點(diǎn)。最后,模型會(huì)重復(fù)上述步驟,直到點(diǎn)云簇中心點(diǎn)不再變化。
技術(shù)亮點(diǎn):準(zhǔn)確定性高、可處理較大數(shù)據(jù)量、運(yùn)算速度快。
存在的問題:該方法需要預(yù)先設(shè)定K值和初始聚類中心,實(shí)時(shí)性差。
DBSCAN
主要思路:DBSCAN通過引入密度的概念,即要求聚類空間中的一定區(qū)域內(nèi)所包含對(duì)象的數(shù)據(jù)量不小于某一給定閾值。該方法能夠在具有噪聲的空間數(shù)據(jù)庫(kù)中發(fā)現(xiàn)任意形狀的簇,可將密度足夠大的相鄰區(qū)域連接,能夠有效地處理異常數(shù)據(jù),主要用于對(duì)空間數(shù)據(jù)的聚類。
技術(shù)亮點(diǎn):
1)可以聚類任意形狀點(diǎn)云
2)可以有效去除噪聲點(diǎn)
存在的問題:
1)對(duì)內(nèi)存資源消耗大
2)對(duì)處理器的要求高
3)需要預(yù)先設(shè)定聚類區(qū)域的半徑和觸發(fā)的閾值
歐式聚類
主要思路:歐式聚類(也稱為歐幾里得聚類)是指基于歐式距離聚類的方法,在激光雷達(dá)的點(diǎn)云數(shù)據(jù)中,同一個(gè)物體的點(diǎn)云簇中兩點(diǎn)之間的距離小于一定的值,而不同物體之間的點(diǎn)云簇之間的距離大于一定的值。歐式聚類算法就是根據(jù)此種原理,將歐幾里德距離小于設(shè)定距離閾值的點(diǎn)合并成一類,從而完成聚類過程。
技術(shù)亮點(diǎn):該方法運(yùn)算速度快,且具有良好通用性。
存在的問題:該方法需要預(yù)設(shè)固定距離的閾值,這會(huì)導(dǎo)致近處的目標(biāo)物聚類效果會(huì)較好,而遠(yuǎn)處的聚類會(huì)出現(xiàn)欠分割或者截?cái)嗟膯栴}。
(4)匹配與跟蹤
在做完前面的部分后,感知算法人員基本上已經(jīng)可以從已處理完的數(shù)據(jù)上獲知這些點(diǎn)云具體代表了什么目標(biāo)物,而接下來需要做的就是對(duì)目標(biāo)物的匹配和跟蹤,即預(yù)測(cè)下一時(shí)刻,目標(biāo)物出現(xiàn)在哪個(gè)區(qū)域。在障礙物檢測(cè)中,匹配的精確度是后續(xù)多傳感器融合的基礎(chǔ)。
通常來說,匹配和跟蹤的算法流程是先將目標(biāo)預(yù)測(cè)的結(jié)果與測(cè)量的點(diǎn)云數(shù)據(jù)計(jì)算關(guān)聯(lián)矩陣,然后利用匈牙利算法(其核心原理是尋找增廣路徑,從而達(dá)成最大匹配)進(jìn)行匹配關(guān)系的確定,最后將點(diǎn)云數(shù)據(jù)分為匹配上的目標(biāo)和未匹配上的目標(biāo)兩類,將其分別保存,并為跟蹤做準(zhǔn)備。
2.2?基于深度學(xué)習(xí)的感知數(shù)據(jù)處理
在自動(dòng)駕駛領(lǐng)域中,隨著點(diǎn)云的數(shù)據(jù)量越來越大,傳統(tǒng)的目標(biāo)檢測(cè)算法已經(jīng)無法滿足實(shí)際需求。筆者在與各個(gè)專家的交談后獲知,當(dāng)前點(diǎn)云3D目標(biāo)檢測(cè)主要采用了深度學(xué)習(xí)模型。
某主機(jī)廠感知算法工程師說:“在感知層面的目標(biāo)檢測(cè)中,點(diǎn)云在預(yù)處理完成后,就直接放入深度學(xué)習(xí)模型中,或者是先降采樣后再放入深度學(xué)習(xí)模型?!?/p>
常用的基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法:
PointNet
主要思路:PointNet首先為點(diǎn)云中的每一個(gè)點(diǎn)計(jì)算特征,然后通過一個(gè)與點(diǎn)云順序無關(guān)的操作將這些特征組合起來,得到屬于全體點(diǎn)云的特征,這個(gè)特征可以直接用于任務(wù)識(shí)別。
技術(shù)亮點(diǎn):
1)直接將點(diǎn)云數(shù)據(jù)輸入網(wǎng)絡(luò),而不是將其規(guī)范化;
2)對(duì)旋轉(zhuǎn)不變性和置換不變性的利用。
√旋轉(zhuǎn)不變性:所有的點(diǎn)做相同的變換(旋轉(zhuǎn)平移),不影響對(duì)形狀的表達(dá)。
√置換不變性:任意交換各點(diǎn)的位置,不影響對(duì)形狀的表達(dá)。
存在的問題:無法獲得局部特征,這使得PointNet方法很難對(duì)復(fù)雜場(chǎng)景進(jìn)行分析。

圖:PointNet的網(wǎng)絡(luò)結(jié)構(gòu)
PointNet++
主要思路:PointNet++是基于PointNet方法得出,主要借鑒了CNN的多層感受野的思想。CNN通過分層不斷地使用卷積核掃描圖像上的像素并做內(nèi)積,使得越到后面的特征圖感受野越大,同時(shí)每個(gè)像素包含的信息也越多。PointNet++就是仿照了這樣的結(jié)構(gòu),先通過在整個(gè)點(diǎn)云的局部采樣并劃一個(gè)范圍,將里面的點(diǎn)作為局部的特征,用PointNet進(jìn)行一次特征提取。
技術(shù)亮點(diǎn):
1)沒有量化帶來的信息損失,也無需調(diào)節(jié)量化超參數(shù)。
2)忽略空白區(qū)域,避免了無效的計(jì)算。
存在的問題:
1)無法利用成熟的基于空間卷積的2D物體檢測(cè)算法。
2)雖然避免了無效計(jì)算,但是GPU對(duì)于點(diǎn)云的處理效率遠(yuǎn)低于對(duì)網(wǎng)格數(shù)據(jù)的處理效率。

圖:PointNet(左側(cè)部分)與PointNet++(中間部分)的分割效果對(duì)比

VoxelNet
主要思路:VoxelNet主要是講三維點(diǎn)云轉(zhuǎn)化為voxel結(jié)構(gòu),然后以鳥瞰圖的方式來處理這個(gè)結(jié)構(gòu)。此處的voxel結(jié)構(gòu)就是利用相同尺寸的立方體來劃分三維空間,其中每個(gè)立方體稱為voxel(體素)。
VoxelNet有兩個(gè)主要過程,第一個(gè)被稱為VFE(Voxel Feature Extraction)是voxel的特征提取過程,第二個(gè)是類似YOLO的目標(biāo)檢測(cè)過程。
技術(shù)亮點(diǎn):
1)可以直接在稀疏的點(diǎn)云數(shù)據(jù)上進(jìn)行任務(wù)檢測(cè),并避免了人工特征工程帶來的信息瓶頸。
2)可以更有效地利用GPU的并行運(yùn)算優(yōu)勢(shì)。
存在的問題:VoxelNet對(duì)于數(shù)據(jù)表示(為適應(yīng)模型運(yùn)算而重建的一種新數(shù)據(jù)結(jié)構(gòu))比較低效,并且中間層的3D卷積對(duì)計(jì)算量的需求太大,導(dǎo)致其運(yùn)行速度只有大約2FPS(Frame Per Second),遠(yuǎn)低于實(shí)時(shí)性的要求。

SECOND
主要思路:SECOND是一種基于VoxelNet方法優(yōu)化后的點(diǎn)云檢測(cè)方法,其網(wǎng)絡(luò)的整體結(jié)構(gòu)和實(shí)現(xiàn)大部分與原先的VoxelNet相近,同時(shí)在VoxelNet的基礎(chǔ)上改進(jìn)了中間層的3D卷積,采用稀疏卷積來完成,提高了訓(xùn)練的效率和網(wǎng)絡(luò)推理的速度。同時(shí),SECOND還提出了一個(gè)新的損失函數(shù)與點(diǎn)云數(shù)據(jù)增強(qiáng)策略。SECOND網(wǎng)絡(luò)結(jié)構(gòu)主要由三部分組成:VFE特征提取階段,稀疏卷積層,RPN網(wǎng)絡(luò)。
技術(shù)亮點(diǎn):利用稀疏卷積提高了模型的推理速度。
存在的問題:雖然SECOND相比VoxelNet來說,其速度有所提升,但仍然保留了3D卷積。

圖:SECOND的網(wǎng)絡(luò)結(jié)構(gòu)
PointPillar
主要思路:PointPillar把落到每個(gè)網(wǎng)格內(nèi)的點(diǎn)直接疊放在一起,形象地稱其為柱子(Pillar),然后利用與PointNet相似的方式來學(xué)習(xí)特征,最后再把學(xué)到的特征向量映射回網(wǎng)格坐標(biāo)上,得到與圖像類似的數(shù)據(jù)。
技術(shù)亮點(diǎn):
1)通過學(xué)習(xí)特征而不是依賴固定的編碼器,PointPillars可以利用點(diǎn)云表示的全部信息。
2)通過對(duì)柱而不是體素進(jìn)行操作,不需要手動(dòng)調(diào)整垂直方向的裝箱。
3)網(wǎng)絡(luò)中只使用2D卷積,不使用3D卷積,對(duì)計(jì)算量的需求小、運(yùn)行高效。
4)無需手動(dòng)調(diào)整即可使用不同的點(diǎn)云配置。
存在的問題:點(diǎn)特征的學(xué)習(xí)被限制在網(wǎng)格內(nèi),無法有效地提取相鄰區(qū)域的信息。

PCT
主要思路:PCT主要是利用Transformer固有的順序不變性,避免定義點(diǎn)云數(shù)據(jù)的順序,并通過注意力機(jī)制進(jìn)行特征學(xué)習(xí)。網(wǎng)絡(luò)結(jié)構(gòu)整體分為三部分:輸入嵌入、注意力層和點(diǎn)云的分類與分割。
技術(shù)亮點(diǎn):
1)PCT具有固有的置換不變性,更適合點(diǎn)云學(xué)習(xí)。
2)相比于主流的PointNet網(wǎng)絡(luò),PCT的分割邊緣更加清晰。

存在的問題:PCT是一種有效的全局特征提取網(wǎng)絡(luò),然而它忽略了點(diǎn)云深度學(xué)習(xí)中同樣重要的局部鄰域信息。

圖:PCT網(wǎng)絡(luò)結(jié)構(gòu)
雖然當(dāng)前深度學(xué)習(xí)已經(jīng)在自動(dòng)駕駛行業(yè)內(nèi)被廣泛應(yīng)用,但是深度學(xué)習(xí)在點(diǎn)云數(shù)據(jù)處理中也會(huì)遇到一些挑戰(zhàn)。
一方面,點(diǎn)云作為場(chǎng)景中點(diǎn)的位置具有稀疏和非結(jié)構(gòu)化的性質(zhì),因此它們的密度和數(shù)量都隨著場(chǎng)景中對(duì)象的變化而變化。另一方面,由于自動(dòng)駕駛汽車行駛時(shí)需要非??焖俚刈龀龇磻?yīng),因此必須實(shí)時(shí)執(zhí)行物體檢測(cè),而這意味著檢測(cè)網(wǎng)絡(luò)必須在兩次掃描之間的時(shí)間間隔內(nèi)提供計(jì)算結(jié)果。
所以,深度學(xué)習(xí)雖然可用、好用,但不可盡用。
許建說:“深度學(xué)習(xí)等AI算法目前還做不到100%的精準(zhǔn)識(shí)別和檢測(cè),容易導(dǎo)致目標(biāo)漏檢。AI算法是3D點(diǎn)云感知的非常重要的手段,但是不能只靠AI。通過綜合應(yīng)用AI算法和傳統(tǒng)算法,可以解決數(shù)據(jù)樣本空間的不完備性問題,從而避免目標(biāo)漏檢情況?!?/p>
03定位功能層面的處理
3.1?特征提取
自動(dòng)駕駛車輛在路上行駛時(shí),其實(shí)車輛是不知道自己在哪的,所以用點(diǎn)云數(shù)據(jù)做定位的第一步就是先要讓自動(dòng)駕駛車輛知道“我在哪里”。
此時(shí),感知算法人員就需要先提取周邊場(chǎng)景的目標(biāo)物特征,并通過這些特征和所獲取到的相對(duì)距離信息來建立一個(gè)小地圖,知道車輛的相對(duì)初始位置。
點(diǎn)云特征提取往往是實(shí)時(shí)的,這會(huì)導(dǎo)致點(diǎn)云的數(shù)據(jù)量會(huì)非常大,而現(xiàn)有量產(chǎn)車的硬件性能有限。所以,為了減少點(diǎn)云數(shù)據(jù)的計(jì)算量,點(diǎn)云數(shù)據(jù)在被提取特征時(shí),一般會(huì)被優(yōu)先提取一些較為明顯的特征,比如物體的輪廓信息。
某主機(jī)廠感知算法工程師說:“激光雷達(dá)不會(huì)像視覺一樣,視覺會(huì)有深度的語(yǔ)義信息,而激光雷達(dá)為了減少計(jì)算量,只會(huì)提取目標(biāo)物的特征,主要是提取目標(biāo)物的“線面角”特征。比如,電線桿就是線的特征,路面就是面的特征,建筑物的角點(diǎn)就是角的特征?!?/p>
3.2?地圖匹配
在提取完周圍目標(biāo)物的特征后,感知算法人員就需要根據(jù)這些特征來進(jìn)行點(diǎn)云地圖匹配,來獲取各個(gè)點(diǎn)云之間的相對(duì)位姿。點(diǎn)云地圖匹配一般可分為幀間匹配和高精地圖匹配。
幀間匹配,也叫子圖匹配,指將前后幀上有相同特征的點(diǎn)云做匹配,最后得到一張局部小地圖。
高精地圖匹配,指將優(yōu)化后的點(diǎn)云與高精地圖做匹配。
在自動(dòng)駕駛行業(yè)內(nèi),自動(dòng)駕駛方案商或者主機(jī)廠都會(huì)應(yīng)用這兩種不同方案,但常用的匹配方案還是以幀間匹配為主。
某主機(jī)廠感知算法工程師說:“只有L4的無人駕駛項(xiàng)目或許是基于高精地圖定位方案的地圖匹配,而主機(jī)廠主要做的是幀間匹配,因?yàn)榱慨a(chǎn)車的定位方案不可能都基于高精地圖。另外,高精地圖匹配的計(jì)算量很大,在應(yīng)用時(shí)必須先做降采樣的工作?!?/p>
3.3?位姿優(yōu)化
上文也提到,點(diǎn)云數(shù)據(jù)在做完匹配后,可以獲取各點(diǎn)云間的相對(duì)位姿,而相對(duì)位姿的準(zhǔn)確性會(huì)影響構(gòu)建地圖的準(zhǔn)確性,所以需要對(duì)點(diǎn)云的相對(duì)位姿做一定的優(yōu)化。
通常來說,相對(duì)位姿的不準(zhǔn)確主要是由于一些不可控因素造成的,如點(diǎn)云被物體遮擋或者激光雷達(dá)視場(chǎng)角的限制。點(diǎn)云的位姿優(yōu)化通過一定的點(diǎn)云坐標(biāo)系的剛體變化(旋轉(zhuǎn)或平移)來得到最優(yōu)相對(duì)位姿。
參考文獻(xiàn)
【1】激光雷達(dá)(LiDAR)點(diǎn)云數(shù)據(jù)知多少?
https://blog.csdn.net/OpenDataLab/article/details/124962277
【2】學(xué)習(xí)筆記:點(diǎn)云庫(kù)PCL(Point Cloud Library )介紹
https://blog.csdn.net/jeffliu123/article/details/126137566
【3】點(diǎn)云概念與點(diǎn)云處理
https://blog.csdn.net/hongju_tang/article/details/85008888
【4】一文總結(jié)激光雷達(dá)基本性能指標(biāo)
http://www.360doc.com/content/20/0813/07/71135856_965448273.shtml
【5】激光點(diǎn)云預(yù)處理
https://zhuanlan.zhihu.com/p/455810371
【6】激光雷達(dá)運(yùn)動(dòng)補(bǔ)償方法
https://zhuanlan.zhihu.com/p/470795318
【7】激光雷達(dá)標(biāo)定
https://blog.csdn.net/qq_39032096/category_11512741.html
【8】基于3D點(diǎn)云的目標(biāo)檢測(cè)概述
https://zhuanlan.zhihu.com/p/479539638
【9】自動(dòng)駕駛中的激光雷達(dá)目標(biāo)檢測(cè)(下)
https://mp.weixin.qq.com/s/3H6qCDO-2mOP3HjGKnmLzw
【10】三維點(diǎn)云分割綜述(中)
https://mp.weixin.qq.com/s?__biz=MzI0MDYxMDk0Ng%3D%3D&chksm=e9196bc2de6ee2d4220fbf4fca46ea676eadac19a4e17b5b3d4dd9c0aa772c0b57db57f5a044&idx=1&mid=2247487535&scene=21&sn=1c6687b0a7c6df60dc0bd902676c0ed0#wechat_redirect
【11】應(yīng)用于無人駕駛車輛的點(diǎn)云聚類算法研究進(jìn)展
https://mp.weixin.qq.com/s?__biz=MzI0MjcxNDQwNQ==&mid=2247488019&idx=1&sn=be3089b2510cfb12b2a955990f9c7e3b&chksm=e9794059de0ec94fb9559cfd011c173424586de115a943376c094e6572af5dcf74121239a009&scene=27
【12】基于三維激光雷達(dá)的障礙物檢測(cè)與跟蹤
https://mp.weixin.qq.com/s/ULDIkGSUfVp3OwWgxR2A9g
【13】自動(dòng)駕駛 - 濾波算法
https://blog.csdn.net/limeigui/article/details/127656052
激光點(diǎn)云系列之二:激光雷達(dá)點(diǎn)云處理中遇到的問題及對(duì)策
在上一篇《詳解激光雷達(dá)點(diǎn)云數(shù)據(jù)的處理過程》一文中,筆者主要詳解了自動(dòng)駕駛車輛上的激光雷達(dá)點(diǎn)云處理流程。
在與激光雷達(dá)公司和下游主機(jī)廠或者解決方案商的專家交流的過程中,筆者發(fā)現(xiàn),當(dāng)前激光點(diǎn)云的處理過程中,感知算法人員會(huì)遇到很多問題。比如,點(diǎn)云噪點(diǎn)的問題、點(diǎn)云的過多或者過少的問題、FOV的設(shè)計(jì)問題、點(diǎn)云重疊區(qū)域的問題、標(biāo)定參數(shù)偏移的問題等。
本文將從技術(shù)層面和工程化層面兩個(gè)維度,分別來闡述點(diǎn)云處理環(huán)節(jié)中遇到的問題以及相應(yīng)的對(duì)策。
01技術(shù)層面的問題及對(duì)策
1.1 點(diǎn)云噪點(diǎn)的問題及對(duì)策
點(diǎn)云噪點(diǎn)是指激光雷達(dá)采集到的一些無效點(diǎn),它容易造成目標(biāo)檢測(cè)算法模型的誤檢。激光點(diǎn)云噪點(diǎn)的主要來源有兩方面:一方面是目標(biāo)物表面造成的噪點(diǎn)。比如,目標(biāo)物表面材質(zhì)的性質(zhì)(高反射率的表面材質(zhì)引起的點(diǎn)云反射能量過強(qiáng),而使得目標(biāo)物比實(shí)際大小更大)、粗糙程度(凹凸不平的表面使得點(diǎn)云的發(fā)射角度發(fā)生變化)等;另一方面是外部掃描環(huán)境造成的噪點(diǎn),如雨雪霧塵等顆粒物遮擋了點(diǎn)云而無法反射回點(diǎn)云等。
上一篇《詳解激光雷達(dá)點(diǎn)云數(shù)據(jù)的處理過程》的文章中提到,點(diǎn)云噪點(diǎn)的處理主要集中在預(yù)處理階段的濾波處理環(huán)節(jié)。濾波處理是從算法應(yīng)用的角度來處理噪點(diǎn),但是有些噪點(diǎn)并不能簡(jiǎn)單地通過濾波算法來處理。比如,大雨或者大雪等環(huán)境不能直接用濾波算法處理。再比如,對(duì)于某些電信號(hào)對(duì)激光雷達(dá)的影響,濾波算法也不能直接處理。
接下來,筆者梳理了幾個(gè)較為典型的噪點(diǎn)因素,并依次詳述它們各自的問題和對(duì)策。
(1)物體表面引起的噪點(diǎn)
激光點(diǎn)云掃描到一些特殊的目標(biāo)物表面時(shí),由于目標(biāo)物反射回來的點(diǎn)云能量過高(高反射率)而造成了一些噪點(diǎn)。
對(duì)于高反射率的目標(biāo)物表面,激光點(diǎn)云通常會(huì)出現(xiàn)高反“鬼影”和高反“膨脹”的現(xiàn)象。其中,高反“鬼影”指的是由于激光雷達(dá)對(duì)于高反射率目標(biāo)物反射回來的高強(qiáng)度回波非常敏感,這促使目標(biāo)物除了在原有真實(shí)坐標(biāo)系下存在一個(gè)真實(shí)點(diǎn)云圖像外,在臨近的其它位置也會(huì)出現(xiàn)一個(gè)大小和形狀類似的點(diǎn)云圖像。例如,交通指示牌、車牌照、尾燈等。高反“膨脹”指的是激光掃描到高反射率的目標(biāo)物表面后,點(diǎn)云圖像會(huì)出現(xiàn)向四周擴(kuò)散的現(xiàn)象,使得原有的目標(biāo)物點(diǎn)云圖像顯得更大。

圖:點(diǎn)云圖像中的“鬼影”現(xiàn)象
(數(shù)據(jù)來源:速騰聚創(chuàng))

圖:點(diǎn)云圖像中路牌的“高反”現(xiàn)象
(數(shù)據(jù)來源:速騰聚創(chuàng))
那么,無論是高反“鬼影”還是高反“膨脹”都會(huì)造成誤檢,兩者都可能會(huì)迫使車輛采取本來毫無必要的避障措施。
物體表面引起的點(diǎn)云噪點(diǎn)主要可以通過硬件層面和算法層面來解決。
在硬件層面,技術(shù)人員通過加強(qiáng)激光雷達(dá)產(chǎn)品的出廠測(cè)試環(huán)節(jié),從而提升激光雷達(dá)對(duì)高反射率物體和低反射率物體的分辨能力。
在算法層面,主要靠濾波算法來處理。縱目科技感知算法工程師湯強(qiáng)說:“物體表面引起的噪點(diǎn)通過設(shè)置閾值條件來把異常點(diǎn)去掉?!?/p>
關(guān)于如何設(shè)置閾值的條件,某自動(dòng)駕駛公司的感知算法工程師說:“舉例來說,算法模型會(huì)先定位到一片點(diǎn)云密集區(qū)域內(nèi),計(jì)算該區(qū)域內(nèi)每個(gè)點(diǎn)到其中心點(diǎn)的平均距離,然后將這個(gè)平均距離設(shè)為初始閾值條件。若目標(biāo)點(diǎn)云在這個(gè)初始閾值范圍外,該點(diǎn)云就是噪點(diǎn)。”
(2)惡劣天氣引起的噪點(diǎn)
惡劣天氣是自動(dòng)駕駛系統(tǒng)較難應(yīng)付的環(huán)境因素,尤其是雨雪霧塵,這些天氣環(huán)境會(huì)讓激光點(diǎn)云產(chǎn)生非常多的噪點(diǎn)。下文將依次分析這四種環(huán)境對(duì)激光雷達(dá)點(diǎn)云產(chǎn)生的影響。
首先是雨天環(huán)境。雨滴主要是晶體狀,激光打上去會(huì)損失一定的能量,因?yàn)樗螘?huì)讓部分激光束產(chǎn)生一定的鏡面折射。另外,隨著雨量增大后,降雨可能會(huì)由于地面溫差而形成團(tuán)狀霧,這會(huì)讓自動(dòng)駕駛系統(tǒng)誤以為前方是一個(gè)“障礙物”。
其次是雪天環(huán)境。雪是固體狀,并且容易形成體積更大的固體物。除了會(huì)堆積成團(tuán)狀的障礙物外,大雪天還容易讓地面形成大面積的積雪,這將不利于在目標(biāo)檢測(cè)環(huán)節(jié)中做地面點(diǎn)云分割處理。
再者是大霧環(huán)境。一般來說,在霧天不嚴(yán)重的情況下,如輕霧(能見度為1km-10km),霧天并不會(huì)影響激光雷達(dá)點(diǎn)云的處理效果,但是當(dāng)霧天能見度越來越低后,激光點(diǎn)云的透過率會(huì)下降,車輛前方的點(diǎn)云圖像會(huì)形成類似團(tuán)狀物體的假象,這就會(huì)造成誤檢。
最后是粉塵環(huán)境。相比于前面三者,粉塵或許會(huì)更難應(yīng)付。一方面,粉塵會(huì)形成團(tuán)狀物體,易導(dǎo)致激光雷達(dá)的誤識(shí)別;另一方面,粉塵不同于雨雪霧,它附著于激光雷達(dá)表面后,不會(huì)變干后自然消失,需要用清潔裝置立即進(jìn)行清理。
那么,該如何去解決這些問題?
上汽高級(jí)經(jīng)理殷瑋說:“如果激光雷達(dá)只是用于識(shí)別障礙物的話,點(diǎn)云噪點(diǎn)的影響不會(huì)特別大;如果這些點(diǎn)云數(shù)據(jù)用于勾勒free space(即可行駛區(qū)域,其指的是自動(dòng)駕駛車輛可以進(jìn)行規(guī)劃控制的區(qū)域)的話,就需要考慮使用傳統(tǒng)的濾波算法進(jìn)行處理,但濾波算法處理這些噪點(diǎn)的程度不一定能把控好?!?/p>
雖然傳統(tǒng)的濾波算法可以用于點(diǎn)云去噪,但是該方法的計(jì)算量非常大,其算法最終的效果還依賴于技術(shù)人員的技術(shù)水平。所以,在自動(dòng)駕駛行業(yè)內(nèi),技術(shù)人員也會(huì)采用神經(jīng)網(wǎng)絡(luò)模型來處理點(diǎn)云噪點(diǎn)。
某主機(jī)廠感知算法工程師說:“感知算法人員可直接利用深度學(xué)習(xí)模型去識(shí)別車輛前方的障礙物,將雨水等噪點(diǎn)直接忽略掉?!?/p>
總的來說,技術(shù)人員與其采用傳統(tǒng)方法來識(shí)別這些噪點(diǎn),不如忽略這些噪點(diǎn),直接采用神經(jīng)網(wǎng)絡(luò)模型來識(shí)別前方的障礙物,如車輛、行人等,畢竟這些障礙物才是需要重點(diǎn)去檢測(cè)的目標(biāo)物,而雨雪霧塵(不嚴(yán)重的情況下)并不會(huì)影響正常的行車安全。
(3)電磁信號(hào)引起的噪點(diǎn)
如今,隨著5G網(wǎng)絡(luò)日益發(fā)達(dá),各種手機(jī)、筆記本電腦等電子產(chǎn)品到處都是,而激光雷達(dá)作為一種精密器械,將會(huì)被這些電子產(chǎn)品產(chǎn)生的電磁波干擾,從而產(chǎn)生噪點(diǎn)。另外,當(dāng)自動(dòng)駕駛車輛經(jīng)過一些特定區(qū)域時(shí),如機(jī)場(chǎng)、發(fā)電引起,這些區(qū)域也會(huì)產(chǎn)生電磁波的干擾。
關(guān)于電磁信號(hào)引起噪點(diǎn)的原因,圖達(dá)通系統(tǒng)及應(yīng)用負(fù)責(zé)人Leon說:“主要是兩方面的原因:其一,電磁信號(hào)會(huì)影響激光雷達(dá)的整個(gè)電路,比如電容等等;其二,電磁信號(hào)將影響激光雷達(dá)的接收端,由于接收器的靈敏度非常高,意味著它更容易受到電磁信號(hào)的干擾。”
為了解釋電磁信號(hào)影響激光雷達(dá)內(nèi)部電路和接收器的原因,某激光雷達(dá)公司的專家說:“較強(qiáng)的電磁信號(hào)在透射進(jìn)入激光雷達(dá)內(nèi)部后,對(duì)整個(gè)電路或者接收端的器件形成電壓變化(超過了激光雷達(dá)部?jī)?nèi)的額定電壓),影響了激光雷達(dá)內(nèi)部的正常工作?!?/p>
結(jié)合上述原因來看,電磁信號(hào)引起的噪點(diǎn),本質(zhì)上是因?yàn)榧す饫走_(dá)的硬件端受到了干擾。因此,這種噪點(diǎn)無法通過濾波算法來處理。若要正確解決電磁信號(hào)引起的噪點(diǎn),關(guān)鍵是靠激光雷達(dá)自身硬件質(zhì)量是否過硬。
Leon說:“在前期研發(fā)階段,激光雷達(dá)廠商會(huì)做一些EMC測(cè)試(電磁兼容測(cè)試),需要在不同頻段上做屏蔽電路的測(cè)試?!?/p>
1.2 點(diǎn)云過多或者過少的問題及對(duì)策
點(diǎn)云過多的話,算法模型處理數(shù)據(jù)的難度和計(jì)算量會(huì)增加。比如,在點(diǎn)云分割過程中,由于點(diǎn)云數(shù)量過多,目標(biāo)物之間的邊緣可能無法快速進(jìn)行特征計(jì)算和分割,從而導(dǎo)致計(jì)算量增加。
某主機(jī)廠感知算法工程師說:“目前車端的算力并不是那么高,點(diǎn)云過多的話,最直接的解決措施就是采取降采樣——去除多余的點(diǎn),但并不是隨意刪除,必須要最大程度地保留有用的信息(利用深度學(xué)習(xí)模型,提取目標(biāo)物的主要特征)。舉例來說,降采樣方法會(huì)將90%的點(diǎn)云數(shù)據(jù)去除,但仍然保留了50%的有效信息。”
不過,目前行業(yè)內(nèi)的關(guān)注點(diǎn)更多的還是點(diǎn)云信息不足的問題。那么,為什么點(diǎn)云過少會(huì)更受到關(guān)注?
目前,在自動(dòng)駕駛行業(yè)內(nèi),點(diǎn)云在車端主要被用于感知,所以點(diǎn)云信息需要盡可能的多。
某主機(jī)廠的感知算法工程師說:“點(diǎn)云數(shù)據(jù)被用于目標(biāo)檢測(cè)時(shí),感知算法人員不知道被測(cè)物體具體是什么,所以他們希望信息量盡可能地多?!?/p>
總的來說,點(diǎn)云過少的話,目標(biāo)障礙物表面掃描到的點(diǎn)云數(shù)量過少,這可能會(huì)導(dǎo)致漏檢。
縱目科技感知算法工程師湯強(qiáng)說:“點(diǎn)云過少的問題,主要有三種解決方案:第一,多幀疊加。舉例來說,在處理點(diǎn)云圖像時(shí),感知算法人員會(huì)將當(dāng)前幀點(diǎn)云前后各后5幀的pcd數(shù)據(jù)都投影到當(dāng)前幀時(shí)刻上,這樣就形成了共11幀的pcd數(shù)據(jù),讓點(diǎn)云顯得更密。
“第二,深度補(bǔ)全——常見的傳統(tǒng)方法主要是利用腐蝕和膨脹的形態(tài)學(xué)方法。比如,激光雷達(dá)掃描到一根鐵絲上時(shí),可能就只顯示少量的點(diǎn)云,為了提升點(diǎn)云真值數(shù)據(jù)的準(zhǔn)確性,就需要使用該方法將這根鐵絲變得更粗。行業(yè)內(nèi)也有很多通過深度學(xué)習(xí)來做深度補(bǔ)全的方案。
“第三,增加線束。一方面,使用性能更好的激光雷達(dá)產(chǎn)品,如32線的產(chǎn)品改用128線的產(chǎn)品;另一方面,技術(shù)人員通過堆激光雷達(dá)數(shù)量的方式,來增加感知區(qū)域的點(diǎn)云數(shù)量?!?/p>
1.3 不同技術(shù)路線引起的問題及對(duì)策
當(dāng)前,由于車輛外觀造型和成本等因素,量產(chǎn)車主要是以半固態(tài)的激光雷達(dá)為主。該章節(jié)部分將重點(diǎn)介紹半固態(tài)激光雷達(dá)引起的點(diǎn)云問題和相關(guān)對(duì)策。
按照掃描方式的不同,ToF激光雷達(dá)可分為機(jī)械式、半固態(tài)、純固態(tài)三類。在實(shí)際的應(yīng)用過程中,不同掃描技術(shù)路線的激光雷達(dá)會(huì)出現(xiàn)不同的點(diǎn)云問題。
一般來說,半固態(tài)激光雷達(dá)由于其掃描方式導(dǎo)致了點(diǎn)云中間密、兩邊稀疏的特點(diǎn)。除此以外,半固態(tài)激光雷達(dá)在面對(duì)低反射率物體時(shí),存在識(shí)別能力較弱的問題。
某L4自動(dòng)駕駛解決方案商技術(shù)專家說:“以對(duì)鐵絲網(wǎng)的檢測(cè)為例,半固態(tài)的激光雷達(dá)無論是轉(zhuǎn)鏡式、棱鏡式,還是MEMS,它們一般都有5-6個(gè)激光發(fā)射器,通過掃瞄鏡去分光,這種掃描方式造成了分光后激光點(diǎn)云的能量減少,致使掃描到的鐵絲網(wǎng)會(huì)出現(xiàn)大面積的漏空或者識(shí)別不出的情況?!?/p>
解決上述問題的主要對(duì)策就是增加感興趣區(qū)域的點(diǎn)云密度。比如,某些半固態(tài)激光雷達(dá)產(chǎn)品采取了角分辨率可調(diào)的方法,將原本激光雷達(dá)看得遠(yuǎn)的優(yōu)勢(shì)轉(zhuǎn)化為角分辨率上的優(yōu)勢(shì)。根據(jù)不同的場(chǎng)景使用需求,自動(dòng)駕駛的感知系統(tǒng)可直接根據(jù)場(chǎng)景需求來設(shè)置激光雷達(dá)在感興趣區(qū)域的點(diǎn)云密度。
02工程化層面的問題及對(duì)策
2.1?安裝方式造成的問題及對(duì)策
在硬件性能固定的前提下,點(diǎn)云處理效果可能會(huì)與激光雷達(dá)安裝的位置和對(duì)應(yīng)的角度有關(guān)。不正確的安裝可能會(huì)使得點(diǎn)云無法覆蓋重點(diǎn)感知區(qū)域。
某激光雷達(dá)廠商的技術(shù)專家舉例列出了三種可能會(huì)影響點(diǎn)云效果的不正確的激光雷達(dá)安裝方式:“第一種是非正向的安裝。比如,有些應(yīng)用方可能會(huì)把激光雷達(dá)倒過來安裝,這會(huì)影響激光雷達(dá)原有的內(nèi)部結(jié)構(gòu)。假設(shè)激光雷達(dá)里面有一根彈簧,在原本正向安裝和使用時(shí),彈簧是被壓縮的,但倒過來安裝和使用時(shí),彈簧就會(huì)被拉升,這會(huì)影響激光雷達(dá)內(nèi)部器件。
“第二種是激光雷達(dá)在垂直角度上安裝得過偏。一般情況下,激光雷達(dá)在垂直角度上都是平向安裝,而在水平角度上可根據(jù)具體需求來定,但有些時(shí)候車端的激光雷達(dá)在垂直角度上安裝的過偏。比如,激光雷達(dá)在垂直角度上安裝得過于朝上或者朝下,點(diǎn)云無法完全覆蓋重點(diǎn)感知區(qū)域。
“第三種是安裝得過低。激光雷達(dá)被安裝在較低的位置,激光束與地面的夾角會(huì)減小,導(dǎo)致了點(diǎn)云反射回來的能量就比較弱,不利于實(shí)際的探測(cè)。所以,激光雷達(dá)一般會(huì)被安裝在較高的位置。”
當(dāng)然了,激光雷達(dá)具體怎么安裝仍取決于具體需要實(shí)現(xiàn)什么功能。
某主機(jī)廠的感知算法工程師說:“拋開功能去做傳感器的配置,這并不是正兒八經(jīng)地做產(chǎn)品。如果激光雷達(dá)用于Robotaxi,激光雷達(dá)需要安裝在車頂,這樣可以實(shí)現(xiàn)360°的水平FOV。如果激光雷達(dá)用于檢測(cè)盲區(qū),激光雷達(dá)需要裝在車的前后左右側(cè),這樣可以實(shí)現(xiàn)行駛時(shí)的換道。如果激光雷達(dá)用于實(shí)現(xiàn)pilot功能(高速領(lǐng)航輔助功能),激光雷達(dá)一般就是裝在車頂正前方。如果激光雷達(dá)用于交叉口的場(chǎng)景,激光雷達(dá)就需要在左右兩側(cè)的前端各裝一個(gè)?!?/p>
2.2 FOV設(shè)計(jì)引起的問題及對(duì)策
哪怕安裝方式?jīng)]問題,如果FOV設(shè)計(jì)有短板,那激光雷達(dá)仍然會(huì)存在感知盲區(qū)。那么,激光雷達(dá)的水平或垂直FOV具體設(shè)計(jì)多少才合適?在水平方向上,多臺(tái)激光雷達(dá)的FOV如何做拼接,才能將點(diǎn)云更有效地覆蓋盲區(qū)?
表:部分激光雷達(dá)產(chǎn)品的FOV情況

數(shù)據(jù)來源:各激光雷達(dá)廠商官網(wǎng)
首先,在水平FOV方面,大部分的應(yīng)用方肯定都希望激光雷達(dá)的水平FOV能夠無死角的覆蓋,但考慮到成本因素,具體水平FOV設(shè)計(jì)多少度需要根據(jù)激光雷達(dá)所實(shí)現(xiàn)的功能而定。
某主機(jī)廠感知算法工程師說:“對(duì)于城區(qū)或者高速場(chǎng)景,一個(gè)水平FOV為120度的激光雷達(dá)已經(jīng)夠用了。對(duì)于泊車場(chǎng)景,激光雷達(dá)的水平FOV就需要達(dá)到360度。”
在城區(qū)或者高速場(chǎng)景,當(dāng)前的量產(chǎn)車主要可實(shí)現(xiàn)的功能是輔助駕駛,激光雷達(dá)主要功能在于對(duì)前方目標(biāo)物的識(shí)別檢測(cè),所以單個(gè)水平FOV為120°的激光雷達(dá)即可實(shí)現(xiàn)。某些車企為了增加激光雷達(dá)前方的點(diǎn)云覆蓋面積,也會(huì)采用了兩顆主激光雷達(dá)方案,從而達(dá)到180°左右的FOV。還有些車企采用了1顆前向主雷達(dá)+2顆側(cè)向補(bǔ)盲激光雷達(dá)的方案(布置在車輛左右兩側(cè)),使得整個(gè)水平FOV達(dá)到320°以上。
在泊車場(chǎng)景,為了實(shí)現(xiàn)高級(jí)別自動(dòng)駕駛的AVP功能,激光雷達(dá)部署需要采用水平FOV為360度的方案(1顆前向主激光雷達(dá)+2顆側(cè)向補(bǔ)盲激光雷達(dá)+1顆后向補(bǔ)盲激光雷達(dá)),可以讓點(diǎn)云全場(chǎng)景的覆蓋。

圖:不同激光雷達(dá)配置下的水平FOV
(來源:速騰聚創(chuàng))
其次,在垂直FOV方面,主激光雷達(dá)為了獲得更多的前方信息,需要盡可能地減少垂直方向的FOV,從而增加車前方的點(diǎn)云數(shù)量,返回能量也能更多,所以垂直方向FOV一般僅為25°;而補(bǔ)盲激光雷達(dá)為了看清車身周圍的環(huán)境,需要其垂直FOV水平能更大,可達(dá)到近90°。
某主機(jī)廠感知算法工程師說:“面對(duì)小孩和寵物等體積小并且會(huì)“亂跑”的目標(biāo)物,,就需要補(bǔ)盲激光雷達(dá)的垂直FOV更大一些,這樣可以更大程度地掃描到近距離的目標(biāo)物,讓激光雷達(dá)掃在目標(biāo)物上面的點(diǎn)云能夠更加完整。”

圖:補(bǔ)盲激光雷達(dá)的垂直FOV
(數(shù)據(jù)來源:速騰聚創(chuàng))
2.3 多個(gè)激光雷達(dá)重疊區(qū)域的問題及對(duì)策
在設(shè)計(jì)多激光雷達(dá)部署方案時(shí),多個(gè)激光雷達(dá)之間的水平FOV往往需要有重疊區(qū)域,而不是完美地?zé)o縫拼接在一起。設(shè)計(jì)點(diǎn)云重疊區(qū)域的理由主要是:
第一,激光雷達(dá)產(chǎn)品標(biāo)注的官方FOV水平是一個(gè)較為理想的狀態(tài),而在產(chǎn)品實(shí)際應(yīng)用時(shí),其FOV水平并不一定能達(dá)到該理想水平。
圖達(dá)通算法負(fù)責(zé)人許建博士說:“雖然激光雷達(dá)產(chǎn)品標(biāo)稱了水平視場(chǎng)角,但實(shí)際上水平視場(chǎng)角邊緣的點(diǎn)云質(zhì)量容易退化,點(diǎn)云拼接時(shí)最好能夠有一定的重疊區(qū)域?!?/p>
第二,多個(gè)激光雷達(dá)的重疊區(qū)域主要覆蓋在車輛盲區(qū)位置。比如1個(gè)主雷達(dá)+2個(gè)補(bǔ)盲雷達(dá)的方案,相互之間的重疊區(qū)域主要是分布在車前側(cè)兩端的位置,這個(gè)區(qū)域增加點(diǎn)云的數(shù)據(jù)信息可以提高模型對(duì)車輛盲區(qū)的感知能力。再比如,車前方兩個(gè)主雷達(dá)的方案可以提高車前端感知區(qū)域的信息冗余安全。
某主機(jī)廠感知算法工程師說:“如果兩個(gè)激光雷達(dá)只是簡(jiǎn)單地拼接在一起,當(dāng)一個(gè)目標(biāo)物處于它們各自的邊緣區(qū)域時(shí),感知系統(tǒng)可能會(huì)很難檢測(cè)到該盲區(qū)位置的目標(biāo)物。如果兩個(gè)激光雷達(dá)有一定的重疊區(qū)域時(shí),系統(tǒng)至少有很大一部分點(diǎn)云能覆蓋到該目標(biāo)物?!?/p>
所以,多個(gè)激光雷達(dá)的感知區(qū)域重疊是非常有必要的,重疊區(qū)域可以讓點(diǎn)云更密、信息冗余安全更高。那么,在水平FOV方向上,點(diǎn)云重疊區(qū)域到底需要交叉多少才合適呢?
Leon說:“以應(yīng)用方的反饋來看,他們會(huì)要求多個(gè)激光雷達(dá)之間有一定的重疊部分,可以保證自動(dòng)駕駛系統(tǒng)在識(shí)別檢測(cè)時(shí)不漏掉任何目標(biāo)物。同時(shí),他們也不希望重疊區(qū)域太多,這會(huì)造成資源的浪費(fèi)?!?/p>
也就是說,點(diǎn)云重疊區(qū)域較小的話,由于某些半固態(tài)激光雷達(dá)掃描區(qū)域的邊緣部分點(diǎn)云較稀疏,這使得點(diǎn)云配準(zhǔn)難度會(huì)加大。點(diǎn)云重疊區(qū)域較大的話,會(huì)造成傳感器硬件性能的浪費(fèi),使得最后多個(gè)激光雷達(dá)拼接成的整體水平FOV過小。
在與各專家的交流后,筆者整理出了多個(gè)激光雷達(dá)方案下點(diǎn)云重疊區(qū)域的大小范圍:
兩個(gè)前向主激光雷達(dá)方案:重疊部分分布在車頭蓋前面,重疊區(qū)域的度數(shù)約20-30度;
一個(gè)主雷達(dá)+兩個(gè)側(cè)向補(bǔ)盲雷達(dá)方案:重疊部分分布在車頭前向兩側(cè),重疊區(qū)域的度數(shù)大概不小于5度。
當(dāng)然,上述重疊區(qū)域的大小是一個(gè)理想范圍,而真正在車端應(yīng)用時(shí)仍需要做嚴(yán)格的測(cè)試。
許建說:“多個(gè)激光雷達(dá)在部署時(shí),關(guān)于重疊區(qū)域的度數(shù),技術(shù)人員需要做一套嚴(yán)格的工程應(yīng)用測(cè)試,而不會(huì)直接定一個(gè)確定的數(shù)值。首先,技術(shù)人員會(huì)按照給定的產(chǎn)品設(shè)計(jì)指標(biāo)參數(shù)進(jìn)行3D模擬測(cè)試。然后,他們會(huì)在模擬測(cè)試的基礎(chǔ)上,再進(jìn)行實(shí)地測(cè)試。最后才會(huì)給出相應(yīng)的重疊區(qū)域設(shè)置?!?/p>
在確定完重疊區(qū)域的度數(shù)后,接下來需要解決的是如何去使用重疊區(qū)域的目標(biāo)物點(diǎn)云數(shù)據(jù)。
重疊區(qū)域的點(diǎn)云數(shù)據(jù)并不意味地拿來即用,其存在著一定的困難。許建說:“一方面,重疊區(qū)域的點(diǎn)云可能來自兩種不同技術(shù)路線的激光雷達(dá),這兩種激光雷達(dá)不僅功率、視場(chǎng)角、角分辨率等參數(shù)指標(biāo)都不同,而且,實(shí)際用法也不同?!?/p>
通常情況下,由于各家應(yīng)用方的技術(shù)方案不同,所以針對(duì)點(diǎn)云重疊區(qū)域的處理方案也是不同的。筆者整理了三種可能的應(yīng)對(duì)方案。
第一種方案是直接采用主激光雷達(dá)來檢測(cè)識(shí)別。
Leon說:“對(duì)于重疊區(qū)域,感知算法人員可以是通過多個(gè)激光雷達(dá)相互的信號(hào)補(bǔ)充,來增加識(shí)別的可信度,也可以只看主雷達(dá)的點(diǎn)云數(shù)據(jù),畢竟相比側(cè)端的補(bǔ)盲激光雷達(dá),主激光雷達(dá)在探測(cè)的精細(xì)度、距離等各個(gè)方面的性能更高。”
第二種方案是先采用主激光雷達(dá)的點(diǎn)云數(shù)據(jù),再采用補(bǔ)盲激光雷達(dá)的點(diǎn)云數(shù)據(jù)。
某主機(jī)廠感知算法工程師說:“在很多時(shí)候,兩個(gè)不同性能指標(biāo)的激光雷達(dá)點(diǎn)云重疊在一起,不可能將兩塊點(diǎn)云合成一個(gè)點(diǎn)云來使用,很多時(shí)候是主激光雷達(dá)去測(cè)一下,然后補(bǔ)盲激光雷達(dá)再去測(cè)一下?!?/p>
第三種方案是多激光雷達(dá)的點(diǎn)云融合。
禾賽某技術(shù)專家說:“為了降低算力消耗與提升算法效果,多激光雷達(dá)融合在主流方案里基本都是點(diǎn)云前融合然后進(jìn)行后續(xù)處理。前融合的過程會(huì)將所有的點(diǎn)云都轉(zhuǎn)換到車身坐標(biāo)系進(jìn)行同一處理,最大程度地解決不同安裝位置帶來的點(diǎn)云數(shù)據(jù)差異?!?/p>
2.4 標(biāo)定參數(shù)偏移的問題及對(duì)策
為了更好地融合激光雷達(dá)和相機(jī)的數(shù)據(jù),自動(dòng)駕駛車輛需要在出廠時(shí)就做好兩種傳感器的標(biāo)定。感知算法人員通過求取其外參后,將兩種傳感器的三維信息轉(zhuǎn)換到統(tǒng)一坐標(biāo)系下,進(jìn)行融合定位建圖或者感知檢測(cè)。
已標(biāo)定好的傳感器參數(shù)并不是一成不變的。事實(shí)上,在車輛的行駛過程中,由于車輛不斷地機(jī)械振動(dòng),使得激光雷達(dá)與相機(jī)之間的標(biāo)定參數(shù)會(huì)發(fā)生偏移,這會(huì)影響點(diǎn)云的識(shí)別檢測(cè)以及激光雷達(dá)與相機(jī)的融合處理。
某主機(jī)廠感知算法工程師說:“激光雷達(dá)和相機(jī)之間的標(biāo)定較難,雖然出廠時(shí),車端傳感器的聯(lián)合標(biāo)定是已經(jīng)做好的,但隨著時(shí)間的推移,它們之間的標(biāo)定關(guān)系會(huì)慢慢發(fā)生改變,這個(gè)時(shí)候也不可能是讓車輛回廠后進(jìn)行重新標(biāo)定。
“對(duì)于量產(chǎn)車來說,車已經(jīng)賣出去了,不可能開回車廠再重新標(biāo)定。自動(dòng)駕駛車輛只能做在線標(biāo)定,系統(tǒng)會(huì)根據(jù)已收集的數(shù)據(jù),在車開至某個(gè)特定的場(chǎng)景后(比如線和面的特征較多的場(chǎng)景),讓自動(dòng)駕駛系統(tǒng)重新標(biāo)定。如果在高速公路上的話,自動(dòng)駕駛車輛很難找到一個(gè)特定場(chǎng)景去重新標(biāo)定,只能將車輛開至城區(qū)的特定位置后再標(biāo)定。
“對(duì)于細(xì)分場(chǎng)景的低速車來說,由于大部分低速場(chǎng)景都是半封閉的場(chǎng)景,通常技術(shù)人員會(huì)在場(chǎng)景內(nèi)選擇一個(gè)容易標(biāo)定的位置,把車開過去,再重新進(jìn)行標(biāo)定。最后,如果實(shí)在沒法解決問題,自動(dòng)駕駛企業(yè)才會(huì)派人去現(xiàn)場(chǎng)。”
激光點(diǎn)云系列之三:點(diǎn)云配準(zhǔn)
在第一篇《詳解激光雷達(dá)點(diǎn)云數(shù)據(jù)的處理過程》和第二篇《激光雷達(dá)點(diǎn)云處理中遇到的問題及對(duì)策》的激光點(diǎn)云系列文中,筆者分別分析了激光雷達(dá)的點(diǎn)云處理流程和點(diǎn)云處理環(huán)節(jié)中遇到的典型問題及對(duì)策。在本篇文章中,筆者將重點(diǎn)分析激光點(diǎn)云在定位環(huán)節(jié)中的點(diǎn)云配準(zhǔn)技術(shù)。
由于受到視場(chǎng)角的限制,激光雷達(dá)在實(shí)時(shí)采集點(diǎn)云數(shù)據(jù)時(shí),只能獲得有限視野范圍內(nèi)的點(diǎn)云圖像。為了獲得三維場(chǎng)景的點(diǎn)云數(shù)據(jù),感知算法人員需要在已知的初始姿態(tài)信息下,將采集到的前后兩幀不同點(diǎn)云轉(zhuǎn)換到統(tǒng)一坐標(biāo)系下,將點(diǎn)云重合的部分拼接在一起——這就是點(diǎn)云配準(zhǔn)技術(shù)。
下文將逐一分析點(diǎn)云配準(zhǔn)具體是什么、點(diǎn)云配準(zhǔn)的技術(shù)方法、點(diǎn)云配準(zhǔn)面臨的問題及對(duì)策。
01點(diǎn)云配準(zhǔn)在自動(dòng)駕駛方面的應(yīng)用
點(diǎn)云配準(zhǔn)早先主要應(yīng)用于建筑行業(yè)中的建筑信息模型(BIM)、采礦行業(yè)中的礦區(qū)開采等,而在自動(dòng)駕駛領(lǐng)域內(nèi)的作用主要有三類,分別為三維地圖構(gòu)建、高精地圖定位、姿態(tài)估計(jì)。
第一,三維地圖構(gòu)建。在建高精地圖時(shí),自動(dòng)駕駛系統(tǒng)通過激光雷達(dá)采集回來的相鄰幀點(diǎn)云進(jìn)行點(diǎn)云配準(zhǔn)后,將不同位置采集回來的點(diǎn)云統(tǒng)一到一個(gè)坐標(biāo)系下,然后構(gòu)建出一個(gè)三維的高精度地圖。
第二,高精地圖定位。在自動(dòng)駕駛車輛行駛時(shí),車輛需要做到厘米級(jí)的精準(zhǔn)定位。例如,自動(dòng)駕駛車輛需要估計(jì)其在地圖上的精確位置及車與道路路沿的距離。自動(dòng)駕駛系統(tǒng)通過點(diǎn)云配準(zhǔn)技術(shù),將實(shí)時(shí)采集到的點(diǎn)云數(shù)據(jù)與高精地圖的數(shù)據(jù)做匹配,為自動(dòng)駕駛車輛給出精確的定位。
第三,姿態(tài)估計(jì)。自動(dòng)駕駛系統(tǒng)通過點(diǎn)云配準(zhǔn)技術(shù)來估計(jì)車輛的相對(duì)姿態(tài)信息,然后并有利于對(duì)車輛做決策規(guī)劃。
02點(diǎn)云配準(zhǔn)的工作原理與技術(shù)方法
2.1 點(diǎn)云配準(zhǔn)的工作原理
點(diǎn)云配準(zhǔn)的工作原理是激光雷達(dá)由于受到環(huán)境等各種因素的限制,在點(diǎn)云采集過程中單次采集到的點(diǎn)云只能覆蓋目標(biāo)物表面的一部分,為了得到完整的目標(biāo)物點(diǎn)云信息,就需要對(duì)目標(biāo)物進(jìn)行多次掃描,并將得到的三維點(diǎn)云數(shù)據(jù)進(jìn)行坐標(biāo)系的剛體變換,把目標(biāo)物上的局部點(diǎn)云數(shù)據(jù)轉(zhuǎn)換到同一坐標(biāo)系下。
通俗點(diǎn)來說,點(diǎn)云配準(zhǔn)的關(guān)鍵是如何尋找到初始點(diǎn)云和目標(biāo)點(diǎn)云之間的對(duì)應(yīng)關(guān)系,然后通過這個(gè)對(duì)應(yīng)關(guān)系將原始點(diǎn)云和目標(biāo)點(diǎn)云進(jìn)行匹配,并計(jì)算出它們的特征相似度,最后統(tǒng)一到一個(gè)坐標(biāo)系下。

圖:點(diǎn)云的三維建圖效果
(數(shù)據(jù)來源:互聯(lián)網(wǎng))
點(diǎn)云配準(zhǔn)通??煞譃閮蓚€(gè)步驟,分別是粗配準(zhǔn)和精配準(zhǔn)。
粗配準(zhǔn),即點(diǎn)云的初始配準(zhǔn),指的是通過一個(gè)旋轉(zhuǎn)平移矩陣的初值,將兩個(gè)位置不同的點(diǎn)云盡可能地對(duì)齊。粗配準(zhǔn)的主流方法包括RANSAC、4PCS等。
經(jīng)過粗配準(zhǔn)之后,兩片點(diǎn)云的重疊部分已經(jīng)可以大致對(duì)齊,但精度還遠(yuǎn)遠(yuǎn)達(dá)不到自動(dòng)駕駛車輛的定位要求,需要進(jìn)一步做精配準(zhǔn)。
精配準(zhǔn)指的是在初始配準(zhǔn)的基礎(chǔ)上,進(jìn)一步計(jì)算兩個(gè)點(diǎn)云近似的旋轉(zhuǎn)平移矩陣。精配準(zhǔn)的主流方法包括ICP、NDT、深度學(xué)習(xí)等。
2.2 點(diǎn)云配準(zhǔn)的技術(shù)方法
上文提到了一些點(diǎn)云配準(zhǔn)的具體方法,由于各家自動(dòng)駕駛公司的技術(shù)水平與技術(shù)方案都不同,所以他們會(huì)采用不同的點(diǎn)云配準(zhǔn)方法——有些公司會(huì)在粗配準(zhǔn)或者精配準(zhǔn)過程中只采取一種方法,也有些公司會(huì)采取多種組合的方法。比如,在精準(zhǔn)配過程中,某些公司會(huì)采用ICP+深度學(xué)習(xí)的方式。該章節(jié)將詳細(xì)論述上文的幾種點(diǎn)云配準(zhǔn)方法。
2.2.1 粗配準(zhǔn)的技術(shù)方法
(1)RANSAC(RAndom SAmple Consensus,隨機(jī)采樣一致)
方法原理:該算法從給定的樣本集中隨機(jī)選取一些樣本并估計(jì)一個(gè)數(shù)學(xué)模型,將樣本中的其余樣本帶入該數(shù)學(xué)模型中驗(yàn)證,如果有足夠多的樣本誤差在給定范圍內(nèi),則該數(shù)學(xué)模型最優(yōu),否則繼續(xù)循環(huán)該步驟。
RANSAC算法被引入三維點(diǎn)云配準(zhǔn)領(lǐng)域,其本質(zhì)就是不斷的對(duì)源點(diǎn)云進(jìn)行隨機(jī)樣本采樣并求出對(duì)應(yīng)的變換模型,接著對(duì)每一次隨機(jī)變換模型進(jìn)行測(cè)試,并不斷循環(huán)該過程直到選出最優(yōu)的變換模型作為最終結(jié)果。
具體步驟:
1)對(duì)點(diǎn)云進(jìn)行降采樣和濾波處理,減少點(diǎn)云的計(jì)算量。
2)基于降采樣和濾波處理后的點(diǎn)云數(shù)據(jù),進(jìn)行特征提取。
3)使用RANSAC算法進(jìn)行迭代采樣,獲取較為理想的變換矩陣。
4)使用所獲得的變換矩陣進(jìn)行點(diǎn)云變換操作。
優(yōu)點(diǎn):適用于較大點(diǎn)云數(shù)據(jù)量的情況,可以在不考慮點(diǎn)云間距離大小的情況下,都能實(shí)現(xiàn)點(diǎn)云的粗配準(zhǔn)。
缺點(diǎn):存在配準(zhǔn)精度的不穩(wěn)定的問題。
(2)4PCS(4-Points Congruent Sets,全等四點(diǎn)集)
方法原理:該算法利用剛體變換中的幾何不變性(如向量/線段比例、點(diǎn)間歐幾里得距離),根據(jù)剛性變換后交點(diǎn)所占線段比例不變以及點(diǎn)之間的歐幾里得距離不變的特性,在目標(biāo)點(diǎn)云中盡可能尋找4個(gè)近似共面點(diǎn)(近似全等四點(diǎn)集)與之對(duì)應(yīng),從而利用最小二乘法計(jì)算得到變換矩陣,基于RANSAC算法框架迭代選取多組基,根據(jù)最大公共點(diǎn)集(LCP)的評(píng)價(jià)準(zhǔn)則進(jìn)行比較得到最優(yōu)變換。
具體步驟:
1)在目標(biāo)點(diǎn)云集合中尋找滿足長(zhǎng)基線要求的共面四點(diǎn)基(基線的確定與輸入?yún)?shù)中overlap有很大關(guān)系,overlap越大,基線選擇越長(zhǎng),長(zhǎng)基線能夠保證匹配的魯棒性,且匹配數(shù)量較少)。
2)提取共面四點(diǎn)基的拓?fù)湫畔?,?jì)算四點(diǎn)基間的兩個(gè)比例因子。
3)計(jì)算四種可能存在的交點(diǎn)位置,進(jìn)而計(jì)算所有中長(zhǎng)基線點(diǎn)對(duì)的交點(diǎn)坐標(biāo),比較交點(diǎn)坐標(biāo)并確定匹配集合,尋找到對(duì)應(yīng)的一致全等四點(diǎn)。
4)尋找點(diǎn)云中所有的共面四點(diǎn)集合,重復(fù)上述步驟可得到全等四點(diǎn)集合,并尋找最優(yōu)全等四點(diǎn)對(duì)。
優(yōu)點(diǎn):適用于重疊區(qū)域較小或者重疊區(qū)域發(fā)生較大變化場(chǎng)景點(diǎn)云配準(zhǔn),無需對(duì)輸入數(shù)據(jù)進(jìn)行預(yù)濾波和去噪。
缺點(diǎn):不適合工程化應(yīng)用。
2.2.2 精配準(zhǔn)的技術(shù)方法
(1)ICP(Iterative Closest Point,最近點(diǎn)迭代法)
方法原理:選取兩片點(diǎn)云中距離最近的點(diǎn)作為對(duì)應(yīng)點(diǎn),通過所有對(duì)應(yīng)點(diǎn)對(duì)求解旋轉(zhuǎn)和平移變換矩陣,并通過不斷迭代的方式使兩片點(diǎn)云之間的配準(zhǔn)誤差越來越小,直至滿足我們提前設(shè)定的閾值要求或迭代次數(shù)。
具體步驟:
1)計(jì)算源點(diǎn)云中的每一個(gè)點(diǎn)在目標(biāo)點(diǎn)集中的對(duì)應(yīng)近點(diǎn)。
2)求得使上述對(duì)應(yīng)點(diǎn)對(duì)平均距離最小的剛體變換,并求得平移參數(shù)和旋轉(zhuǎn)參數(shù)。
3)對(duì)求得的平移和旋轉(zhuǎn)矩陣進(jìn)行空間變換,得到新的變換點(diǎn)集。
4)如果新的變換點(diǎn)集與參考點(diǎn)集滿足兩點(diǎn)集的平均距離小于某一給定閾值,或者迭代次數(shù)達(dá)到設(shè)定的最大值,則停止迭代計(jì)算,否則新的變換點(diǎn)集作為新的源點(diǎn)云繼續(xù)迭代,直到達(dá)到目標(biāo)函數(shù)的要求。
優(yōu)點(diǎn):
1)不需要對(duì)點(diǎn)云集進(jìn)行分割和特征提取。
2)在初值較好的情況下,可以得到很好的算法收斂性。
缺點(diǎn):
1)在搜索對(duì)應(yīng)點(diǎn)的過程中,計(jì)算量較大,計(jì)算速度較慢。
2)對(duì)配準(zhǔn)點(diǎn)云的初始位置有一定要求,不合理的初始位置會(huì)導(dǎo)致算法陷入局部最優(yōu)。
3)ICP算法在尋找對(duì)應(yīng)點(diǎn)時(shí),模型會(huì)將任何兩個(gè)點(diǎn)云之間的歐氏距離最近的點(diǎn)作為對(duì)應(yīng)點(diǎn),這種假設(shè)會(huì)產(chǎn)生一定數(shù)量的錯(cuò)誤對(duì)應(yīng)點(diǎn)。
(2)NDT(Normal Distribution Transform,正態(tài)分布點(diǎn)云算法)
方法原理:先對(duì)待配準(zhǔn)點(diǎn)云進(jìn)行柵格化處理,將其劃分為指定大小的網(wǎng)格,通過正態(tài)分布的方式,構(gòu)建每個(gè)網(wǎng)格的概率分布函數(shù),之后優(yōu)化求解出最優(yōu)變換參數(shù),使得源點(diǎn)云概率密度分布達(dá)到最大,以實(shí)現(xiàn)兩個(gè)點(diǎn)云之間的最佳匹配。
具體步驟:
1)將空間劃分成各個(gè)格子cell(也叫體素voxel grid)。
2)將參考點(diǎn)云投到各個(gè)網(wǎng)格中。
3)基于網(wǎng)格中的點(diǎn),計(jì)算格子的正態(tài)分布概率密度函數(shù)(probability density function, PDF)的參數(shù)。
4)將第二幅點(diǎn)云的每個(gè)點(diǎn)按轉(zhuǎn)換矩陣變換。
5)第二幅掃描點(diǎn)云的點(diǎn)落于參考點(diǎn)云的哪個(gè)網(wǎng)格,計(jì)算相應(yīng)的概率分布函數(shù)PDF。
6)求最大似然函數(shù),得到最優(yōu)變換參數(shù)。
優(yōu)點(diǎn):
1)對(duì)初始配準(zhǔn)的要求不高,即使初始值的誤差較大,也能有很好的效果。
2)不需要進(jìn)行點(diǎn)云之間的特征匹配,避免了特征匹配中出現(xiàn)的問題,例如點(diǎn)云噪聲、物體移動(dòng)、點(diǎn)云重合度對(duì)特征匹配的影響。
缺點(diǎn):
1)對(duì)體素格子大小的要求較高,太大會(huì)導(dǎo)致配準(zhǔn)精度低,而太小會(huì)導(dǎo)致計(jì)算量加大。
2)配準(zhǔn)精度相比ICP算法略低。
(3)基于深度學(xué)習(xí)的點(diǎn)云配準(zhǔn)
深度學(xué)習(xí)除了應(yīng)用在感知層面,也應(yīng)用到了定位層面的點(diǎn)云配準(zhǔn)環(huán)節(jié)中。
基于深度學(xué)習(xí)的點(diǎn)云配準(zhǔn)指的是利用深度學(xué)習(xí)模型來提取原始點(diǎn)云的特征,從而獲取到點(diǎn)云的初始配置值,然后根據(jù)特征值再進(jìn)一步地完成精配準(zhǔn)。近年來,常見的基于深度學(xué)習(xí)的點(diǎn)云配準(zhǔn)方法包括PointNetLK,Deep ICP,DCP,PRNet,IDAM,RPM-Net,3DRegNet,DGR等。
相比于其它傳統(tǒng)的配準(zhǔn)方法(ICP和NDT),基于深度學(xué)習(xí)的方法可以使得計(jì)算速度更快,并能學(xué)習(xí)到更高級(jí)的特征,從而達(dá)到更高的魯棒性。
根據(jù)配準(zhǔn)方法的結(jié)構(gòu)是完全由深度神經(jīng)網(wǎng)絡(luò)組成還是將非深度學(xué)習(xí)方法的一部分組件替換為基于深度學(xué)習(xí)的網(wǎng)絡(luò),將基于學(xué)習(xí)的點(diǎn)云配準(zhǔn)方法分為部分深度學(xué)習(xí)的方法和端到端的深度學(xué)習(xí)方法。
部分深度學(xué)習(xí)的點(diǎn)云配準(zhǔn)方法是指直接用基于深度學(xué)習(xí)的組件替換掉非深度學(xué)習(xí)點(diǎn)云配準(zhǔn)方法中的某個(gè)組件,這就可能給原來的算法帶來速度或魯棒性的提升。部分深度學(xué)習(xí)的點(diǎn)云配準(zhǔn)方法最大的優(yōu)勢(shì)在于靈活性較大。
端到端的點(diǎn)云配準(zhǔn)方法是指從點(diǎn)云的輸入到最后的配準(zhǔn)結(jié)果都在一個(gè)完整的網(wǎng)絡(luò)中實(shí)現(xiàn)。端到端的點(diǎn)云配準(zhǔn)方法能夠最大程度地發(fā)揮深度學(xué)習(xí)方法的高效和智能,也能夠更好地發(fā)揮GPU的并行計(jì)算能力,有更快的計(jì)算速度。
當(dāng)前,自動(dòng)駕駛行業(yè)內(nèi)應(yīng)用點(diǎn)云配準(zhǔn)技術(shù)仍屬于前期階段。某自動(dòng)駕駛公司感知算法工程師說:“基于深度學(xué)習(xí)的點(diǎn)云配準(zhǔn)仍然處于早期階段,其應(yīng)用的精度無法保證,而且結(jié)合ICP等傳統(tǒng)方法的應(yīng)用也需要大量的計(jì)算時(shí)間?!?/p>
03點(diǎn)云配準(zhǔn)面臨的問題及對(duì)策
3.1 配準(zhǔn)時(shí)點(diǎn)云數(shù)量過多的問題及對(duì)策
當(dāng)前,車上的數(shù)據(jù)都是先上傳到云端再處理,但這樣一方面數(shù)據(jù)的回傳成本很高,另一方面,無法做到數(shù)據(jù)處理的實(shí)時(shí)性,進(jìn)而難以保障自動(dòng)駕駛車輛的安全性,因此,需要將數(shù)據(jù)處理環(huán)節(jié)在車端完成。
現(xiàn)有量產(chǎn)車上的算力有限,無法直接處理龐大的點(diǎn)云數(shù)據(jù),這成為了點(diǎn)云配準(zhǔn)時(shí)的一大障礙,而解決這一問題的主要方法就是點(diǎn)云精簡(jiǎn)。
點(diǎn)云精簡(jiǎn)是指將目標(biāo)點(diǎn)云數(shù)據(jù)集合中的無用點(diǎn)云去除。主要可以有兩種方式來實(shí)現(xiàn):
1)去除冗余是指在數(shù)據(jù)配準(zhǔn)之后,將一些重復(fù)區(qū)域的數(shù)據(jù)予以去除,而這部分?jǐn)?shù)據(jù)的數(shù)據(jù)量大,并且多為無用數(shù)據(jù),對(duì)建模的速度以及質(zhì)量有很大影響。
2)抽稀簡(jiǎn)化是指由于激光雷達(dá)掃描獲得的點(diǎn)云數(shù)據(jù)密度過大、數(shù)量過多,其中一部分?jǐn)?shù)據(jù)對(duì)于后期建模用處不大,所以在滿足一定精度以及保持被測(cè)物體幾何特征的前提下,該部分?jǐn)?shù)據(jù)就需要進(jìn)行精簡(jiǎn),以提高數(shù)據(jù)的實(shí)際運(yùn)算速度、建模效率以及模型精度。
3.2 點(diǎn)云初始配準(zhǔn)的問題及對(duì)策
在前文中提到,初始配準(zhǔn)也叫作粗配準(zhǔn),它是點(diǎn)云配準(zhǔn)的關(guān)鍵點(diǎn),一般通過IMU和車輛輪速計(jì)的運(yùn)動(dòng)數(shù)據(jù)來獲取配準(zhǔn)的初始值,但當(dāng)前行業(yè)內(nèi)點(diǎn)云初始配準(zhǔn)的效率不高。
提高初始配準(zhǔn)的效率可以縮小不同視角下的點(diǎn)云之間的旋轉(zhuǎn)錯(cuò)位和平移錯(cuò)位,同時(shí)可以提高點(diǎn)云配準(zhǔn)整體的成功率和效率。
對(duì)于ICP算法來說,初始配準(zhǔn)的初始值效果會(huì)很大程度上影響ICP算法的精度。對(duì)于NDT算法來說,雖然初始值對(duì)于算法的效果不敏感,但是提高初始配準(zhǔn)的效率和質(zhì)量,也同樣能提升NDT算法的配準(zhǔn)精度。
那么,在自動(dòng)駕駛領(lǐng)域內(nèi),技術(shù)人員是如何提高點(diǎn)云的初始配準(zhǔn)效率?
一種是抓取目標(biāo)關(guān)鍵點(diǎn)。縱目科技感知算法工程師湯強(qiáng)說:“為了提高點(diǎn)云的初始配準(zhǔn),最直接的方法就是提取選取一個(gè)關(guān)鍵目標(biāo),比如一輛車,然后從這個(gè)關(guān)鍵目標(biāo)上選取幾個(gè)關(guān)鍵點(diǎn)去做旋轉(zhuǎn)矩陣和平移矩陣?!?/p>
另一種是特征提取,比如FPFH(快速點(diǎn)特征直方圖)。圖達(dá)通算法負(fù)責(zé)人許建博士說:“區(qū)別于ICP算法和NDT算法,基于特征提取的點(diǎn)云配準(zhǔn)方法可以提高點(diǎn)云配準(zhǔn)速度和精度。它通過提取的一些特征后(如棱角或者線、面),利用兩個(gè)點(diǎn)云間的空間拓?fù)浣Y(jié)構(gòu),來進(jìn)行點(diǎn)云之間的匹配。此外,實(shí)際工程應(yīng)用中,數(shù)據(jù)關(guān)聯(lián)、系統(tǒng)偏差估計(jì)等在線點(diǎn)云配準(zhǔn)技術(shù)也非常重要?!?/p>
3.3 同源點(diǎn)云配準(zhǔn)的問題及對(duì)策
同源點(diǎn)云配準(zhǔn)是指從同一類型的傳感器獲取點(diǎn)云數(shù)據(jù),但在不同的時(shí)間和視角下進(jìn)行的點(diǎn)云配準(zhǔn)。
在自動(dòng)駕駛車輛上,除了一顆主激光雷達(dá)外,車端可能還會(huì)配置一些補(bǔ)盲激光雷達(dá),或者采用兩顆以上的主激光雷達(dá)方案。這些激光雷達(dá)采集的點(diǎn)云都屬于是同源點(diǎn)云數(shù)據(jù),但是從不同激光雷達(dá)采集回來的點(diǎn)云,由于從不同時(shí)間點(diǎn)和不同視角采集的情況,在點(diǎn)云配準(zhǔn)時(shí)會(huì)遇到一些問題。
一方面,多個(gè)激光雷達(dá)從不同角度采集回來的點(diǎn)云數(shù)據(jù),它們的三維坐標(biāo)系不同,并且產(chǎn)生的噪點(diǎn)所在的坐標(biāo)系也不同。在做點(diǎn)云配準(zhǔn)時(shí),點(diǎn)云數(shù)據(jù)需要統(tǒng)一到一個(gè)坐標(biāo)系下才可以實(shí)現(xiàn)更精準(zhǔn)的配準(zhǔn)效果。
許建說:“為了能讓多個(gè)激光雷達(dá)采集的點(diǎn)云統(tǒng)一到同一坐標(biāo)系下,在聯(lián)合標(biāo)定時(shí),多目標(biāo)的點(diǎn)云配準(zhǔn)會(huì)比單目標(biāo)的點(diǎn)云配準(zhǔn)帶來更多的信息,使得配準(zhǔn)精度會(huì)更高。單一目標(biāo)的話,激光掃描到目標(biāo)物上的時(shí),目標(biāo)邊緣點(diǎn)云不完整,會(huì)影響配準(zhǔn)的精度。多目標(biāo)的話,激光雷達(dá)采集的點(diǎn)云信息會(huì)更多。比如,目標(biāo)靜止的時(shí)候,多目標(biāo)之間就會(huì)形成拓?fù)浣Y(jié)構(gòu)信息,使得點(diǎn)云初始配準(zhǔn)的信息更豐富,有利于提高配準(zhǔn)整體的精度?!?/p>
另一方面,不同激光雷達(dá)之間的硬件性能指標(biāo)可能不同,這會(huì)造成同一目標(biāo)物表面覆蓋的點(diǎn)云數(shù)量可能都不同。
湯強(qiáng)說:“不同性能的激光雷達(dá),它們的角分辨率參數(shù)都不同,意味著點(diǎn)云密度不同,導(dǎo)致點(diǎn)云配準(zhǔn)最終效果會(huì)受到影響。為了調(diào)節(jié)點(diǎn)云密度的不同,感知算法人員可以應(yīng)用點(diǎn)云精簡(jiǎn)的方法,降低點(diǎn)云密度較高的激光雷達(dá)參數(shù),也可以從硬件上進(jìn)行調(diào)節(jié),例如,技術(shù)人員可能會(huì)將兩個(gè)激光雷達(dá)的角分辨率調(diào)節(jié)至同一個(gè)水平上?!?/p>
3.4 跨源點(diǎn)云配準(zhǔn)的問題及對(duì)策
跨源點(diǎn)云配準(zhǔn)是指對(duì)不同類型傳感器的點(diǎn)云進(jìn)行配準(zhǔn)。它的優(yōu)點(diǎn)是結(jié)合多個(gè)不同類型的傳感器各自的優(yōu)勢(shì),為自動(dòng)駕駛系統(tǒng)提供更豐富的三維點(diǎn)云信息。相比于同源點(diǎn)云配準(zhǔn),跨源點(diǎn)云配準(zhǔn)尚處于學(xué)術(shù)階段,而其在自動(dòng)駕駛領(lǐng)域的應(yīng)用也是預(yù)研階段。
某自動(dòng)駕駛方案商的技術(shù)專家說:“跨源點(diǎn)云配準(zhǔn)是未來點(diǎn)云配準(zhǔn)技術(shù)的主要挑戰(zhàn)之一。”
具體來說,由于不同類型的傳感器之間的工作原理不同,傳感器之間的點(diǎn)云的分辨率、點(diǎn)云密度質(zhì)量、點(diǎn)云圖像畫面尺度、點(diǎn)云距離信息等都會(huì)不相同,而這些問題造成了跨源點(diǎn)云配準(zhǔn)的技術(shù)實(shí)現(xiàn)難度大大增加。
以4D成像雷達(dá)與激光雷達(dá)為例,雖然4D成像雷達(dá)可以與激光雷達(dá)一樣,能夠形成點(diǎn)云數(shù)據(jù),但是4D成像雷達(dá)的點(diǎn)云密度或許只能達(dá)到某些低線數(shù)的激光雷達(dá)(如16線、32線等),而無法達(dá)到高線數(shù)激光雷達(dá)(如128線等)的點(diǎn)云密度。另外,在角分辨率參數(shù)上,4D成像雷達(dá)只能接近1°的參數(shù)水平,而某些激光雷達(dá)可以做到0.1°的水平。當(dāng)兩個(gè)傳感器掃描到同一個(gè)物體表面時(shí),它們各自采集到的點(diǎn)云效果也會(huì)不同。例如在車輛前方較遠(yuǎn)處的點(diǎn)云數(shù)據(jù)中,激光雷達(dá)的點(diǎn)云質(zhì)量或許比4D毫米波的點(diǎn)云質(zhì)量會(huì)更好(前者的能量返回更多以及點(diǎn)云數(shù)量更多), 造成了最終點(diǎn)云配準(zhǔn)的精度下降。
在現(xiàn)有的學(xué)術(shù)研究中,跨源點(diǎn)云配準(zhǔn)的方法已有很多,但主要是在增強(qiáng)現(xiàn)實(shí)、建筑施工等領(lǐng)域內(nèi)有應(yīng)用,在自動(dòng)駕駛領(lǐng)域內(nèi)幾乎沒有相應(yīng)的應(yīng)用。下圖為筆者整理的一些跨源點(diǎn)云配準(zhǔn)的方法。比如,CSGM是將配準(zhǔn)問題轉(zhuǎn)化為圖匹配問題,并利用圖匹配理論來克服跨源點(diǎn)云配準(zhǔn)的問題。再比如,F(xiàn)MR是探討了深度學(xué)習(xí)在跨源點(diǎn)云配準(zhǔn)的方面的應(yīng)用。

(數(shù)據(jù)來源:《2021最新關(guān)于點(diǎn)云配準(zhǔn)的全面綜述》)
技術(shù)交流群
歡迎對(duì)機(jī)器人、自動(dòng)駕駛技術(shù)(感知、融合、規(guī)控、定位、建圖、傳感器、嵌入式移植、測(cè)試、產(chǎn)品等)感興趣的朋友、同行,加入技術(shù)交流群,一起學(xué)習(xí),一起玩!
群內(nèi)免費(fèi)分享各類相關(guān)學(xué)習(xí)資料、研報(bào)、行業(yè)資訊、技術(shù)問題討論,坑位不多,歡迎加入!添加小湯微xin:TQ1508420095,請(qǐng)備注:進(jìn)技術(shù)群!
最后再次感謝少華兄組織了相關(guān)訪談交流活動(dòng)及后續(xù)的整理工作。歡迎大家收藏學(xué)習(xí),也歡迎分享給相關(guān)方向的朋友,歡迎同行朋友多交流。
歡迎同行朋友多交流。