俞 斌,董 晨,3,劉延華,程 燁
1.福州大學 數(shù)學與計算機科學學院,福州350116
2.福州大學 福建省網(wǎng)絡計算與智能信息處理重點實驗室,福州350116
3.福州大學 網(wǎng)絡系統(tǒng)信息安全福建省高校重點實驗室,福州350116
點云分割,即對點云中的每個點賦予有意義的標注,標注代表可以是任何具有特定意義的信息。在實際應用中,通常是一組代表幾種特定類別標簽的一個。如果標簽具有特定含義,如是一個場景的物體類別,那么這個過程就是一個場景的分割或稱語義理解。機器學習技術的進步也使得三維數(shù)據(jù)理解受益匪淺,尤其是對密集點云這樣的大量數(shù)據(jù)。一些基于人工提取特征的經(jīng)典機器學習方法,如支持向量機(SVM)和隨機森林(RF),也在一系列三維模型檢測與分割任務中取得了較為成功的結果[1-2]。近年來,從機器人導航到國家級遙感技術,對算法實時性和魯棒性的要求也越來越高。以自動駕駛為例,若汽車采集的圖像以及點云數(shù)據(jù)需要等待漫長的手工提取特征,再進行場景分析,顯然是不可行的。于是,越來越多的研究開始轉(zhuǎn)向深度學習[3]。深度學習相比其他機器學習算法有著獨特的優(yōu)勢。
(1)特征學習(Representation Learning):原本需要人工提取的特征可作為訓練過程的一部分進行學習。
(2)端到端(End-to-End):設備采集的原始輸入數(shù)據(jù)可以直接輸入到學習算法中,而后算法自動導出檢測或分類所需的輸出形式。
深度學習在二維圖像分類分割上取得了許多成功,并且已經(jīng)有許多相當成熟的算法。基于深度學習的點云分割算法起源于二維圖像算法,但在發(fā)展過程中也表現(xiàn)出其獨有的特點和趨勢。本文首先對該領域傳統(tǒng)方法作簡要評述,然后為了方便對比和梳理,對該技術近四年來在點云分割問題上的最新工作,按基本思想分為基于二維圖像處理、基于體素和三維卷積的方法、無序點云的方法、空間卷積的方法、點云組織的方法以及無監(jiān)督學習的方法。分析了這些算法的優(yōu)劣及應用并簡要評述,最后展望了未來研究趨勢。
在機器學習中,為了實現(xiàn)每個預測數(shù)據(jù)的自動標注,通常會選擇監(jiān)督學習方法進行模型訓練。傳統(tǒng)的基于機器學習的點云分割方法,通常采用典型的監(jiān)督學習算法包括支持向量機(SVM)、隨機森林(RF)和樸素貝葉斯。由于僅考慮點云中的單個點是不能獲得有意義的信息,因此這些方法還依賴于一系列稱為特征描述符(Signature)或描述子的人工特征。常見的點云的描述子可以大致分為統(tǒng)計特征和幾何特征。
(1)統(tǒng)計特征通常會選取固定鄰域內(nèi)點云的數(shù)量、密度、體積、標準差等,其中比較具有代表性的有:快速點特征直方圖(Fast Point Feature Histograms,F(xiàn)PFH)[4]、方向直方圖(Signature of Histograms of OrienTations,SHOT)[5]等。
(2)幾何特征通常將局部領域內(nèi)的點云描述為線、面或者幾何形狀,其中比較典型的有自旋圖像(Spin Image)[6]、局部表面切片(Local Surface Patches)[7]、固有形態(tài)(Intrinsic Shape)[8]等。
為了從大量點云中找到這些領域特征,通常需要一定的加速算法。此外,這些特征對點云密度具有一定的耦合性。雖然最近的一些研究工作[9-12],在一定程度上解決了這些問題,并可以實現(xiàn)90%左右的分類精度。但是,這些方法都是在一定小范圍內(nèi)進行測試和驗證,缺乏泛化和擴展能力,并且,這些方法對大范圍場景下出現(xiàn)物體被遮擋或者重疊通常表現(xiàn)不佳。最重要的,手工提取特征耗費的時間是實時性應用所不能接受的。
深度學習自誕生以來,在許多領域產(chǎn)生了突破性的進展,在點云分割上也不例外,其發(fā)展的總體趨勢是從二維到三維,從轉(zhuǎn)換數(shù)據(jù)到直接處理。由于思路來源的不同,出現(xiàn)了幾種發(fā)展方向,本文按照基本思想的分為了五類。
為了能利用基于CNN 的網(wǎng)絡架構,通過變換將點云光柵化為2.5D結構化圖像陣列,或者按照球面、柱面將三維坐標投影到二維平面上。這樣不僅可以避免復雜的3D 處理,還能利用成熟的圖像處理技術和海量的二維圖像數(shù)據(jù)集進行模型預訓練。
早期在地理信息科學中,就有將ALS 點云數(shù)據(jù)光柵化為二維圖像的做法[13-14]。而Su 等人提出了多視圖CNN[15]后,視圖投影方法就開始廣泛應用。最近,Qin等人提出了一種多視圖的對ALS 點云進行地形分類的方法[16]。所提出的網(wǎng)絡架構TLFnet,是第一個將多視圖CNN應用于大規(guī)模ALS點云分割的一種通用架構。
近年來,隨著諸如Microsoft Kinect R 這樣的低成本RGB-D 傳感器的廣泛應用,越來越多研究傾向于針對RGB-D圖像的設計網(wǎng)絡架構[17]。雖然RGB-D圖像與點云是不同類型的三維數(shù)據(jù),但Boulch 等人提出的SnapNet網(wǎng)絡架構[18]打破了兩者之間的鴻溝。該方法生成的快照除了常規(guī)的RGB 圖像外,還有包含點云提供的幾何特征的融合圖像。實驗測試了不同的組合,包括SegNet[19]/random、U-Net[20]/multiscale,以尋找有利的融合。該方法經(jīng)多場景的實驗證明有著十分廣泛的應用范圍。
基于CNN 的網(wǎng)絡架構的能力不僅限于處理圖像,任何具備局部特征性的二維張量矩陣都可以。最近,Wu 等人提出了SqueezeSeg[21]以及SqueezeSegV2[22]用于自動駕駛MLS點云數(shù)據(jù)的道路對象分割。該方法通過二維球面投影,將點云坐標、強度和范圍轉(zhuǎn)換為一個64×512×5 的張量,并用條件隨機場(CRF)產(chǎn)生每點的分類標簽。針對合成數(shù)據(jù)缺少噪聲和強度信息的問題,加入域適應訓練管線(Domain Adaptation Training Pipeline)來自主學習強度信息并進行相關的校準,將合成數(shù)據(jù)訓練的模型的測試精度提高了28.4%。改進后的網(wǎng)絡架構還采用了新的損失函數(shù)Focal Loss[23]和批歸一化(Batch Normalization)[24]。
基于投影和視圖的方法雖然會損失維度信息,在準確度上也并非先驅(qū)者,但有賴于二維深度學習算法的成熟,可用于許多小型和特定的場景,具有實用性強的優(yōu)勢。為直觀展現(xiàn)近年來該類方法的發(fā)展態(tài)勢和應用情況,表1列舉了近年來的一些方法以供研究者參考[25-34]。

