楊昱威,雷印杰,羅 寒,金 釗
(四川大學電子信息學院,成都 610065)
近年來,3D 點云語義分割在機器人、增強/虛擬現實中的廣泛應用受到了研究人員的持續關注。現有大部分點云語義分割方法[1?6]通過挖掘點云中點的局部和全局關系來完成逐點預測且已取得優越的性能,然而此類方法仍然需要數以十萬到百萬計的大規模昂貴點級標簽來進行全監督訓練。此外,模型在基于封閉集假設的全監督學習后難以泛化到對新類別的識別上,從而限制了其現實應用。少樣本學習(few?shot learning)提供了一種有效的解決方案,通過僅給定少量標注的新類樣本來快速泛化到對新概念的學習上。
現有的少樣本學習方法[7?13]主要可以分為基于外部存儲模型[7?8]、基于優化算法[9?10]和基于度量學習的[11?13]方法,其中廣泛應用的基于度量學習的方法旨在學習一系列投影映射函數的集合,在結果嵌入空間中實現支撐集和查詢集的相似度匹配,代表性方法包括原型網絡(prototypical network)[11]、匹配網絡(matching network)[12]和關系網絡(relation network)[13],等等。當前針對3D點云少樣本學習的研究主要應用于簡單的分類任務中,更加細粒度的語義分割任務僅在文獻[14?16]中被討論,它們均基于原型網絡框架進行拓展,其中,Chen 等[14]提出采用原型不可知元學習(MAML)算法來生成區域對齊原型;Zhao等[15]設計了一個注意力感知多原型推理方法,并在點云鄰域圖結構中傳播標簽;Mao 等[16]通過點到原型及原型到點的雙向特征全局化來完成稀疏原型表示。雖然上述方法通過對點云視覺原型的合理表示取得了良好的查詢分割性能,但均仍未充分利用和挖掘少樣本的支撐信息。
因此,本文提出一種基于原型對齊正則化及矯正優化的少樣本3D 點云語義分割方法,我們通過對點云視覺原型表征進行自對齊正則化、跨對齊正則化,以形成具有類內代表性和類間區別性的原型表示,此外,我們進一步提出利用矯正優化以增強原型表示的豐富性,被充分學習到的原型將通過非參數化度量學習完成查詢點云的分割。在兩個公開數據集S3DIS 和ScanNet 數據集上的充分實驗證明了該方法的優越性。
少樣本點云語義分割旨在學習一個分割器,它能夠通過使用從支撐集(support set)有限樣本中學習到的新類知識對查詢集(query set)點云進行分割。我們采用常用的episodic 學習范式[17?18]來構建框架,首先定義Ctrain和Ctest為兩個互不重疊的類別子集(即Ctrain∩Ctest=?),用于表示訓練類別和測試類別的集合。我們的目標是構建一系列的N?way,K?shot 點云語義分割任務(每一個任務即被視為一個episode),讓模型在包含Ctrain類的點云數據Dtrain上進行訓練,并在包含Ctest類的點云數據Dtest上進行測試,其中,Si和Qi分別代表一個支撐點云集和查詢點云集,Ntrain和Ntest分別為訓練和測試時episode 數目。在上述設置下,每個支撐點云集可以被表示為其中P代表包含R個點(每個點包含xyz坐標及RGB 顏色)的點云,M代表掩碼標簽,N<|Ctrain|或|Ctest|代表從訓練類/測試類集合中采樣的N個類別,K代表每個類別采樣K個包含此類別的點云樣本。由此,每一個查詢點云集可以被表示為包含T對查詢點云和對應逐點標簽,其中標簽L僅在訓練時是可獲取的。
圖1展示了網絡的整體結構,首先我們采用支撐?查詢兩分支原型學習框架,支撐和查詢點云通過權重共享的特征嵌入網絡(動態圖卷積網絡DGCNN[3])來建模點的幾何與語義特征,接著在嵌入的特征空間中應用掩碼平均池化來構建初始支撐原型,然后提出分別采用原型自對齊正則化(self alignment regularization,SAR)、跨對齊正則化(cross alignment regularization,CAR)和原型矯正優化(prototype rectification refine?ment,PRR)模塊來對初始原型進行進一步的校準和修正,形成更精化的原型表征,最后應用非參數化距離度量來完成對查詢點云的逐點分割。下面將詳細介紹該網絡的組成部分。

