景莊偉,管海燕,臧玉府,倪 歡,李迪龍,于永濤
1.南京信息工程大學地理科學學院,南京210044
2.南京信息工程大學遙感與測繪工程學院,南京210044
3.武漢大學測繪遙感信息工程國家重點實驗室,武漢430079
4.淮陰工學院計算機與軟件學院,江蘇淮安223003
近年來,隨著計算機視覺、人工智能以及遙感測繪的發展,SLAM(simultaneous localization and mapping)技術、Kinect 技術以及激光掃描等技術日漸成熟,點云的數據量迅速增長,針對描述點云數據空間信息的高層語義理解也越來越受到關注。語義分割作為點云數據處理與分析的基礎技術,成為自動駕駛、導航定位、智慧城市、醫學影像分割等領域的研究熱點,具有廣泛的應用前景。語義分割是一種典型的計算機視覺問題,也稱為場景標簽,是指將一些原始數據(例如:二維(two-dimensional,2D)圖像、三維(threedimensional,3D)點云)作為輸入并通過一系列技術操作轉換為具有突出顯示的感興趣區域的掩模。
點云語義分割是把點云分為若干個特定的、具有獨特性質的區域并識別出點云內容的技術。由于初期三維數據模型庫可用數據量較少以及深度網絡由二維轉到三維的復雜性,傳統的點云語義分割方法大多是通過提取三維形狀幾何屬性的空間分布或者直方圖統計等方法得到手工提取特征,構建相應的判別模型(例如:支持向量機(support vector machine,SVM)[1]、隨機森林(random forest,RF)[2]、條件隨機場(conditional random field,CRF)[3]、馬爾可夫隨機場(Markov random field,MRF)[4]等)實現分割。由于手工提取的特征主要依靠設計者的先驗知識以及手工調動參數,限制了大數據的使用。伴隨著大型三維模型數據的出現和GPU 計算能力的不斷迭代更新,深度學習在點云語義分割領域逐漸占據了絕對主導地位。深度學習模型的核心思想是采用數據驅動的方式,通過多層非線性運算單元,將低層運算單元的輸出作為高層運算單元的輸入,從原始數據中提取由一般到抽象的特征。初期,研究者們借鑒二維圖像語義分割模型的經驗,對輸入點云形狀進行規范化,將不規則的點云或者網格數據轉換為常規的3D體素網格或者多視圖,將它們提供給深層的網絡體系結構。然而,丟失幾何結構信息和數據稀疏性等問題限制了多視圖方法和體素化方法的發展。于是,研究者開始從三維數據源頭著手,斯坦福大學Qi等人[5]提出的PointNet 網絡模型,直接從點云數據中提取特征信息,在沒有向體素轉換的情況下,體系結構保留原始點內的固有信息以預測點級語義。隨后,直接處理點云的網絡模型方法逐漸發展起來。
目前已有一些綜述性論文[6-9]對基于深度學習的點云語義分割研究進行了總結和分析。文獻[6]是基于深度學習和遙感數據背景下進行的分類研究進展綜述;文獻[7]從遙感和計算機視覺的角度概述了三維點云數據的獲取和演化,對傳統的和先進的點云語義分割技術進行了比較和總結;文獻[8]詳細介紹了一些較為突出的點云分割算法及常見數據集;文獻[9]所做的綜述工作涵蓋了不同的應用,包括點云數據的形狀分類、目標檢測和跟蹤以及語義和實例分割,涉及的方面較為廣泛。本文對前人工作進行了完善,在算法內容上,本文添加了最近提出的新方法,總結了50 多種三維語義分割算法,根據三維點云數據處理方式,將它們分為兩類:間接語義分割方法和直接語義分割方法。數據集內容上,本文在新增最新公共數據集的同時,增加了常用的三維遙感數據集。未來研究方向上,本文在基于深度學習的語義分割技術評述基礎上,對語義分割領域未來研究方向進行了展望并給出各類技術的參考性價值。
點云(point cloud)是在同一空間參考系下表達目標空間分布和目標表面特性的海量點集合,其獨立描述每個點的相關屬性信息,點與點之間沒有顯著的聯系。點云數據主要使用非接觸式的技術進行獲取,如:圖像衍生方法從光譜圖像間接生成點云,機載激光雷達掃描儀進行掃描采集,對CAD(computer aided design)模型進行虛擬掃描等。相對于二維圖像,點云有其不可替代的優勢——深度信息,點云數據不僅規避了圖像采集過程中遇到的姿態、光照等問題,而且其本身具有豐富的空間信息,能夠有效地表達空間中物體的大小、形狀、位置和方向。相比于體素數據,點云數據空間利用率更高,更加關注于描述對象本身的外表面形狀,不會為描述空間的占用情況而保存無用的冗余信息。因此,點云已成為三維數據模型的研究重點,并應用于多種領域,如:大規模場景重建、車載激光雷達、虛擬現實、數字高程模型制作等。然而點云數據自身存在的無序性、密度不一致性、非結構性、信息不完整性等特性使得點云的語義分割充滿挑戰。因此,有效處理并運用點云的特性是現今研究者應當關注的重點。本章將點云特性進行簡單整理闡述,希望能夠為研究者們的研究提供方便。
(1)點云無序性
從數據結構的角度來講,點云數據只是一組無序的向量集合,若不考慮其他諸如顏色等因素,只考慮點的坐標,則點云數據只是一組n×3 的點集合。那么當對這n個點進行不同順序的讀入時,點的輸入組合中共有n!種,如圖1 所示,圖左fa、fb、fc為輸入的3 個點組成的點云,圖右為點云直接輸入網絡存在的6 種順序情況。因此,解決點云的無序性是必不可少的。為了使模型對于輸入排列不變,PiontNet[5]使用簡單的對稱函數匯總來自每個點的信息和特征,進行語義分割。PointSIFT[10]使用編碼8 個方位信息的逐點局部特征描述符保留了無序點云更多的信息,同時仍然保持輸入點順序的不變性。SO-Net[11]網絡使用SOM(self-organizing map)模塊對歸一化后的點云進行批處理,解決了點云的無序性。HDGCN[12](hierarchical depthwise graph convolutional neural network)提出了圖卷積來處理無序點云數據,并且具有強大的提取局部形狀信息的能力。RSNet(recurrent slice networks)[13]通過切片池層將無序和無結構的輸入點的特征投影到特征向量的有序和結構化的序列上。PointCNN[14]學習χ-變換卷積算子,將無序的點云轉換為相應的規范順序。ShellNet[15]將ShellConv 定義在可由同心球殼劃分的區域上,并通過從內殼到外殼的卷積順序解決了點云的無序性。

Fig.1 Example of point cloud unordered input圖1 點云的無序輸入示例
(2)點云密度不一致性
實際場景所包含的物體多種多樣,相應點云數據也具有不同空間屬性。不同點云數據獲取方式下,物體的點云的空間距離、密集程度以及點數量差距都很大,如圖2。在密集數據中學習的特征可能不能推廣到稀疏采樣區域,用稀疏點云訓練的模型可能無法識別細粒度的局部結構。因此,能否處理不同密度的點云對分割模型來說具有非常大的挑戰性[16]。PointNet++[17]模型中提出的密度自適應點網層,該層可在輸入采樣密度發生變化時學會組合來自不同尺度區域的特征。RandLA-Net[18]采用隨機點采樣的方法進行點的選擇,以解決高密度大規模的點云場景。GACNet[19]構造了有向圖G(V,E),其中KG鄰域是通過在半徑ρ內隨機采樣的,相比于KG的最近鄰域查詢方法,該方法不受點云稀疏性的影響。3P-RNN[20]通過考慮多尺度鄰域,逐點金字塔池化模塊以捕獲各種密度條件下的局部特征。KPConv(kernel point convolution)[21]通過結合半徑鄰域和常規下采樣,確保了KPConv 對不同密度數據的魯棒性。InterpConv(interpolated convolution)[22]在每個核權值向量的鄰域內對點進行歸一化,保證其網絡具備稀疏不變性。PointConv[23]通過學習MLP(multilayer perceptron)以近似權重函數,并對學習的權重應用反密度標度補償非均勻采樣。