表1 幾種基于投影和視圖的方法
最早的深度體素網(wǎng)絡是Maturana和Scherer提出了VoxNet 網(wǎng)絡架構[35]。通過將點云按0.1 m2的分辨率采樣后,形成大小為32×32×32的體積網(wǎng)格,再將輸入數(shù)據(jù)在[-1,1]之間歸一化。數(shù)據(jù)輸入一個簡單的包含兩個卷積層,一個池化層和兩個完全連接的層的Volumetric CNN網(wǎng)絡,最后輸出簡單的分類標簽,實驗僅在簡單分類任務進行了測試,但提出三維卷積是開創(chuàng)性的突破,將此概念由二維空間推向三維空間。
基于二維全卷積網(wǎng)絡(FCN)思路,Tchapmi 等人提出了一種三維的全卷積網(wǎng)絡架構SEGCloud[36]。該方法首先對3D 點云進行體素化并通過3D 全卷積神經(jīng)網(wǎng)絡進行饋送,以生成粗略的降采樣標簽。然后通過三線性插值層將這種粗略輸出從體素解析為原始3D 點表示。過程中得到的3D 點分數(shù)可用于3D 全連接CRF 中的推斷,以產(chǎn)生最終結果。該方法提出了一種3D-FCN 架構,并在公開的兩個室內(nèi)數(shù)據(jù)集和兩個室外數(shù)據(jù)集上取得了不錯的結果,證明了三維空間也是可以構造全卷積網(wǎng)絡的。
環(huán)顧最近的計算機視覺的國際會議,該類方法已逐漸減少,綜合分析有以下原因:
(1)三維卷積的運算過程較復雜,需較大算力,因此對研究者的設備要求較高。
(2)算法的空間復雜度高,運算和存儲中間過程均需較大開銷,因此實用性相對較低。
(3)體素大小不易確定,需要根據(jù)實際實驗情況調(diào)整,不合適的體素大小會產(chǎn)生許多冗余體素網(wǎng)格,優(yōu)化問題較難解決。
但實際上,體素方法在點云處理的歷史上具有相當久的歷史,所以該類方法還是具有一定潛在發(fā)展空間的。三維卷積處理三維空間信息,對每個維度信息特征都能很好的保留,流程上也更加自然。為直觀展示深度體素方法的發(fā)展歷史,表2中列舉了近幾年國內(nèi)外研究者提出幾種典型方法[37-41]。其中,由國內(nèi)學者提出的MSNet,在遙感領域取得不錯的成績,所以,該類方法的研究和改進還是有可能隨著計算性能和存儲方法的變革,以某種新的形式再度流行起來的。
無序點云的方法,在很多文獻中也稱為點方法。其特點是直接輸入原始數(shù)據(jù),輸入網(wǎng)絡之前不對點云數(shù)據(jù)做任何變換。這也符合基于深度學習的端到端架構的思想,同時基于點的方法也是現(xiàn)在點云分割的主流發(fā)展方向。
最早直接輸入點云數(shù)據(jù)進行特征學習的網(wǎng)絡是在CVPR2017 上提出的PointNet[42]。與其他架構不同,PointNet 不使用卷積提取特征僅由全連接層組成。網(wǎng)絡解決了點云無序性、幾何旋轉(zhuǎn)的問題,實驗結果也表明其性能相當可觀。雖然是是突破性的進展,但尚有許多問題,比如對局部空間特征的感知較差。由2D-CNN獲取靈感,Qi等人又提出了PointNet++[43],網(wǎng)絡由PointNet 構成的特征提取塊組成,并采用了MSG、MRG 以及特征傳播改進網(wǎng)絡架構,輸入沿著多分辨率層次以逐漸變大的比例捕獲特征。雖然在一些數(shù)據(jù)集上的結果提高不是很多,但是也提高了架構對于稀疏點的魯棒性。
自PointNet++提出之后,針對直接輸入點的研究大量涌現(xiàn)。由于PointNet對點云的順序不予考慮,所以需要適配點云的變換一致性,空間復雜度較高。針對此問題,許多研究采用基于聚類和傳統(tǒng)特征提取相關的算法改進PointNet 的層次結構或者其T-Net 結構,來降低近鄰點搜索和組織的空間復雜度。直接輸入無序點云的方法雖然省去了組織和排序所帶來的時間成本,但仍需要消除順序的影響后,并且不考慮順序可能造成潛在特征信息的丟失,因此也產(chǎn)生了對點云組織的點方法的研究。

