作者:蔣天園Date:2020-04-17來源: 點雲學習在自動駕駛中的研究概述
自動駕駛公司的發展
有關自動駕駛的研究最早可以追述到2004年的DARPA Grand Challenge和2007年的DARPA Urban Challenge,目的是研究如何在各種情形下提高自動駕駛的能力;2009年,谷歌開創了waymo公司目的是促使之前成熟的技術進一步商業化;2013到2014年深度學習的出現使得該領域的感知算法飛速發展;15年Uber Advanced Technologies Group以自動駕駛可完全加入駕駛服務為目的開展研究;到目前為止,已有很多公司開展了自動駕駛方面的研究工作:Apple, Aptiv, Argo AI, Aurora, Baidu, GM Cruise,Didi, Lyft, Pony.ai,Tesla, Zoox都是比較出名的自動駕駛公司。
自動駕駛系統的重要模塊
1.傳感器模塊
在自動駕駛中,會用到多傳感器融合感知環境,激光雷達因為可以直接提供一個3D精確的場景而備受自動駕駛研究者的關注。盡管以前已經有很多采用三維重建或者從二維圖像中采用深度估計的方法提升算法對環境的感知能力,但是算法估計還是不能達到傳感器的精確和可信,同時光照條件等對圖像的質量影響很大。作為對比,3D點雲具有周圍環境的幾何結構和深度信息,這使得目前基於點雲的方法在3D感知方面成為主流,並取得了SoTA的感知效果。
2.HD 地圖模塊
地圖構建模塊一般主要包括兩層:一個是point-cloud map用於展示周圍的幾何環境信息;第二個是traffic-rule-related semantic feature map,記錄道路邊界,交通線,信號燈等。這兩層地圖會被配准在一起形成HDmap用於提供導航精細的信息。其中前者主要是為了提供定位信息,后者主要是決策信息。
3.定位模塊
該模塊則是從上述的HD map中精確定位無人車的位置和朝向等信息,這個模塊的核心技術之一是3D點雲配准技術,通過配准前后兩幀點雲定位,在后續的文章中會講到。
4.感知模塊
第三個模塊是感知模塊,也是目前研究比較多的模塊,主要的研究是在3D場景中檢測,追蹤和判別物體,之前一直被認作是自動駕駛的瓶頸,最近由於大規模的自動駕駛數據集的公布和新的研究方法將該模塊的感知能力大大提升。也會在后續介紹到。
5.預測模塊
該模塊是為了預測3D場景中物體未來的運動軌跡。無人處附近的物體下一步的運動軌跡對規划也是很重要的。
6.路線規划模塊
該模塊是控制無人車從起始點到目的點的高級路徑設置,該模塊的輸出是一個運動規划模塊的high level指導信息
7.運動規划模塊
根據環境信息和hig-level的指導,做出對當前環境下的運動規划。
8.運動控制模塊
這是motion-planning module的底層控制模塊,負責油門,剎車,方向盤的控制工作。
3D點雲的處理和學習概述
如下圖所示,在自動駕駛無人車中,兩種點雲被時常使用:實時掃描的lidar sweep和point-cloud map(也就是上文中的HD map的前者);在下圖中,point-cloud map顯示了點雲的初級環境信息:該map的作用是(1)定位模塊在點雲配准中以該Map為參考得到自身的定位信息(2)感知模塊通過pointcloud map分割前景和背景;lidar sweep信息則是在定位模塊中與point cloud配准的點雲信息和為感知模塊用於檢測周圍的object。

上文提到了lidar sweep和point-cloud map,下文着重介紹一這兩種點雲:
Real-time LiDAR sweeps
根據lidar掃描的機制,我們可以得到每一個點對應的激光束和對應的時間戳,因此也可以將點雲按照x軸(時間戳)和y軸(激光束)將點雲定義為二維image,如果這樣,我們可以把每一個sweep當做是一個有規律的點雲。例如,對於64線的點雲中的每一束激光會發射數千次在1秒內,因此我們可以得到一系列和64個方位角相關的3D點。但是對於點雲而言,上下兩束位置的激光是不同步的,同時會受到距離遠近的問題。因此LiDAR sweeps包含的特性有:
-
Pseudo 3D:Real-time LiDARsweeps在二維晶格上布置點,但是因為不同步,所以不是完美的規整的。和一般的從多個角度得到的點雲不同的是,該點雲僅僅只包含一個特殊的角度。
-
Occlusion:前面的物體會遮擋后面點的點雲
-
Sparse point clouds:不能提供很細節的形狀信息對於比較遠的物體而言這也就是KITTI目標檢測中的3D數據類型,通常包含了點的反射強度信息。
Point-cloud maps
這是上文提到的第二類點雲,實際上是從多個無人車上同時得到的Real-time LiDAR sweeps的集合,總結一下具有如下特性:
-
Full 3D:由多個sweep整合得到的,因此可以得到比較細節的3D形狀
-
Irregularity:無序性
-
No occlusion:多視角融合,可以使得物體遮擋問題消失
-
Dense point clouds
-
Semantic meanings:更多的細節信息和更完整的幾何結構會得到更准確的語義信息,一般的Point-cloud maps不含有點的強度信息,但是具有點雲的法向量信息。
如下面視頻展示的內容,上層藍色的點表示實時掃描的Lidar sweep,下層白色點雲則是通過縫合得到的point-cloud.
HD map構建
概述
前文提到HD map 的構建有兩層地圖,分別是pointcloud map和traffic map;構建HD map主要的原因是實時的理解交通規則在當前是很具有挑戰性的,尤其是對交叉路口的分叉路或者是道路交匯的正確道路選擇。但是這些交通規則信息可以比較容易的在HD map中進行編碼得到,而HD map的構建是在人為監督和質量保證下完成的。HD map提供了強大和不可缺少的先驗,從根本上簡化了自主系統中多個模塊的設計,包括定位、感知、預測和運動規划。
1.定位的先驗信息
在自動駕駛場景中,構建HD map可以采用路標或者線桿等作為先驗定位信息。這些信息用於和liadr sweep配准定位當前姿態和位置。
2.感知的先驗信息
感知模塊使用HD MAP作為先驗信息,有了這些先驗,就可以將場景分割為前景和背景,接着可以去除掉背景點,僅僅將前景點用於后續模塊處理,該方法可以顯著降低目標檢測的計算量,提高目標檢測的精度。
3.Priors for prediction
本模塊用於預測未來信息,3D道路中的交通線和路標幾何信息可以作為該模塊的重要先驗
4.Priors for motion planning
在HD map中,traffic map可以作為先驗用於后續運動決策。上述中的先驗知識中可看出,HDmap占據了很重要的位置,因此創建的HD map必須是高精度和最新的。如下圖所示,一個標准的map creation主要包含兩步分內容:點雲縫合和語義信息提取。其中點雲縫合的目的是得到高精度的point-cloud map,語義信息特取為了得到能指導決策的語義信息

