章益民
摘? 要: 為了高效地實現大規模室內點云場景語義分割,針對邊界點云的特征信息難以區分、場景點云規模過于龐大而導致其難以直接進行分割網絡的有效訓練等問題,以超面片為數據表征,結合超面片Transformer模塊(SPT)和對比邊界學習模塊(CBL),提出一種基于對比邊界學習的超面片Transformer點云分割網絡。針對數據集S3DIS進行訓練,實驗結果表明,該網絡在分割精度上比Dgcnn網絡高3.9%,在訓練速度方面比SPGraph網絡快近100倍,針對大規模室內點云場景分割效果尤為突出。
關鍵詞: 點云; 語義分割; 自注意力; 超面片Transformer; 對比邊界學習
中圖分類號:TP391.41? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2023)09-75-06
Contrastive boundary learning based Transformer network for point cloud segmentation
Zhang Yimin
(School of Computer Science and Technology, Zhejiang Sci-Tech University, Hangzhou, Zhejiang 310018, China)
Abstract: For the issue of semantic segmentation for large-scale indoor point clouds scenes, it is difficult to distinguish the feature information of boundary point clouds and it is challenging to train deep neural networks efficiently due to the vast amount of point clouds data. Taking scene super-patch as data representation, combining the super-patch Transformer (SPT) module and the contrastive boundary learning (CBL) module, a contrastive boundary learning based Transformer network is proposed. The network is trained on public datasets S3DIS. The experimental results show that the overall accuracy of the network is 3.9% higher than the Dgcnn network, and the network training speed is nearly 100 times faster than the SPGraph network. The segmentation effect is outstanding in large-scale indoor point cloud scenes.
Key words: point clouds; semantic segmentation; self-attention; super-patch Transformer; contrastive boundary learning
0 引言
點云語義分割對于3D環境理解至關重要,在機器人感知[1]、室內導航[2]、增強現實[3]等領域已受到廣泛關注。為了實現大規模室內點云場景語義分割,一方面,考慮到點云邊界信息的精確細分對于整體分割性能影響非常大。錯誤的語義分割不利于建筑工程師更好地理解建筑物的幾何結構。另一方面,場景點云過于規模龐大導致其難以直接進行分割網絡的有效訓練。因此,不同物體邊界點/非邊界點的有效區分以及如何構建一個高效的語義分割模型是一個亟待解決的問題。
近些年,隨著大規模室內場景掃描數據集的出現[4],針對點云處理的PointNet網絡[5]被提出,使得直接將點云數據作為神經網絡的輸入成為可能。隨后的PointNet++網絡[6]使用多層級降采樣結構以擴大采樣點之間的感受野。Wang等[7]提出了基于動態邊緣卷積EdgeConv模塊的Dgcnn網絡以有效學習鄰域點的關系。Landrieu等[8]提出了一種基于PointNet和圖卷積的點云分割網絡SPGraph。Guo等[9]提出了一種新的基于Transformer的點云學習框架PCT,通過偏移注意力可以更好地學習點云的上下文特征信息。實際上,室內場景中建筑結構和家具物體都具有超面片形狀,因此采用結合Transformer結構的場景超面片為數據表征,既可以提升模型學習能力,又能解決硬件資源不足問題。
考慮到清晰的邊界信息對整體網絡分割性能至關重要,Tang等人[10]提出了一個新穎的對比邊界學習(CBL)框架,通過學習對比場景邊界上的點特征,來改善點云全局特征。實驗證明對比邊界模塊CBL能有效地改善邊界分割性能。因此,為了更好地優化網絡邊界的性能,本文引入對比邊界學習模塊Contrastive Boundary Learning[10]以解決語義分割中邊界模糊問題。
本文主要貢獻在于:①提出一種適合場景超面片特征提取的Transformer模塊(Super-Patch Transformer),該模塊可以有效學習場景超面片之間的特征相似度并從幾何語義角度提升場景分割的有效性;②在Transformer框架中引入對比邊界學習策略,有效地提升了場景物體邊界點云與非邊界點云之間的分割性能;③基于CBL模塊和SPT模塊的超面片網絡適合于大規模點云場景的語義分割。
1 本文方法
為了實現大規模室內場景語義分割,本文提出了基于對比邊界學習的超面片Transformer分割框架。具體如圖1所示。
該網絡首先以大規模室內場景點云數據作為輸入,利用動態區域增長算法提取室內場景中幾何特征一致的點云作為場景超面片;其次在神經網絡編碼器中借助多尺度結構,有效聚合相鄰場景超面片的特征信息,同時通過子場景邊界檢測模塊學習下采樣場景的邊界標簽;然后借助基于多頭自注意力機制的超面片Transformer模塊(SPT),學習場景超面片全局特征以及超面片之間的特征相似度;最后在神經網絡解碼器中通過線性插值上采樣操作,給每個超面片分配語義標簽,其中上采樣過程在邊界超面片標簽信息指導下,定義了邊界超面片與非邊界超面片樣本對,結合對比邊界學習CBL模塊中的對比學習損失函數增強邊界超面片之間的區分度,最終實現大規模室內場景語義分割。
1.1 場景超面片Transformer模塊
本文采用場景超面片作為場景點云的一種數據表征,可以解決神經網絡難以直接訓練大規模室內場景點云的問題。由于場景超面片比離散場景點云通常具有更強的幾何模型表達能力,為了更好地提取全局特征信息,該模塊采用了Transformer結構[11]。場景超面片Transformer模塊可以將輸入的場景超面片幾何特征映射到更高維的語義隱空間中,從而能夠在高維隱空間中有效學習場景超面片之間的相似度。借助Transformer結構學習超面片之間的上下文關系能高效地實現場景的語義分割。
1.1.1 場景超面片的生成和特征描述
觀察發現,室內場景中的人造物體通常是由具有高度結構化的超面片構建而成。受到Mattausch等[12]人工作的啟發,本文通過聚類方法提取場景超面片。其中區域增長策略的核心思想是:首先將曲率最大的采樣點[s]作為種子采樣點,然后根據種子采樣點選擇出超面片[Πi]外的最近鄰采樣點[p]。假如最近鄰采樣點[p]滿足以下條件:
[np?ns>t1] ⑴
[(p-s)?ns<t2] ⑵
[(p-q)?nq<t3] ⑶
[#(Πi)<t4] ⑷
則將最近鄰采樣點[p]添加到超面片[Πi]中,直到超面片中采樣點數達到閾值上限[t4]則選擇另外一個種子采樣點重復上述操作,直至遍歷完場景中所有點云數據為止。其中,[q]表示依次添加至超面片[Πi]中的最后一個采樣點,[n]分別表示相應采樣點的法向量,[#]表示點集中采樣點數目。
為了有效描述場景超面片特征信息,本文首先通過PCA方法[13]獲取超面片高度、面積、長寬比等;最后利用超面片邊界框的質心代表超面片質心。同時,場景超面片特征還可以包括PCA法線、顏色、面積填充比等特征信息。具體描述如表1所示,包含豐富特征信息的超面片將有助于神經網絡更好地學習場景超面片之間的語義關系。
1.1.2 超面片Transformer結構
為了在高維語義隱空間中有效地學習場景超面片之間的相似度,本文堆疊了四個偏移注意力模塊構造出超面片Transformer模塊(SPT)用于學習超面片的幾何特征。如圖2所示,給定輸入的場景超面片數據[Πi∈RNi×(3+di)],其由[Ni]個包含[di]維特征信息和三維的質心坐標的場景超面片組成。借助四個自注意力層得到輸出特征[Fo∈RNo×do],其中[de=da=do/4],公式如下:
[F1=AT1(Fe)] ⑸
[Fi=ATiFi-1, i=2,3,4] ⑹
[Fo=concat(F1,F2,F3,F4)?Wo] ⑺
其中,[ATi]代表第[i]層的注意力層,[Wo]代表線性層權重。
自注意力機制的核心思想是首先通過對輸入數據做線形變換得到查詢矩陣和鍵值矩陣以及值矩陣,接著通過矩陣點乘運算與歸一化操作計算輸入數據之間的相關性得到注意力矩陣。
如式⑻所示,自注意力層輸出向量[Fsa]是值向量[V]與相應的注意力矩陣權重[A]的加權和。如式⑼所示,為了加強輸出特征與輸入特征之間的關聯性,將經過線性變換的自注意力特征[Fsa]與輸入特征[Fi]進行相加得到最終的輸出特征:
[Fsa=A?V] ⑻
[Fo=SAFi=Relu(BNMLPFsa)+Fi] ⑼
如圖3所示,本文采用PCT網絡[9]中偏移注意力代替自注意力方式加強點云在Transformer中的性能。偏移注意力層通過矩陣減法計算自注意力輸出特征與輸入特征之間的偏移量,算式如下:
[Fo=OAFi=Relu(BNMLPFi-Fsa)+Fi] ⑽
偏移注意力采用softmax函數和歸一化函數實現,具體公式如下:
[(αo)i,j=softmax(αoi,j)=exp ((αo)i,j)∑exp ((αo)k,j)]? ⑾
[(α)i,j=(αo)i,jk(αo)k,j] ⑿
采用偏移注意力模塊具有以下幾點明顯的優勢。①可以有效地獲取到輸入特征與自注意特征的差異;②支持并行計算的能力,將更多的算力運用到注意力高的特征中,提高了模型的解釋性。
1.2 對比邊界學習模塊
為了改善邊界分割性能,本文采用將邊界信息嵌入到對比學習中。首先在下采樣過程中采用子場景邊界檢測模塊學習邊界超面片語義標簽,然后在各個階段的超面片語義標簽指導下,結合對比邊界學習模塊(CBL)[10]的損失函數進行模型的優化調整,最后實現邊界超面片與非邊界點超面片的良好區分,進而改善邊界細分質量。
1.2.1 對比邊界學習模塊
為了確定真實場景和預測場景中邊界超面片。如式⒀,在真實場景中,假如超面片[Πi]符合其鄰域內存在三個不同語義類別的超面片[Πj],本文將其定義為邊界超面片[Bl];相似地,在預測場景中,倘若一個超面片[Πi]鄰域內存在不同語義類別的超面片[Πj],本文將其則定義為邊界預測超面片[Bp]。
[Bl={Πi∈Π| ?Πj∈Ni,lj≠li}] ⒀
[Bp={Πi∈Π| ?Πj∈Ni,pj≠pp}] ⒁
其中,[Ni]代表以超面片[Πi]為中心的鄰域超面片。[lj]代表鄰域超面片的真實標簽,而[pj]代表鄰域超面片的預測標簽。
為了更好地區分邊界超面片與非邊界超面片,本文采用InfoNCE loss[14]損失函數進行學習。其核心思想是通過計算超面片之間特征距離表示邊界超面片與非邊界超面片之間的差異性,實現語義類別相同的鄰域超面片相互靠近,而語義類別不同的鄰域超面片嚴格區分。如下面公式所得:
[LCBL=-1|Bl|Πi∈BllogΠj∈Ni?lj=liexp (-d(fi,fj)/τ)Πk∈Niexp (-d(fi,fk)/τ)] ⒂
其中,[fi]代表超面片[Πi]的面片特征,[d]是距離函數,[τ]是對比學習中的溫度系數。本文將與中心超面片[Πi]的語義標簽相同的鄰域超面片[Πj]定義為正樣本,而與[Πi]語義標簽不同的鄰域超面片[Πj]則定義為負樣本。根據對比邊界學習損失函數,計算損失以增強場景邊界超面片之間的特征區分度。這極大地改善了邊界區域分割效果。
1.2.2 子場景邊界檢測模塊
針對點云降采樣過程中使用最遠點采樣FPS[15]算法會導致下采樣超面片的語義標簽難以確認的問題。本文采用在多尺度結構中嵌入子場景邊界檢測模塊以確認每一個降采樣階段的真實的邊界超面片語義標簽。該模塊的主要思路是針對第[n]個下采樣階段第[i]個超面片[Πni],其中上標表示階段。首先通過Knn[16]算法為其在[n-1]下采樣階段中獲取鄰域超面片[Nn-1(Πni)] (如圖1中的黑色虛線圓);接著通過平均池化函數AVG,聚合鄰域超面片的標簽信息;最后通過迭代方式確定不同子采樣階段的真實語義標簽。具體如下:
[lni=AVG({ln-1j|Πn-1j∈Nn-1(Πni)})] ⒃
本文采用argmax[lni]來評估公式13中的邊界點。在子場景邊界檢測模塊的幫助下,將下采樣超面片[Πni]的特征以及標簽信息作為等式15對比邊界優化的輸入參數。將對比邊界學習CBL模塊應用到每個階段中,計算最終的損失為下列公式所示:
[L=Lcross-entropy+λnLnCBL] ⒄
其中,[Lcross-entropy]是交叉熵損失函數,而[LnCBL]是第[n]階段中的CBL損失。[λ]是損失權重,用于表征不同層產生損失的重要性。
2 實驗結果與分析
2.1 數據集
本文采用數據集S3DIS[4]中Area2與Area5分別作為測試集來驗證網絡框架的性能。該數據集中包含六個大規模的室內區域,共含272個房間,每個房間都包含真實語義標注的3D點云,共13種語義類別。其中Area2中包含千萬規模級別的大劇院場景,每個劇院場景中具有較多重復結構的建筑元素。
2.2 本文網絡的分割效果
本文網絡高效地實現了大規模場景語義分割效果。如圖4給出Area2中劇院場景的語義分割效果。點云分割結果既保持場景的完整結構,又能保持不同物體形狀的邊界較清晰(詳見橢圓處),如墻與地板、門與墻、墻與天花板之間的分割效果。尤其對于大量重復結構的椅子和墻以及天花板分割效果最佳。從走廊場景效果圖中可以看出,絕大部分建筑元素均能被精確分割并能保證其結構信息的完整性。尤其對墻元素,在受到柱子和梁強干擾的情況下仍然能有效地分割出來,表現出網絡強干擾性。同時(如圖5),對于會議室、辦公室、大廳等小規模點云場景點云場景,本文網絡表現出較強的邊界區分能力,分割效果呈現比較明顯的邊界輪廓。實驗表明,本文網絡具有較強的魯棒性。
2.3 與不同點云分割方法的比較
為了突出本文網絡的高效性和邊界區分性能,本文采用相同數據集和相同硬件環境分別采用不同網絡進行場景語義分割效果的驗證實驗。
2.3.1 定性分析
圖5分別給出了在S3DIS數據集中Area5的不同方法的分割效果。其中黑色橢圓代表利用不同網絡具有語義分割差異的場景區域。實驗結果表明,Dgcnn網絡對于椅子,門框類別分割效果較差。而PointNet++網絡[6]存在邊界模糊現象,并且難以識別門、雜物以及書架。
對比PointNet++網絡,本文網絡的邊界區分能力和保結構性更好,比如在辦公室場景中椅子與桌子的相交處邊界劃分清晰、椅子劃分不會受到桌子的影響。在會議室場景中墻和黑板以及墻和門的邊界劃分更鮮明。這體現出對比邊界學習(CBL)模塊可以增強邊界超面片與非邊界超面片的區分度。對比Dgcnn網絡,本文網絡對于黑板、墻、書架以及雜物的分割效果均優于Dgcnn網絡,從會議室場景中可以看出,本文網絡對黑板和門的邊界分割能力更強,并且墻和地板黑板之間不存在模糊邊界現象。體現超面片Transformer(SPT)模塊在高層語義空間中捕捉了超面片局部特征和全局特征從而擁有較強的學習能力。對比邊界學習(CBL)模塊通過損失函數優化調整網絡模型,增強網絡模型邊界區分能力。綜上所述,本文網絡的分割效果優于Dgcnn網絡,略優于PointNet++網絡。
2.3.2 定量比較
如表2中各項指標統計所示。與PointNet網絡和Dgcnn網絡[7]相比,由于梁類別特征不夠明顯分割效果較差,本文網絡中其余類別的各項指標均有較明顯優勢;與PointCNN點云分割網絡[17]相比,本文網絡對天花板、地板、墻、黑板、書架等場景類別的分割交并比高于PointCNN網絡,可以看出上述類別在邊界性能的表現都比較出眾,這說明對比邊界學習CBL模塊在網絡訓練中起著重要作用。綜上所述,SPT模塊因為充分考慮到不同場景超面片的幾何特征之間的相似度,從而提升了模型的學習能力。另一方面,CBL模塊既可以解決邊界模糊問題,也可以提升整體模型的精度。從表3的網絡訓練速度指標看,本文以場景超面片作為表征語義分割網絡訓練效率比SPGraph網絡接近快100倍。本文方法在保證場景高效分割的前提下,其能有效保持場景點云的結構信息并增強模型對邊界點云的區分能力。
2.3.3 場景分割效率比較
如表3所示,PointNet網絡與PointNet++網絡以及Dgcnn網絡的訓練時間分別為105min、557min和175min;然而SPGraph網絡因結合了圖卷積和PointNet網絡,其訓練時間為2471min。相反地,本文網絡的訓練時間僅需25min,均快于上述網絡。相比于SPGraph網絡,本文網絡達到了近100倍的運行效率優勢。究其原因在于本文網絡采用超面片作為場景數據表征,由于場景超面片數量遠小于場景點云數目,采用場景超面片作為神經網絡輸入可以大大加快分割網絡的訓練時間和運行速度。
3 結束語
針對大規模室內點云場景的語義分割問題,本文提出了基于對比邊界學習的超面片Transformer分割網絡。其中基于多頭注意力機制的SPT模塊在高層語義空間中學習超面片之間的特征相似度,對比邊界學習模塊CBL借助子場景邊界檢測策略增強跨邊界點云之間的區分能力。實驗證明,該網絡可以準確地、高效地分割大規模室內點云場景。
然而針對復雜場景,由于面片的幾何特征比較相似,難以明顯地區分開。同時只考慮邊界點難以滿足現實情況,需要對邊界內點云做進一步的探索,通過學習邊界點與其內部點云之間的上下文關系,可以實現更高效地場景語義分割。
參考文獻(References):
[1] Rusu R B, Marton Z C, Blodow N, et al. Towards 3D point
cloud based object maps for household environments[J]. Robotics and Autonomous Systems,2008,56(11):927-941.
[2] Zhu Y, Mottaghi R, Kolve E, et al. Target-driven visual
navigation in indoor scenes using deep reinforcement learning[C]//Proceedings of IEEE International Conference on Robotics and Automation (ICRA),2017:3357-3364.
[3] Wirth F, Quehl J, Ota J, et al. Pointatme: efficient 3d point
cloud labeling in virtual reality[C]//Proceedings of IEEE Intelligent Vehicles Symposium,2019:1693-1698.
[4] Armeni I, Sener O, Zamir A R, et al. 3d semantic parsing
of large-scale indoor spaces[C]//Proceedings of the IEEE/CVFConference on Computer Vision and Pattern Recognition,2016:1534-1543.
[5] Qi C R, Su H, Mo K, et al. Pointnet: Deep learning on
point sets for 3d classification and segmentation[C]//Proceedings of the IEEE/CVFConference on Computer Vision and Pattern Recognition,2017:652-660.
[6] Qi C R, Yi L, Su H, et al. Pointnet++: Deep hierarchical
feature learning on point sets in a metric space[J]. Advances in Neural Information Processing Systems,2017:30.
[7] Wang Y, Sun Y, Liu Z, et al. Dynamic graph cnn for
learning on point clouds[J]. ACM Transactions on Graphics,2019,38(5):1-12.
[8] Landrieu L, Simonovsky M. Large-scale point cloud
semantic segmentation with superpoint graphs[C]//Proceedings of the IEEE/CVFConference on Computer Vision and Pattern Recognition,2018:4558-4567.
[9] Guo M H, Cai J X, Liu Z N, et al. PCT: Point cloud
transformer[J]. Computational Visual Media,2021,7(2): 187-199.
[10] Tang L, Zhan Y, Chen Z, et al. Contrastive boundary
learning for point cloud segmentation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition,2022:8489-8499.
[11] Vaswani A, Shazeer N, Parmar N, et al. Attention is all
you need[J]. Advances in Neural Information Processing Systems,2017:30.
[12] O. Mattausch, D. Panozzo, C. Mura, O. Sorkine-
Hornung, and R. Pajarola. Object detection and classification from large-scale cluttered indoor scans. Computer Graphics Forum,2014,33(2):11-21.
[13] Ma?kiewicz A, Ratajczak W. Principal components
analysis[J]. Computers & Geosciences,1993,19(3):303-342.
[14] Oord A, Li Y, Vinyals O. Representation learning with
contrastive predictive coding[J]. arXiv preprint arXiv:1807.03748,2018.
[15] Moenning C, Dodgson N A. Fast marching farthest point
sampling for implicit surfaces and point clouds[J]. Computer Laboratory Technical Report,2003,565:1-12.
[16] Guo G, Wang H, Bell D, et al. KNN model-based
approach in classification[J]. Lecture Notes in Computer Science,2003:986-996.
[17] Li Y, Bu R, Sun M, et al. Pointcnn: Convolution on x-
transformed points[J]. Advances in neural information processing systems,2018,31.
[18] Tchapmi L, Choy C, Armeni I, et al. Segcloud: Semantic
segmentation of 3d point clouds[C] //Proceedings of IEEE International Conference on 3D vision,2017:537-547.