本文作者:李穎
/ 導讀 /
本文是滑鐵盧大學CogDrive實驗室和Geospatial Sensing and Data Intelligence Lab實驗室聯合剛發表在 IEEE Transactions On Neural Networks And Learning Systems 上的一篇綜述,主要介紹基於深度學習的 LiDAR 點雲在無人車上的應用。
本篇綜述總結了最近五年的140多項重要參考文獻,包括具有裡程碑意義的3D深度學習模型,以及他們在語義分割,目標檢測和分類中的出色應用。此外,本文描述了常用的點雲數據集。最後,對於當前研究的局限性及未來可能的研究方向提供了自己的見解。本文的原文DOI: 10.1109/TNNLS.2020.3015992
背景
準確的環境感知和精確的定位是自動駕駛汽車在複雜動態環境中能夠進行可靠導航,信息決策以及安全駕駛的關鍵。這兩個任務需要獲取和處理真實環境中的高度準確且信息豐富的數據。為了獲得此類數據,無人車上或者移動測量車上通常裝備多種傳感器,例如LiDAR或者相機。傳統上,相機捕獲的圖像數據能夠提供二維語義和紋理信息,且低成本和高效率,是感知任務中最常用的數據之一。但是,圖像數據缺少三維地理信息。因此,由LiDAR收集的密集的、準確的、具有三維地理信息的點雲數據也應用於感知任務中。此外,LiDAR對照明條件的變化不敏感,可以在白天和夜晚工作,即使有強光和陰影幹擾。
LiDAR點雲在自動駕駛領域中的應用可以分為以下兩個方面:1)基於場景理解和目標檢測的實時環境感知和處理;2)基於可靠定位和參考的高精度地圖和城市模型的生成和構建。這些應用具有一些類似的任務,可以大致分為三種類型:點雲分割,三維目標檢測和定位以及三維目標分類和識別。這項技術的發展引發了自動駕駛領域對點雲數據自動處理與分析的日益迫切的需求。
近些年來, 隨著深度學習的不斷突破和三維點雲數據的可及性,3D深度學習在2D深度學習的基礎上取得了一系列顯著的成果。這些3D深度學習網絡主要應用於自動駕駛汽車的幾個相關任務,例如:語義分割和場景理解,目標檢測和目標分類。因此,本文主要集中在構建基於深度學習的LiDAR點雲在自動駕駛汽車分割,檢測,和分類任務上的系統性綜述。
問題與難點
點雲語義分割:將輸入點雲數據聚集成幾個同質區域的過程,其中相同區域中的點具有相同的屬性。每個點都分配有語義標籤,例如:道路,樹木,建築物等。語義分割結果可以為目標檢測提供前景和背景分類信息。
3D目標檢測:給定任意點雲數據,目標檢測能夠定位和檢測預定義類別的場景實例,並輸出他們的三維位置,方向,和語義實例標籤。這些信息可以用3D邊界框粗略地表示。這些邊界框通常由邊界框(目標物)中心點三維坐標、邊界框的長寬高、邊界框的方向、以及它的語義標籤表示。
3D目標分類: 給定任意一組點雲,目標分類能夠輸出它的類別,例如:車輛,行人等。
感知條件和不受限制的環境變化會對LiDAR掃描的物體外觀有著巨大影響。特別是在不同場景甚至是同一場景捕獲的對象,由於掃描時間,位置,天氣狀況,傳感器類型,感測距離和背景的不同都帶來了差異。所有這些條件都會對LiDAR點雲中的類間和類類對象產生顯著影響:
多樣化的點雲密度和反射強度:由於LiDAR的掃描模式,點雲物體的密度和強度變化很大。這兩個特徵的分布高度取決於物體與LiDAR傳感器之間的距離。此外,LiDAR傳感器的功能,掃描的時間限制和所需的解析度也會影響其分布和強度。
噪聲:所有傳感器都有噪聲。LiDAR有幾種類型的噪聲包括點擾動和離群值。這意味著一個點可能存在於被採樣(擾動)點周圍一定半徑的球體內,或者它可能出現在空間中的隨機位置。
不完整性:LiDAR獲得的點雲通常是不完整的。這主要是由於物體之間的遮擋,城市場景中背景的混亂,和材料表面反射率不理想所致。這樣的問題在實時捕獲運動對象時非常嚴重,導致這些被掃描運動對象點雲數據存在較大的空洞和嚴重的欠採樣。
類別混亂。在自然環境中掃描的形狀相似或反射性相似的物體對目標檢測和分類會產生幹擾。例如,一些人工製作的目標物如廣告牌和路牌的相似度就很高。
不規則的點雲數據格式以及對準確性和效率的要求給3D深度學習模型帶來了一些新挑戰。在構建一個高效且有魯棒性的3D深度學習模型時,主要集中解決以下幾個問題:
排列和方向不變挑戰:與二維柵格像素相比,LiDAR點雲是一組具有不規則順序且沒有特定方向的點。在同一組輸入的N個點,網絡應對輸入的N!種排列保持不變。此外,對於缺少方向性的點雲數據,目標識別面臨很大的挑戰。
剛性變化挑戰。點集之間存在各種剛性變換,例如3D旋轉和3D平移。這些轉變不應影響網絡的性能。
大數據挑戰。LiDAR在不同城市的自然場景中收集數百萬至數十億個點,例如,在KITTI數據集中,由3D Velodyne雷射掃描儀捕獲的每一幀都包含10萬個點,其收集的最小場景為114幀,超過1000萬個點。這樣的數據量給數據存儲和處理帶來困難。
精度挑戰。準確感知道路物體對於自動駕駛汽車至關重要。但是,類類和類間對象的變化以及數據質量都對準確性提出了挑戰。例如,就各種材料、形狀、和大小而言,同一類別中的對象具有不同的場景實例。此外,構建的模型應對點雲數據分布不均、稀疏、和缺失具有魯棒性。
效率挑戰。與二維圖像相比,處理大量的點雲會產生較高的計算複雜度和時間成本。此外,自動駕駛汽車上的計算設備具有有限的計算能力和存儲空間。因此,構建高效且可擴展的深度網絡模型至關重要。
Semantic3D
Oakland
IQmulus
Paris-Lille-3D
室外目標物檢測數據集:
KITTI 3D Object Detection Evaluation 2017
KITTI Bird's Eye View Evaluation 2017
nuScenes
Waymo
Lyft
apolloscape
目標分類數據集:
SYDNEYURBAN OBJECTS DATASET
室內場景數據集:
The Stanford Large-Scale 3D Indoor Spaces Dataset (S3DIS)
Richly-annotated 3D Reconstructions of Indoor Scenes (ScanNet)
SUN RGB-D: A RGB-D Scene Understanding Benchmark Suite
NYU Depth Dataset V2
本篇綜述分析了一些先驅性的3D深度學習模型,這些模型致力於解決上述的LiDAR點雲所面臨的問題。此外,它們穩定高效的性能使其適合用作構建分割、檢測、和分類網絡的backbone。儘管LiDAR採集的3D數據通常以點雲的形式出現,但是如何表示點雲以及用那種深度學習模型去分割,檢測,和分類仍然是一個未解決的問題。目前大多數3D深度學習網絡主要集中在以體素(voxel),點雲(point cloud),圖(graph),和視圖(view)等四種點雲表示方式來構建網絡。
(1)基於體素(voxel)的深度學習網絡
傳統上,卷積神經網絡(CNN)主要應用於具有規則結構的數據,例如二維像素陣列。因此,為了將CNN應用於無序3D點雲,通常將點雲數據劃分為具有一定大小的規則網格,以描述其在三維空間中的分布。通常,網格的大小與數據的解析度有關。基於體素的表示的優勢在於,它可以通過將被佔用的體素分類為幾種類型(例如可見,遮擋或自遮擋)來對三維形狀和視點信息進行編碼。此外,還可以在體素網格中直接應用3D卷積(Conv)和池化(pooling)操作。
但是基於體素的3D數據表示存在以下局限性:
首先,並不是所有體素都有用,因為它們包含掃描環境中已佔用和未佔用的部分。因此,對於這種非高效的數據表示方式,對計算機存儲的高需求是不必要的。
其次,網格的大小難以設置,因為這會影響輸入數據的尺度,並可能破壞點與點之間的空間關係。
第三,計算和存儲需求隨著體素解析度的增長而立方增長。 因此,現有的基於體素的模型通常保持在低解析度下,體素的最常用尺寸為303。
更高效的體素數據表示法是基於八叉樹(octree)的網格,它們使用自適應大小將3D點雲劃分為不同的網格。它是一種分層數據結構,可將根體素遞歸分解為多個葉體素。
(2)基於點雲(point cloud)的深度學習網絡
與體素數據表示不同,點雲可以保留點雲的三維地理空間信息和內部局部結構。此外,以固定步幅掃描空間的基於體素的模型受局部感受野的約束。但是對於點雲,輸入數據及其度量方式決定了感受野的範圍,具有很高的效率和準確性。
基於點雲的深度模型主要集中在解決輸入排列問題。儘管它們在局部尺度上獨立地處理點以維持置換不變性,但是這種獨立性忽略了點及其相鄰點之間的幾何關係,從而導致更高級的局部特徵缺失。
(3)基於圖(graph)的深度學習網絡
圖是一種非歐氏數據結構,可用於表示點雲。它們的節點對應於每個輸入點,並且邊表示每個相鄰點之間的關係。圖神經網絡以迭代的方式傳播節點狀態直到達到平衡。隨著CNN的發展,越來越多的圖卷積網絡被應用於三維數據。這些圖卷積網絡在光譜和非光譜(空間)域中直接在圖上定義卷積,對空間上緊密相鄰的組進行操作。基於圖的深度學習模型的優點是能夠探索點及其相鄰點之間的幾何關係。但是,構建基於圖的深度模型存在以下兩個挑戰:
(4)基於視圖(view)的深度學習網絡
LiDAR點雲數據的最後一種表示類型是從不同方向的3D點雲獲得的2D視圖。藉助投影的二維視圖,可以利用傳統完善的CNN和圖像數據集上的預訓練網絡,例如AlexNet、VGG、GoogLeNet、和ResNet 等。與基於體素的模型相比,這些方法可以通過對感興趣的對象或場景進行多視圖查看,然後對輸出進行融合或投票以進行最終預測,從而提高不同3D任務的性能。與上述三種不同的點雲數據表示相比,基於視圖的模型可以實現近乎最佳的結果。與點雲和體素數據表示模型相比,即使不使用預訓練模型,多視圖方法也具有最佳的泛化能力。基於視圖的模型的優勢可以歸納如下:
但是,基於視圖的模型存在一些限制:
點雲深度學習在無人車中的應用
1.點雲語義分割
2.目標檢測
3.目標分類
點雲研究挑戰與機遇
(1) 多源數據融合:為了彌補3D點雲中語義和紋理信息的缺失和彌補不完整的點雲信息,圖像、LiDAR點雲、和radar數據可以融合在一起為自動駕駛汽車導航和決策提供準確、具有地理參考、和信息豐富的提示。此外,低端LiDAR(例如Velodyne HDL-16E)和高端LiDAR(例如Velodyne HDL-64E)採集的數據之間也存在融合問題。但是,融合這些數據存在一些挑戰。首先是點雲的稀疏性導致融合多源數據時數據不一致和丟失。第二個問題是,現有的基於深度學習數據融合方案是在單獨的流程中處理的,而不是端到端方案。
(2) 魯棒性的點雲數據表示:非結構化和無序的數據格式對3D深度學習的應用產生了巨大的挑戰。儘管有幾種有效的數據表示,例如體素、點雲、圖、視圖或新穎的3D數據表示方式,但目前尚未就魯棒且高效存儲的3D數據表示達成共識。例如,儘管體素解決了排序問題,但是計算成本隨著體素解析度的增加而立方增加。對於點雲和圖,置換不變性和計算能力限制了點的可處理數量,這不可避免地限制了深層模型的性能。
(3) 有效且高效的3D深度學習框架:由於自動駕駛汽車計算能力的限制,有效和高效的深度學習網絡結構構建至關重要。儘管現有3D模型中有重大改進,例如PointNet,PointNet ++,PointCNN,DGCNN,RotationNet等。但很少有模型可以同時實現魯棒性的實時分割、檢測和分類任務。
(4) 上下文知識提取:由於點雲的稀疏性和所掃描對象的不完整性,目標對象的詳細上下文信息沒有被深度學習網絡充分利用。例如,交通標誌中的語義信息是自動駕駛汽車導航的關鍵線索,但是現有的深度模型無法完全從點雲中提取此類信息。因而,有些方法利用多尺度特徵融合策略以進行上下文信息提取。此外,生成式對抗網絡(GAN)也可以用來提高3D點雲的完整性。但是,這些框架無法以端到端的可訓練方式解決上下文信息提取的稀疏性和不完整性問題。
(5) 多任務學習:LiDAR點雲可以應用在自動駕駛汽車相關的幾個任務,例如場景分割,目標檢測(例如汽車,行人,交通信號燈等)和分類(例如道路標記和交通標誌)。這些結果通常被融合在一起報告給決策系統以進行最終控制。儘管有一些深度學習模型將這些任務組合在一起完成。但它們之間的信息沒有得到充分利用,並不能以更少的計算來生成更好的模型。
(6)弱監督/無監督學習:現有的深度學習模型通常是在監督模式下使用帶有3D對象邊界框或帶標籤的點進行訓練測試。但是,這是基於監督學習的模型存在一些限制。首先是高質量、大規模、龐大的通用對象數據集的有限可用性。其次是,監督學習的模型對非常見或未經訓練的對象的泛化能力較弱。