一張完整的HD map構建完成,如下視頻顯示的內容; 不僅僅包括了完成的point-cloud map,同時也包含有更高級的語義信息。
定位模塊
概述
該模塊前文所述是在HDmap中找到自身相對位置,該模塊聯系是聯系HD map和和自動駕駛系統中的其他模塊,需要多傳感器信息融合,如下圖所示。

在自動駕駛場景中,高精度的要求表明平移誤差應在厘米級,旋轉角度誤差應在微弧度級,這在這其中是很重要的;同時要具有很好的魯棒性,保證在不同的自動駕駛場景都能使用。
如同上圖展示的內容,標准的定位模塊包括了兩個核心組件:點雲-地圖配准和多傳感器融合技術。其中點雲-地圖配准則是通過實時點雲sweep和HD map配准得到初始的pose,后續采用多傳感器融合的方式進一步提高pose的置信度和魯棒性。多傳感器融合組件是通過對多個傳感器的測量,包括IMU、GPS、里程計、相機,以及上一個liar to map中得到的初始pose。
多傳感器融合的標准方法是采用貝葉斯濾波形式,如卡爾曼濾波、擴展卡爾曼濾波或粒子濾波。貝葉斯濾波器考慮了一種基於車輛運動動力學和多傳感器讀數的迭代方法來預測和修正激光雷達的姿態和其他狀態。在自主駕駛中,Bayes濾波器跟蹤和估計的狀態通常包括姿態、速度、加速度等與運動相關的狀態,以及IMU偏差等與傳感器相關的狀態。 Bayes過濾器工作在兩個迭代的步驟:預測和校正。在預測步驟中,在傳感器讀數之間的間隙,Bayes濾波器根據車輛運動動力學和假設的傳感器模型預測狀態;在校正步驟中,當接收到傳感器讀數或位姿測量時,貝葉斯濾波器根據相應的觀測模型對狀態進行校正。
如下視頻展示的定位內容,定位模塊首先根據實時點雲sweep和point-cloud 地圖進行配准得到初始pose,再根據貝葉斯濾波進行多傳感器信息融合得到更加魯棒和精確的Pose.
感知模塊
該模塊前文介紹到時為了感知到自動駕駛的周圍環境信息,采用之前的HD map和定位信息以及實時的lidarsweep作為輸入,輸入的是3D目標檢測的Bbox。如下圖(a)中展示的是展示了一個基於后融合的感知模塊的標准框架,是多個檢測結果的融合結果。相比之下,圖6 (b)顯示了一個先融合的感知模塊,它使用一個早期融合探測器來獲取所有傳感模式的輸出,並生成所有的3D邊界框,然后,它使用關聯和跟蹤組件來關聯跨幀的3D包圍框,並為每個對象分配標識。 基於后融合的方法更加成熟,而基於早融合的方法被認為具有更大潛力。幾十年來,業界一直采用基於延遲融合的方法,因為這種方法將任務模塊化,使每個傳感器管道易於實現、調試和管理。基於先融合的方法具有端到端學習的有點,能夠在高維特征空間中相互促進多種感知模式。

3D檢測
上圖中的內容中,僅僅采用real-time lidar sweep的方法目前是學術研究的熱點,主要可以分為point-based和voxel-based的方法;后續博主繼續會寫一些比較細節的綜述文章介紹這兩個系列的研究文章。目前更多的是按照二維的方式分為一階段和兩階段的方式,如下圖:

這里展示了19年CVPR文章pointpillars的實驗效果如下,也是采用的上文提到的lidar sweep作為輸入。

后續筆者會就3D感知方面的最新研究做一定的細致的記錄。
參考文獻
[1] Lasernet: An efficientprobabilistic 3d object detector for autonomous driving
[2] Go-icp: A globally optimal solution to 3d ICP point-set registration
[3] 3D Point Cloud Processing and Learning for Autonomous Driving
[4] Second: Sparsely embedded convolutional detection
[5] Pointpillars: Fast encoders for object detection from point clouds [6] Feature pDyramid networks for object detection