公開課精華 | 無人駕駛中感知的挑戰與嘗試
本文總結於深圳元戎啟行公司點雲感知方向技術負責人鄒曉藝,在深藍學院的關於無人駕駛中感知的挑戰與嘗試的公開課演講內容。
全文約3500字
主講人鄒曉藝來自深圳元戎啟行公司,曾在百度IDL和ADU部門工作過,是百度 apollo::lidar::cnnseg演算法的作者,也是CSDN相關領域的博主。
公開課大綱
1. 無人駕駛中感知的簡介
2. 無人駕駛中感知的挑戰
3. 基於Deep learning的感知演算法
4. 基於Physical的感知演算法
5. 一些思考和一些open problems
1. 無人駕駛中感知的簡介
下圖是一個無人駕駛系統的流程框圖。
Picture from: Chen S, Liu B, Feng C, et al. 3d point cloud processing and learning for autonomous driving[J]. arXiv preprint arXiv:2003.00601, 2020.MLA
前端sensor獲取環境中的資訊,送給感知模組和定位模組,感知模組將輸出資訊輸入到預測模組,進行軌跡速度等預測,然後進行決策和汽車控制。無人駕駛的感測器有多個sensor,如下圖是元戎啟行的汽車感測器(車頂部分),中間有一個主雷達,兩邊有兩個盲區雷達,然後四周也有RGB普通的攝像頭。
在汽車行駛過程中,從感測器中獲得的資料如下圖,下面的是鐳射雷達感測器的資料,上面是RGB攝像頭的資料。
無人駕駛中的感知部分功能有3D目標檢測、目標跟蹤、紅綠燈檢測、目標軌跡預測、車道線和車道線檢測等等模組。
2. 無人駕駛中感知的挑戰
下圖是2D圖片和3D點雲資料的不同點,2D圖片是有序規則的而3D點雲是無序不規則的。
Picture from: Cui Y , Chen R , Chu W , et al. Deep Learning for Image and Point Cloud Fusion in Autonomous Driving: A Review[J]. 2020.
接下來,主講人舉了一些例子,展示無人駕駛中感知的困難所在。
第一點,感知場景是複雜的。如下圖,感知不僅要識別出常見的車輛、擁擠的行人、自行車等,也要識別出一些標誌物、警示物、施工點和動物等等。
第二點,類內差異大。如下圖,雖然都是貨車和摩托車,但是外觀差異很大。
第三點是,類間差異小。如下圖是三種鐳射雷達得到的不同車尾的資料,由於缺少了紋理資訊,貨車、公交車等車在鐳射雷達中看到的區別很小。
第四點,未定義的類別。如下圖,感知過程中會有一些諸如倒下的單車、輪胎、玩具等未定義的物體出現。
Picture from:
http://www.robosense.cn/news/1574090713599
第五點,惡劣天氣影響,如下圖所示,這些天氣對鐳射雷達和RGB攝像頭的成像都會有較大影響。
Picture from: Kenk M A, Hassaballah M. DAWN: Vehicle Detection in Adverse Weather Nature Dataset[J]. arXiv preprint arXiv:2008.05402,2020.
第六點,噪聲。如下圖,在汽車行駛的過程中,不僅有感測器的噪聲,也會有環境的噪聲,如路面濺起的水花,揚起的灰塵。
第七點,移動端實時性和功耗。無人駕駛的演算法複雜,感測器獲得的資料量多,但由於功耗限制,自動駕駛車載計算單元的算力是非常有限,同時無人駕駛需要滿足低延時的要求。所以要求感知模組需要在這有限算力的基礎上對這些資料進行實時的處理。
3. 基於Deep learning的感知演算法
接下來介紹基於Deep Learning的相關無人駕駛感知演算法。分為兩個部分,一個部分是基於點雲的3D目標檢測,另一個是基於影像和點雲的Fusion演算法。
首先是基於點雲的3D目標檢測。下圖是一幀點雲,任務目標就是用長方體框檢測出點雲中的目標(位置、大小、朝向和類別等等)。
鐳射雷達生成的點雲是稀疏的,不規則的,無序的且缺少顏色資訊。如下圖所示,左邊是汽車點雲,右側是行人點雲,可以發現距離越遠,點雲越稀疏,這種隨著距離變化的稀疏性,也會帶來很大的挑戰。
Picture from:
http://www.robosense.cn/news/1574090713599
同時,在點雲,同一個目標有可能是不完整的,如下圖所示。左圖中間靠前位置有一個貨車,點雲只顯示了車頭和車尾,中間是斷裂的,右圖雖然把中間的貨物掃描到了,但是整體依舊是斷裂成了3部分,這種斷裂會影響到障礙物的檢測,從而影響下游的跟蹤等任務。
現在的主流3D點雲檢測的方法分為兩種,一種是基於Deep Learning的方法,其對噪聲較為魯棒,分割效果較好,但是解釋性較差。另一種是基於Physical的方法,即非機器學習的方法,可解釋性較好,但是對噪聲敏感,容易出現過分割和欠分割的問題。這兩種的方法在工程實踐中可以互相補足。
Picture from: Yang G, Mentasti S, Bersani M, et al. LiDAR point-cloud processing based on projection methods: a comparison[J]. arXiv preprint arXiv:2008.00706, 2020.
主講者認為對於Deep Learning的方法,由於深度學習特點在於如何建立分層結構,從而獲得越來越大的感受野和更高階的語義特徵。而應用到點雲上,其實就在於如何去找到點雲中點與點中間的關係,從而從鄰域中建立起不同層級的感受野。
主講者以PointNet++的結構為例,採用這種層級的結構,以k近鄰或者球型領域的方法,提取鄰域感受野特徵。
點雲還可以轉換成不同輸入形式的資料,除了直接以點集(取樣後)的形式表示,還可以以圖(graph)的形式表示,或者體素化,或者投影到鳥瞰圖(Bird’s Eye View)、環檢視(Range View)、極座標圖。
其中點雲的體素化可以使用傳統卷積運算元(3D或者2D卷積)來處理,但是缺點是有一定的量化誤差,丟失了原始點雲準確的幾何結構。不過體素化有另一個優點是可以比較容易做多尺度,即每個體素格子的大小,決定了尺度的大小,而且點雲特徵和體素特徵也可以通過操作進行相互轉化,如下圖所示》
接下來主講人介紹了幾個3D點雲檢測的工作。
OpenPCDet:這是一個商湯科技開源的3D點雲檢測庫,整合了多種3D點雲檢測方法,基於PyTorch實現。
Apollo::lidar::cnnseg:這是主講人在百度的工作,網路採用類U-NET網路結構,將點雲投影到俯檢視,進行特徵提取來做檢測和例項分割。
PointPillar:提出了一種新穎的點雲編碼器,將點雲提取特徵得到Pillar(柱子)形式的稀疏偽2D影像,然後使用2D的卷積運算元進行處理,使用2D的檢測方法(如SSD)做目標檢測。
HVNet:提出了一種新的基於點雲的三維物體檢測的統一網路:混合體素網路(HVNet),通過在點級別上混合尺度體素特徵編碼器(VFE)得到更好的體素特徵編碼方法,從而在速度和精度上得到提升。
PV-RCNN:提出了結合體素化和點雲兩種特徵的新型網路結構,採用multi-scale的方法獲得由voxel_based方法得到的高質量的proposals,然後再利用Point_based的方法獲得精細的區域性資訊,該方法在很多的benchmark上的表現都很不錯。
AFDet:提出了首個Anchor free、NMS free的3D點雲目標檢測演算法,在嵌入式系統上有著較好的應用價值。
Range Conditioned Dilated Convolutions:提出一個新的卷積層,這個卷積層有一個可以根據距離來調整dilation rate,適應不同的尺度,可以較好地解決距離遠近帶來的點雲稀疏性不一致的問題。
對以上的方法做總結:點雲特徵、投影檢視特徵、體素特徵是可以互相補足的;特徵的增強可以通過multi structure、multi scale、multi frames等方法來實現。
上述的演算法都是基於點雲的,接下來介紹一些基於影像和點雲的Fusion演算法。
由於點雲僅能得到物體的shape資訊,但是物體的顏色和紋理特徵也很重要,此時就需要去融合影像的演算法。一個有趣的地方是點雲可以通過標定,投射到關聯的影像上,如下圖所示。當然,這種投射不是一對一的,因此是需要做插值的,如雙線性插值。
影像和點雲的Fusion有兩種方式,一種是Result-level fusion,一種是Feature-level fusion。
前者是每個sensor自己處理自己的資料,在結果上做fusion,好處是其中一個sensor出故障了,不會導致整個系統掛掉,比較好做感測器冗餘,缺點是不能很好融合不同sensor的特徵,效能受限於單個感測器的效能上限。
後者是直接在特徵上做融合,能提供互補的資訊,值得注意的是,這種方法需要做的一點是如何融合各個sensor的優勢特徵,去除每個sensor的劣勢特徵(如影像容易受光照影響,點雲容易受雨霧天氣影響)。
接下來主講人介紹了幾個影像和點雲的Fusion的工作。
MV3D:提出了一個多視角(Multi-View)的3D物體識別網路(MV3D),採用多模態的資料作為輸入和預測3D空間的目標。從點雲裡面提特徵出proposal,再在每個view上的特徵提取關於proposal的特徵,做檢測。
sensor fusion for join 3d object detection and semantic segmentation:將點雲特徵和影像特徵,在特徵級別拼接到一起,然後使用LaserNet做檢測和分割。
PointPainting:將影像的語義分割資訊通過lidar資訊和image資訊的變換矩陣融合到點雲上,再做檢測。
SemanticVoxels:同樣是將影像的語義資訊融合到點雲裡,在通過融合pillar和voxel的特徵做檢測。
EPNet:網路分為點雲特徵分支和影像特徵分支,在兩個分支的不同的level上,做了二者的特徵融合,融合的過程中新增了attention模組。
MVAF-Net:在不同的view的特徵上,做attention,並且在attention模組也新增監督資訊。
總結以上方法:fusion方法雖然很重要,但是在benchmark上提升並不明顯;還有一個問題是,目前似乎比較少研發去探索,某個sensor丟失資訊了,是否會導致融合的模型出現意想不到的結果。
4. 基於Physical的感知演算法
雖然基於非深度學習的方法有很多問題(對噪聲敏感等),但是為什麼還要繼續使用它呢?
比如在實際路測中,總會遇到深度學習演算法中沒有定義的物體,或者資料量很少(長尾分佈)的物體;或者有的物體並不適合用bbox來描述從而不適用於檢測任務,在這些情況,傳統方法更合適。
傳統方法怎麼做呢?簡單來說就是“你看到啥就是啥,別撞上就行”,就是認為點雲有的東西,實際物理世界中是存在的,不能碰撞的。方法就是去除地面,進行聚類。關鍵在於如何讓演算法更穩定和更高效。
然而基於Physical的感知演算法,也有一些問題。同一個物體在不同幀間的聚類是不穩定的,也因此不容易預測物體的運動速度;有的物體,例如揚起的灰塵,並不會影響駕駛,但是容易被識別成障礙物,因此需要增加一些去噪(灰塵等)的方法。
主講人還提到使用全景分割的方法,將整個感知系統,置於一個網路中,採用multi-task的方法去做檢測。同時也需要融合更多的時序上的資訊來做檢測。
5. 一些思考和一些open problems
主講人講了自己的一些關於無人駕駛的思考和一些open problems。
1. 學術界和工業界是有一定的鴻溝的。在benchmark上的效果有時候並不一定能反應路測的效果。
例如有綠化帶隔離的對向車道的物體在路測中並不需要特別高的精度,但是在benchmark上是一視同仁的,在benchmark上提升了好幾個點的演算法,在路測中對接管率而言也許並沒有帶來多大的效果提升。
還有就是有些非常影響駕駛的障礙物,不一定能在benchmark的幾個點的提升中反應出來。這些鴻溝激勵著我們去思考如何制定一個更符合現實無人駕駛場景的評價準則,包括檢測、跟蹤、速度預測、推理速度等評價準則。
2. 演算法模型的泛化性很重要,因為現實資料是無法窮舉,遇到一些檢測失敗的例子,也不容易分析和去做修正,畢竟模型是不易解釋的,只能不斷增加資料。
但越到後面,幾個點的效能提升需要的資料可能是指數級的,這是需要大量成本的,但似乎人的學習是沒這麼低效的,人往往從少量的樣本就可以學習非常高層的語義,從而具有非常大的泛化性。
這也是整個機器學習鄰域需要研究的點。另外,不可解釋性也會使得模型更容易受到攻擊。而且增加資料訓練是否修復了當下cases,但也影響了之前的cases。
3. 軌跡預測的groud truth有一些是不確定的,如在離轉彎口還有一定距離的時候,真實場景中,人類也不知道前車是否轉彎等等這種情況,拿這些groud truth去訓練網路,網路也會很困惑。
無人駕駛是一項很有挑戰性很有趣的工作,希望有更多的朋友加入這個行業,共同推動這個行業的發展。
相關文章
- 人工智慧技術落地:無人駕駛的機遇和挑戰人工智慧
- 無人駕駛與環衛革命
- 自動駕駛也能這麼玩?福特嘗試用無人機導航自動駕駛無人機
- 阿里無人駕駛之路的機與危 | 深度阿里
- 無人駕駛的落地,是一場AI與人的博弈AI
- 無人駕駛之車輛檢測與跟蹤
- 無人車,請「禮貌」駕駛
- 《無人駕駛》—— 讀書總結
- 政策綠洲內,一場30萬人參與的無人駕駛測試正在上演
- INTERFACE空降上海, Momenta解讀自動駕駛技術與挑戰自動駕駛
- Uber前無人駕駛工程師告訴你,國內無人駕駛之路還要走多久?工程師
- 蘋果裁員逾200人,拿無人駕駛“開刀”蘋果
- 智慧駕駛-感知-融合定位IMU
- 普華永道:解析無人駕駛技術的確定性與不確定性(附下載)
- 如何評價清華大學開設《自動駕駛》課程?自動駕駛
- 無人駕駛需要怎樣的感測器?
- 無人駕駛與機器人領域的中介軟體與架構設計(一)機器人架構
- 一文讀懂基於DL的無人駕駛視覺感知系統的應用場景視覺
- Waymo將在美國最多雨城市測試無人駕駛汽車,在雨天收集駕駛資料
- 解析丨自動駕駛核心技術:感知,決策與執行(上:感知篇)自動駕駛
- 經緯恆潤智慧駕駛開發、測試評估平臺——智慧駕駛全量資料感知及分析系統
- 車聯網,深度學習,無人駕駛深度學習
- 轉戰亞利桑那,Uber無人駕駛車隊從舊金山撤出
- 戰鬥民族進軍無人駕駛,合作雙方都是本土巨頭
- 超級解密:無人駕駛是如何煉成的解密
- 無人駕駛汽車背後的倫理困境
- 【Apollo自動駕駛原始碼解讀】車道線的感知和高精地圖融合自動駕駛原始碼地圖
- 2017全球無人駕駛大會圓滿落幕,共話自動駕駛落地何方自動駕駛
- 停工三天後,Uber再次重啟無人駕駛專案測試
- 硝煙又起,美國高通也開始測試其無人駕駛技術
- 解析丨自動駕駛核心技術:感知、決策與執行(中:決策篇)自動駕駛
- 波音公司開發基於區塊鏈的無人駕駛飛行器區塊鏈
- 百度自動駕駛首席架構師陳競凱:自動駕駛的現狀及發展 | 北大AI公開課筆記...自動駕駛架構AI筆記
- 自動駕駛系列(五)——環境感知之純視覺和融合感知自動駕駛視覺
- 【面試】滴滴自動駕駛測開面試自動駕駛
- 如何成為一名無人駕駛工程師工程師
- Roborace——方程式賽車融入無人駕駛元素
- 無人駕駛汽車是如何實現定位導航的