表2 幾種典型的基于體素的方法
最早對點云進行有序化處理的一個最突出的例子是OctNet[44]。該方法將點云數(shù)據(jù)存儲在淺八叉樹中并加以索引,卷積運算符是直接在樹的結構上定義的,能夠處理非定長數(shù)據(jù)。類似的,通過使用KD樹結構索引點云,Klokov等人提出了一種直接在KD樹上構造的稱為KD-Network 的深度網(wǎng)絡[45]。與CNN 一樣,網(wǎng)絡是前饋但可學習與KD 樹中節(jié)點的權重相關聯(lián)的參數(shù)。網(wǎng)絡還展示了訓練和推理的效率以及可擴展性。
雖然高效組織點云被證明有效,但需要額外的數(shù)據(jù)處理步驟,所以在端到端處理上是存在劣勢的。Su 等人提出的一種網(wǎng)絡架構SplatNet[46]很好地解決了這個問題。其靈感來自permutohedral 網(wǎng)格[47],通過Bilateral Convolution Layer(BCL)卷積層結構堆疊構造起整個網(wǎng)絡,把對點云的組織放到了每一次卷積操作中,實現(xiàn)了端到端的處理。
而針對分割任務并不受點云順序影響的觀點,Landrieu和Simonovsky提出了一種基于圖的方法很好地反駁了這點,網(wǎng)絡采用了一種稱為超點圖(Superpoint Graphs,SPG)[48]的新型數(shù)據(jù)結構中。該結構包含一組稱為超級點(Superpoint)的形狀單元,其靈感來源于超像素點(Super Pixel)[49]。文章認為,通過將數(shù)據(jù)組織為SPG,并使用邊緣條件卷積[50]有助于分類和分割。網(wǎng)絡不僅在小型模型分割上表現(xiàn)良好,在大規(guī)模場景分割上也毫不遜色。最近,CVPR2019 的一篇匿名論文[51]提出了一種采用圖注意力卷積(Graph Attention Convolution,GAC)的方法。其引入注意力機制組織搜索點云,使網(wǎng)絡具有強大的結構化特征學習能力,對室外場景中易遮擋和殘缺的對象(例如汽車、硬景觀、低/高植被)的特征的區(qū)分度有較大提升。但是對于點數(shù)量較多、較密集并容易混淆的人工和自然地形,權重分配不能很好發(fā)揮作用,因此場景總體識別能力提升不大。
點方法在近兩年來發(fā)展迅速,并不斷將原有深度學習算法擴展泛化以適應點云運算。為直觀展現(xiàn)點方法的發(fā)展情況,表3列舉了近年來一些其他的點方法的優(yōu)缺點以供研究者參考[52-63]。
無監(jiān)督學習是目前深度學習發(fā)展的一個新趨勢。一方面,無監(jiān)督學習利用了自編碼器的特性,能實現(xiàn)一種類型到另一種類型的跨越式生成;另一方面,無監(jiān)督學習不需要利用數(shù)據(jù)的標注,可以利用大量無標注數(shù)據(jù)。
目前無監(jiān)督方法還較少,適應范圍也較小,但也初具雛形,如Achlioptas 等人提出的一種可以用于模型重建的方法[64]。該方法直接將PointNet重構為一個帶有解碼器網(wǎng)絡的自編碼器。其實驗表明,對于模型重建有著非常好的結果。Li等人提出了SO-Net網(wǎng)絡[65],使用自組織映射輸入并組織點云,并在各個自組織圖節(jié)點上執(zhí)行分層特征提取。網(wǎng)絡采用可調(diào)節(jié)的視野域,可根據(jù)局部幾何形狀進行調(diào)整,以實現(xiàn)更有效的局部特征聚合。Zamorski等人將變分自編碼器(Variational Auto-Encoder,VAE)泛化為對抗自編碼器(Adversarial Auto-Encoder,AAE),提出了一種3DAAE網(wǎng)絡架構[66]。這是一個完全端到端的結構,學習點云空間表示的同時并依據(jù)學習到的特征生成3D模型。該方法也展現(xiàn)了無監(jiān)督自動生成CAD等三維模型的可行性和廣闊的前景。
基準數(shù)據(jù)集對于深度學習領域的作用不言而喻,經(jīng)過多年研究,也產(chǎn)生了許多優(yōu)秀的室內(nèi)和室外場景數(shù)據(jù)集。表4 選取了幾個在最近研究中較為常用數(shù)據(jù)集以展示算法在室內(nèi)場景分割,模型分割以及室外場景分割的性能,選取的數(shù)據(jù)集有:斯坦福大學的S3DIS[67]、普林斯頓大學的ShapeNet[37]以及蘇黎世聯(lián)邦理工學院的Semantic 3D[38]。因為有些算法的實驗和評估過程有其側(cè)重性,并非所有算法這些數(shù)據(jù)集的指標上給出數(shù)據(jù),或只給出部分數(shù)據(jù)。選取的評估指標為在大多數(shù)文獻中都采取的幾個指標:S3DIS和Semantic3D的語義分割的總體準確度(OA)和平均交并比(mIOU),以及在ShapeNet 模型分類(Class.)和語義分割(Seg.)上的平均準確度(mAcc,相當于mIoU)。部分文獻僅給出mIoU或者僅給出OA的情況下,本文盡可能通過給出的數(shù)據(jù)計算補全數(shù)據(jù),但如未給出每類準確度的情況下,mIoU是無法計算的。表中分類1~5分別對應文章第3章中的5個小節(jié)的方法類別,數(shù)據(jù)旨在展示算法的性能,供相關研究者參考分析。

