楊昱威,雷印杰,羅 寒,金 釗
(四川大學電子信息學院,成都 610065)
近年來,3D 點云語義分割在機器人、增強/虛擬現(xiàn)實中的廣泛應(yīng)用受到了研究人員的持續(xù)關(guān)注?,F(xiàn)有大部分點云語義分割方法[1?6]通過挖掘點云中點的局部和全局關(guān)系來完成逐點預測且已取得優(yōu)越的性能,然而此類方法仍然需要數(shù)以十萬到百萬計的大規(guī)模昂貴點級標簽來進行全監(jiān)督訓練。此外,模型在基于封閉集假設(shè)的全監(jiān)督學習后難以泛化到對新類別的識別上,從而限制了其現(xiàn)實應(yīng)用。少樣本學習(few?shot learning)提供了一種有效的解決方案,通過僅給定少量標注的新類樣本來快速泛化到對新概念的學習上。
現(xiàn)有的少樣本學習方法[7?13]主要可以分為基于外部存儲模型[7?8]、基于優(yōu)化算法[9?10]和基于度量學習的[11?13]方法,其中廣泛應(yīng)用的基于度量學習的方法旨在學習一系列投影映射函數(shù)的集合,在結(jié)果嵌入空間中實現(xiàn)支撐集和查詢集的相似度匹配,代表性方法包括原型網(wǎng)絡(luò)(prototypical network)[11]、匹配網(wǎng)絡(luò)(matching network)[12]和關(guān)系網(wǎng)絡(luò)(relation network)[13],等等。當前針對3D點云少樣本學習的研究主要應(yīng)用于簡單的分類任務(wù)中,更加細粒度的語義分割任務(wù)僅在文獻[14?16]中被討論,它們均基于原型網(wǎng)絡(luò)框架進行拓展,其中,Chen 等[14]提出采用原型不可知元學習(MAML)算法來生成區(qū)域?qū)R原型;Zhao等[15]設(shè)計了一個注意力感知多原型推理方法,并在點云鄰域圖結(jié)構(gòu)中傳播標簽;Mao 等[16]通過點到原型及原型到點的雙向特征全局化來完成稀疏原型表示。雖然上述方法通過對點云視覺原型的合理表示取得了良好的查詢分割性能,但均仍未充分利用和挖掘少樣本的支撐信息。
因此,本文提出一種基于原型對齊正則化及矯正優(yōu)化的少樣本3D 點云語義分割方法,我們通過對點云視覺原型表征進行自對齊正則化、跨對齊正則化,以形成具有類內(nèi)代表性和類間區(qū)別性的原型表示,此外,我們進一步提出利用矯正優(yōu)化以增強原型表示的豐富性,被充分學習到的原型將通過非參數(shù)化度量學習完成查詢點云的分割。在兩個公開數(shù)據(jù)集S3DIS 和ScanNet 數(shù)據(jù)集上的充分實驗證明了該方法的優(yōu)越性。
少樣本點云語義分割旨在學習一個分割器,它能夠通過使用從支撐集(support set)有限樣本中學習到的新類知識對查詢集(query set)點云進行分割。我們采用常用的episodic 學習范式[17?18]來構(gòu)建框架,首先定義Ctrain和Ctest為兩個互不重疊的類別子集(即Ctrain∩Ctest=?),用于表示訓練類別和測試類別的集合。我們的目標是構(gòu)建一系列的N?way,K?shot 點云語義分割任務(wù)(每一個任務(wù)即被視為一個episode),讓模型在包含Ctrain類的點云數(shù)據(jù)Dtrain上進行訓練,并在包含Ctest類的點云數(shù)據(jù)Dtest上進行測試,其中,Si和Qi分別代表一個支撐點云集和查詢點云集,Ntrain和Ntest分別為訓練和測試時episode 數(shù)目。在上述設(shè)置下,每個支撐點云集可以被表示為其中P代表包含R個點(每個點包含xyz坐標及RGB 顏色)的點云,M代表掩碼標簽,N<|Ctrain|或|Ctest|代表從訓練類/測試類集合中采樣的N個類別,K代表每個類別采樣K個包含此類別的點云樣本。由此,每一個查詢點云集可以被表示為包含T對查詢點云和對應(yīng)逐點標簽,其中標簽L僅在訓練時是可獲取的。
圖1展示了網(wǎng)絡(luò)的整體結(jié)構(gòu),首先我們采用支撐?查詢兩分支原型學習框架,支撐和查詢點云通過權(quán)重共享的特征嵌入網(wǎng)絡(luò)(動態(tài)圖卷積網(wǎng)絡(luò)DGCNN[3])來建模點的幾何與語義特征,接著在嵌入的特征空間中應(yīng)用掩碼平均池化來構(gòu)建初始支撐原型,然后提出分別采用原型自對齊正則化(self alignment regularization,SAR)、跨對齊正則化(cross alignment regularization,CAR)和原型矯正優(yōu)化(prototype rectification refine?ment,PRR)模塊來對初始原型進行進一步的校準和修正,形成更精化的原型表征,最后應(yīng)用非參數(shù)化距離度量來完成對查詢點云的逐點分割。下面將詳細介紹該網(wǎng)絡(luò)的組成部分。
圖1 本方法在2?way 1?shot少樣本點云語義分割設(shè)置下的框架示意
原型學習(prototype learning)[11]是少樣本學習中常用的一種框架,受其啟發(fā),我們提出采用相同方式來構(gòu)建對每個語義類具有代表性的視覺原型表征。具體來講,給定支撐集我們將點云PRc,k通過特征嵌入網(wǎng)絡(luò)E后的特征表示記為FRc,k,其中c用來索引類別,k用來索引支撐點云,則語義類c的原型通過計算掩碼平均池化(masked average pool?ing)來表示,具體如下:
其中:R代表點云中的點,1[ ]· 代表指示函數(shù),滿足條件時為1,否則為0。點云場景中除了類c以外的點被無差別視為背景(background),則背景原型可以表示為
上述支撐原型將被用于查詢點云分割,但在此之前需對此初始原型進行對齊正則化和矯正優(yōu)化。
上述簡單地通過支撐點云嵌入特征平均池化得到的原型表征通??赡苡捎趽p失了較多的語義特征細節(jié)而失去了代表性,因此我們從支撐特征本身出發(fā)提出原型自對齊正則化(self alignment regularization,SAR)模塊來對支撐原型生成過程引入有效監(jiān)督以鼓勵保留更多類內(nèi)特征細節(jié)并擴大類間區(qū)別性。如圖1所示,具體來講,我們首先定義支撐點云原型集合為計算支撐點云原型與其自身特征之間的非參數(shù)化平方歐式距離度量d,來表示支撐點云中點被預測為N+1 個類別(N個語義類+1個背景類)的歸一化概率分布值,公式化表示如下:
其中j為原型集合中的索引,我們在ZRc,k;j和其對應(yīng)掩碼標簽間建立交叉熵損失以實現(xiàn)自對齊正則化約束:
由于先前過程仍然僅將支撐點云的標注用于掩碼,并未充分利用有限支撐集信息來指導模型學習,因此我們提出原型跨對齊正則化(cross alignment regularization,CAR)模塊來幫助增強模型泛化性能。首先利用支撐原型為查詢點云特征(通過特征嵌入網(wǎng)絡(luò)E后得到)預測初始掩碼偽標簽,如下:
接著,采用式(1)和(2)通過偽標簽掩碼平均池化來構(gòu)建查詢偽原型集并以此進行度量分割支撐點云。最后,分割結(jié)果與支撐點云掩碼標簽之間計算交叉熵損失形成跨對齊正則化約束,從而鼓勵模型反向跨學習原型表征以實現(xiàn)支撐原型和查詢原型間的相互對齊。具體來講,通過查詢原型度量預測的支撐點云歸一化預測概率分布表示為
進而,損失函數(shù)LCAR可以被公式化計算為
通過原型自對齊和跨對齊正則化操作后,其已經(jīng)充分具有類內(nèi)代表性和類間可區(qū)分性,但支撐集原型表征依然是未經(jīng)細化和矯正的。為了增強原型表示的豐富性以實現(xiàn)更高精度的查詢分割,我們計算預測查詢偽標簽構(gòu)建的偽查詢原型和初始支撐原型的平均來獲取矯正優(yōu)化后的原型表征,μr如下:
將上述三個損失函數(shù)加和形成最終損失函數(shù)如下:
在訓練階段,我們通過最小化上述損失函數(shù)來完成網(wǎng)絡(luò)參數(shù)的學習及優(yōu)化,在推理階段,網(wǎng)絡(luò)直接采用新類支撐點云矯正優(yōu)化后的原型表征,通過非參數(shù)化距離度量來實現(xiàn)對查詢點云的逐點分割預測。
我們在兩個公開點云語義分割數(shù)據(jù)集上開展實驗:①S3DIS[19]數(shù)據(jù)集,包含來自6 個室內(nèi)區(qū)域(Area 1~Area 6)272 個房間的點云,點云中每個點被標注為13 個類別之一(包括12 個語義類和雜物類clutter);②ScanNet[20]數(shù)據(jù)集,是一個RGB?D 視頻數(shù)據(jù)集,其包含707 個室內(nèi)房間的1513 個掃描點云,點云中每個點被標注為21個類別之一(包括20個語義類和1個未標注類別unannotated區(qū)域)。
為了定制化適用于少樣本分割設(shè)置,我們采用Zhao 等[15]的方法,根據(jù)類別名字母順序?qū)⒚總€數(shù)據(jù)集中的語義類均勻分成兩個不重疊的子集S0和S1,如表1所示。對于每個數(shù)據(jù)集,我們在兩個對應(yīng)子集劃分上開展交叉驗證(Cross?Validation),將其中一個子集選定為訓練類Ctrain,則對應(yīng)另一個為測試類Ctest。
表1 S3DIS和ScanNet數(shù)據(jù)集上不同劃分下的測試類別名稱
對原始點云數(shù)據(jù)進行預處理,我們在xy平面上應(yīng)用滑動窗口將S3DIS 和ScanNet 數(shù)據(jù)集上室內(nèi)房間分別劃分為7547和36350個1 m×1 m的點云塊,并在每塊上隨機采樣2048 個點(包含xyz坐標和RGB 顏色)作為輸入。采用直推式設(shè)置(transductive setting)來構(gòu)建N?wayK?shot 分割實驗,對于從訓練集采樣一個episode 的過程,我們從訓練類Ctrain中隨機選擇包含N個類別(其中K個樣本(≥100個點)點云來形成支撐集和查詢集,其中僅N個類別包含語義標注,其他類別被無差別視為背景。測試集epi?sodes 采用相似方式構(gòu)建,但遍歷所有在測試類Ctest上隨機選擇N個類別的組合(每種組合采樣100 個episodes)。我們采用平均交并比(mean in?tersection?over?union,mIoU)作為衡量指標。
為了進行公平的比較,我們采用與Zhao等[15]和Mao 等[16]相同的特征嵌入網(wǎng)絡(luò)DGCNN[3](不加入w/o 及加入w/SAN 模塊,SAN 模塊被用于提取點云全局上下文語義關(guān)聯(lián))。首先在訓練集上采用批量大小(batch size)32,學習率0.001,Adam 優(yōu)化器對網(wǎng)絡(luò)(特征嵌入網(wǎng)絡(luò)+3 層MLP 層用于逐點分割)預訓練100 輪。預訓練結(jié)束后,加載預訓練嵌入網(wǎng)絡(luò)權(quán)重,并對特征嵌入模塊和其他網(wǎng)絡(luò)模塊分別采用初始學習率0.0001 和0.001,Adam 優(yōu)化器訓練迭代40000 次,在每5000次迭代訓練后,學習率衰減一半。
3.3.1 定量實驗結(jié)果分析
表2 和表3 展示了在S3DIS 和ScanNet 數(shù)據(jù)集上不同少樣本設(shè)置下我們方法和當前先進方法的分割性能對比。從表中可以看到,本文方法的性能在各種實驗設(shè)置下均顯著一致地優(yōu)于當前最先進的方法,尤其是在S3DIS 數(shù)據(jù)集上2?way 1?shot和3?way 5?hot設(shè)置下(DGCNN w/SAN)本文方法分別取得了61.09%和62.08%的mIoU,比次好的BFG高出5.30%和5.65%。由此證明本文方法能夠充分利用有限支撐集信息構(gòu)建更加高質(zhì)量的具有類內(nèi)代表性和類間區(qū)分性的原型表示,從而能夠在非參數(shù)化度量中提高查詢點云分割的精度。值得注意的是,ScanNet 數(shù)據(jù)集上的實驗性能普遍低于S3DIS數(shù)據(jù)集上的結(jié)果,這是由于ScanNet 數(shù)據(jù)集場景和類別更多樣,網(wǎng)絡(luò)會更多受到復雜背景分布的影響。
表2 S3DIS數(shù)據(jù)集上的少樣本3D點云語義分割性能對比
表3 ScanNet數(shù)據(jù)集上的少樣本3D點云語義分割性能對比
3.3.2 定性實驗結(jié)果分析
圖2 展示了本文方法與ProtoNet(基線模型)及Ground Truth(真值標簽)在S3DIS和ScanNet數(shù)據(jù)集上2?way 1?shot 少樣本點云語義分割設(shè)置下的可視化結(jié)果對比。從圖2可以看出,本文方法在兩個數(shù)據(jù)集上多個復雜場景中的表現(xiàn)均明顯優(yōu)于基線模型,且在一些具有精細結(jié)構(gòu)的類別(如S3DIS上的table類及ScanNet上的bathtub類)上具有更加接近于標簽的更好分割效果。
圖2 本文方法與基線模型ProtoNet及真值標簽Ground Truth的可視化對比
3.4.1 單個模塊的貢獻分析
表4 展示了所提出不同模塊在S3DIS 數(shù)據(jù)集上2?way 1?shot 設(shè)置下的單獨貢獻性能對比,我們將ProtoNet[15]作為我們的基線模型(baseline),我們在其上加入模塊來驗證性能。從表中可以看出加入單獨模塊均會使模型平均mIoU 性能得到提升,加入所有模塊時,模型相對于基線顯著提升了9.65%。對比(1),(2)和(3)可以看到,自對齊正則化SAR 和跨對齊正則化CAR 分別平均獲得了1.20%和3.33%的性能提升。此外,從(4)(5)(6)中可觀察到,在加入對齊正則化的同時加入矯正優(yōu)化PRR 模塊能夠更有效改善模型性能,這是由于對于某一個具體語義類而言,來自查詢集中其更多的嵌入特征被用于消除類內(nèi)的偏見及構(gòu)建更豐富的原型表示。
表4 本文模塊在S3DIS數(shù)據(jù)集上2?way 1?shot少樣本實驗設(shè)置下的單獨貢獻作用對比
3.4.2 模型參數(shù)量、計算量及前向推理時間對比
表5展示了模型參數(shù)量、計算量、前向推理時間以及mIoU 的對比。其中,平均mIoU(%)來自S3DIS 數(shù)據(jù)集上2?way 1?shot 少樣本實驗設(shè)置下的實驗結(jié)果。
表5 模型參數(shù)量#params、計算量FLOPs、前向推理時間以及平均mIoU性能的對比
從表5 可以看到,基線模型ProtoNet、MPTI網(wǎng)絡(luò)和本文方法的參數(shù)量及計算量是相同的,但前向推理時間卻存在較明顯的差異。這是由于三者方法均采用相同的特征嵌入網(wǎng)絡(luò)和非參數(shù)化度量學習,因此模型參數(shù)化的大小和計算量均相同。但由于MPTI[15]方法根據(jù)每個語義類的點云局部結(jié)構(gòu)構(gòu)建了多原型(相對于基線和本文方法的單個原型),并通過k?NN 圖來將多原型標簽在鄰域點間傳播(替代了簡單地距離匹配計算),因此雖然取得了3.42%的性能提升但其前向推理過程仍然是極其耗時的,遠遠高出基線538.31 ms。相比之下,本文方法的推理效率更高,通過僅犧牲掉0.18 ms 的推理時間(原型矯正優(yōu)化中產(chǎn)生的消耗)換取了9.65%的性能提升,充分說明了本文模型的優(yōu)越性。
本文提出了一種基于原型對齊正則化與矯正優(yōu)化的少樣本3D 點云語義分割框架,旨在原型網(wǎng)絡(luò)的基礎(chǔ)上更充分利用有限支撐集信息完成點云的逐點查詢分割。通過對點云視覺原型應(yīng)用自對齊正則化、跨對齊正則化以及矯正優(yōu)化以有效構(gòu)建了對每個語義類具有類內(nèi)代表性和類間區(qū)別性的高質(zhì)量魯棒原型表征,從而更好地完成非參數(shù)化度量學習并遷移泛化到對新類的識別上。在S3DIS 和ScanNet 兩個公開的3D點云語義分割數(shù)據(jù)集上不同少樣本設(shè)置下的實驗證明了我們提出的方法相對于當前先進方法的性能優(yōu)越性。