劉李漫,譚龍雨,彭 源,劉 佳
(中南民族大學生物醫(yī)學工程學院,湖北 武漢 430074)
點云是一種基本的三維數(shù)據(jù)結構,由三維物體表面的點構成,表征物體的形狀及其它特征(如顏色、法向量等)。近年來,由于機器人導航和無人駕駛[1]研究的興起,點云數(shù)據(jù)因其易得性受到了科研人員越來越多的關注。同時,點云在遙感測繪[2]、增強現(xiàn)實和虛擬現(xiàn)實[3]等領域也有重要應用,具有較高的科研和應用價值。三維點云語義分割任務,就是對點云中的每個點進行標簽預測,使得同類物體具有相同標簽,不同類物體具有不同標簽。
點云分割的傳統(tǒng)方法主要有3種:基于區(qū)域增長的方法[4]、基于模型擬合的方法[5 -7]和基于聚類的方法[8]。傳統(tǒng)方法雖然可以用于三維點云語義分割任務,但是效果并不理想。
Figure 1 AFN network model 圖1 AFN網絡模型
文獻[9]首次提出直接將三維點云數(shù)據(jù)作為深度學習網絡的輸入,實現(xiàn)端到端的學習。PointNet直接輸入原始三維點云數(shù)據(jù),通過逐點共享多層感知機的方式提取點云的特征。這種方法雖然避免了數(shù)據(jù)處理所產生的損耗問題,但是由于PointNet網絡中每個點的特征提取是互不關聯(lián)的,網絡無法捕捉到點與點之間的關系,導致網絡缺乏對目標局部細節(jié)的理解,從而無法準確預測每個點的語義信息。文獻[10]提出了PointNet++網絡,使用采樣分組的策略,解決了PointNet無法捕捉局部特征的問題,但對局部細粒度特征的提取能力仍舊有限。文獻[11]提出的三維點云卷積模型PointConv,通過逆密度加權卷積操作建立每個點與周圍點之間的聯(lián)系,極大增強了網絡對目標局部特征的學習能力,在室內場景的語義分割上取得了很好的結果,但可視化結果顯示,網絡對目標輪廓的預測結果較差。
網絡對目標細粒度特征提取能力的強弱,是影響語義分割性能的決定性因素。細粒度特征提取能力差會導致小尺度目標分割精度偏低。受二維圖像目標識別[12]啟發(fā),本文提出全融合網絡AFN(All Fusion Network),將多尺度特征融合擴展到三維點云特征提取網絡。通過逐級的多尺度特征提取融合,加強網絡的特征表達能力。同時,將提出的全融合網絡用于三維點云的語義分割任務。本文在ScanNet數(shù)據(jù)集[13]和S3DIS數(shù)據(jù)集[14]上進行了實驗與測試,并在相同實驗條件下與同類三維點云語義分割網絡進行比較。實驗結果表明,全融合網絡(AFN)大幅提升了三維點云小尺度目標的分割精度,在室內場景語義分割中取得了較好的結果。
全融合網絡AFN主要包括5個模塊:多尺度特征編碼模塊、漸進式特征解碼模塊、多尺度特征解碼模塊、特征融合模塊和語義分割頭部。如圖1所示,多尺度特征編碼模塊通過逐級下采樣不斷擴大網絡的感受野,得到點云不同尺度的特征。漸進式特征解碼模塊通過殘差連接對高層語義特征進行漸進式逐層解碼。多尺度特征解碼模塊對特征編碼模塊提取的多尺度特征分別進行特征解碼,得到多層次解碼特征圖。特征融合模塊將漸進式解碼特征圖與多層次解碼特征圖進行特征全融合。語義分割頭部利用融合特征,對每個點進行語義類別預測,實現(xiàn)語義分割。
多尺度特征編碼模塊采用PointConv網絡的特征編碼器,利用鄰域點的相對坐標學習權重并對點特征加權,同時將局部區(qū)域點的特征與密度倒數(shù)相乘,降低點云不同部位稀疏程度的不同對網絡的影響。多尺度特征編碼器輸入點云坐標及其特征,經過特征編碼,輸出加權后的點云特征,即網絡提取的特征。本文將5層編碼器堆疊,構成一個多尺度特征編碼模塊。
本文使用采樣分組策略[10]采樣點云,在將點云輸入每一層編碼器之前,首先使用最遠點采樣FPS(Farthest Point Sampling)選取一定數(shù)量的質心點,再以質心點為中心構建點云鄰域空間,將輸入點云分成若干個局部區(qū)域。對每個局部區(qū)域使用共享的編碼器提取特征,最終完成對整個點云的特征提取。
每一層編碼器的輸入為上一層編碼器的輸出,點云每經過一層編碼器數(shù)量都會減少,網絡的感受野增大,最終通過5層特征編碼器,得到了L0、L1、L2、L3和L45個語義特征,不同層的感受野不同,能夠提取到點云不同尺度的特征。底層尺度擁有更多空間結構信息,有利于對物體的定位;高層尺度擁有更多的語義特征,有利于對物體整體的分類。顯然,將不同層的特征進行融合,能夠更好地實現(xiàn)語義分割的效果。
漸進式特征解碼模塊由PointConv反卷積層構成,通過反距離插值法和跨層跳躍逐層上采樣,最終將點云數(shù)量恢復到原始點云的數(shù)量,獲得每個點的語義判別特征。
首先將多尺度特征編碼模塊生成的語義特征L4使用反距離加權插值法進行數(shù)據(jù)擴充,再使用跨層跳躍連接將特征L3層與插值特征拼接,進行特征融合,將融合后的點云輸入到特征解碼層提取特征,得到解碼特征D3,這樣就完成了一次反卷積操作。本文將4個這樣的反卷積層堆疊,進行漸進式特征解碼,依次得到解碼特征D3、D2、D1和D0。
對L4的漸進式特征解碼雖然連接了L3→L0每一層的特征,但解碼過程中不可避免地會有部分信息丟失。為了彌補這一損失,本文設計了多尺度特征解碼模塊,直接對特征編碼模塊得到的每一個尺度特征進行特征解碼,即使用每一個尺度的特征單獨進行語義類別預測。
多尺度特征解碼首先將逆密度加權模塊下采樣得到的多尺度特征L1~L4分別進行反距離加權插值,直接將點云數(shù)量恢復到原始點云數(shù)量,插值特征與輸入層語義特征L0使用跨層跳躍連接,經過特征編碼層,最終得到4層特征UpL1、UpL2、UpL3和UpL4,融合4層特征即為多尺度解碼特征圖。
多尺度特征解碼特征圖直接從各編碼特征層解碼后與輸入層跳躍聯(lián)結而來,這樣的做法很大程度上避免了點云細節(jié)特征的丟失。各層分別對某些物體有著最好的特征表達效果,對這些物體來說,多層次特征解碼使得各類物體最終的語義分割精度有了很大的保障。
為了解決漸進式特征解碼過程中局部細節(jié)信息的丟失,以及多尺度特征解碼特征尺度單一、缺少全局特征的問題,本文設計了多尺度特征融合模塊,即將漸進式解碼特征與多尺度解碼特征拼接在一起,利用多尺度解碼特征對每個尺度的細節(jié)特征編碼,以彌補漸進式解碼特征細粒度特征不足的缺陷,充分發(fā)揮各自的優(yōu)勢,實現(xiàn)缺陷互補。
由于最終融合的特征既包含有跨越全局特征的漸進式解碼特征圖,又極大程度地保留了點云細節(jié)特征的多尺度解碼特征圖,最終形成具有判別性的融合特征,使網絡在小尺度目標的分割精度上有了很大的提升。
為了實現(xiàn)點云的語義分割,本文將融合后的點云多尺度特征輸入到全融合網絡的語義分割頭部,為點云中的每個點分配標簽。語義分割頭部由權值共享的多層感知機組成,輸入每個點的融合特征,輸出網絡預測的每個點屬于各個類別的概率。
點云在特征編碼模塊中進行特征提取時,每經過一次下采樣,網絡感受野就會變大,聚合的鄰域特征范圍隨之增大,點云逐漸學習到接近全局區(qū)域的特征。然而,隨著每個點承載的信息越來越多,邊界輪廓類與小物體的信息可能會逐漸丟失。本文提出的特征全融合網絡的構想,融合多個尺度特征與全局特征,以得到更好的分割效果。
接下來,本文將詳述全融合網絡實現(xiàn)的細節(jié)。
首先,輸入點云通過特征編碼模塊實現(xiàn)特征的多尺度提取,多尺度特征編碼模塊由多個編碼層堆疊而成,每個編碼層編碼一個尺度的特征。編碼層的核心是逆密度加權卷積,卷積過程如下所示:
(1)采樣分組:輸入點云通過最遠點采樣法尋找局部區(qū)域質心點p,然后使用K近鄰算法以質心點p構建點云鄰域。每個點云鄰域中包含K個鄰域點,為減少空間變換對鄰域特征的影響,將這K個點的坐標與局部區(qū)域質心p的坐標相減,得到三維點云的局部區(qū)域相對坐標,記為Plocal。
(2)逆密度評估:使用核密度估計算法[15]估計局部區(qū)域中每個點的密度,將局部區(qū)域點的密度輸入到多層感知器中進行一維非線性變換,得到逆密度向量s=(s1,…,sK|sl∈R1,l∈{1,2,…,K})。為了實現(xiàn)對特征的逆密度加權,首先要進行維度對齊,將s復制擴展得到逆密度張量S=(S1,…,SK|Sl∈RCin),Cin為點云輸入特征的維度。
(3)逆密度加權:用逆密度張量S加權局部區(qū)域特征Fin,F(xiàn)in∈RK×Cin,如式(1)所示:
(1)
(4)卷積權重計算:將局部點云的相對坐標Plocal輸入多層感知機中,多層感知機的最后一層為線性層,多層感知機中線性層輸入為M∈RK×Cmid,線性層的權重為H∈RCmid×(Cin×Cout),其中Cin、Cmid和Cout分別是點云鄰域在輸入層、中間層和輸出層的特征維度,cin,cmid和cout分別是輸入層、中間層和輸出層特征維度的索引。Conv則是卷積核為1×1的卷積神經網絡,用于計算權重,從而權重的計算公式如式(2)所示:
W(k,cin)=Conv(H,M)=
(2)
(3)
對所有以質心點為中心構建的點云鄰域使用一個共享的特征編碼器進行編碼,編碼器將學習到每個鄰域空間的全局特征(整個點云的局部特征),所有鄰域空間特征即構建一個完整點云的特征。經過共5次逐級下采樣后,可獲得5個包含不同尺度的點云特征L0~L4。由于L0基本不包含高級的語義特征,本文只對后4個特征進行多尺度特征解碼。
為了將特征信息逐層傳遞回原始點云數(shù)據(jù),全融合網絡采用基于逆密度加權卷積的漸進式特征解碼模塊,逐層地將高層的語義特征傳遞到原始點云中的每個點。
漸進式特征解碼模塊首先由反距離加權插值法進行點云數(shù)量擴充,然后由跨層連接將特征串聯(lián)疊加,最后由逆密度加權卷積層提取特征。反距離加權插值法選取插值點周圍3個最近點,用它們與插值點距離的倒數(shù)加權特征,求和作為插值點的特征,其計算公式如式(4)所示:
(4)
fi的權重wi(x)的計算公式如式(5)所示:
wi(x)=d(x,xi)-p
(5)
式(4)和式(5)中,fi是xi的特征,d為x與xi的歐氏距離,p=2。
漸進式逐層解碼能夠通過特征插值的方法將高層的語義特征傳遞到底層,同時通過跳躍連接來融合編碼部分具有相同點云數(shù)量的點特征,以彌補在下采樣編碼過程中損失的結構信息,高層特征與底層特征融合,使最終輸出的每個點既包含了點云局部特征,又蘊含點云全局特征,網絡將會對點云整體的上下文信息有更深刻的學習,對每個點的預測更加準確。對物體邊界以及小物體等容易產生歸屬誤判的情況,這種底層細粒度信息的傳遞更是尤為重要。
為了增強網絡對不同尺度物體語義分割的魯棒性,本文在特征空間中通過多尺度特征解碼模塊將特征編碼模塊提取的多尺度特征圖分別解碼。特征編碼模塊輸出的L1、L2、L3和L4尺度特征與L0特征拼接,使用反距離插值法直接將點云數(shù)量恢復至原始點云數(shù)量,得到多尺度解碼特征UpL1、UpL2、UpL3和UpL4,每個解碼特征圖大小相同。將特征通道使用串聯(lián)方式相加,聚合不同尺度的特征信息。全融合語義分割網絡學習的點云多尺度特征和全局特征,擁有更強的特征表達能力,兼顧局部細節(jié)特征與全局抽象特征,能夠有效地提高點云語義分割效果。
為了確保實驗結果的可對比性,本節(jié)在公開數(shù)據(jù)集ScanNetv1和斯坦福三維室內分割數(shù)據(jù)集S3DIS(Stanford large-scale 3D Indoor Spaces)上進行了實驗,這是三維點云語義分割網絡最為通用的三維點云室內場景數(shù)據(jù)集。
ScanNetv1數(shù)據(jù)集由1 513個具有標注的室內場景組成,場景類型豐富,物體種類眾多。每一個室內場景中包含桌子、門和窗戶等20類已知物體,和一個未知類別。本文把1 513個室內場景中的1 201個用于訓練,312個用于測試。
S3DIS數(shù)據(jù)集由3個不同建筑物中6個大型室內區(qū)域組成,包含桌子、椅子、沙發(fā)、書柜和地板等13種物體類別。數(shù)據(jù)集中每個點云都標注了坐標XYZ及其所屬的物體類別信息。本文將數(shù)據(jù)集中的Area1~Area5作為訓練集,Area6作為測試集。
本文實驗環(huán)境配置如表1所示,網絡參數(shù)設置信息如下:在進行數(shù)據(jù)處理時使用非均勻采樣。模型使用Adam優(yōu)化器,初始學習率learning_rate=0.001,每次輸入點云數(shù)num_point=4 096,訓練批量batch_size=4。延遲率decay_rate=0.7。延遲步長decay_step=200 000,最大迭代次數(shù)max_epoch=501。實驗結果使用以下3種指標進行判斷:
(1)點云預測準確度PA(Point Accuracy)。在三維點云數(shù)據(jù)集中,室內場景有K個物體種類,1個背景類別,PA的計算公式如式(6)所示:
(6)
其中,Puu表示將點云中的語義標簽為u預測為u的點云數(shù)量;puv表示將點云中的語義標簽為u預測為v的點云數(shù)量。
(2)平均類別準確度MPA(Mean Point Accuracy)。MPA是PA的平均加權。首先計算每個類別預測準確度,即每類預測正確的點占該類點總數(shù)的比值,然后再計算所有類別的預測準確度的平均值,計算公式如式(7)所示:
(7)
(3)平均交并比MIoU。IoU是2個集合交集與并集的比值,在語義分割中IoU即每個類別預測結果和實際結果的交集,與每個類別預測結果和實際結果的并集,這2個集合的比值。對所有類別的IoU求均值,即為平均交并比,其計算公式如式(8)所示:
(8)
其中,TPu表示被模型預測為第u類的第u類樣本的數(shù)量,F(xiàn)Pu表示被模型預測為第u類但非第u類樣本的數(shù)量,F(xiàn)Nu表示被模型預測為非第u類的第u類樣本的數(shù)量。
Table 1 The hardware/software configuration表1 硬/軟件配置
本文首先在ScanNetv1數(shù)據(jù)集上對全融合網絡AFN進行訓練和測試,并與PointNet++和PointConv的語義分割結果進行對比。由于AFN網絡參數(shù)量較大,為了保證能在NVIDIA Tesla V100-SXM2-16上正常訓練,將輸入的初始點云數(shù)設置為4 096。PointNet++與PointConv輸入的原始點云數(shù)量為8 192,輸入的原始點云數(shù)量越多,目標的細節(jié)特征就保留得越多,毫無疑問網絡能夠學習的特征就越多。所以,為了比較的公平性,本文在同樣的設備上以同樣的網絡參數(shù)配置,用同樣的數(shù)據(jù)預處理方法,重新對PointNet++與PointConv進行訓練與測試,訓練結果如表2所示。表2顯示,全融合網絡在點云預測準確度(PA)上,相比PointNet++網絡提升了3.3%,稍遜于PointConv網絡;而在平均類別準確度(MPA)對比中,全融合網絡則具有顯著的優(yōu)勢,比PointNet++的平均類別準確度高出19.57%,比PointConv的平均類別準確度也提高了6.93%。在ScanNetv1數(shù)據(jù)集中,每個點云場景中大尺寸目標的數(shù)量遠超小目標的數(shù)量,小物體預測正確與否對PA的影響較小,所以PA并不能準確地反映網絡的分割結果,不能有效體現(xiàn)網絡對小尺寸目標語義分割的精度。而平均類別準確度MPA通過對每一類物體的PA求平均值,每一類物體分割精度對最終結果是有相同的影響力,能更加準確地反映網絡對整體場景的預測準確度。本文的全融合網絡在MPA上有很大的提升,說明該網絡在三維點云語義分割過程中對小物體目標分割具有一定的優(yōu)勢,驗證了設計的多尺度特征全融合網絡的有效性。
Table 2 Comparison of semantic segmentation results on ScanNetv1 with non-uniform sampling表2 ScanNetv1數(shù)據(jù)集上非均勻采樣語義分割結果對比
表3詳細對比了AFN、PointNet++和PointConv在ScanNetv1數(shù)據(jù)集的每個類上的語義分割結果。相較于PointNet++網絡,AFN網絡共有13類物體預測準確度有所提高,并且在11類物體預測準確度上高于PointConv。其中,AFN在“水槽”“冰箱”和“門”這3類物體的預測成功率有了極大的提高,分別至少提高了59.81%,29.02%和24.27%,這3類物體雖然在房間不同位置,但它們擁有一個共同的特點,即它們在每個場景中的數(shù)量占比都很小,同時它們的輪廓更加容易與背景融為一體,AFN網絡遠超其它網絡的表現(xiàn)表明了全融合網絡對細粒度特征提取的有效性,從而對小目標分割更加準確;同時,AFN對“椅子”“浴簾”“櫥柜”和“圖片”這4類物體的預測準確度也提高了5%~20%。
文獻[9]并未給出PointNet網絡在ScanNetv1數(shù)據(jù)集上的實驗結果,因此本文在S3DIS數(shù)據(jù)集上對PointNet和AFN網絡的語義分割結果進行了對比。使用K折交叉驗證將數(shù)據(jù)集劃分為訓練集和測試集,使用訓練好的模型在數(shù)據(jù)集的Area6區(qū)域進行實驗,結果對比如表4所示??梢钥闯?全融合網絡無論在MIoU,還是在PA上的結果都優(yōu)于PointNet網絡,其中,MIoU提高了11.61%,PA提高了6.29%。
Table 3 Comparison of semantic segmentation accuracy of each type of target on ScanNetv1表3 ScanNetv1數(shù)據(jù)集上每類目標語義分割準確度對比
Table 4 Semantic segmentation results on S3DIS Area6 test set表4 在S3DIS Area6測試集上的語義分割結果
本文還將AFN與PointNet在S3DIS數(shù)據(jù)集上13個類別的MIoU評分進行了對比,結果如表5所示。
Table 5 MIoU comparison of semantic segmentation accuracy of each type of target on S3DIS Area6表5 S3DIS Area6測試集每類目標語義分割結果MIoU對比 %
從表5中可以看出,全融合網絡在除“地面”“窗戶”“門”和“面板”之外的所有類上語義分割能力都有提升,最高提升達60.65%,尤其對于場景中小物體及大目標的輪廓分割能力具有明顯的提升,說明了全融合網絡融合多尺度特征對細粒度特征提取的有效性。
本文采用MeshLab軟件將PointNet網絡和全融合網絡在S3DIS數(shù)據(jù)集上的語義分割結果可視化,如圖2所示,不同灰度代表不同物體類別。為了更清晰地觀察室內場景,將天花板去除。在圖像標注的方框1中,對于梁和墻壁物體輪廓連接在一起的地方,可能由于物體不太明顯,PointNet模型直接將梁全部錯誤分割為其他物體,而全融合網絡精準地分割了梁。從圖像標注的方框2中可以看出,對于沙發(fā)與椅子這些長相類似,且在場景中點云數(shù)量占比較少的類別,PointNet網絡由于缺乏點云局部特征的提取能力,往往會出現(xiàn)語義混淆的情況,將沙發(fā)分割為椅子,將門分割為墻等。而全融合網絡由于融合特征的魯棒性,對小物體擁有更加準確的分割能力。
Figure 2 Visual comparison of S3DIS semantic segmentation results圖2 S3DIS數(shù)據(jù)集語義分割結果可視化對比
對ScanNetv1數(shù)據(jù)集語義分割結果的可視化結果如圖3所示,圖3b~圖3d中的黑點均為桌面擺放物體,由于體積小且桌面擺放物體不固定,所以標記為其他類。
Figure 3 Visual comparison semantic segmentation results on ScanNetv1 圖3 ScanNetv1數(shù)據(jù)集語義分割結果可視化對比
從圖3可以看出,全融合模型對場景整體語義分割結果的視覺表現(xiàn)強于PointNet++和PointConv網絡,可以更加精準地分割場景中的小物體,目標輪廓也更加清晰。PointNet++和PointConv網絡由于局部特征提取能力不如AFN,在分割時無法準確分割目標輪廓。
總結來說,面對各式各樣的室內場景、位置不定且大小不一的各類物體,全融合網絡的表現(xiàn)更加優(yōu)秀。評價指標和可視化結果都表明了AFN網絡融合特征對于語義分割強大的提升能力,這種能力主要體現(xiàn)在小物體目標與物體輪廓邊緣的分割。實驗結果有力地證明了全融合網絡對提高語義分割準確率的有效性,以及針對物品、場景多樣化的通用性。
相較于良好的深度學習機制,良好實驗效果的獲得更多是AFN網絡框架的設計占了更大的主導地位。受U-Net[16]網絡的啟發(fā),較多的語義分割網絡使用先下采樣后上采樣的策略對目標進行特征提取、分割。AFN網絡同樣如此,多尺度加權特征編碼模塊和漸進式特征解碼模塊便可組成一個有效的U型語義分割網絡。但是,本文的創(chuàng)新之處在于,AFN網絡對各特征層進行了更為充分的利用。多尺度特征解碼使得網絡有更多的機會接觸到各特征層的信息,使得網絡特征提取與學習的效率更高。最終的實驗結果也表明了AFN網絡的優(yōu)異性。
受二維目標檢測模型中多尺度特征融合思想的啟發(fā),本文提出了全融合網絡結構,將多尺度特征融合思想擴展到三維點云數(shù)據(jù)處理中。全融合網絡通過多尺度特征的編碼、解碼,最后融合不同尺度的特征,提升了網絡特征提取能力的魯棒性。本文將提出的全融合網絡用于點云語義分割任務,并在ScanNetv1與S3DIS數(shù)據(jù)集上進行實驗。實驗結果表明,三維點云中的小尺度物體語義分割結果易受大尺度物體影響,導致語義類別錯誤,或部分邊界被大尺度物體侵蝕,本文提出的全融合網絡能夠捕獲不同尺度物體的特征,對三維場景中的小物體和物體邊界擁有更加優(yōu)秀的分割能力。