圖1 本方法在2?way 1?shot少樣本點云語義分割設置下的框架示意
原型學習(prototype learning)[11]是少樣本學習中常用的一種框架,受其啟發,我們提出采用相同方式來構建對每個語義類具有代表性的視覺原型表征。具體來講,給定支撐集我們將點云PRc,k通過特征嵌入網絡E后的特征表示記為FRc,k,其中c用來索引類別,k用來索引支撐點云,則語義類c的原型通過計算掩碼平均池化(masked average pool?ing)來表示,具體如下:
其中:R代表點云中的點,1[ ]· 代表指示函數,滿足條件時為1,否則為0。點云場景中除了類c以外的點被無差別視為背景(background),則背景原型可以表示為
上述支撐原型將被用于查詢點云分割,但在此之前需對此初始原型進行對齊正則化和矯正優化。
上述簡單地通過支撐點云嵌入特征平均池化得到的原型表征通常可能由于損失了較多的語義特征細節而失去了代表性,因此我們從支撐特征本身出發提出原型自對齊正則化(self alignment regularization,SAR)模塊來對支撐原型生成過程引入有效監督以鼓勵保留更多類內特征細節并擴大類間區別性。如圖1所示,具體來講,我們首先定義支撐點云原型集合為計算支撐點云原型與其自身特征之間的非參數化平方歐式距離度量d,來表示支撐點云中點被預測為N+1 個類別(N個語義類+1個背景類)的歸一化概率分布值,公式化表示如下:
其中j為原型集合中的索引,我們在ZRc,k;j和其對應掩碼標簽間建立交叉熵損失以實現自對齊正則化約束:
由于先前過程仍然僅將支撐點云的標注用于掩碼,并未充分利用有限支撐集信息來指導模型學習,因此我們提出原型跨對齊正則化(cross alignment regularization,CAR)模塊來幫助增強模型泛化性能。首先利用支撐原型為查詢點云特征(通過特征嵌入網絡E后得到)預測初始掩碼偽標簽,如下:
接著,采用式(1)和(2)通過偽標簽掩碼平均池化來構建查詢偽原型集并以此進行度量分割支撐點云。最后,分割結果與支撐點云掩碼標簽之間計算交叉熵損失形成跨對齊正則化約束,從而鼓勵模型反向跨學習原型表征以實現支撐原型和查詢原型間的相互對齊。具體來講,通過查詢原型度量預測的支撐點云歸一化預測概率分布表示為
進而,損失函數LCAR可以被公式化計算為
通過原型自對齊和跨對齊正則化操作后,其已經充分具有類內代表性和類間可區分性,但支撐集原型表征依然是未經細化和矯正的。為了增強原型表示的豐富性以實現更高精度的查詢分割,我們計算預測查詢偽標簽構建的偽查詢原型和初始支撐原型的平均來獲取矯正優化后的原型表征,μr如下:
將上述三個損失函數加和形成最終損失函數如下:
在訓練階段,我們通過最小化上述損失函數來完成網絡參數的學習及優化,在推理階段,網絡直接采用新類支撐點云矯正優化后的原型表征,通過非參數化距離度量來實現對查詢點云的逐點分割預測。
我們在兩個公開點云語義分割數據集上開展實驗:①S3DIS[19]數據集,包含來自6 個室內區域(Area 1~Area 6)272 個房間的點云,點云中每個點被標注為13 個類別之一(包括12 個語義類和雜物類clutter);②ScanNet[20]數據集,是一個RGB?D 視頻數據集,其包含707 個室內房間的1513 個掃描點云,點云中每個點被標注為21個類別之一(包括20個語義類和1個未標注類別unannotated區域)。
為了定制化適用于少樣本分割設置,我們采用Zhao 等[15]的方法,根據類別名字母順序將每個數據集中的語義類均勻分成兩個不重疊的子集S0和S1,如表1所示。對于每個數據集,我們在兩個對應子集劃分上開展交叉驗證(Cross?Validation),將其中一個子集選定為訓練類Ctrain,則對應另一個為測試類Ctest。