Fig.2 Point cloud scenes with different densities圖2 不同密度的點云場景
(3)點云非結構性
二維圖像是結構化的數據,可以使用一個二維矩陣進行表示。而點云數據是非結構化的,想要直接輸入到神經網絡模型中是非常困難的。如果將點云數據體素化,利用深度學習模型進行特征提取可以取得較好的分割結果,但是這種方法由于內存限制,只能使用比較小分辨率的體素網格,從而造成信息的丟失,因此其整體性能與精度仍然無法得到顯著提高。點云本質上缺乏拓撲信息,因此設計恢復拓撲的模型(如DGCNN(dynamic graph convolutional neural network)[24]、RGCNN(regularized graph convolutional neural network)[25]、DPAM(dynamic points agglomeration module)[26]等基于圖卷積的方法)可以豐富點云的表示能力。另外,ConvPoint[27]中設計了一種針對非結構化數據的連續卷積公式。
(4)點云信息不完整性
點云是一群三維空間點坐標構成的點集。由于本質上是對三維世界中物體幾何形狀進行低分辨率重采樣,因此點云數據提供的幾何信息是不完整的;另外,點云數據采集時由于遮擋等原因,無法獲取目標物體完整的三維描述。而且在模型訓練過程中也存在這樣的問題,如PointNet[5]的全局特征僅匯總了單個塊的上下文,匯總信息僅在同一個塊中的各個點之間傳遞,但是每個塊之外的上下文信息也同樣重要。因此,CU&RCU[28]引入了兩種添加上下文的機制:輸入級上下文(直接在輸入點云上運行)和輸出級上下文(用于合并輸入級上下文的輸出)。圖神經網絡(graph neural network,GNN)也被廣泛用于處理不規則點云數據,這些方法[14,23-24,29-30]在歐幾里德或特征空間的鄰域中構建局部圖,通過加權和或從鄰域到中心的池化來聚合局部特征,處理不規則點云數據。
隨著深度學習技術的出現,點云語義分割領域實現了巨大的改進。近年來,研究者們提出了大量的基于深度學習的分割模型以處理點云。與傳統算法相比,此類模型性能更優,達到了更高的基準。本章根據三維點云數據處理方式,將基于深度學習的三維點云語義分割方法分為兩大類,即間接語義分割方法和直接語義分割方法。間接語義分割方法是將原始點云數據轉換為常規的3D 體素網格或者多視圖,通過數據轉變的方式間接地從三維點云數據中提取特征,從而達到語義分割的目的。直接語義分割方法是直接從點云數據中提取特征信息,在沒有向體素和多視圖轉換的情況下,體系結構保留原始點內的固有信息以預測點級語義。表1 對本文介紹的點云語義分割方法進行了分析與總結。
借鑒二維圖像語義分割模型的經驗,研究者們首先將不規則的點云數據轉換為常規的3D 體素網格或者多視圖,輸入到深層網絡體系結構以實現點云的語義分割。本節整理總結了20 篇具有代表性的文獻,將間接語義分割方法再分為基于二維多視圖方法和基于三維體素化方法兩個子類,并分別進行了總結與分析。圖3 為2015 年起間接語義分割方法的發展,不同顏色代表不同間接語義分割方法類別。
2.1.1 基于二維多視圖方法

Fig.3 Timeline of indirect semantic segmentation圖3 間接語義分割方法發展時間軸

Table 1 Analysis and summary of point cloud semantic segmentation methods表1 點云語義分割方法的分析與總結
早期研究者們在點云數據上應用深度學習是將點云投影到多個視圖的二維圖像中,在投影的二維圖像上使用卷積等常規處理技術,從而實現點云數據語義分割。多視圖CNN(multi-view convolutional neural network,MVCNN)處理三維點云數據的方法由Su 等人[31]首次提出,該類方法的具體步驟如圖4 所示,首先獲取三維目標形狀在不同視角下的二維圖像,對每個視圖進行圖像特征提取,最后通過池化層和完全連接層將不同視角的圖像進行聚合得到最終的語義分割結果。
雖然MVCNN 能很好地整合不同視角下影像特征從而獲得較好的三維物體的描述,但是該方法并不能有效地利用每張視圖的局部特征信息,也不能動態地選擇視圖;同時,將三維物體投影到二維圖像會丟失大量關鍵的幾何空間信息,導致其最終語義分割精度不高。因此,Qi等人[32]通過引入多分辨率三維濾波來捕獲目標多尺度信息以提高其語義分割性能。Feng 等人[33]在MVCNN 的基礎上提出GVCNN(group-view convolutional neural network)框架,將不同視圖下CNN(convolutional neural network)提取的視覺描述子進行分組,可有效利用多視圖狀態下特征之間的關系。
隨著RGB-D 傳感器(微軟Kinect 等)的發展,RGB-D 數據也逐漸被廣泛應用。RGB-D 數據除了提供顏色信息外,還提供額外的深度信息,有利于語義分割任務。Zeng 等人[34]使用機械臂獲取多視角RGB-D 圖像并輸入FCN(fully convolutional network)網絡中,通過訓練多個網絡(AlexNet[35]和VGG-16[36])提取特征,同時評估了使用RGB-D 圖像深度信息的優勢。隨后,Ma 等人[37]使用SLAM(simultaneous localization and mapping)技術獲取相機軌跡,并將RGB-D 圖像轉換到真實標注數據相同尺度,保證模型訓練中多個視角的一致性。SnapNet[38]圍繞三維場景生成一系列二維快照,對每對二維快照進行完全卷積網絡的像素標記后,再將像素標記反投影到原始點云上。SnapNet-R[39]改進了SnapNet網絡,對多個視圖直接處理以實現密集的三維點標記,從而改善分割效果。然而,二維快照破壞了三維數據的內在幾何關系,無法充分利用三維空間上下文的全部信息。
SqueezeNet作為輕量級網絡結構,能夠減少模型參數量并且保持精度,因而在計算機視覺領域得到了越來越廣泛的應用。Wu 等人[40]借鑒SqueezeNet的思想,提出了SqueezeSeg 網絡。SqueezeSeg 利用球面投影將稀疏的三維點云轉換為二維圖像輸入到基于SqueezeNet 的CNN 模型中進行語義分割,利用條件隨機場(CRF)作為遞歸層對語義分割結果進一步優化,并通過傳統的聚類算法獲得最終標簽。但是該方法語義分割準確率受到點云采集過程中產生的失調噪聲(dropout noise)影響。隨后該團隊[41]提出SqueezeSegV2,添加了上下文聚合模塊(context aggregation module,CAM),該模塊可以從更大的接收域中聚合上下文信息,從而增強網絡對失調噪聲的魯棒性,提高了語義分割的準確率。
盡管基于多視圖的語義分割方法存在三維空間信息不完整性和投影角度的問題,但其解決了點云數據的結構化問題,又可依賴于較多成熟的二維算法和豐富的數據資源,可用于許多特定和小型的場景,具有較強的實用性。
2.1.2 基于三維體素化方法

