葉荊荊,葉海良,曹飛龍
(中國(guó)計(jì)量大學(xué) 理學(xué)院,浙江 杭州 310018)
3D數(shù)據(jù)在不同領(lǐng)域有很多應(yīng)用,包括自動(dòng)駕駛、機(jī)器人、遙感、醫(yī)療和設(shè)計(jì)等領(lǐng)域[1]。在各種類(lèi)型的3D數(shù)據(jù)描述中,點(diǎn)云以其數(shù)據(jù)量小、表現(xiàn)能力強(qiáng)等優(yōu)點(diǎn)得以在3D數(shù)據(jù)處理中廣泛應(yīng)用?,F(xiàn)實(shí)世界中的點(diǎn)云數(shù)據(jù)通常是通過(guò)激光掃描儀、相機(jī)或RGB-D掃描儀捕獲的。但是,由于遮擋、光反射、材料表面的透明度以及傳感器分辨率和視角的限制,會(huì)造成幾何和語(yǔ)義信息的丟失,導(dǎo)致點(diǎn)云數(shù)據(jù)不完整。因此,修復(fù)不完整的點(diǎn)云具有重要意義。3D點(diǎn)云形狀補(bǔ)全目標(biāo)大致可分為兩個(gè):一是基于原始輸入點(diǎn)云恢復(fù)目標(biāo)物體的幾何形狀,二是基于給定的點(diǎn)云生成缺失的點(diǎn)云[2-3]。為了實(shí)現(xiàn)這兩個(gè)目標(biāo),現(xiàn)有研究從不完整的點(diǎn)云輸入中學(xué)習(xí)點(diǎn)云的缺失部分信息和形狀信息[4]。近年來(lái),對(duì)點(diǎn)云的深度學(xué)習(xí)已經(jīng)變得非常繁榮,并且已經(jīng)提出了許多方法來(lái)解決該領(lǐng)域的不同問(wèn)題[5],但是使用深度神經(jīng)網(wǎng)絡(luò)[6]處理點(diǎn)云還存在獨(dú)特挑戰(zhàn)。1)非結(jié)構(gòu)化性。點(diǎn)云是一系列不均勻的采樣點(diǎn)。一方面,它使得各個(gè)點(diǎn)之間的相關(guān)性難以用于特征提取;另一方面,在圖像、視頻處理中廣泛使用的卷積神經(jīng)網(wǎng)絡(luò)不能直接用于點(diǎn)云處理。2)無(wú)序性。與圖像和視頻不同,點(diǎn)云是一組沒(méi)有特定順序的點(diǎn)。
由于PointNet[7]的出現(xiàn),基于學(xué)習(xí)的架構(gòu)能夠直接操作點(diǎn)云數(shù)據(jù)。Panos Achlioptas[8]等引入了第一個(gè)利用編碼器解碼器框架的基于深度學(xué)習(xí)的點(diǎn)云補(bǔ)全網(wǎng)絡(luò)L-GAN。雖然L-GAN能夠在一定程度上完成形狀補(bǔ)全任務(wù),但它的架構(gòu)主要不是用來(lái)進(jìn)行形狀補(bǔ)全任務(wù)的,因此性能并不理想。Yang等引入了一個(gè)名為Folding[9]的新解碼操作,作為2D到3D的映射。之后,點(diǎn)云補(bǔ)全網(wǎng)絡(luò)(PCN)[10]采用首個(gè)基于學(xué)習(xí)的框架專(zhuān)注于形狀補(bǔ)全任務(wù),其采用折疊操作Folding來(lái)近似一個(gè)較為光滑的表面,進(jìn)行形狀補(bǔ)全。而隨后出現(xiàn)的3D點(diǎn)云膠囊網(wǎng)絡(luò)[11-12],其性能超過(guò)了其他方法,成為處理點(diǎn)云最先進(jìn)的自動(dòng)編碼器,特別是在點(diǎn)云補(bǔ)全領(lǐng)域。
然而,上述方法不能有效提取物體的幾何形狀和局部細(xì)節(jié)特征?;趲缀蔚姆椒ɡ貌糠稚媳砻娴膸缀翁卣鱽?lái)生成原始三維形狀的缺失數(shù)據(jù)[13-14],而基于對(duì)齊的方法保持形狀數(shù)據(jù)并搜索相似的區(qū)域來(lái)填充三維形狀的不完整區(qū)域[15-17]。但這些方法是對(duì)整體形狀的補(bǔ)全,忽略了精細(xì)結(jié)構(gòu)信息,在補(bǔ)全過(guò)程中可能會(huì)出現(xiàn)過(guò)擬合的情況。
因此,為了同時(shí)保持全局幾何特征和局部細(xì)節(jié)特征,本文提出了一種基于生成對(duì)抗自關(guān)注的深度神經(jīng)網(wǎng)絡(luò)用于缺失點(diǎn)云的補(bǔ)全。網(wǎng)絡(luò)使用多層感知機(jī)(Multilayer Perceptron,MLP)來(lái)有效提取點(diǎn)云全局特征,并添加一個(gè)自關(guān)注模塊來(lái)捕捉局部細(xì)節(jié)特征。接著再利用特征金字塔模塊,完成主中心點(diǎn)坐標(biāo)、次中心點(diǎn)坐標(biāo)和細(xì)節(jié)點(diǎn)坐標(biāo)的提取。最后使用帶自關(guān)注模塊的判別器對(duì)生成的點(diǎn)云進(jìn)行優(yōu)化,以使結(jié)果更加準(zhǔn)確[18]。所提網(wǎng)絡(luò)的主要貢獻(xiàn)在于:1) 引入自關(guān)注模塊[19]加強(qiáng)各個(gè)點(diǎn)之間的聯(lián)系,保留了點(diǎn)云全局結(jié)構(gòu)特征的同時(shí)也清晰地還原了局部重要細(xì)節(jié);2) 使用自關(guān)注判別器網(wǎng)絡(luò)來(lái)優(yōu)化已補(bǔ)全的點(diǎn)云數(shù)據(jù),有效解決了同一類(lèi)別中不同物體的特征會(huì)相互影響的問(wèn)題。
基于生成對(duì)抗網(wǎng)絡(luò)架構(gòu),本文提出了帶有自關(guān)注模塊和金字塔特征提取塊的點(diǎn)云補(bǔ)全網(wǎng)絡(luò)。該網(wǎng)絡(luò)能夠有效提取點(diǎn)云特征并對(duì)點(diǎn)云的缺失部分進(jìn)行補(bǔ)全和修復(fù),并以對(duì)抗的方式來(lái)優(yōu)化生成的點(diǎn)云,最終獲得形狀特征幾何特征更加完整的點(diǎn)云物體,從而使3D點(diǎn)云的補(bǔ)全效果更好。
三維點(diǎn)云補(bǔ)全的目的是根據(jù)給定的輸入點(diǎn)云生成完整的點(diǎn)云,補(bǔ)全的形狀應(yīng)該和目標(biāo)物體真實(shí)形狀一樣。而點(diǎn)云補(bǔ)全應(yīng)滿(mǎn)足以下兩點(diǎn):補(bǔ)全后的三維點(diǎn)云和真實(shí)點(diǎn)云描述相同的幾何特征;同時(shí)兩者的誤差應(yīng)該盡可能小。為此,提出一種帶自關(guān)注模塊的生成對(duì)抗點(diǎn)云補(bǔ)全網(wǎng)絡(luò)(Point Cloud Completion Networks based on Generative Adversarial Model with Self-Attention,PS-Net)。
基于生成對(duì)抗自關(guān)注的點(diǎn)云補(bǔ)全模型包括生成器和判別器。如圖1所示,生成器用于從輸入的不完整點(diǎn)云中補(bǔ)全出點(diǎn)云的缺失部分,它由MLP特征提取塊、自關(guān)注模塊和特征金字塔解碼器模塊三部分組成。MLP特征提取塊對(duì)輸入的原始點(diǎn)云進(jìn)行編碼。自關(guān)注模塊則負(fù)責(zé)捕捉細(xì)節(jié)特征,使生成點(diǎn)云的細(xì)節(jié)更加完整。從真實(shí)點(diǎn)云中采樣的N個(gè)點(diǎn)記為X={x1,x2,…,xN}∈R3×N,且在深度網(wǎng)絡(luò)中前一層的輸出被用作后一層的輸入,則MLP特征提取塊和自關(guān)注模塊的輸出可以表述為如下形式:
F=Ψ(W′X),V=SA(Ψ(W″F))。
圖1 基于生成對(duì)抗自關(guān)注的3D點(diǎn)云形狀補(bǔ)全模型結(jié)構(gòu)(輸入是不完整的點(diǎn)云,模型預(yù)測(cè)了點(diǎn)云的缺失部分)Figure 1 Architecture of 3D point cloud shape completion model based on generative adversarial self-attention PS-Net (The input is incomplete point cloud and the model predicts the missing point cloud)
其中,Ψ表示非線性激活函數(shù),W′,W″表示特征融合階段MLP的權(quán)重,SA表示自關(guān)注操作,F∈RC×N為MLP操作學(xué)習(xí)到的特征。
特征金字塔解碼器以特征向量V為輸入,輸出補(bǔ)全的點(diǎn)云,從而補(bǔ)全缺失區(qū)域的形狀。F1,F2,F3為特征向量V經(jīng)過(guò)線性操作得到的特征信息,維度分別為1 024,512,256。該模塊的描述如下:
其中,⊕代表拼接操作,Wi表示特征融合階段MLP的權(quán)重,reshape是對(duì)特征維度進(jìn)行變形操作。
特征金字塔解碼器的基準(zhǔn)是全連接的解碼器,其對(duì)點(diǎn)云的整體幾何形狀有較好的預(yù)測(cè)能力。然而,因?yàn)橹皇褂米詈笠粚宇A(yù)測(cè)的形狀,全連接解碼器會(huì)造成局部幾何信息的損失。現(xiàn)有研究結(jié)合全連接解碼器與基于折疊的解碼器,以加強(qiáng)局部幾何形狀的預(yù)測(cè)。但以FoldingNet為例,如果原始曲面是相對(duì)的,則基于折疊的解碼器不能很好地處理類(lèi)的不平衡和保留原始的復(fù)雜幾何細(xì)節(jié)。針對(duì)該問(wèn)題,受特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,FPN)的啟發(fā),本文設(shè)計(jì)了一個(gè)基于特征點(diǎn)的層次結(jié)構(gòu),該結(jié)構(gòu)可以分層提取點(diǎn)云特征:先提取主要特征,然后提取中間特征,最后提取細(xì)節(jié)特征。經(jīng)過(guò)這三部分特征的拼接融合,補(bǔ)全后的點(diǎn)云形狀與現(xiàn)有方法的補(bǔ)全結(jié)果相比,局部細(xì)節(jié)信息更完整,CD損失(Chamfer Distance)更小。
為了更好地捕捉細(xì)節(jié)特征,提高特征提取的效率,所提模型在生成器的MLP特征提取塊和判別器的特征融合后都增加了一個(gè)自關(guān)注模塊。該模塊結(jié)構(gòu)如圖2,輸入特征分別通過(guò)MLP進(jìn)入Q(Query)和K(Key),然后由Q和K生成注意力權(quán)重,經(jīng)過(guò)計(jì)算得到最終的權(quán)重,而最終的輸出就是注意力權(quán)重和輸入特征的相乘。
圖2 自關(guān)注機(jī)制模型Figure 2 Self-Attention mechanism model
判別器的作用是判斷點(diǎn)云數(shù)據(jù)是真實(shí)的數(shù)據(jù)還是生成器生成的數(shù)據(jù)。為達(dá)成這一目的,本文首先使用MLP網(wǎng)絡(luò)架構(gòu)來(lái)提取全局特征,MLP是一種能有效整合局部和全局特征信息的輕量級(jí)網(wǎng)絡(luò)。然后在特征拼接后加入自關(guān)注模塊來(lái)更好地提取局部特征。與基本的MLP網(wǎng)絡(luò)相比,自關(guān)注模塊可以加強(qiáng)特征的聚合和后續(xù)特征提取能力。最后使用一組MLP和最大池化來(lái)產(chǎn)生全局信息,并通過(guò)全連接層進(jìn)一步回歸得到最終置信度y。如果置信度y接近1,說(shuō)明判別器預(yù)測(cè)這個(gè)輸入來(lái)自真實(shí)點(diǎn)云,否則來(lái)自生成器。判別器的輸出可以被表示為:
X1=Ψ(WP),X2=X1⊕Maxpool(X1),y=Ψ(W(SA(X2)))。
其中W為MLP的權(quán)重,P可以是真實(shí)點(diǎn)云也可以是補(bǔ)全的點(diǎn)云。Maxpool是最大池化函數(shù),該函數(shù)保證了對(duì)任意順序的輸入點(diǎn)集,其輸出都保持不變,從而確保在點(diǎn)云特征提取過(guò)程中的位置不變性。
自關(guān)注機(jī)制廣泛應(yīng)用于點(diǎn)云數(shù)據(jù)處理,它使用一個(gè)可學(xué)習(xí)的網(wǎng)絡(luò)來(lái)衡量每個(gè)通道的重要性,并產(chǎn)生更多的信息輸出。
損失函數(shù)是輸出點(diǎn)云和真實(shí)點(diǎn)云之間差距的度量。由于點(diǎn)云是不規(guī)則的,損失函數(shù)需要滿(mǎn)足置換不變性。網(wǎng)絡(luò)損失函數(shù)由兩部分組成:多階段補(bǔ)全損失(CD損失)和對(duì)抗損失。CD損失衡量的是點(diǎn)云缺失部分的真實(shí)值與預(yù)測(cè)值之間的差異。對(duì)抗性損失試圖通過(guò)優(yōu)化最大似然估計(jì)來(lái)使預(yù)測(cè)看起來(lái)更真實(shí)。在本模型中,選擇CD損失作為衡量指標(biāo)。
CD損失計(jì)算預(yù)測(cè)點(diǎn)云S1和真實(shí)點(diǎn)云S2之間的平均最近點(diǎn)距離:
對(duì)抗損失可用最小平方損失表示:
則PS-Net的整體網(wǎng)絡(luò)損失可以定義為
L=θcomLcom+θadvLadv。
其中θcom和θadv分別為滿(mǎn)足下列條件的補(bǔ)全損失和對(duì)抗損失的權(quán)重:θcom+θadv=1。
本節(jié)首先闡述實(shí)驗(yàn)的具體細(xì)節(jié)。其次,展示了PS-Net的點(diǎn)云補(bǔ)全結(jié)果和消融實(shí)驗(yàn)。然后,研究了本方法在3D點(diǎn)云補(bǔ)全任務(wù)中的有效性。最后,對(duì)其有效性和復(fù)雜性進(jìn)行了討論。
Shape-Net[20]是一個(gè)由物體的三維CAD模型表示的大規(guī)模形狀庫(kù)。Shape-Net已經(jīng)索引了超過(guò)300萬(wàn)個(gè)模型,包含來(lái)自多個(gè)語(yǔ)義類(lèi)別的3D模型,其中22萬(wàn)個(gè)模型被分為3 135個(gè)類(lèi)別。實(shí)驗(yàn)使用Shape-Net中的13個(gè)類(lèi)別來(lái)訓(xùn)練模型。圖像總數(shù)為14 473,其中11 705張圖像用于訓(xùn)練,2 768張用于測(cè)試。實(shí)驗(yàn)采用稠密的原始點(diǎn)云數(shù)據(jù),為使訓(xùn)練能夠快速收斂并提高訓(xùn)練的穩(wěn)定性,將采樣點(diǎn)坐標(biāo)值歸一化到[0,1]區(qū)間內(nèi)。對(duì)每個(gè)圖像采樣2 048個(gè)點(diǎn)作為真實(shí)的點(diǎn)云,再對(duì)圖像隨機(jī)采樣得到不完整的點(diǎn)云。實(shí)驗(yàn)將缺失率為原始數(shù)據(jù)25%的缺損點(diǎn)云用于訓(xùn)練和測(cè)試,并將本文方法所得結(jié)果與其他方法進(jìn)行對(duì)比。
實(shí)驗(yàn)在Pytorch上進(jìn)行,優(yōu)化器為Adam[21],學(xué)習(xí)率設(shè)置為0.000 1,批量為24。在判別器上應(yīng)用批處理規(guī)范化(Batch Normalize,BN)[22]和ReLU激活函數(shù),然后只在生成器上使用ReLU函數(shù)。
為了定量評(píng)估所提PS-Net對(duì)三維點(diǎn)云的形狀補(bǔ)全能力,將PS-Net與現(xiàn)有的幾種3D點(diǎn)云補(bǔ)全方法進(jìn)行了對(duì)比分析,包括LGAN-AE網(wǎng)絡(luò)、PCN網(wǎng)絡(luò)、3D點(diǎn)云膠囊網(wǎng)絡(luò)(3D-Capsule)和PF-Net網(wǎng)絡(luò)。其中,LGAN-AE網(wǎng)絡(luò)以自動(dòng)編碼器和生成對(duì)抗網(wǎng)絡(luò)為基本模塊,編碼器將數(shù)據(jù)點(diǎn)編碼為潛在特征向量作為生成對(duì)抗網(wǎng)絡(luò)的輸入。PCN網(wǎng)絡(luò)采用編碼解碼結(jié)構(gòu),其編碼器通過(guò)權(quán)值共享的多層感知機(jī)、跳躍連接和最大池化層來(lái)提取點(diǎn)云全局特征,解碼器分兩步生成完整點(diǎn)云。3D點(diǎn)云膠囊網(wǎng)絡(luò)同樣采用編碼解碼結(jié)構(gòu),但其編碼器通過(guò)多個(gè)具有不同權(quán)值的獨(dú)立卷積,形成點(diǎn)膠囊。而解碼器賦予這些膠囊隨機(jī)2D網(wǎng)格并通過(guò)多層感知機(jī)生成多個(gè)點(diǎn)補(bǔ)丁。最后,將所有的補(bǔ)丁收集到一個(gè)點(diǎn)云中,實(shí)現(xiàn)對(duì)缺失點(diǎn)云形狀的補(bǔ)全。PF-Net網(wǎng)絡(luò)采用生成器-判別器模型,其生成器通過(guò)迭代最遠(yuǎn)點(diǎn)采樣和多層感知機(jī)對(duì)采樣點(diǎn)進(jìn)行特征提取并生成點(diǎn)云的缺失部分。判別器對(duì)補(bǔ)全出的完整點(diǎn)云和真實(shí)點(diǎn)云進(jìn)行判別,實(shí)現(xiàn)對(duì)生成器的改進(jìn)。
由于現(xiàn)有的幾種方法都是在不同的數(shù)據(jù)集上進(jìn)行訓(xùn)練,不便于比較每種方法的性能,所以上述方法在訓(xùn)練和測(cè)試時(shí)都使用相同的數(shù)據(jù)集。需要強(qiáng)調(diào)的是,本方法都在未標(biāo)記的數(shù)據(jù)集上進(jìn)行訓(xùn)練。為了定量評(píng)價(jià)所提方法的性能,使用了兩個(gè)評(píng)價(jià)指標(biāo)[23-24]:P→GT(預(yù)測(cè)點(diǎn)到真實(shí)點(diǎn))誤差和GT→P(真實(shí)點(diǎn)到預(yù)測(cè)點(diǎn))誤差。P→GT誤差計(jì)算從預(yù)測(cè)點(diǎn)云中的每個(gè)點(diǎn)到其最接近的真實(shí)值的平均最近點(diǎn)距離,指出了每個(gè)預(yù)測(cè)點(diǎn)和真實(shí)點(diǎn)之間的差異。GT→P誤差計(jì)算真實(shí)點(diǎn)云中的每個(gè)點(diǎn)到預(yù)測(cè)點(diǎn)云中最接近點(diǎn)的平均最近點(diǎn)距離,顯示了真實(shí)點(diǎn)云的形狀被預(yù)測(cè)點(diǎn)覆蓋的程度。
實(shí)驗(yàn)首先對(duì)13個(gè)類(lèi)別物體(如飛機(jī)、帽子、汽車(chē)等)進(jìn)行完整點(diǎn)云補(bǔ)全的測(cè)試,測(cè)試結(jié)果的P→GT誤差和GT→P誤差如表1所示。表1將所有誤差值都擴(kuò)大了1 000倍,并在表格最后一行中比較了所有類(lèi)別的平均誤差。在采樣的2 048個(gè)點(diǎn)上,利用本文所提PS-Net網(wǎng)絡(luò)進(jìn)行點(diǎn)云補(bǔ)全,平均P→G誤差/GT→P誤差為0.554/0.418。相比編碼解碼結(jié)構(gòu)的LGAN-AE網(wǎng)絡(luò)和PCN網(wǎng)絡(luò),平均誤差分別降低了1.315/1.197和1.248/1.244,補(bǔ)全精度具有明顯的提高。對(duì)比3D膠囊網(wǎng)絡(luò)和PF-Net網(wǎng)絡(luò),平均誤差同樣有所降低。而在表1的所有13個(gè)物體類(lèi)別上,PS-Net補(bǔ)全結(jié)果的誤差均小于LGAN-AE、PCN和3D膠囊網(wǎng)絡(luò);且在超過(guò)一半的物體類(lèi)別上,其性能也優(yōu)于PF-Net網(wǎng)絡(luò),說(shuō)明本文方法補(bǔ)全的完整點(diǎn)云形狀與真實(shí)點(diǎn)云形狀更加接近。
由于本方法將不完整點(diǎn)云作為輸入,只輸出缺失部分的預(yù)測(cè)點(diǎn)云,因此不會(huì)改變?cè)键c(diǎn)云的形狀??紤]到完整點(diǎn)云的補(bǔ)全誤差主要來(lái)自點(diǎn)云缺失部分中預(yù)測(cè)點(diǎn)云與原始點(diǎn)云的差異,所以為了保證模型的有效性,實(shí)驗(yàn)還計(jì)算了由512個(gè)點(diǎn)構(gòu)成的缺失點(diǎn)云上的P→GT和GT→P誤差,實(shí)驗(yàn)結(jié)果列于表2。表2中的誤差值也都擴(kuò)大了1 000倍,由表2可知,本文方法在兩個(gè)誤差指標(biāo)上都表現(xiàn)良好。表1和表2中的結(jié)果表明,無(wú)論是在整體點(diǎn)云上還是在點(diǎn)云的缺失部分上,本方法都能以高精度和低缺失率生成點(diǎn)云。在圖3中,可視化了8類(lèi)目標(biāo)物體(包括飛機(jī)、帽子、汽車(chē)、椅子、手槍等)的輸出點(diǎn)云,輸入點(diǎn)云全部來(lái)自測(cè)試集。由圖3可知,PF-Net在對(duì)帽子這一物體的補(bǔ)全中出現(xiàn)了稀疏點(diǎn)云塊,對(duì)杯子的補(bǔ)全結(jié)果也存在邊緣點(diǎn)云的冗余,而本文方法生成的點(diǎn)云物體則比較均勻。并且對(duì)于所有目標(biāo)物體,本方法補(bǔ)全結(jié)果在細(xì)節(jié)處的修復(fù)效果更好,有效保持了物體的精細(xì)結(jié)構(gòu)。
表1 13類(lèi)物體完整點(diǎn)云補(bǔ)全結(jié)果的P→GT誤差/GT→P誤差
表2 13類(lèi)物體缺失點(diǎn)云補(bǔ)全結(jié)果的P→GT誤差/GT→P誤差
對(duì)判別器的分析。本節(jié)對(duì)有無(wú)判別器的PS-Net模型進(jìn)行對(duì)比實(shí)驗(yàn),分析判別器的重要性,實(shí)驗(yàn)結(jié)果列于表3。結(jié)果表明,帶判別器的模型優(yōu)于不帶判別器的模型,P→GT和GT→P誤差更小,對(duì)點(diǎn)云補(bǔ)全的精度和完整度更高。
對(duì)自關(guān)注機(jī)制的分析。為了證明自關(guān)注機(jī)制的作用,在Shape-Net上分別訓(xùn)練了沒(méi)有自關(guān)注的模型和帶有自關(guān)注的模型。并在測(cè)試集上實(shí)驗(yàn)驗(yàn)證其點(diǎn)云補(bǔ)全的準(zhǔn)確性,結(jié)果如表3所示。結(jié)果表明,在PS-Net模型中加入自關(guān)注機(jī)制更有利于特征獲取,顯著減小了點(diǎn)云補(bǔ)全的誤差,提高了補(bǔ)全精度。有無(wú)判別器與有無(wú)自關(guān)注機(jī)制的對(duì)比消融實(shí)驗(yàn)都選擇飛機(jī)這一類(lèi)別,并且都以一個(gè)不完整點(diǎn)云作為輸入,以對(duì)缺失部分補(bǔ)全后的完整點(diǎn)云作為輸出,輸出點(diǎn)云形狀如圖4所示。從圖4的對(duì)比可知,帶判別器和自關(guān)注機(jī)制的PS-Net不僅能準(zhǔn)確地恢復(fù)出全局形狀特征,而且對(duì)局部細(xì)節(jié)的補(bǔ)全效果也更好。
圖3 其他方法與本方法補(bǔ)全結(jié)果的對(duì)比Figure 3 Comparison of completion results between other methods and our method
圖4 消融實(shí)驗(yàn)的對(duì)比Figure 4 Comparison of ablation experiments
表3 無(wú)判別器的PS-Net和無(wú)自關(guān)注機(jī)制的PS-Net在Shape-Net上的消融實(shí)驗(yàn)結(jié)果
迭代次數(shù)的分析。本節(jié)討論了迭代次數(shù)對(duì)點(diǎn)云補(bǔ)全結(jié)果的影響。訓(xùn)練了0次迭代、40次迭代、80次迭代、120次迭代、160次迭代和200次迭代的結(jié)果可視化在圖5中。如圖5所示,3D點(diǎn)云數(shù)據(jù)集上的訓(xùn)練次數(shù)越多,補(bǔ)全修復(fù)后的點(diǎn)和形狀就越接近真實(shí)值和真實(shí)形狀。
圖5 迭代次數(shù)對(duì)汽車(chē)點(diǎn)云補(bǔ)全的影響Figure 5 Influence of iteration numbers on car point cloud completion
PS-Net如何提取更多的細(xì)節(jié)信息。自關(guān)注本質(zhì)上是捕獲數(shù)據(jù)或特征內(nèi)部相關(guān)性[25],從而可以學(xué)習(xí)任意兩個(gè)點(diǎn)云之間的依賴(lài)關(guān)系進(jìn)而獲得詳細(xì)的信息[26]?;诖?在生成器框架中加入自關(guān)注,并使用特征金字塔網(wǎng)絡(luò)來(lái)分層提取點(diǎn)云特征,從而能在PS-Net框架中嵌入更多細(xì)節(jié)信息。
此外,本文做了消融實(shí)驗(yàn)來(lái)說(shuō)明PS-Net可以提取更多的形狀信息。深度學(xué)習(xí)網(wǎng)絡(luò)是復(fù)雜多通道的,如果有些通道對(duì)其他通道來(lái)說(shuō)是多余的,那么可以使用自關(guān)注機(jī)制來(lái)加權(quán)包含重要信息的通道。通過(guò)這種方式,所提出的PS-Net也可以通過(guò)自關(guān)注機(jī)制提取更多的信息[27-28]。
復(fù)雜性分析。本文從參數(shù)個(gè)數(shù)和計(jì)算成本兩個(gè)方面分析了該方法的復(fù)雜性。由于簡(jiǎn)化了特征提取方法,因此在參數(shù)數(shù)量上,本方法與基準(zhǔn)方法PF-Net[29]相比沒(méi)有額外的參數(shù)。而對(duì)于計(jì)算成本,本方法具有與PF-Net相同的計(jì)算成本。
針對(duì)三維點(diǎn)云形狀補(bǔ)全難以恢復(fù)局部細(xì)節(jié)的問(wèn)題,本文提出了一種基于自關(guān)注的點(diǎn)云補(bǔ)全模型PS-Net。該模型可以有效利用輸入不完整點(diǎn)云中的局部區(qū)域特征來(lái)對(duì)整體形狀進(jìn)行補(bǔ)全。并且模型使用自關(guān)注機(jī)制來(lái)提取輸入點(diǎn)云的局部重要細(xì)節(jié)信息和幾何形狀信息。此外,模型使用特征金字塔網(wǎng)絡(luò)的三個(gè)分支來(lái)提取點(diǎn)云的全局和精細(xì)結(jié)構(gòu)信息。最后,利用CD損失使模型具有更好的生成能力。在Shape-Net上的點(diǎn)云補(bǔ)全實(shí)驗(yàn)結(jié)果證明了PS-Net的優(yōu)越性,該方法優(yōu)于現(xiàn)有的一些點(diǎn)云形狀補(bǔ)全方法。另一方面,從可視化角度本文也更好地實(shí)現(xiàn)了對(duì)點(diǎn)云缺失形狀的補(bǔ)全。