表1 S3DIS和ScanNet數據集上不同劃分下的測試類別名稱
對原始點云數據進行預處理,我們在xy平面上應用滑動窗口將S3DIS 和ScanNet 數據集上室內房間分別劃分為7547和36350個1 m×1 m的點云塊,并在每塊上隨機采樣2048 個點(包含xyz坐標和RGB 顏色)作為輸入。采用直推式設置(transductive setting)來構建N?wayK?shot 分割實驗,對于從訓練集采樣一個episode 的過程,我們從訓練類Ctrain中隨機選擇包含N個類別(其中K個樣本(≥100個點)點云來形成支撐集和查詢集,其中僅N個類別包含語義標注,其他類別被無差別視為背景。測試集epi?sodes 采用相似方式構建,但遍歷所有在測試類Ctest上隨機選擇N個類別的組合(每種組合采樣100 個episodes)。我們采用平均交并比(mean in?tersection?over?union,mIoU)作為衡量指標。
為了進行公平的比較,我們采用與Zhao等[15]和Mao 等[16]相同的特征嵌入網絡DGCNN[3](不加入w/o 及加入w/SAN 模塊,SAN 模塊被用于提取點云全局上下文語義關聯)。首先在訓練集上采用批量大小(batch size)32,學習率0.001,Adam 優化器對網絡(特征嵌入網絡+3 層MLP 層用于逐點分割)預訓練100 輪。預訓練結束后,加載預訓練嵌入網絡權重,并對特征嵌入模塊和其他網絡模塊分別采用初始學習率0.0001 和0.001,Adam 優化器訓練迭代40000 次,在每5000次迭代訓練后,學習率衰減一半。
3.3.1 定量實驗結果分析
表2 和表3 展示了在S3DIS 和ScanNet 數據集上不同少樣本設置下我們方法和當前先進方法的分割性能對比。從表中可以看到,本文方法的性能在各種實驗設置下均顯著一致地優于當前最先進的方法,尤其是在S3DIS 數據集上2?way 1?shot和3?way 5?hot設置下(DGCNN w/SAN)本文方法分別取得了61.09%和62.08%的mIoU,比次好的BFG高出5.30%和5.65%。由此證明本文方法能夠充分利用有限支撐集信息構建更加高質量的具有類內代表性和類間區分性的原型表示,從而能夠在非參數化度量中提高查詢點云分割的精度。值得注意的是,ScanNet 數據集上的實驗性能普遍低于S3DIS數據集上的結果,這是由于ScanNet 數據集場景和類別更多樣,網絡會更多受到復雜背景分布的影響。

表2 S3DIS數據集上的少樣本3D點云語義分割性能對比

表3 ScanNet數據集上的少樣本3D點云語義分割性能對比
3.3.2 定性實驗結果分析
圖2 展示了本文方法與ProtoNet(基線模型)及Ground Truth(真值標簽)在S3DIS和ScanNet數據集上2?way 1?shot 少樣本點云語義分割設置下的可視化結果對比。從圖2可以看出,本文方法在兩個數據集上多個復雜場景中的表現均明顯優于基線模型,且在一些具有精細結構的類別(如S3DIS上的table類及ScanNet上的bathtub類)上具有更加接近于標簽的更好分割效果。

圖2 本文方法與基線模型ProtoNet及真值標簽Ground Truth的可視化對比
3.4.1 單個模塊的貢獻分析
表4 展示了所提出不同模塊在S3DIS 數據集上2?way 1?shot 設置下的單獨貢獻性能對比,我們將ProtoNet[15]作為我們的基線模型(baseline),我們在其上加入模塊來驗證性能。從表中可以看出加入單獨模塊均會使模型平均mIoU 性能得到提升,加入所有模塊時,模型相對于基線顯著提升了9.65%。對比(1),(2)和(3)可以看到,自對齊正則化SAR 和跨對齊正則化CAR 分別平均獲得了1.20%和3.33%的性能提升。此外,從(4)(5)(6)中可觀察到,在加入對齊正則化的同時加入矯正優化PRR 模塊能夠更有效改善模型性能,這是由于對于某一個具體語義類而言,來自查詢集中其更多的嵌入特征被用于消除類內的偏見及構建更豐富的原型表示。

表4 本文模塊在S3DIS數據集上2?way 1?shot少樣本實驗設置下的單獨貢獻作用對比
3.4.2 模型參數量、計算量及前向推理時間對比
表5展示了模型參數量、計算量、前向推理時間以及mIoU 的對比。其中,平均mIoU(%)來自S3DIS 數據集上2?way 1?shot 少樣本實驗設置下的實驗結果。

表5 模型參數量#params、計算量FLOPs、前向推理時間以及平均mIoU性能的對比
從表5 可以看到,基線模型ProtoNet、MPTI網絡和本文方法的參數量及計算量是相同的,但前向推理時間卻存在較明顯的差異。這是由于三者方法均采用相同的特征嵌入網絡和非參數化度量學習,因此模型參數化的大小和計算量均相同。但由于MPTI[15]方法根據每個語義類的點云局部結構構建了多原型(相對于基線和本文方法的單個原型),并通過k?NN 圖來將多原型標簽在鄰域點間傳播(替代了簡單地距離匹配計算),因此雖然取得了3.42%的性能提升但其前向推理過程仍然是極其耗時的,遠遠高出基線538.31 ms。相比之下,本文方法的推理效率更高,通過僅犧牲掉0.18 ms 的推理時間(原型矯正優化中產生的消耗)換取了9.65%的性能提升,充分說明了本文模型的優越性。
本文提出了一種基于原型對齊正則化與矯正優化的少樣本3D 點云語義分割框架,旨在原型網絡的基礎上更充分利用有限支撐集信息完成點云的逐點查詢分割。通過對點云視覺原型應用自對齊正則化、跨對齊正則化以及矯正優化以有效構建了對每個語義類具有類內代表性和類間區別性的高質量魯棒原型表征,從而更好地完成非參數化度量學習并遷移泛化到對新類的識別上。在S3DIS 和ScanNet 兩個公開的3D點云語義分割數據集上不同少樣本設置下的實驗證明了我們提出的方法相對于當前先進方法的性能優越性。