Fig.4 Workflow for MVCNN圖4 MVCNN 網絡的處理流程
鑒于CNN 在圖像語義分割中取得的有效成果以及體素與圖像在數據組織形式上的相似性,研究者們將原始點云數據轉換為體積離散(即體素)數據,提出了基于三維的神經網絡模型,以實現點云的語義分割。體素化操作是利用占用網格將環境狀態表示為隨機變量的3D 網格(每個網格對應于一個體素),并根據傳入的傳感器數據和先驗知識維持其占用率的概率估計[42]。目前,基于體素數據的各種深度網絡已被應用于形狀分類[43]、室內場景的語義分割[44]和生物醫學記錄[45]。VoxNet 模型[42]是最早基于體素數據的三維CNN 模型,該模型展示了三維卷積算子從體素占用網格學習特征的潛力。雖然體素模型的提出解決了點云無序性和非結構化的問題,但三維數據的稀疏性與空間信息不完整性導致語義分割效率低。此外,相較于二維圖像數據,點云數據體素化由于增加了一個維度,其計算開銷更大,并且限制了體素模型的分辨率。
針對三維數據的稀疏性,Li等人[46]采用場探測濾波器(field probing filter)代替卷積神經網絡中的卷積層從點云體素中提取特征。但是,該方法會降低語義分割輸出結果的分辨率。針對體素網格低分辨率的限制,SegCloud[47]網絡放棄了基于體素的CRF 方法,轉而使用原始3D 點作為節點來運行CRF 推理。該網絡將3D-FCNN 生成的粗體素預測通過三線性插值返回到原始點云,然后使用全連接條件隨機場(fully connected CRFs,FCCRF)增強預測結果的全局一致性并在這些點上提供細粒度語義。
為了減少不必要的計算和內存消耗,有些學者提出了基于八叉樹結構的分割模型,如OctNet[48]和VGS&SVGS[49]模型。OctNet[48]模型中,每個八叉樹根據數據的密度分割三維空間,將存儲器分配和計算集中到相關的密集區域,在不影響分辨率的情況下實現更深層的網絡。VGS(voxel-and graph-based segmentation)&SVGS(supervoxel-and graph-based segmentation)[49]模型采用基于八叉樹的體素化方法組織點云以方便鄰域遍歷,利用圖論(graph theory)在局部上下文信息的基礎上進行體素和超體素的聚類,并使用感知定律(perceptual laws)以純幾何的方式進行分割。Kd-tree 結構也被應用到基于深度學習的語義分割模型中,如Kd-Net[50]和3DContextNet[51]模型。Kd-Net[50]提出使用Kd-tree 組織點云數據,規則化深度網絡輸入結構,提高了點云計算和存儲效率。3DcontextNet[51]利用Kd-tree 結構提供的點云局部和全局上下文線索進行特征學習并聚合點特征。與Kd-Net 不同,3DContextNet 不改變空間關系,可用于三維語義分割。以上基于樹結構的方法雖然減少了計算和內存消耗,但此類方法依賴體素邊界,沒有充分利用其局部幾何結構。因此,Meng 等人[52]利用基于徑向基函數(radial basis functions,RBF)的變分自動編碼器(variational autoencoder,VAE)網絡對體素結構進行擴展,編碼每個體素內的局部幾何結構從而提高分割精度。MSNet[53]網絡圍繞每個點,將不同尺度的空間上下文劃分為不同尺度的體素,以自適應地學習局部幾何特征,該方法在遙感、測繪數據獲得不錯的語義分割結果。
以上研究從不同角度解決了點云體素化帶來的不足,減少了三維體素輸入的信息丟失和計算需求,但由于體素化算法的空間復雜度高,存儲和運算過程中均需較大的開銷,因此實用性相對較低。不過隨著計算性能和存儲方法的不斷升級,該類方法還是具有一定潛在的發展空間。
為了降低預處理過程中的計算復雜度與噪音誤差影響,研究者開始從三維數據源頭著手,直接從點云數據中提取特征信息,因而逐漸發展出一些直接處理點云的網絡模型方法。PointNet 網絡[5]架構是該類方法的開拓者,該網絡直接處理點云數據的分類與分割任務,如圖5 所示。PointNet在語義分割時,以點云中每一個點作為輸入,輸出每個點的語義類標簽。PointNet 網絡主要解決三個核心問題:點云無序性、置換不變性和旋轉不變性。針對點云的無序性,PointNet 使用簡單的對稱函數聚合每一個點的信息。針對點云的置換不變性,PointNet 采用多層感知機(MLP)對每個點進行獨立的特征提取,并將所有點信息聚合得到全局特征。此外,PointNet 網絡參考了二維深度學習中的STN(spatial transformer network)網絡,在網絡架構中加入T-Net 網絡架構,對輸入的點云進行空間變換,使其盡可能滿足旋轉不變性。

Fig.5 Network framework for PointNet圖5 PointNet網絡架構
PointNet 網絡依舊存在著很多的缺陷:無法很好地捕捉由度量空間引起的局部結構問題,欠缺對局部特征的提取及處理;每個點操作過于獨立,其沒有考慮到鄰近點的交互關系,而無法高效刻畫相關區域的語義結構;統一的模板無法有效地解決密度不均一的數據。為了解決這些問題,研究者們基于PointNet 算法提出了一系列解決方案,本節整理總結了30 篇具有代表性的文獻,從算法特點的角度分為六大類:基于鄰域特征學習的方法、基于圖卷積的方法、基于RNN 的方法、基于優化CNN 的方法、基于注意力機制的方法和結合實例分割的方法。并分別進行總結和分析。圖6 為2017 年起直接語義分割方法發展的時間軸,圖中不同顏色代表不同的直接語義分割方法類別。
2.2.1 基于鄰域特征學習的方法
PointNet 沒有捕獲由度量空間點引起的局部結構特征,限制了細粒度圖案識別和復雜場景泛化能力。目前,為了捕獲局部特征,已有大量基于鄰域特征學習的網絡模型通過聚集來自局部相鄰點的信息或融合不同層次區域特征來捕獲點云中的上下文信息,將獲取的全局特征與局部特征有效結合以提高語義分割的性能。
PointNet++[17]是PointNet 的分層版本,它的每個圖層都有三個子階段:采樣、分組和特征提取。圖7為PointNet++的整體網絡架構。采樣層中,在輸入點云中使用迭代最遠點采樣(farthest point sampling,FPS)方法選擇一系列局部區域的中心點。分組層中,通過查找中心點周圍的“鄰近”點,創建多個點云子集。最后采用PointNet 網絡進行卷積和池化來獲得這些點云子集的高階特征表示。此外,作者還提出了密度自適應切入點網層,當輸入采樣密度發生變化時,則學習不同尺度區域的特征。

Fig.6 Timeline of direct semantic segmentation圖6 直接語義分割方法發展時間軸