表3 幾種點方法的優(yōu)缺點比較

表4 一些算法在選取的數(shù)據(jù)集的表現(xiàn)
本文對基于深度學習點云分割方法進行了整理、分類和簡要分析。3D深度學習雖然是一個相對較新的領域,也不像2D深度學習那么成熟,但就目前研究現(xiàn)狀來說,差距正在逐漸縮小。通過對相關技術和算法的總結分析,提出以下幾個觀點:
(1)深度學習端到端的架構能將原始數(shù)據(jù)直接輸入到學習算法中,并將特征作為訓練過程的一部分進行學習后自動導出檢測或分類所需的輸出,能很好地滿足實時性和魯棒性的要求。基于深度學習的點云分割算法,免去了繁瑣的手工提取特征的過程,強化了傳統(tǒng)算法泛化和擴展能力,為自動駕駛、機器人和無人機導航等一系列新興應用的自動化提供了可能。
(2)無論是投影和視圖的方法還是最新的無監(jiān)督方法,都有著最先進的結果,表5 簡要分析并總結了目前各類方法的優(yōu)劣。雖然三維卷積在計算和存儲開銷上較大,但是最新進展仍顯示有能力超越同時期的點方法;投影和視圖的方法在一些簡單場景具有極其強的實用性,丟失空間信息的影響也就顯得不那么重要。總的來說,各類方法都有自身的優(yōu)劣,孰優(yōu)孰劣不能簡單一刀切。
(3)雖然無序點方法是近年來的主流,但最近的一些工作顯示,該類方法正在融合有序點方法和一些數(shù)學方法。點云雖然是無序的,但是點云表示的場景或者物體卻是有幾何上下文關系的,所以不能忽視拓撲學的重要性。并且在最近的工作中,有序點法也顯示了極其強大的分割能力和最先進的成績。而對于深度學習技術的發(fā)展,幾何學、拓撲學以及數(shù)學方法也是相當重要的,最近有研究開始對深度網(wǎng)絡和微分方程的聯(lián)系進行探究,并得出了一些有意義的結論。這也表明通過數(shù)學的規(guī)范公理化語言描述,能增強深度學習的方法的理論性、確定性和可復現(xiàn)性。

