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