Fig.7 Network framework for PointNet++圖7 PointNet++網絡架構
PointNet++網絡不僅解決了點云數據采樣不均勻的問題,而且考慮了點與點之間的距離度量。它通過層級結構學習局部區域特征,使得網絡結構更有效、更穩健。雖然該模型有效改善了局部特征提取問題,但PointNet++和PointNet 模型一樣,單獨提取點的特征,依然沒有建立點與點之間的關系(如方向性等),對于局部特征的學習仍然不夠充分。為了模擬點之間的交互關系,Zhao 等人[54]提出了PointWeb,通過自適應特征調整(adaptive feature adjustment,AFA)模塊實現信息交換和點的局部特征學習,構建局部完全鏈接網絡來探索局部區域中所有點對之間的關系。該方法充分利用點的局部特征,并形成聚合特征進行三維點云語義分割。另外,為了解決Point-Net++中K-鄰域搜索可能處于一個方向的問題,Point-SIFT 模塊[10]的方向編碼單元在8 個方向上對最近點(nearest point)的特征進行卷積,從而能夠提取更可靠和穩定的表征點。
為了更加有效地利用點云的局部特征信息,研究者們基于PointNet++網絡架構提出了許多點云語義分割的網絡模型,如:SO-Net[11]、SCN(shape context net)[55]、RandLA-Net[18]等。
SO-Net[11]網絡通過建立自組織映射(self-organizing map,SOM)模擬點云的空間分布,對單個點和SOM節點進行分層特征提取,最終用單個特征向量來表示輸入點云,從而固定點的位置以實現點云高效分割。雖然SO-Net 網絡架構對于大規模點云數據處理還具有一定的局限性,但其為后續的大規模點云語義分割提供了重要基礎。與SO-Net 不同,SCN[55]采用形狀上下文作為基本構建塊開發了一種分層結構,通過捕獲并傳播局部和全局形狀信息來表示對象點的內在屬性。RandLA-Net[18]是一種用于大規模點云處理的輕量級網絡,該網絡使用隨機點采樣法替代PointNet++的最遠點采樣法,通過局部特征聚集模塊以捕獲和保留局部幾何特征,在存儲和計算方面實現了顯著的提高。
2.2.2 基于圖卷積的方法
圖卷積方法將卷積運算與圖結構表示相結合。圖卷積神經網絡是一種直接在圖結構上運行且能夠依靠圖中節點之間的信息傳遞來捕獲圖中依賴關系的卷積神經網絡,在計算機視覺領域的應用越來越廣泛。
針對PointNet++框架[17]中以孤立方式進行特征學習的局限性,Wang 等人[56]提出一種局部譜圖卷積(local spectral graph convolution),它從點的鄰域構造局部圖,利用譜圖卷積結合新的圖池策略學習相鄰點的相對布局及特征。與上述方法不同,Simonovsky等人[57]在空間域中對圖形信號進行了類似于卷積的運算,并使用非對稱邊緣函數來描述局部點之間的關系。但是,邊緣標簽是動態生成的,沒有考慮局部點的分布不規則性。于是,RGCNN[25]基于譜圖理論,將點的特征作為圖上的一個節點以克服點云的不規則性。Wang 等人[24]改進文獻[57]的方法,提出了動態圖卷積神經網絡DGCNN。DGCNN 通過構造局部鄰域圖并利用邊緣卷積(EdgeConv)操作提取中心點的特征和中心點與K近鄰域(KNN)點的邊緣向量以獲得點云的局部特征。EdgeConv 考慮了點的坐標與鄰域點的距離,卻忽視了相鄰點之間的向量方向,最終還是損失了一部分局部幾何信息。
隨后,在DGCNN 的研究基礎上發展了一系列基于圖卷積的算法,如GACNet[19]、HDGCN[12]、DPAM[26]和PointNGCNN[58]等。其中,GACNet[44]提出了一種具有可學習內核形狀的圖注意力卷積(graph attention convolution,GAC),用于3D 點云的結構化特征學習。受深度卷積和圖卷積的啟發,Liang 等人[12]提出由深度圖卷積(depthwise graph convolutional,DGConv)塊組成的層次結構網絡——HDGCN,以提取點云局部特征和全局特征。Liu 等人[26]認為以往的點聚集方法僅在歐幾里德空間中進行點采樣和分組,嚴重限制了它們適應更多場景的能力。于是提出了一種基于圖卷積的動態點聚集模塊(DPAM),將點聚集(采樣、分組和合并)的過程簡化為聚集矩陣和點特征矩陣相乘。PointNGCNN[58]構造鄰域圖來描述鄰域點之間的關系,并使用切比雪夫多項式作為鄰域圖濾波器提取鄰域幾何特征。在此基礎上,將每個鄰域的特征矩陣和拉普拉斯矩陣(Laplacian matrix)放入網絡中,利用最大池化操作獲得每個中心的特征。
此外,為了處理大規模點云的語義分割,Landrieu等人[59]在2018年提出了超點圖(superpoints graph,SPG)。SPG 將幾何分割后的每一個幾何形狀看作一個超點(superpoint)構建超點圖,利用PointNet 對超點圖進行超點嵌入以及圖卷積處理,分類得到語義標簽。SPG 能夠詳細描述相鄰目標之間的關系,可有效解決每個點操作過于獨立,點與點之間缺乏聯系等問題。
2.2.3 基于優化CNN 的方法
卷積神經網絡(CNN/ConvNets)是一種前饋神經網絡,它的人工神經元可以響應一部分覆蓋范圍內的周圍單元,目前對于大型圖像處理有著出色的表現。卷積神經網絡由一個或多個卷積層和頂端的全連接層組成,同時也包括關聯權重和池化層。這一結構使得卷積神經網絡能夠利用輸入數據的三維結構,將特征從低級特征提取到高級特征。近年來,一些研究者對CNN 進行了優化,并將它們應用在點云語義分割的模型中。上文提到的圖卷積也算優化CNN 方法中的一類。
由于點云數據的無序性,導致輸入點云數據時的排列順序千差萬別,使得卷積操作很難直接應用到點云數據上。為了進一步解決這個問題并利用標準CNN 操作的優勢,PointCNN[14]嘗試學習χ-變換卷積算子,將無序的點云轉換為相應的規范順序,之后再使用典型的CNN 架構來提取局部特征。χ-變換可以實現“隨機應變”,即當輸入點的順序變化時,χ能夠相應地變化,使加權和排列之后的特征近似不變,輸入特征在經過χ-變換的處理之后能夠變成與輸入點順序無關同時也編碼了輸入點形狀信息的歸一化的特征。不同于PointCNN,PCCN[29](parametric continuous convolution network)提出一種參數連續卷積,使用點來承載內核權重并利用參數化的核函數跨越整個連續向量空間,由于其不使用任何形式的鄰域,導致該網絡不可再擴展。同樣,在解決缺乏空間卷積的過程中,Thomas 等人[21]提出了提供可變形卷積算子的核點卷積(KPConv),通過應用鄰域中最近距離內核點的權重,對每個局部鄰域進行卷積。KPConv的卷積權重由到核點的歐幾里德距離確定,并且核點的數量不是固定的,因此KPConv比固定網格卷積靈活性更強。隨后,ConvPoint[27]使用多層感知器(MLP)學習關聯函數替代KPConv 使用的RBF 高斯函數關聯輸入和內核。ConvPoint[27]提出離散卷積神經網絡的泛化,通過使用連續核替換離散核以處理點云。Pointwise[60]利用逐點卷積(pointwise convolution)獲取點的局部特征信息實現語義分割。但是,逐點卷積使用體素容器定位內核權重,因此缺乏像KPConv 一樣的靈活性。SpiderCNN[30]通過對一系列的卷積濾波器進行參數化,將卷積運算從常規網格擴展到可嵌入?n的不規則點集,并捕獲復雜的局部幾何變化。SpiderCNN 繼承了經典CNN 的多尺度層次結構,進而能夠提取語義深層特征。InterpConv[22]利用一組離散的內核權重,并通過插值函數將點特征插值到相鄰的內核權重坐標上進行卷積。在Interp-Conv 基礎上提出內插卷積神經網絡(InterpCNN),以處理點云的室內場景語義解析任務。ShellConv[15]使用同心球殼的統計信息來定義有代表性的特征并解決了點的無序性輸入,使得傳統的卷積運算可以直接處理這些特征。Wu 等人[23]將動態濾波器擴展到一個新的卷積運算,命名為PointConv。PointConv 在局部點坐標上訓練多層感知器來逼近卷積濾波器中的連續權函數和密度函數,使其具有置換不變性和平移不變性。此外,將PointConv 擴展為反卷積運算符(PointDeconv),將特征從子采樣點云傳播回原始分辨率。A-CNN[61]在分層神經網絡中應用環形卷積(annular convolution)以實現大場景的語義分割。環形卷積可提取每個點周圍局部鄰域的幾何特征,并在后續的點云處理中,使用特征融合方法將全局特征與局部特征結合以改善分割效果。
2.2.4 基于RNN 的方法
循環神經網絡(recurrent neural network,RNN)[62]是目前深度學習中另一種主流模型,RNN 不僅可以學習當前時刻的信息,還可以依賴之前的序列信息,有利于建模全局內容和保存歷史信息,促進上下文信息的利用。Engelmann 等人[28]在PointNet 網絡的基礎上提出了輸入級上下文和輸出級上下文兩個擴展。輸入級上下文是將點塊轉換為多尺度塊和網絡塊;輸出級上下文是將PointNet 提取的分塊特征依次送入合并單元(consolidation units,CU)或循環合并單元(recurrent consolidation units,RCU)。實驗結果表明,將網絡架構擴展到更大尺度的空間上下文中有助于提高語義分割性能。Liu 等人[63]融合三維卷積神經網絡(CNN)、深層Q 網絡(deep Q-network,DQN)和殘差遞歸神經網絡(RNN),提出了3DCNN-DQNRNN 用于大規模點云的語義解析。3DCNN 網絡學習點的空間分布和形狀顏色特征;DQN 網絡定位類對象;殘差RNN 處理輸入的級聯特征向量獲得最終的分割結果。該方法利用殘差RNN 進一步提取了點的識別性特征,從而提高了大規模點云的解析精度。
為了進一步優化PointNet++網絡,并且考慮點與點之間方向性關系,RSNet[13]模型通過x、y、z三個方向的切片池化層將無序點云轉換為有序序列并提取全局特征,采用雙向RNN(bidirectional RNN)處理點云有序序列,提取局部相關性特征,利用切片解析層將序列中的特征分配回各個點,最終輸出每個點的語義預測標簽。相比其他為了得到局部信息需要復雜計算的模型,RSNet 簡化了獲取局部信息的計算。同樣,Ye 等人[20]從x、y方向連續地掃描三維空間提取信息,并構建一個逐點金字塔池化模塊(pyramid pooling module)提取三維點云不同密度的局部特征,同時使用分層的雙向RNN 學習空間上下文信息,從而實現多層次的語義特征融合。
2.2.5 基于注意力機制的方法
注意力機制基本思想是讓系統能夠忽略無關信息而關注重點信息。注意力機制通過神經網絡算出梯度并且前向傳播和后向反饋來學習得到注意力的權重。為進一步提升分割精度,一些研究者將注意力機制引入至語義分割算法中。Yang 等人[64]開發了一個基于點云推理的點注意力變壓器(point attention transformer,PAT),并提出了群洗牌注意力(group shuffle attention,GSA)用于建模點之間的關系。同時,Yang 等人[64]還提出了一種端到端、置換不變性、可微的Gumbel 子集采樣(Gumbel subset sampling,GSS)替代廣泛使用的最遠點采樣(FPS),以選擇具有代表性的點子集。Zhao 等人[65]考慮通過利用相鄰點的初始分割分數來改善三維點云分割結果,提出了一種基于注意力的分數細化(attention-based score refinement,ASR)模塊,該模塊根據各個點的初始分割分數計算權重,再根據計算出的權重合并每個點及其鄰近點的分數,從而對分數進行優化。該模塊可以輕松集成到現有的深度網絡中,以提高最終的分割效果。GACNet[19]通過建立每個點與周圍點的圖結構,并引入注意力機制計算中心點與每一個鄰接點的邊緣權重,最后通過對權重加權計算出每個點的特征后再進行圖池化(graph pooling)和下采樣,從而使得網絡能在分割的目標的邊緣部分取得更好的效果。
借鑒Mnih 等人提出的自注意力機制(self-attention),GAPNet[66]將其與GCNN 結合,通過在堆疊的多層感知器(MLP)層中嵌入圖形注意機制以學習局部幾何表示,GAPNet 可將GAPLayer 和注意力池層集成到堆疊的多層感知器層或現有管道(例如Point-Net)中,以更好地從無序點云中提取局部上下文特征。SCN(shape context net)[55]受基于自注意力模型的啟發,在其基礎上提出A-SCN(attentional shape context net)模型,以自動完成上下文區域選擇、特征聚合和特征轉換等過程。
2.2.6 結合實例分割的方法
語義分割和實例分割相結合方法能取長補短,既不重復操作,減小計算的復雜度,又可以增加分割精度,實現雙贏。
Wang 等人[67]提出了一個實例和語義的關聯分割(associatively segmenting instances and semantics,ASIS)框架,通過學習語義感知的點級實例嵌入,使實例分割從語義分割中受益。同時,融合屬于同一實例的點的語義特征,可自動分離屬于不同語義類的點嵌入,以進行更準確的基于點的語義預測。
與此同時,Pham 等人[68]基于PointNet 網絡開發了一個多任務逐點網絡,它同時執行兩項任務:預測三維點的語義信息,并將這些點嵌入高維向量中,使相同對象實例的點相似嵌入表示。然后,利用一個多值條件隨機場模型,將語義和實例標簽結合起來,將語義和實例分割問題表述為場模型中標簽的聯合優化問題。作者所提出的聯合語義實例分割方案對單個構件具有較強的魯棒性,實驗結果相對于ASIS來說更好一些。
本章首先梳理了測試階段價值較高的RGB-D 和三維公開數據集,然后在此基礎上對現有語義分割算法的性能進行了綜合性對比和討論。
為了驗證研究者們提出算法對語義分割的效果,有效的數據集是不可或缺的一環。隨著深度學習在三維語義分割中的發展,三維數據集的地位愈加重要。目前,為了促進三維點云語義分割的研究,許多研究機構提供了一些可靠且開放的三維數據集,見表2,下面對點云語義常用的數據集按類別以及時間順序進行簡要的描述。
3.1.1 RGB-D 數據集
(1)RGB-D Object[69](https://rgbd-dataset.cs.washington.edu/):該數據集2011 年由美國華盛頓大學的研究小組開發,由11 427 幅人工手動分割的RGB-D圖像組成,整個數據集包含300 個常見的室內物體,并將這些物體分為了51 個類。該數據集使Kinect 型三維攝像機獲取圖像,對于每一幀,數據集提供了RGB 及深度信息,這其中包含了物體、位置及像素級別的標注。另外,還提供了22 個帶注釋的自然場景視頻序列,用于驗證過程以評估性能。
(2)NYUDv2[70](https://cs.nyu.edu/~silberman/datasets/nyu_depth_v2.html):該數據集2012 年由美國紐約大學的研究小組開發,包含1 449 張由微軟Kinect設備捕獲的室內場景的RGB-D 圖像,其中訓練集795張,測試集654 張,對象被分為40 個類,每個對象都標有類和實例號。但是由于其相對于其他數據集規模較小,因此該數據集主要用于輔助機器人導航的訓練任務。
(3)SUN3D[71](http://sun3d.cs.princeton.edu/):該數據集2013 年由美國普林斯頓大學的研究小組開發,其中包含使用Asus Xtion 傳感器捕獲的415 個RGB-D 序列,是一個具有攝像機姿態和物體標簽的大型RGB-D 視頻數據庫。每一幀均包含場景中物體的語義分割信息以及攝像機位態信息。
(4)Bigbird[72](http://rll.berkeley.edu/bigbird/):該數據集2014 年由美國加州大學伯克利分校的研究小組開發,使用計算機控制的光平臺和靜態校準的成像設備對125 個對象進行3D 掃描,每個對象由600 個3D 點云和600 個跨越所有視圖的高分辨率(1 200 萬像素)圖像組成。
(5)ViDRILO[73](http://www.rovit.ua.es/dataset/vidrilo):該數據集2015 年由西班牙卡斯蒂利亞大學和阿利坎特大學的研究小組共同開發,包含其使用Microsoft Kinect v1 傳感器在5 個室內場景中捕獲的22 454 個RGB-D 圖像。每個RGB-D 圖像都標有場景的語義類別(走廊、教授辦公室等)。該數據集被發布用于基準測試多個問題,如多模式地點分類、目標識別、三維重建或點云數據壓縮。

Table 2 Common 3D datasets of point cloud semantic segmentation表2 點云語義分割常用的3D 數據集
(6)SUN RGB-D[74](http://rgbd.cs.princeton.edu/):該數據集與SUN3D 數據集由美國普林斯頓大學的同一研究小組開發,數據由4 個不同的傳感器捕獲,包含10 000 張RGB-D 圖像,其尺寸與Pascal VOC 相當。整個數據集是密集注釋的,包括146 617 個2D 多邊形和58 657 個具有精確對象定位的3D 包圍框,以及一個三維房間布局和場景類別,適用于場景理解任務。
(7)ScanNet[44](http://www.scan-net.org/):該數據集2017 年由美國普林斯頓大學、斯坦福大學以及德國慕尼黑工業大學的研究者共同開發,是一個RGBD 視頻的室內場景數據集。在1 513 次掃描中獲得250 萬次視圖,附加了3D 相機姿態、表面重建和實例級語義分割的注釋。該數據集的對象被分為20 個類,包含各種各樣的空間,范圍從小(例如,浴室、壁櫥、雜物間)到大(例如,公寓、教室和圖書館)。該數據被廣泛應用于三維對象分類、語義體素標記和CAD 模型檢索等三維場景理解任務上。
(8)Matterport3D[75](https://niessner.github.io/Matterport/):如圖8,該數據集2017 年由美國普林斯頓大學、斯坦福大學以及德國慕尼黑工業大學的研究者共同開發,包含來自90 多個建筑規模場景的194 400個RGB-D 圖像和10 800 個全景。注釋提供了表面重建、相機姿態以及2D 和3D 語義分割內容。精確的全局校準和全面的、多樣的全景視圖覆蓋了整個建筑,從而支持各種監督的計算機視覺任務,如:關鍵點匹配、視圖重疊預測、根據顏色進行的正常預測、語義分割和區域分類。
3.1.2 室內三維數據集
(1)A Benchmark for 3D Mesh Segmentation[76](http://segeval.cs.princeton.edu/):該數據集2009 年由美國普林斯頓大學的研究小組開發,包含380 個網格,被分為19 個常見對象類別(如桌子、椅子等),每個網格手動地被分割為不同的功能區域,旨在幫助研究三維零件的語義分割和人類如何將對象分解為各個有意義的部分。
(2)PrincentonModelNet[43](http://modelnet.cs.princeton.edu/):該數據2015 年由美國普林斯頓大學、麻省理工學院以及中國香港中文大學的研究人員共同開發,該數據集是一個為計算機視覺、計算機圖形學、機器人和認知科學的研究者提供的清晰物體3D CAD 模型,ModelNet總共有662 種目標分類,127 915個CAD,以及10 類標記過方向朝向的數據。其中包括3 個子數據集:ModelNet10(10 個標記朝向的子集數據)、ModelNet40(40個類別的三維模型)、Aligned40(40 類標記的三維模型)。
(3)ShapeNet Part[77](https://cs.stanford.edu/~ericyi/project_page/part_annotation/):該數據集2016 年由美國斯坦福大學、普林斯頓大學和芝加哥豐田技術學院的研究人員共同開發,該數據集是ShapeNet 數據集的子集,一個由3D CAD 模型對象表示的豐富注釋的大型形狀存儲庫,關注于細粒度的三維物體分割。包含16 個類別的16 881 個形狀31 693 個網格,每個形狀類被標注為2~5 個部分,整個數據集共有50個物體部分。
(4)S3DIS[78](http://buildingparser.stanford.edu/dataset.html):如圖9,該數據2016 年由美國斯坦福大學的研究小組開發,是一個多模態、大規模室內空間數據集,具有實例級語義和幾何注釋。S3DIS 數據集覆蓋超過6 000 m2,包含超過70 000 個RGB 圖像,以及相應的深度、表面法線、語義注釋、全局XYZ圖像以及相機信息。收集在6 個大型室內區域272 個3D 房間場景內。共有13 個類別(墻、桌子、椅子、柜子等)。該數據集能夠利用大規模室內空間中存在的規律來開發聯合跨模式學習模型和潛在的無監督方法。

Fig.8 Example image of Matterport3D dataset圖8 Matterport3D 數據集示例圖

Fig.9 Example image of S3DIS dataset圖9 S3DIS 數據集示例圖
(5)Multisensorial Indoor Mapping and Positioning Dataset[79](http://mi3dmap.net/dataset.jsp):該數據集2018 年由廈門大學的研究小組開發,數據通過多傳感器獲取,例如激光掃描儀、照相機、WIFI 和藍牙等。該數據集提供了密集的激光掃描點云,用于室內制圖和定位。同時,他們還提供基于多傳感器校準和SLAM 映射過程的彩色激光掃描。
3.1.3 室外三維數據集
自2009 年以來,已有多個室外三維數據集可用于三維點云的語義分割研究,然而早期的數據集有很多缺點。例如the Oakland outdoor MLS dataset[80]、the Sydney Urban Objects MLS dataset[81]、the Paris-rue-Madame MLS dataset[82]、the IQmulus&TerraMobilita Contest MLS dataset[83]和ETHZ CVL RueMonge 2014 multiview stereo dataset[84]無法同時提供不同的對象表示和標注點。為了克服早期數據集的缺點,近年來已提供了新的基準數據。下面對這些數據集進行簡單的描述。
(1)TUMCity Campus[85](https://www.iosb.fraunhofer.de/servlet/is/71820/):該數據集2016 年由德國慕尼黑技術大學的Fraunhofer IOSB 開發,在“TUM 城市校園”試驗場(48.149 3°N,11.568 5°E)獲得了移動激光掃描(mobile laser scanning,MLS)數據,所有點的x、y、z都被地理參照到一個局部歐氏坐標系中。該數據集包含17 億多個點,9 個類別。隨后,2017 年新增了一個紅外圖像序列來擴展數據集;2018 年對“MLS1-TUM 城市校園”三維測試數據集的一部分進行了手動標記;2019 年對“TUM 城市校園”試驗場進行了重新掃描更新;2020 年新增了2009 年的機載激光掃描(airborne laser scanning,ALS)數據。
(2)vKITTI(Virtual KITTI)[86](http://www.europe.naverlabs.com/Research/Computer-Vision/Proxy-Virtual-Worlds):該數據集2016 年由法國歐洲施樂研究中心計算機視覺小組和美國亞利桑那州立大學研究小組共同開發,vKITTI數據集是從真實世界場景的KITTI數據集模擬形成的大規模戶外場景數據集,包含13個語義類別,35 個合成視頻,總共約17 000 個高分辨率幀,旨在學習和評估幾個視頻理解任務的計算機視覺模型:對象檢測和多對象跟蹤、場景級和實例級語義分割、光流和深度估計。2020 年研究人員對該數據集又進行了更新。
(3)Semantic3D[87](http://semantic3d.net/):如圖10,該數據集2017 年由瑞士蘇黎世聯邦理工學院的研究小組開發,Semantic3D 提供了一個大型標記的三維點云數據集,其自然場景總數超過40 億個點。它還涵蓋了一系列不同的城市場景:教堂、街道、鐵軌、廣場、村莊、城堡、足球場等。訓練集和測試集各包含15 個大規模的點云,8 個具體的語義類,掃描范圍還包括各種場景類型,包括城市、次城市和農村,是目前最大的可用激光雷達數據集。

Fig.10 Point cloud scene and semantic segmentation diagram in Semantic3D dataset圖10 Semantic3D 數據集中點云場景語義分割圖
(4)Paris-Lille-3D[88](http://npm3d.fr/paris-lille-3d):該數據集2018 年由巴黎高等礦業學院的研究小組開發,是一個城市MLS 數據集,包含1 431 萬個標記點,涵蓋50 個不同的城市對象類。整個數據集由3 個子集組成,分別為713 萬、268 萬和457 萬個點。作為MLS 數據集,它也可以用于自動駕駛研究。
(5)Apollo[89](http://apolloscape.auto/car_instance.html):該數據集2019 年由百度的研究小組開發,是一個大規模的自動駕駛數據集,提供了3 維汽車的實例理解,LiDAR 點云對象檢測和跟蹤以及基于LiDAR 的定位的標記數據。該數據集包含5 277 個駕駛圖像和超過6 萬個的汽車實例,其中每輛汽車都配備了具有絕對模型尺寸和語義標記關鍵點的行業級3D CAD 模型。該數據集比PASCAL3D 和KITTI(現有技術水平)大20 倍以上。
(6)SemanticKITTI[90](http://semantic-kitti.org/):如圖11,該數據集2019 年由德國波恩大學的研究小組開發,是一個基于汽車LiDAR 的大型戶外場景數據集,SemanticKITTI 由屬于21 個序列的43 552 個密集注釋的激光雷達掃描組成,其中包含19 個對象類別,序列00~07 和09~10 用于訓練,序列08 用于驗證,序列11~21 用于在線測試。該數據的原始3D 點僅具有3D 坐標,而沒有顏色信息。

Fig.11 Semantic segmentation diagram in SemanticKITTI dataset圖11 SemanticKITTI數據集中的語義分割圖
3.1.4 遙感三維數據集
(1)Vaihingen point cloud semantic labeling dataset[91](http://www2.isprs.org/commissions/comm3/wg4/3dsemantic-labeling.html):該數據集2014 年由德國漢諾威大學和達姆施塔特工業大學的研究者共同開發,它是遙感領域中第一個發布的基準數據集。該數據集是ALS 點云的集合,由Leica ALS50 系統捕獲的10個條帶組成,該條帶的視場角為45°,在德國Vaihingen 的平均飛行高度為500 m。兩個相鄰條帶之間平均重疊率為30%左右,中點密度為每平方米6.7 點。目前,該數據標記的點云被分為9 個類別作為算法評估標準。
(2)The US3D Dataset[92](http://www.grss-ieee.org/community/technical-committees/data-fusion/2019-ieeegrss-data-fusion-contest/):如圖12,該數據集2019 年由美國約翰·霍普金斯大學的研究小組開發,包括多視點、多波段衛星圖像和兩個大城市的地面真相、幾何和語義標簽的大規模公共數據集,超過320 GB 的數據用于訓練和測試,覆蓋了佛羅里達州杰克遜維爾和內布拉斯加州奧馬哈的城區約100 km2,該數據集被用于2019 年IEEE GRSS 數據融合競賽——大規模語義三維重建,比賽中的語義類包括建筑物、高架道路和橋梁、高植被、地面、水等。

Fig.12 Point cloud scene and semantic segmentation diagram in The US3D dataset圖12 The US3D 數據集中點云場景和語義分割圖
(3)WHU-TLS[93](http://3s.whu.edu.cn/ybs/en/benchmark.htm):該數據集2020 年由中國武漢大學、德國慕尼黑工業大學、芬蘭大地所、挪威科技大學以及荷蘭代爾夫特理工大學的研究小組共同開發。WHUTLS 是全球最大規模和最多樣化場景類型的TLS 點云配準基準數據集,涵蓋了地鐵站、高鐵站、山地、森林、公園、校園、住宅、河岸、文化遺產建筑、地下礦道、隧道等11 種不同的環境,其中包含115 個測站、17.4 億個三維點以及點云之間的真實轉換矩陣。該基準數據集也為鐵路安全運營、河流勘測和治理、森林結構評估、文化遺產保護、滑坡監測和地下資產管理等應用提供了典型有效數據。
為了評估三維語義分割算法的性能,需要借助通用的客觀評價指標來保證算法評價的公正性。語義分割算法的實驗性能評價標準主要分為以下幾個方面:精確度、時間復雜度和內存損耗(空間復雜度)。
3.2.1 精確度
精確度是其中最為關鍵的指標,雖然現有的文獻對語義分割成果采用了許多不同精度衡量的方法,如平均準確率(mean accuracy,MA)、總體準確率(overall accuracy,OA)、平均交并比(mean intersection over union,mIoU)和帶權交并比(frequency weighted intersection over union,FWIoU),但本質上它們都是準確率及交并比(IoU)的變體。在精確度結果評價時,一般選取總體準確率(OA)和均交并比(mIoU)兩種評價指標綜合分析,其中,mIoU 表示數據分割的預測值與其真實值這兩個集合的交集和并集之比,是目前語義分割領域使用頻率最高和最常見的標準評價指標,其具體計算方法如式(1)所示。假設共有k+1 個類別(包括一個背景類),記Pij是將i類預測為j類的點數,則Pii表示真實值為i,預測值為i的點數;Pji表示真實值為j,預測值為i的點數。

為便于對比實驗結果和說明算法效果,本小節將按照圖3 和圖6 中的分類基于深度學習的三維點云語義分割方法的實驗結果進行分析與對比。表3列舉了在具代表性的三維點云數據集上進行語義分割的方法的mIoU 實驗結果對比。主要比較各算法在五大類三維公共數據集的評價指標結果。“—”表示該方法未提供相應的結果。

Table 3 Experimental comparison of mIoU for methods of point cloud semantic segmentation表3 點云語義分割方法的mIoU 實驗結果對比
從表3 中可以發現,三維公共數據集中ShapeNet Part 和S3DIS 這兩個數據集運用得最多,ShapeNet Part 是一個由3D CAD 模型對象表示的豐富注釋的大型形狀存儲庫,關注于細粒度的三維物體分割。S3DIS 是一個多模態、大規模的室內空間數據集,具有實例級語義和幾何注釋。
選用ShapeNet Part 數據集的算法中,分割效果都很好,mIoU 基本均在80%以上,說明目前已有的算法對細粒度的三維物體有較好的識別效果,物體分割結果能夠接近真實的分割。由于S3DIS 數據集的數據量龐大,因此大部分算法的分割效果不明顯,mIoU 都普遍較低,其中將點云體素化的VV-NET 網絡表現突出,該網絡使用基于內核的內插變分自動編碼器(VAE)結構對每個提速中的局部幾何進行編碼,同時利用徑向基函數(RBF)計算每個體素內的局部連續表示以處理點的稀疏分布。此外,將RBF-VAE與group-conv 相結合發現該方法比僅使用groupconv 或僅使用RBF-VAE 取得了更好的性能。
表3 中,SnapNet、SegCloud、PointNet++、GACNet、KPConv、ConvPoint、RandLA-Net 和SPG 等算法均選用了Semantic3D 城市場景數據集,這些算法可運用在大場景中進行語義分割,其中2017 年提出的SPG 網絡表現突出,在幾億點的場景下,評價指標可達到73.2%,是目前運用于大場景分割中最有效的分割網絡之一。不難發現,近些年提出的基于優化CNN 的算法在各類公共數據集上的表現均較為優異,進一步優化卷積,并將其集成到各種優秀的網絡架構中,將會是未來研究的一個熱點方向。
SemanticKITTI 作為一個基于汽車LiDAR 的大型戶外場景數據集,可運用于汽車的無人駕駛中,目前實現SemanticKITTI 數據集語義分割的算法中,RandLA-Net 的表現最為突出。RandLA-Net 網絡不需要任何前/后處理步驟(如體素化、塊分割或圖形構建),能夠直接處理大規模三維點云,相比于現有的大規模點云語義分割方法,其分割速率提升近200倍。
3.2.2 復雜度
復雜度是對模型性能檢測的另一個有價值且重要的度量指標,包括時間復雜度和空間復雜度。隨著語義分割技術的發展和數據處理能力的提高,該技術應用面更加廣泛,除了運用復雜的網絡提高算法的分割準確率外,現實中的應用程序(如行人檢測、自動駕駛等)更需要實時高效的分割網絡。因此,本小節從時間復雜度(運行速率)和空間復雜度(參數數量)兩方面考察了部分網絡的實時性。
表4 中根據參數數量和轉發時間評估了模型的復雜度。該實驗對比在1080X GPU 的硬件環境下進行,針對ModelNet40 數據集,批次大小設置為8。對于參數數量指標,ShellNet 優于現有的方法,雖然在空間上沒有那么復雜,但是ShellNet 仍然可以非常有效地收斂到最先進的精度。另外,從表4 中不難發現,RGCNN 具有最快的推算時間和可接受的模型大小,適用于實時任務。為了進一步減少模型大小和推斷時間,在PointNet和DPAM 模型中均嘗試刪除了模型使用的T-net(表4 中以Vanilla 表示),其中DPAM僅在模型精度降低0.5%的情況下,即可實現更小的模型尺寸和更快的推算時間。

Table 4 Time and space complexity analysis of algorithms on ModelNet40 dataset表4 各類算法在ModelNet40 數據集上的時空復雜度分析
表5 定量地顯示了不同方法的總時間和內存消耗。該實驗對比在RTX2080Ti GPU 的硬件環境下進行,針對SemanticKITTI 數據集。從表5 中可以看出,SPG 網絡參數最少,但處理點云的時間最長,原因是幾何劃分和超圖構造步驟繁瑣;PointNet++和Point-CNN 的計算開銷也很大,主要是由于FPS 的采樣操作;PointNet和KPConv 由于內存操作效率低,無法一次通過獲取超大規模的點云;而RandLA-Net 基于簡單的隨機抽樣和高效的局部特征聚合器,實現了用較短的時間來推斷每個大規模點云的語義標簽。

Table 5 Time and space complexity analysis of algorithms on SemanticKITTI dataset表5 各類算法在SemanticKITTI數據集上的時空復雜度分析
現有的方法在很大程度上提高了語義分割的精度,但仍存在一定局限性,因此如何解決這些局限性是未來研究的熱點,本章基于前面章節對應用深度學習技術解決語義分割問題的研究評述,對語義分割領域未來研究方向進行了展望。
(1)訓練數據庫和應用場景
基于深度學習的語義分割方法需要海量的數據庫作為支撐,目前已有的數據集并不能滿足語義分割發展的需求,因此構建數據量豐富、有效且全面的數據集是目前語義分割的首要條件。而且,現有的三維數據集大部分局限在室內場景以及城市街道場景,對于有標注且內容豐富的戶外點云場景數據集及遙感三維數據集相對較少,建立一整套作為基準點的數據集十分重要。另外,SqueezeSeg V2[41]算法為了避免收集和注釋的成本,使用諸如GTA-V 之類的模擬器來創建無限數量的標記的合成數據,為補充預訓練數據集的方法提供了思路,但是這類合成的仿真數據仍需解決域遷移的問題。
(2)序列數據集
三維大規模數據集缺乏的問題同樣影響到了視頻序列分割,目前基于序列的可用數據集較少,導致針對視頻數據的語義分割方法研究進展緩慢。帶有時間序列的視頻數據在語義分割過程中可以利用其時空序列信息提供高階特征,進而提高準確率和效率。
(3)全景分割
全景分割由Kirillov 等人[95]提出,全景分割是將前景和背景分開來分割的,對目標區域(前景對象)做實例分割,對背景區域做語義分割。2019 年,Kirillov 等人[96]將分別用于語義分割和實例分割的FCN 和Mask R-CNN 結合起來,設計了Panoptic FPN,實驗證明Panoptic FPN 對語義分割和實例分割兩個任務都有效,同時兼具穩健性和準確性。但是在合并過程中,如果沒有足夠的上下文信息,很難確定對象實例之間的重疊關系。針對這一問題,Liu 等人[97]提出了一種端到端的遮擋感知網絡(occlusion aware network,OANet)用于全景分割,該網絡可有效地預測單個網絡的實例分割和實體分割。DeeperLab[98]是一種單鏡頭、自下而上的圖像解析器,該網絡使用全卷積網絡生成每像素的語義和實例預測,然后通過合并啟發式算法將這些預測融合到最終的圖像解析結果中。雖然上述幾種方法在Cityscapes[99]、COCO Stuff[100]等數據集上獲得了較為可觀的精度,但分割過程中仍然需要進行復雜的實例掩碼預測(instance mask predictions)或合并啟發式算法(merging heuristics),很難實現模型的實時性需求。FPSNet[101]的提出有效地解決了這個問題,該網絡使用自定義的密集像素分類任務(為每個像素分配一個類標簽或一個實例id)代替復雜的全景任務,實現了分割速度的提升。上述的全景分割操作主要是針對圖像進行的,目前對點云數據進行全景分割的研究很少,如ASIS[67]、JSISNet[68]使用兩個并行的分支分別進行實例分割和語義分割,然后融合兩個結果作為輸出。另外,3D 全景分割數據集SemanticKITTI[90]的提出,將高質量的全景分割引入機器人和智能車輛的實時應用方面邁出了重要一步。全景分割作為計算視覺一個新的任務場景,其在三維數據的應用前景仍有待挖掘與探索。
(4)實時分割
目前提出的語義分割網絡模型在分割精度上已經取得了很大的進展,卻增加了模型的復雜度和運行速率。隨著自動駕駛、行人檢測和環境感知等應用領域的發展,對語義分割實時性的要求也越來越高。因此,在維持高準確率的同時,降低模型復雜度,縮短響應時間,實現實時分割,是未來重要的工作方向。
(5)遙感領域
在過去的十年里,深度學習推動了遙感影像語義分割的進步,但遙感點云語義分割的發展還相對不太成熟。目前已發表的計算機視覺算法通常在對象類別有限的小區域數據集上進行測試,但是對于遙感應用,需要具有更復雜和特定地面對象類別的大面積數據。而且,計算機視覺算法的精度評價體系并不完全適用于遙感應用,遙感應用更關心特定目標的精度。例如:在城市管理監測中,對于建筑物語義分割的準確性至關重要。隨著三維遙感語義分割應用需求的不斷提升,能夠學習對象語義特征和分類三維遙感數據的算法成為研究者們未來的一個研究熱點。
(6)弱監督或無監督語義分割技術
弱監督方法使用輕量級的弱監督標注數據進行訓練,減少了標注成本和標注時間,在圖像語義分割中已經有了很大的進展。目前,三維數據庫需求量大,標注困難,若弱監督或無監督的語義分割技術能夠應用到三維點云語義分割中,不僅能解決數據問題,而且在提高網絡模型的精度的同時實現速率的提升,將會是未來發展的趨勢。
(7)遷移學習
一個完整的語義分割深度神經網絡訓練需要足夠數量的數據集,初始化權重的調試以及長時間的收斂過程。通過繼續訓練過程來微調預訓練網絡的權重是主要的遷移學習方法之一,因此為了提高效率,部分學者會選擇預先訓練的權重而不是隨機初始化的權重。另外,PointNet[5]、PointNet++[17]網絡的提出為點云語義分割提供了完整的體系結構,為實現遷移學習提供了前提條件,PointSIFT[10]是一個通用模塊,可以集成到各種基于PointNet 的體系結構中以改善3D 形狀表示;DPAM[26]可以插入大多數現有體系結構中構建分層的學習體系結構;ASR[65]模塊可以輕松集成到現有的深度網絡中,通過將相鄰點的分數與學習的注意力權重合并在一起,對網絡產生的分割結果進行后處理,與CRF 的功能類似;Engelmann 等人[102]提出的擴張點卷積(dilated point convolutions,DPC)運算代替K-最近鄰域方法,以匯總擴張的鄰近要素,此操作不僅增加了接收范圍,并且可以輕松地集成到現有的基于聚合的網絡中。遷移學習已在點云語義分割領域得到了廣泛的應用,未來對遷移學習的研究可以關注以下幾點:①通過半監督學習減少對標注數據的依賴,應對標注數據的不對稱性;②使用遷移學習做到持續學習,讓神經網絡得以保留在舊任務中所學到的能力;③使用遷移學習來提高模型的穩定性和可泛化性等。
(8)各類技術的參考性價值
從邊緣特征的角度:利用有意義的邊緣特征,并將邊緣特征饋送到點特征中以提供上下文信息,有助于點云語義理解。如:PCCN[29]自適應地從邊緣學習權重以融合點特征;KCNet[103]定義點集內核和內核相關性以沿邊緣聚合局部特征;Jiang 等人[104]設計了一種分層點-邊緣的交互網絡,將每個點特征與最大池化相對應的邊緣特征連接在一起。
從自動編碼器的角度:自動編碼器(autoencoders,AE)是一種無監督的神經網絡模型,目前自動編碼器已被廣泛地應用于生成圖像語義分割模型來表示數據,一些研究者發現,自動編碼器對于不規則的三維點云同樣適用,并且可在上采樣階段解決點云的稀疏性問題。Zhao 等人[105]基于2D 膠囊網絡(capsule network,CN)提出了一種無監督的自動編碼器3DPointCapsNet,用于處理稀疏3D 點云,同時保留輸入數據的空間排列,并在零件分割中取得了不錯的進展。
從零樣本學習(zero-shot learning)的角度:零樣本學習[106]具有識別訓練數據集中未觀察到的類別的能力。獲取特征圖后,零樣本學習可以將語義嵌入用于諸如對象檢測之類的應用程序。在特征融合的方法中,模型提取了點云的局部特征和全局特征,而這些模型可用作零鏡頭學習中的特征提取器,這將有助于使用稀缺的數據集學習權重。
從過分割(oversegmentation)的角度:過分割可作為點云語義分割中的一種預分割算法,其具有降低數據量和光精度損失的作用。Landrieu 等人[107]提出了第一個將三維點云過分割為超點的監督學習框架,將點云過分割表述為一個由鄰接圖構造的深度度量學習問題。利用一種圖形結構的對比損失,學習將三維點均勻地嵌入對象中,從而使對象的邊界呈現出高對比度。
從多形態融合的角度:目前的語義分割可以將不規則的點云或者網格數據轉換為常規的三維體素網格或者多視圖。也可以直接在點云數據上進行分割。為了進一步利用可用信息,可通過多形態融合的方式從不同形態的數據中分別提取點云特征。Jaritz等人[108]提出多視圖點網(MVPNet),以聚合二維多視圖圖像的外觀特征和規范點云空間中的空間幾何特征。
從RNN 中長短時間記憶(LSTM)的角度:LSTM具有幾個語義分割模型所需的屬性,如:可以端到端進行微調,并且允許輸入和輸出中的可變長度。二維圖像語義分割中,Li 等人[109]提出的LSTM-CF(long short-term memorized context fusion)網絡,該網絡利用基于LSTM 的融合層整合豎直方向上的光度和深度通道的上下文信息,完成網絡端到端的訓練和測試。
從時空信息的角度:目前已有研究開始從動態點云中學習時空信息,未來可以嘗試通過時空信息提高點云語義分割模型的性能。Liu 等人[110]提出MeteorNet,直接對動態點云進行處理,學習從時空相鄰點聚合信息。
本文綜述了基于深度學習的點云語義分割的研究現狀,雖然三維深度學習是一個相對較新的領域,但綜述的內容顯示了一個快速增長和高效的群體。雖然三維深度學習沒有二維深度學習成熟,但不難發現,這一差距正在縮小。本文從語義分割的應用和深度學習的發展出發,對三維點云進行了詳細的介紹,將三維深度學習語義分割方法分為間接語義分割方法和直接語義分割方法兩大類,從算法特點以及模型結構方面梳理了一些較為突出的方法,并進行了較為細致的分類、介紹和評估。此外,本文回顧了用于網絡評估的現代基準數據集。最后,本文結合上述內容,對未來工作方向以及該領域一些開放問題提出了一些展望。深度學習技術被證明可有效解決語義分割問題,并且在語義分割領域許多優秀的方法也不斷地推進。因此,期待在未來幾年各種創新的研究思路不斷涌現。