表5 各類算法優(yōu)缺點分析
(4)無監(jiān)督學習是深度學習技術甚至是機器學習領域的一個發(fā)展趨勢,雖然現(xiàn)有的技術不那么成熟,但在當前大數(shù)據(jù)的背景下,利用無標注數(shù)據(jù)所帶來的效益是極大的。因為三維數(shù)據(jù)的標注相比二維數(shù)據(jù),其不僅是時間成本上的升維,還對操作人員的技能素質(zhì)有極大的要求。此外,即便是專業(yè)人員,為正確標注數(shù)據(jù),所要付出的耐心和細心也更大。
(5)雖然目前已經(jīng)有S3DIS、KITTI甚至Semantic3D這樣的規(guī)模較大的數(shù)據(jù)集,但與ImageNet 的規(guī)模相比仍是滄海一粟。無論是在監(jiān)督學習還是主流的今天,還是無監(jiān)督學習可能主導的未來,標注數(shù)據(jù)仍然是非常重要的。最近的SqueezeSeg、SythCity[68]提供了人工合成數(shù)據(jù)以及在虛擬環(huán)境采集數(shù)據(jù)的思路。這或許不失為補充預訓練數(shù)據(jù)集的方法,但仍需考慮解決域遷移的問題,更進一步,研究如何合成逼真的仿真數(shù)據(jù)。