邱云飛,牛佳璐,2*
1.遼寧工程技術(shù)大學(xué)軟件學(xué)院,葫蘆島 125100;2.中國科學(xué)院海西研究院泉州裝備制造研究所,泉州 362216
3D 點(diǎn)云在自動駕駛(Li 等,2021)、導(dǎo)航定位(Liu 和Siegwant,2014)、AR(augmented reality)看房(Liu等,2021)和模型重建(Wu等,2017)等諸多領(lǐng)域得到廣泛應(yīng)用。近年來,針對點(diǎn)云的研究有很多,如對其進(jìn)行分類(Uy 等,2019;戴莫凡 等,2022)、配準(zhǔn)(Yang 等,2021)、分割(邱云飛和朱夢影,2021)、補(bǔ)全和重建(Huang 等,2020;Mandikal 和Radhakrishnan,2019)等。其中,點(diǎn)云分割需要了解全局幾何結(jié)構(gòu)和每個點(diǎn)的細(xì)粒度細(xì)節(jié),根據(jù)分割粒度,分為語義分割(場景級別)、實例分割(對象級別)和部件分割(部件級別)。語義分割較為常用,對于一個大型場景可以分割出其內(nèi)部細(xì)節(jié)特征,能夠很好地反映事物面貌,但是由于點(diǎn)云的不規(guī)則性,處理點(diǎn)云數(shù)據(jù)并將其應(yīng)用是很有挑戰(zhàn)性的,對此,點(diǎn)云的語義分割有兩種研究范式,即基于投影的方法和基于點(diǎn)的方法。
基于投影的網(wǎng)絡(luò)很多,最早的研究是用多視圖(Guerry 等,2017)的方法表示點(diǎn)云,先從多個虛擬攝像機(jī)試圖將3D 點(diǎn)云投影到2D 平面上,即在多個相機(jī)位置生成點(diǎn)云的多個RGB 和深度圖像,然后使用2D 分割網(wǎng)絡(luò)對這些數(shù)據(jù)進(jìn)行逐像素標(biāo)記,每個點(diǎn)的最終語義標(biāo)簽是通過將預(yù)測的分?jǐn)?shù)使用殘差網(wǎng)絡(luò)融合到不同的視圖上而獲得的。為了實現(xiàn)點(diǎn)云的快速準(zhǔn)確分割,Wu等人(2018)又提出了用球形表示的點(diǎn)云數(shù)據(jù)的方法,是一種基于SqueezeNet 和條件隨機(jī)場(conditional random field,CRF)的端到端的網(wǎng)絡(luò),雖然與多視圖投影相比,球形投影保留了更多信息,但是也不可避免地帶來一些問題,例如離散化誤差和遮擋。為了解決這樣的問題,Riegler 等人(2017)提出體素化的處理方式,先將點(diǎn)云劃分為一組占用體素,然后傳輸?shù)?D 卷積網(wǎng)絡(luò)中以進(jìn)行體素分割,為體素內(nèi)的所有點(diǎn)云分配與體素相同的語義標(biāo)簽,另外Tchapmi等人(2017)提出的SEGCloud實現(xiàn)細(xì)粒度與全局一致的語義分割,這種方法引入了確定性三線性插值法,將3D-全卷積神經(jīng)網(wǎng)絡(luò)(3D-full convolutional neural network,3D-FCNN)生成的粗體素預(yù)測映射回點(diǎn)云,然后使用全連接來增強(qiáng)這些推斷出的點(diǎn)的標(biāo)簽的空間一致性。但是體積表示是稀疏的,因為非零值的數(shù)量只占很小的百分比,而且由于體素是空間的離散表示,因此該方法需要高分辨率的網(wǎng)格,對存儲器的容量要求較高,且在稀疏的數(shù)據(jù)上應(yīng)用密集的卷積神經(jīng)網(wǎng)絡(luò)會使實驗效率低下??傮w而言,體積表示保留了3D 點(diǎn)云的鄰域結(jié)構(gòu),而且它還能直接應(yīng)用3D 卷積,使得網(wǎng)絡(luò)性能提高,但是通常高分辨率會導(dǎo)致較高的內(nèi)存占用率和運(yùn)算成本,低分辨率又會導(dǎo)致細(xì)節(jié)丟失,在實際應(yīng)用中選擇合適的網(wǎng)格分辨率并非易事。
基于點(diǎn)的網(wǎng)絡(luò)是直接在不規(guī)則的點(diǎn)云上工作的,因為點(diǎn)云的無序性和無組織性,直接應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)是不行的,因為標(biāo)準(zhǔn)的深度神經(jīng)網(wǎng)絡(luò)模型需要具有規(guī)則結(jié)構(gòu)的輸入數(shù)據(jù),為此Qi 等人(2017a)開創(chuàng)性地提出了PointNet,該網(wǎng)絡(luò)使用共享MLP(multilayer perceptron)學(xué)習(xí)每點(diǎn)的特征并且使用最大池化收集全局特征,但忽視了點(diǎn)云的局部信息,沒考慮鄰域特征,因此,PointNet++對它進(jìn)行了改進(jìn)(Qi 等,2017b),增加了對局部鄰域信息的采樣特征提取,將PointNet分層應(yīng)用到點(diǎn)云的多個子集上,不僅能夠提取到局部信息,還綜合了PointNet 提取全局信息的優(yōu)點(diǎn),然而它忽略了點(diǎn)之間的空間立體幾何關(guān)系。為了解決這個問題,Phan等人(2018)和Wang 等人(2019b)在動態(tài)圖神經(jīng)網(wǎng)絡(luò)(dynamic graph CNN,DGCNN)中提出了邊緣卷積(edge convolution,EdgeConv),通過建立點(diǎn)與點(diǎn)之間的拓?fù)潢P(guān)系,增強(qiáng)數(shù)據(jù)表征能力,設(shè)計了邊緣卷積,既可以保持點(diǎn)云的排列不變性,又能捕獲局部幾何特征。
以上這些方法的訓(xùn)練很大程度上依賴于大量有標(biāo)簽的數(shù)據(jù),收集時會有很高的時間、人力成本,且都是閉集假設(shè),在通過神經(jīng)網(wǎng)絡(luò)對模型訓(xùn)練后,泛化性差,很難用這個模型預(yù)測一些新的未知語義類別。與之形成鮮明對比的是,人類卻可以在只看到一個類別的幾個例子的情況下就能從很多類別中分辨出這個之前從不認(rèn)識的新類別。這種對比激發(fā)了人們對小樣本學(xué)習(xí)(Puri等,2020)問題的研究,其目的是在僅有一個或幾個標(biāo)記樣本的情況下,就能夠在測試集中準(zhǔn)確地分割出新的未知語義類的目標(biāo)。
單樣本學(xué)習(xí)的概念很早就由Li 等人(2003)提出:當(dāng)新的類別只有一個或幾個帶標(biāo)簽的樣本時,已經(jīng)學(xué)習(xí)到的舊類別可以幫助預(yù)測新類別。零樣本學(xué)習(xí)(Socher等,2013;Cheraghian 等,2020)是指在沒有訓(xùn)練數(shù)據(jù)的情況下,利用類別的屬性等相關(guān)信息訓(xùn)練模型,然后識別出新類別。在小樣本學(xué)習(xí)中由于樣本量不夠?qū)е陆?jīng)驗風(fēng)險最小化帶來的最優(yōu)解和真實解之間的誤差會變大,因此必須使用先驗知識來解決此問題。
根據(jù)利用先驗知識的方法的不同,一般將小樣本學(xué)習(xí)分為基于模型微調(diào)、基于數(shù)據(jù)增強(qiáng)和基于遷移學(xué)習(xí)這3 種?;谀P臀⒄{(diào)的方法是在含有大量數(shù)據(jù)的源數(shù)據(jù)集上訓(xùn)練一個分類模型,然后在含有少量數(shù)據(jù)的目標(biāo)數(shù)據(jù)集上對模型進(jìn)行微調(diào),但容易導(dǎo)致模型過擬合,因為少量數(shù)據(jù)不能很好地反映大量數(shù)據(jù)的真實分布情況。因此,基于數(shù)據(jù)增強(qiáng)和基于遷移學(xué)習(xí)的方法相繼提出(汪榮貴 等,2019;Wang等,2020)。基于數(shù)據(jù)增強(qiáng)的方法是利用輔助數(shù)據(jù)集或輔助信息來擴(kuò)充目標(biāo)數(shù)據(jù)集或增強(qiáng)目標(biāo)數(shù)據(jù)集中的樣本的特征,從而使模型能更好地學(xué)習(xí)特征;基于遷移學(xué)習(xí)的方法是目前比較前沿的方法,將已經(jīng)學(xué)會的知識遷移到一個新的領(lǐng)域中,其中元學(xué)習(xí)(Hospedales等,2022)的應(yīng)用最為廣泛。
針對點(diǎn)云分割需要大量監(jiān)督信息的局限性,本文提出采用融合原型對齊和小樣本元學(xué)習(xí)的策略對點(diǎn)云進(jìn)行語義分割,將訓(xùn)練好的初始化模型經(jīng)過少量樣本微調(diào)后輸出分割結(jié)果,并將優(yōu)化好的最終模型應(yīng)用在閩南古建筑數(shù)據(jù)集上,由于標(biāo)記樣本十分稀少,可在驗證泛化性能的同時應(yīng)用于閩南古建筑的統(tǒng)計、修繕等研究工作。實驗證得本文方法在完成小樣本點(diǎn)云分割任務(wù)時,模型的泛化能力有所提升,并在閩南古建筑數(shù)據(jù)集上有一定的分割效果。
將元學(xué)習(xí)與原型對齊(Wang 等,2019a)的融合算法運(yùn)用于小樣本點(diǎn)云分割上,原型對齊算法可以校對模型學(xué)習(xí)完的原型,從而更好地學(xué)習(xí)支持集的信息,以此來提高小樣本學(xué)習(xí)的泛化能力。
如圖1 所示,對數(shù)據(jù)集進(jìn)行預(yù)處理后投入元訓(xùn)練,利用元訓(xùn)練過程中的特征提取器提取原型,并運(yùn)用原型對齊算法優(yōu)化模型,直至達(dá)到能分割出理想效果的最優(yōu)模型。
圖1 總體網(wǎng)絡(luò)框架圖Fig.1 Overall network framework diagram
圖2 為本文提出的融合原型對齊的元訓(xùn)練過程的算法流程圖。元訓(xùn)練時,重新制作數(shù)據(jù)集為N-wayK-shot的模式,然后用特征提取器分別提取支持集和查詢集的特征,得到每個類的原型,根據(jù)查詢集特征與支持集求得的原型之間的歐氏距離來分割查詢集點(diǎn)云,然后逆向回溯訓(xùn)練過程,利用查詢集特征與分割掩碼結(jié)合組成的“新支持集”通過特征提取器得到的新原型來分割原支持集的點(diǎn)云,通過這樣的校對方式能夠更好地學(xué)習(xí)支持集的特征,實驗結(jié)合正、逆訓(xùn)練過程的交叉熵?fù)p失進(jìn)行梯度下降優(yōu)化參數(shù)直至最優(yōu),將訓(xùn)練好的初始模型微調(diào)后,應(yīng)用于只有少量樣本的新類的預(yù)測中。
圖2 元訓(xùn)練過程的算法流程圖Fig.2 Algorithm flow chart of meta-training process
模型在訓(xùn)練過程中采用元學(xué)習(xí)的算法,測試集與訓(xùn)練集類別互不相交,訓(xùn)練與測試都區(qū)分支持集和查詢集,均是由支持集訓(xùn)練—查詢集測試的訓(xùn)練模式,并且在訓(xùn)練過程中融合原型對齊的算法來校對支持集的原型,從而取得更好的分割效果。
小樣本學(xué)習(xí)(few shot learning,F(xiàn)SL)的目標(biāo)是開發(fā)一個分類器,它能夠?qū)⒑苌俚臉颖就茝V到新的類(例如最常見的一次使用1 個或5 個樣本),特別是基于度量學(xué)習(xí)的方法,在推理過程中可以直接推斷出不可見類的標(biāo)簽,具備泛化能力,目前較前沿的如Vinyals 等人(2016)提出的匹配網(wǎng)絡(luò)(matching network)和Snell 等人(2017)提出的原型網(wǎng)絡(luò)(prototypical network),兩種方法都是利用深度神經(jīng)網(wǎng)絡(luò)將支持集和查詢集映射到嵌入空間中,然后利用非參數(shù)方法對查詢集進(jìn)行類預(yù)測,區(qū)別在于表示類的方式不同。本文利用原型思想的同時還使用原型對齊的方法來增強(qiáng)對支持集的學(xué)習(xí)能力,這樣能夠更好地利用支持集的信息,提高模型的泛化能力。
元學(xué)習(xí)(meta-learning)的方法不僅在目標(biāo)任務(wù)上訓(xùn)練模型,并且從許多不同的任務(wù)中學(xué)習(xí)元知識,當(dāng)一個新的任務(wù)到來時,利用元知識調(diào)整模型參數(shù),使模型能夠快速收斂。用一部分類作為訓(xùn)練集Dtrain,不相交的另一部分類作為測試集Dtest,以此來檢驗元學(xué)習(xí)者的泛化能力,Dtrain和Dtest都包含支持集S和查詢集Q。
支持集訓(xùn)練—查詢集驗證,在元訓(xùn)練過程中校對分割效果,元學(xué)習(xí)主要是學(xué)習(xí)這種“學(xué)習(xí)分割”的能力,主要用于分割新類,即使是沒有學(xué)習(xí)過的樣本,也依然可以在只學(xué)習(xí)很少的樣本后做出對應(yīng)的分割。
元學(xué)習(xí)主張跨任務(wù)學(xué)習(xí),然后適應(yīng)新任務(wù)。其目的是在任務(wù)級別上學(xué)習(xí)而不是在某類樣本上學(xué)習(xí),為了學(xué)習(xí)到任務(wù)未知的系統(tǒng)能力而不是學(xué)出特定于任務(wù)的模型。元學(xué)習(xí)是一種高級的跨任務(wù)學(xué)習(xí)算法,而不是特定的小樣本學(xué)習(xí)(FSL)模型。任務(wù)型訓(xùn)練模式如圖3所示。
圖3 任務(wù)型訓(xùn)練模式圖Fig.3 Task-based training pattern diagram
元學(xué)習(xí)分為元訓(xùn)練(meta-training)和元測試(meta-testing),這兩個階段都有支持集和查詢集,但是彼此的標(biāo)簽空間是不相交的,元學(xué)習(xí)示意圖如圖4所示。
圖4 元學(xué)習(xí)示意圖Fig.4 Meta-learning diagram
元學(xué)習(xí)過程中的跨任務(wù)學(xué)習(xí)通常會被分成N-wayK-shot 問題,每個任務(wù)由N-wayK-shot 的數(shù)據(jù)模式組成,這里的N指的是元測試的過程中要測試的類別數(shù),K指的是元測試的過程中每一類中有標(biāo)簽的樣本數(shù)。常見的是1-way 1-shot和1-way 5-shot。N-wayK-shot示意圖如圖5所示。
圖5 N-way K-shot示意圖Fig.5 N-way K-shot diagram
訓(xùn)練集Dtrain與測試集Dtest都包含支持集S與查詢集Q,且訓(xùn)練集與測試集的類別是不相交的,表示為和Ntest分別表示訓(xùn)練和測試的集數(shù),每個(Si,Qi)記為1 個episode,相當(dāng)于1 個mini-batch,1 個episode 包含1 個N-wayK-shot的分割任務(wù),對于每個測試集Dtest,在給定支持集Si的情況下,在查詢集Qi上評估分割模型。
原型學(xué)習(xí)就是對支持集與查詢集通過網(wǎng)絡(luò)后得到的特征,進(jìn)行平均池化,得到每一類的原型,由一個原型來代表一個類。
計算它們的特征嵌入的中心,作為每一類樣本的原型(prototype),接著基于這些原型,使得新的樣本X通過計算自身的嵌入特征與這些原型的距離來實現(xiàn)最終的分割。類原型示意圖如圖6所示。
圖6 類原型示意圖Fig.6 Schematic diagram of class prototype
分割可以看做是在每個空間位置上的分類,計算每個空間位置上的查詢特征向量與每個原型之間的距離,然后再在此距離上應(yīng)用一個softmax 函數(shù)來產(chǎn)生一個分割的概率映射(包括背景),具體來說,給定一個距離函數(shù)d,求得原型P={Pc|c∈Ci}∪{Pbg}和查詢集特征Fq之間的距離,對于每一個pj∈P,j表示某個類別,概率映射計算為
預(yù)測的分割掩碼具體計算為
得出分割的概率映射后,計算分割損失Lseg,具體為
式中,Mq表示查詢集的每個空間位置的點(diǎn)的地面真實分割掩碼表示每個空間位置的點(diǎn)所對應(yīng)的概率映射,N為所有空間位置的點(diǎn)的總數(shù),通過對上述Lseg進(jìn)行優(yōu)化,為每個類得出最合適的原型,從而求得好的分割結(jié)果。
直觀地說,如果模型可以使用從支持集中提取的原型預(yù)測出查詢集的良好分割掩碼,那么基于預(yù)測出的掩碼從查詢集中學(xué)習(xí)到的原型也應(yīng)該能夠很好地分割支持集的數(shù)據(jù)。因此,原型對齊算法(prototype alignment algorithm,PAR)鼓勵訓(xùn)練所得到的分割模型逆向進(jìn)行小樣本分割。原型對齊算法流程如圖7 所示。其中,GT 為ground truth,Mask 為分割后的查詢集特征掩碼,L為損失函數(shù),首先將支持集和查詢集映射到嵌入特征中,并學(xué)習(xí)每個類的原型,然后通過將查詢集的特征匹配到嵌入空間中最近的原型來對查詢集進(jìn)行分割。
原型對齊算法是對上述訓(xùn)練過程進(jìn)行逆訓(xùn)練,即將查詢集特征和所預(yù)測的分割掩碼作為新的“支持集”,學(xué)習(xí)其原型并分割原支持集數(shù)據(jù),使得模型能夠更好地學(xué)習(xí)支持集的信息,注意,這里所有的支持集和查詢集數(shù)據(jù)都來自訓(xùn)練集Dtrain。算法能夠從支持集中提取魯棒的原型,并使用非參數(shù)度量距離的方法來執(zhí)行分割。
式中,F(xiàn)s表示支持集特征。
原型對齊損失LPAR的計算式為
式中,Ms表示支持集的每個空間位置的點(diǎn)的地面真實分割掩碼表示每個空間位置的點(diǎn)所對應(yīng)的概率映射,模型總損失是L=βLseg+λLPAR,λ=0簡化為沒有PAR 的模型,在本實驗中,多次調(diào)試后,最終β=0.7,λ=0.3。
實驗環(huán)境為Windows 10 操作系統(tǒng),PyCharm 軟件開發(fā)平臺,Python 3.9 編程語言,TensorFlow 編程框架,GPU 為NVIDIA GeForce RTX 6000,內(nèi)存為24 GB。
實驗采用基準(zhǔn)數(shù)據(jù)集S3DIS(Stanford largescale 3D indoor spaces dataset)(Armeni 等,2017)和ScanNe(tDai 等,2017),先在S3DIS 數(shù)據(jù)集上訓(xùn)練初始模型,然后在ScanNet 數(shù)據(jù)集上檢驗?zāi)P头夯芰?,最終應(yīng)用到自己采集并標(biāo)注的閩南古建筑的點(diǎn)云數(shù)據(jù)集上進(jìn)行實踐應(yīng)用。評價指標(biāo)為平均交并比(mean intersection over union,mIoU),這是目前語義分割應(yīng)用較多的標(biāo)準(zhǔn)度量。
4.2.1 S3DIS和ScanNet數(shù)據(jù)集
S3DIS 數(shù)據(jù)集共有6 個大的Area 場景,271 個小場景,包含會議室、走廊和辦公室等,共13 個類別,每個小場景的點(diǎn)云由幾萬個點(diǎn)組成,每個點(diǎn)包含9個維度(x,y,z,r,g,b,xˉ,yˉ,zˉ),數(shù)據(jù)太大不能直接送入網(wǎng)絡(luò)訓(xùn)練和測試,因此在采樣前先將S3DIS 數(shù)據(jù)集按照房間信息裁剪成單個完整的房間以供后續(xù)處理,然后將房間沿著x軸和y軸進(jìn)行1 m × 1 m 的分塊。ScanNet 數(shù)據(jù)集共有1 513 個采集場景數(shù)據(jù),其中1 201 個場景用于訓(xùn)練,312 個場景用于測試,共21 個類別,每個場景中點(diǎn)數(shù)不等,且場景的點(diǎn)云都較為稀疏,而點(diǎn)云的稀疏與密集會影響類別特征的提取,因此切塊尺寸調(diào)整為4 m × 4 m,避免裁剪過程中缺失類別的整體形狀,比如桌子只裁出一個角,所以采用重疊裁剪再進(jìn)行隨機(jī)2 048采樣。
4.2.2 閩南古建筑數(shù)據(jù)集
閩南古建筑數(shù)據(jù)集由泉州裝備制造研究所采集提供,福建有很多古舊建筑,將3D 激光相機(jī)所掃描的點(diǎn)云數(shù)據(jù)加以利用研究,有助于古建筑復(fù)原或改造等工作。實驗中用到兩個大場景,鴻蘭堂和廟上村,如圖8所示,鴻蘭堂共18 555 099個點(diǎn),廟上村共16 303 272 個點(diǎn),由于室外場景太大且點(diǎn)云密集,因此在訓(xùn)練與測試時切分為幾個小場景來實驗。
圖8 閩南古建筑數(shù)據(jù)集場景圖Fig.8 Scene map of the Minnan ancient buildings dataset
DGCNN(Phan 等,2018;Wang 等,2019b)提出了邊緣卷積(EdgeConv),得到描述點(diǎn)與其鄰域點(diǎn)之間的邊緣特征,顯式地構(gòu)造了一個局部圖并學(xué)習(xí)邊的嵌入,DGCNN 的每一層采樣根據(jù)距離度量的方式來動態(tài)地選擇節(jié)點(diǎn)的近鄰,通過動態(tài)更新采樣層之間的圖結(jié)構(gòu)來更好地學(xué)習(xí)點(diǎn)集的語義信息,對于點(diǎn)云信息能夠有較充分的學(xué)習(xí)。設(shè)點(diǎn)云中有n個點(diǎn),每個點(diǎn)由x表示,x=x1,…,xn,使用K最近鄰算法(K-nearest neighbor,KNN)將x構(gòu)造為圖G=(V,E),其中V=(1,…,n),E∈V×V,設(shè) 點(diǎn)xi與xj之間的邊緣特征為eij,eij=h(xi,xj),其中,h為特征提取函數(shù)。
計算點(diǎn)xi與其鄰接點(diǎn)xj的邊緣特征eij,eij一般來說是多維的,將與xi相鄰的k個點(diǎn)的邊緣信息綜合后更新xi的特征(k=20),其余點(diǎn)均按照此方法更新自己的特征值,用xi與其鄰域點(diǎn)xj的邊緣特征eij對樣本自身進(jìn)行更新,然后送入卷積層提取特征的過程稱為EdgeConv,如圖9所示。
圖9 邊緣卷積示意圖Fig.9 Schematic diagram of edge convolution
DGCNN 采 用h(xi,xj)=h(xi,xj-xi)作為邊緣特征提取函數(shù),既考慮全局特征也考慮局部特征。為了避免小樣本訓(xùn)練時易導(dǎo)致的過擬合,同時保證能充分學(xué)習(xí)到點(diǎn)云信息,故采用2 個EdgeConv 層與6 個MLP 交叉構(gòu)造DGCNN 網(wǎng)絡(luò),作為本實驗的特征提取器,骨干網(wǎng)絡(luò)結(jié)構(gòu)如圖10 所示,其中ED(Edistance)代表點(diǎn)之間的距離。
圖10 骨干網(wǎng)絡(luò)結(jié)構(gòu)Fig.10 Backbone network structure
4.4.1 1-way 5-shot和2-way 2-shot點(diǎn)云分割
分割1-way,提出的方法與原型網(wǎng)絡(luò)在S3DIS 數(shù)據(jù)集(Armeni 等,2017)上比較,切塊大小為1 m ×1 m,結(jié)果如表1所示。由表1可知,綜合所有類別的分割結(jié)果,本文方法的分割mIoU 相比原型網(wǎng)絡(luò)平均提高了0.06,分割floor 時mIoU 最高,達(dá)到了0.95;分割table 時mIoU 達(dá)到0.92;分割wall 時mIoU 達(dá)到0.73,最高提高了0.12,最低提高了0.04。mIoU 相比匹配網(wǎng)絡(luò)平均提高了0.33,匹配網(wǎng)絡(luò)因為是將類別的所有樣本作為該類特征,運(yùn)行過程中產(chǎn)生的數(shù)據(jù)較大,且每個點(diǎn)云的特征值都需要與分割出的特征值進(jìn)行近鄰加權(quán),所以運(yùn)算耗時久,且不能很好地反映類別的根本性特征,分割準(zhǔn)確性與泛化性較差,因此分割2-way時不考慮匹配網(wǎng)絡(luò)。
表1 1-way 5-shot和2-way 2-shot分割結(jié)果Table 1 Segmentation results of 1-way 5-shot and 2-way 2-shot
圖11 為1-way 5-shot 分割結(jié)果對比圖。由圖11可知,針對單一類別的小樣本點(diǎn)云分割,模型學(xué)習(xí)不同類別的難易程度不同,因此分割結(jié)果不同,提出的方法在每塊點(diǎn)云的學(xué)習(xí)上,注重顆粒度的同時關(guān)注了整體結(jié)構(gòu),運(yùn)用原型對齊后使得學(xué)習(xí)效果提高,很好地辨識了類別特征,應(yīng)用于點(diǎn)云場景的泛化能力與分割準(zhǔn)確性有所提高。
分割2-way,因為匹配網(wǎng)絡(luò)效果太差,考慮與原型網(wǎng)絡(luò)對比,圖12 從3 個側(cè)重點(diǎn)(整體(ceiling 和floor)、地板(floor)、天花板(ceiling))分別展示了模型分割效果,且由表1 可知,方法比原型網(wǎng)絡(luò)對于其他類別的抗干擾能力強(qiáng),mIoU 相比原型網(wǎng)絡(luò)提高了0.03。本文方法在學(xué)習(xí)并分割多個類別時,互相校對各自類別的整體結(jié)構(gòu),使得分割準(zhǔn)確度更高,尤其在平面結(jié)構(gòu)上更為凸顯。
圖12 2-way 2-shot分割結(jié)果對比圖Fig.12 Segmentation result comparison diagram of 2-way 2-shot
4.4.2 特征提取器對比評估
在S3DIS 數(shù)據(jù)集(Armeni 等,2017)上對比兩個特征提取器的學(xué)習(xí)能力,結(jié)果如表2 和圖13 所示??梢钥闯?,DGCNN(Phan 等,2018;Wang 等,2019b)作為特征提取器的分割效果較好,分割ceiling 和floor的mIoU相比于PointNet++(Qi等,2017b)分別提高了0.05和0.30。PointNet++雖然有考慮局部鄰域信息和整體特征,但同樣1 m × 1 m 切塊后隨機(jī)采樣2 048 個點(diǎn)時樣本特征提取不足,分割效果極差,改為采樣4 096 后才勉強(qiáng)有分割效果。但是DGCNN中提出的EdgeConv,能夠得到描述點(diǎn)與其鄰域點(diǎn)之間的邊緣特征,且每一層采樣根據(jù)距離度量的方式動態(tài)地選擇節(jié)點(diǎn)的近鄰,可以更好地學(xué)習(xí)點(diǎn)集的語義信息。本文的特征提取器在DGCNN 的基礎(chǔ)上進(jìn)行優(yōu)化調(diào)整后效果顯著。
4.4.3 ScanNet數(shù)據(jù)集的1-way 5-shot點(diǎn)云分割
ScanNet數(shù)據(jù)集(Dai等,2017)中,場景點(diǎn)云較為稀疏,點(diǎn)云的疏密程度會影響類別特征的提取,因此切塊大小調(diào)整為4 m × 4 m,避免裁剪過程中缺失類別的整體特征,且采用重疊裁剪再進(jìn)行隨機(jī) 2 048采樣,1-way 5-shot 分割結(jié)果如表3 和圖14 所示,分割mIoU平均在0.63左右。
圖14 ScanNet數(shù)據(jù)集分割結(jié)果Fig.14 The segmentation result of ScanNet dataset
實驗結(jié)果表明,模型確實具備很好的泛化能力,在點(diǎn)云數(shù)量特別稀疏的情況下,依然可以在僅學(xué)習(xí)少量樣本后的基礎(chǔ)上分割出新類,分割不同類別時因其學(xué)習(xí)的難易程度不同,使得分割效果不同,比如桌子和椅子較難區(qū)分,而沙發(fā)與地面較易區(qū)分,這也是小樣本分割一直需要努力攻克的難點(diǎn):在面對難區(qū)分的類別時,僅用少量樣本學(xué)習(xí)特征如何取得準(zhǔn)確度更高的分割效果。本文方法在此挑戰(zhàn)下做的努力便是采用原型對齊算法,在支持集的特征提取過程中進(jìn)行回溯校對以獲取更好的支持集信息來分割查詢集點(diǎn)云。
4.4.4 閩南古建筑數(shù)據(jù)集的1-way 5-shot點(diǎn)云分割將模型應(yīng)用在室外的閩南古建筑數(shù)據(jù)集上,驗證模型的泛化能力,點(diǎn)云場景很大且點(diǎn)集的信息密集,因此選用5 m × 5 m 的塊來切分大場景,切分為如圖15 的幾個場景做測試,并且每一塊切分后的小場景再隨機(jī)采樣2 048 個點(diǎn)作為微調(diào)樣本,1-way 5-shot分割結(jié)果如表4所示,分割mIoU在0.51左右,通過少量樣本分割出了新類,雖然是自己采集的數(shù)據(jù)且人為標(biāo)注,但模型依然能很好地分割出房屋與地面的區(qū)別,證明本文方法不僅可以分割出室內(nèi)場景點(diǎn)云,而且在元訓(xùn)練階段測試室外場景的新類時,取得了一定的分割效果。
表4 閩南古建筑數(shù)據(jù)集分割結(jié)果Table 4 The segmentation result of Minnan ancient buildings
圖15 閩南古建筑數(shù)據(jù)集分割結(jié)果Fig.15 The segmentation result of Minnan ancient buildings dataset
針對點(diǎn)云分割需要大量監(jiān)督信息所造成的時間成本高、計算效率低的問題,提出采用融合原型對齊的小樣本元學(xué)習(xí)算法來對點(diǎn)云進(jìn)行語義分割。本文能夠在僅學(xué)習(xí)少量新類樣本的情況下分割出該新類,不僅可以減少實驗對監(jiān)督信息的需求,而且在元訓(xùn)練階段融合原型對齊算法可以更好地學(xué)習(xí)支持集的信息,從而得到一個具有很好的泛化能力的初始模型,在元測試階段用少量樣本進(jìn)行微調(diào)后對查詢集進(jìn)行分割預(yù)測,能夠提高元學(xué)習(xí)者的泛化能力與分割準(zhǔn)確性。
實驗通過與原型網(wǎng)絡(luò)和匹配網(wǎng)絡(luò)在S3DIS 數(shù)據(jù)集上的1-way 和2-way 的分割結(jié)果對比可知,本文方法可以顯著提高對點(diǎn)云的分割準(zhǔn)確性以及對新類分割的泛化性,且對于分割多個類別時,抗干擾性很強(qiáng)。實驗分別將DGCNN 與PointNet++作為特征提取器時的分割結(jié)果進(jìn)行對比,可知結(jié)合邊緣卷積的DGCNN 能夠更好地學(xué)習(xí)點(diǎn)云的全局特征和局部幾何結(jié)構(gòu)。實驗通過將模型應(yīng)用在ScanNet 數(shù)據(jù)集和室外的閩南古建筑數(shù)據(jù)集上進(jìn)行分割,分割結(jié)果顯示,本文方法在對新類的學(xué)習(xí)上具有很好的泛化能力。然而,實驗結(jié)果中也存在某些類別的分割精度較低的現(xiàn)象,經(jīng)過分析總結(jié)出兩個原因:1)新類別的特征差異較大時,微調(diào)的模型沒能學(xué)好其特征;2)方法未能對微調(diào)的支持集樣本的均衡問題進(jìn)行優(yōu)化。
綜上所述,下一步研究工作的重點(diǎn)是:1)更好地篩選出具有多樣性和強(qiáng)表達(dá)能力的微調(diào)樣本,改善微調(diào)樣本不均衡情況下模型的學(xué)習(xí)能力,以適應(yīng)對新類的學(xué)習(xí);2)采用注意力機(jī)制有選擇地學(xué)習(xí)新類特征,進(jìn)一步提升分割精度和泛化能力;3)從稀疏度上對采樣點(diǎn)進(jìn)行改進(jìn),在設(shè)備及實驗平臺滿足需求的情況下,嘗試將完整空間場景投入訓(xùn)練與測試,檢驗?zāi)P蛯臻g幾何的整體分割能力。
致 謝:此次點(diǎn)云的閩南古建筑數(shù)據(jù)集獲取得到了福建省泉州市晉江市中國科學(xué)院海西研究院泉州裝備制造研究所遙感信息工程實驗室的幫助,在此表示感謝。