邱云飛,趙 靜,方 立
1.遼寧工程技術大學 軟件學院,遼寧 葫蘆島125100
2.中國科學院海西研究院泉州裝備制造研究中心 遙感信息工程實驗室,福建 泉州362216
隨著三維視覺技術的發展,三維數據被廣泛應用于不同領域,例如計算機視覺[1]、遙感[2]、機器人[3]等。在不同類型的三維數據中,點云因為數據量較小并且表現物體能力細膩,所以在三維目標分類[4]、三維場景分割[5-7]以及三維表面重建等任務中扮演著重要的角色。然而在采集點云數據時,由于傳感器的限制、采集數據時的光線差異、物體表面的材質差異等,導致獲取的數據變得稀疏或者殘缺,從而影響三維目標分類、三維場景分割等下游任務。因此,對殘缺點云進行高質量的補全是至關重要的。
傳統的3D 形狀補全方法大概可以分為兩種:基于幾何的方法、基于對齊的方法。基于幾何的方法是通過原始點云的幾何規律進行形狀補全。在幾何補全方法中,Berger 等人[8]采用插值思想對殘缺點云的空洞進行補全;Thrun等人[9]通過檢測輸入點云的對稱性,然后不斷重復規則結構,以預測其缺失部分。雖然這些方法在特定情況下是可行的,但對原始點云的完整性和對稱性要求較高,不適合真實場景采集的殘缺點云數據。基于對齊的方法是從大型模型數據庫中尋找匹配模型,從而實現形狀補全。在基于對齊的方法中,Li等人[10]通過直接檢索相匹配的模型來作為點云補全結果;為了適應輸入點云的不同結構,Pauly 等人[11]將檢索的模型先形變再進行點云補全。然而這些方法看似有效,但檢索模型產生的龐大運算代價使其很難遷移到實時補全,并且對含噪聲度高的原始點云補全效果較差。
相較于傳統補全方法的局限性,基于學習的點云補全網絡具有泛化性。其通過學習原始點云的特征,訓練具有形狀補全效果的模型,以此實現點云補全任務。FoldingNet(point cloud auto-encoder via deep grid deformation)[12]引入了一種基于折疊的解碼器,通過在點云3D曲面上疊加2D網格以輸出補全點云,但是在補全過程中難以補全物體尖銳表面。PCN(point completion network)[13]采用編碼器-解碼器結構,首先在編碼器中提取全局特征并形成特征向量,然后在解碼器中利用特征向量進行由粗略到精細的補全,但是在補全過程中缺少局部特征。PMPNe(tpoint cloud completion by learning multi-step point moving paths)[14]在提取的全局特征基礎上,通過逐點位移的方式進行點云補全。近些年,基于注意力機制的Transformer結構由于具有提取點關聯特征的優勢,被引入相關點云處理任務中[15]。
綜合上述問題和思路,提出一種結合殘差網絡的多尺度特征點云補全方法。網絡整體采用端到端的思想。為關注不同層次具有代表性的特征點,以提高網絡魯棒性,采用最遠點采樣(farthest point sampling,FPS)[16]方法獲取三種不同尺度點云。區別于傳統補全網絡,有效彌補僅關注全局特征造成的語義信息丟失問題,MFNet提出采用不同特征提取方式并行提取點云特征。首先采用在MLP(multi-layer perceptron)基礎上進行改進的MCMLP(multi-layer combined MLP)提取低分辨率點云的全局信息,通過將數據逐層映射在不同的特征維度進行級聯,并采用并行池化整合特征,以保證特征完整性,增強感知特征信息能力;然后利用EdgeConv[17]動態提取點之間的空間立體幾何結構信息,以提高模型對點云空間結構的敏感度;最后采用MLP 融合全局特征和局部特征,促使對輸入點云進行有效特征編碼。為充分利用融合的特征向量,預測骨架點云,網絡采用全連接層將其解碼為具有1 024個點的粗糙點云。為避免受殘缺點云的影響,MF-Net 在精細重構單元將粗糙點云與原始點云串聯,并在引入折疊機制[12]的過程中融合注意力機制,以在充分保留點特征的同時促進補全點云形狀變得更加平滑;此外,在細化的過程中采用殘差網絡[18]的連接方式,不斷預測點位移,進而提高輸出點云的點分布均勻性;最后,通過計算粗點云、稠密點云分別與真實點云之間的CD值,不斷回溯訓練過程,以校正的方式進行網絡優化。實驗結果證明,MF-Net 不但對輸入點云能夠進行充分的特征提取,做到關注全局特征信息的同時靈活捕獲空間幾何結構信息,還可對得到的特征編碼進行高效利用,進而生成更加精細、稠密且完整的補全點云形狀。除此之外,實驗采用不同的數據集,更好地證明了網絡不僅具有泛化性,還具有良好的魯棒性。
網絡處理流程中各階段的處理結果如圖1所示,將原始殘缺點云輸入網絡,然后通過由殘缺到完整的補全過程,生成具有1 024 個點的粗糙點云以及16 384 個點的精細完整點云。

圖1 網絡階段處理圖Fig.1 Network phase processing diagram
近年來,基于深度學習的點云補全研究取得了較大進展。與二維圖像不同的是點云具有無序性,因此傳統的卷積神經網絡(convolutional neural network,CNN)很難應用在點云補全領域。基于體素的點云補全算法通過模擬圖像像素的排列方式將點云劃分在規則的三維網格內,再應用卷積神經網絡實現點云補全[19-20]。然而在轉換高分辨率體素柵格的過程中不僅丟失細節特征,還會一直消耗大量的內存空間。為解決點云轉換為歐幾里德結構數據帶來的高內存消耗,PointNet[21]提出直接將無序點云作為網絡輸入,然后利用共享多層感知機(shared MLP)和最大池化提取點云全局特征。FoldingNet 引入基于折疊的解碼器,完成由2D 到3D 的形狀映射。受PointNet和FoldingNet的啟發,Yuan等人提出具有開創性的點云補全網絡PCN。首先利用兩層PointNet提取殘缺點云的全局特征并形成特征向量,然后根據特征向量生成粗糙點云,最后引入FoldingNet進行點云細化。TopNet[22]在無需假定任何拓撲結構的基礎上,提出采用分層樹狀結構實現點云補全。PF-Net[23]在具有輸入點云的先驗信息的前提下,采用多尺度點云補全網絡只對殘缺點云的缺失部分進行預測。最近,PMPNet 采用逐步迭代的思想,根據迭代點特征以獲得全局信息,從而進行形狀補全。
由于點云是一種非歐氏結構數據,圖卷積將其轉換為圖結構,其中頂點是經過特殊采樣的點,邊則承載該點與相鄰點的特征[24]。Shen 等人[25]提出一種內核關聯層和基于圖形池化層的操作,以考慮相鄰數據點的幾何相似性。PointNet++[16]在PointNet基礎上采用球查詢的方法對其鄰近點進行采樣,然后自適應組合多尺度局部特征。然而PointNet++忽略了點之間的空間幾何關系。為解決該問題,DGCNN(dynamic graph CNN)[17]提出了一種自適應局部特征學習機制邊緣卷積(EdgeConv)模塊,根據某種距離度量方式動態選擇鄰近點,構建局部鄰域圖,從而更好地捕獲局部幾何結構。
網絡的完整架構如圖2所示,整體采用端到端的思想,通過搭建編碼器-解碼器結構進行點云補全。其中,編碼器為了兼顧整體結構和鄰域信息,將原始點云采樣為多尺度點云,并采用MCMLP提取低分辨率點云的全局特征,同時嵌入EdgeConv 提取的原始點云的局部特征;然后采用遞歸形的級聯方式融合特征,形成特征向量并輸送給解碼器。解碼器分為兩階段:首先利用全連接網絡將特征向量解碼為粗點云;然后在精細重構單元將粗點云和原始殘缺點云拼接,以避免破壞原始點云結構,最后引入折疊網絡和注意力機制并以殘差網絡形式連接以進行逐點細化,即輸出分布均勻的完整點云。

圖2 結合殘差網絡的多尺度特征點云補全網絡Fig.2 Multi-scale feature point cloud completion network combined with residual network
編碼器的作用是提取點云特征并映射為特征向量。目前基于深度學習的點云補全網絡通常只是單純地提取原始輸入中每個點的特征,從而忽略點與點的鄰域信息。為了得到更豐富的點云特征,MF-Net 采用多尺度特征提取方法。首先通過FPS獲得分辨率為(512,1 024,2 048)的輸入點云,然后通過級聯的方式利用MLP融合MCMLP提取的全局信息以及采用EdgeConv提取高分辨率原始點云的局部特征,從而得到最終的特征向量,進而為完整點云的生成奠定基礎。
2.1.1 特征點采樣
在點云中,通常利用較少的點描述點云框架,而這些點被定義為特征點。MF-Net通過采用迭代下采樣策略選取高低層次具有代表性的特征點,促使網絡關注多尺度點云中蘊含的關鍵特征信息,進而提高網絡魯棒性。
常用下采樣方法有體素下采樣、隨機下采樣、曲率下采樣、最遠點采樣。體素下采樣方法將點云數據置于長方體內,然后尋找與該長方體質心最近的點作為采樣點。該方法雖然采樣點分布較為均勻,但不能準確控制采樣點數。隨機下采樣方法按照一定的比例或者數量對原始點云進行采樣。該方法雖然能準確控制采樣點數,但采樣點分布不均勻。曲率下采樣方法通過設定夾角閾值的方式選取采樣點。該方法雖然穩定性高,但采樣點數會受曲率大小影響,更適合對具有豐富特征的點云進行采樣操作。相比其他下采樣方法,最遠點采樣方法能夠依據事先設定的采樣點數,對點云進行均勻采樣,并且通過該方法選取的采樣點能更好地表示整個點云分布。鑒于最遠點采樣方法的采樣優勢,MF-Net 將其作為獲取不同分辨率點云的手段。首先從原始點云中隨機選取一個點作為初始點,然后在循環中計算剩余原始點到距離它最近的最遠點的距離,接著從這些點中選擇距離最大的點作為下個最遠點,其中循環次數為需要下采樣的點的個數。
2.1.2 特征提取模塊MCMLP
現有的點云補全網絡通常利用MLP 提取底層特征。首先將輸入點云逐層映射到不同的特征維度,然后在最終的特征維度層上利用最大池化選取點云特征,形成潛在特征向量。然而,只提取最后單層特征不僅會忽略低維和中維的特征信息,還會受其維度數的強烈影響。此外,僅依靠最大池化對最后單層卷積處理會丟失輸入點云的語義輪廓信息。因此,為了有效提取輸入點云特征,MF-Net 在原有MLP 基礎上進行改進,提出了一種新的特征提取模塊,稱為MCMLP。如圖3 所示,首先將輸入點云映射到不同的特征維度f=[64,64,128,256,512,1 024],并且每一層均使用批量歸一化(batch normalization,BN)和ReLU 激活函數來進行非線性操作;然后為了避免底層和中層特征信息的缺失,將得到的多維特征在最后一層進行拼接(concat);接著為了更好地兼顧整體結構,MCMLP將拼接后的特征分別送入全局最大池化和全局平均池化;最后通過串聯池化后的特征以形成潛在特征向量。其計算公式表示為:

圖3 MCMLP結構圖Fig.3 MCMLP structure diagram
其中,i=0,1,2,3,4,5,fi為f中的元素,GMP 為全局最大池化,GAP 為全局平均池化,⊕是將二者進行串聯(若論文其他處沒有多加說明,即⊕均表示串聯),因此MCMLP的特征通道數為2 048。
MCMLP 通過在最后一層級聯映射的多維特征以保證由低級到高級映射特征的完整性,從而規避低層特征和中層特征間接性缺失問題,促使網絡在提取全局特征的同時兼顧輸入點云的局部信息。此外,全局最大池化擅長把握細節信息,而全局平均池化適用于提取點云整體架構信息,故將二者并行作用在拼接后的特征信息上,以增強其特征提取能力。
MF-Net 采用MCMLP 分別提取兩個低分辨率點云的特征,以獲取更完整的特征信息,然后利用MLP進行特征融合形成全局特征Fg,其計算表示為:
其中,PN=1024和PN=512分別表示點數為1 024和512的輸入點云。
2.1.3 特征提取模塊EdgeConv
若單純通過MCMLP 對兩個低分辨率點云做特征提取,會丟失原始點云之間的拓撲關系。以往補全網絡大多利用PointNet++提取局部特征以彌補不足,其主要思想是利用球查詢的方式,以通過最遠點采樣方法選取的中心點為中心坐標進行分組,然后采用PointNet進行特征提取。雖然PointNet++在PointNet基礎上增加了抽樣、分組的策略以學習局部結構特征,但是忽略了空間幾何結構信息。為解決這一問題,MF-Net采用DGCNN提出的EdgeConv對原始點云進行局部特征提取。
EdgeConv 通過構建局部鄰域圖,得到點與鄰近點之間的邊特征,然后將邊特征進行聚合后以更新該點的特征值,其中每層的局部鄰域圖是由距離度量方式動態選擇每個節點的鄰域構成,因此它在保持點的排列不變性的同時還能捕獲局部鄰域信息。如圖4 為EdgeConv結構圖。首先利用K-近鄰算法(K-nearest neighbor,KNN)在某點xi周圍選取與它最近的k個點并構成有向邊(i,ji1),(i,ji2),…,(i,jik),然后計算該點與它最近k個點的邊特征eij=h(xi,xj),其中h為特征提取函數;最后利用聚合操作動態更新點xi的特征。

圖4 EdgeConv結構圖Fig.4 EdgeConv structure diagram
為了得到更詳細的點云鄰域信息,MF-Net 通過在疊加兩層EdgeConv的基礎上并行使用最大池化和平均池化,以提取原始點云的局部特征Fl,其計算表達式為:
其中,F′為利用兩次EdgeConv提取的特征,GMP 為全局最大池化,GAP 為全局平均池化,PN=2048表示點數為2 048的輸入點云。
最后,MF-Net 將提取到的全局特征和局部特征利用MLP 進行特征融合,再通過最大池化提取融合后的特征,從而獲得最終特征向量F,其輸出維度是(B,2 048),B為batch_size。計算表達式為:
其中,GAP 為全局平均池化,Fg為全局特征,Fl為局部特征。
MF-Net 將原始輸入采樣為三種不同尺度點云,然后借鑒級聯的思想融合多尺度特征,以此幫助網絡注意到多分辨率點云的特征信息,促使網絡靈活應對具有不同缺失程度的殘缺點云,提高補全效果。接著利用MLP 融合多分辨率點云的全局特征和局部特征,從而實現漸進式的特征學習方式,有效解決傳統補全網絡缺失局部特征的問題,達到優化網絡性能的目的。
解碼器分為兩階段:粗點云的生成以及點云的精細重構。首先利用三層全連接將特征向量F輸出粗糙點云;其次將原始點云與粗點云拼接,形成合成點云;然后為了使點的分布更接近原始點云的同時使補全的點云形狀更具平滑性,將合成點云、特征向量以及2D網格進行拼接并采用注意力機制處理;最后通過Shared MLP進行特征融合后輸出。鑒于殘差網絡的優越性,在點云精細重構單元中結合殘差網絡,預測粗點云的點位移,從而保證稠密點云的完整性以及點分布的均勻性。
2.2.1 粗點云的生成
粗點云通常是點云補全網絡中完整點云的框架。有效地將編碼器傳送的特征向量映射到三維空間,從而生成粗點云是至關重要的。借鑒現有點云補全網絡預測粗糙點云的思想,對于稀疏點的集合,MF-Net采用擅長預測全局幾何結構的全連接網絡生成粗糙點云。在特殊情況下,若只依靠單層全連接層處理特征向量很難解決非線性問題,因此MF-Net 采用三層全連接層一同作用在獲得的特征向量上。
網絡首先將編碼器中提取的特征向量F作為輸入,然后通過維度分別為2 048、1 024、1 024的三層全連接將特征向量F映射到1 024×3 的輸出單元上,最后利用矩陣重置1 024×3 的粗點云Pcoarse。計算表達式為:
其中,FC 表示全連接操作,R表示矩陣重置,F表示特征向量。
2.2.2 點云的精細重構
多數點云補全網絡在生成稠密點云時,會忽視原始輸入的坐標信息,導致最終補全形狀與基準點云形狀存在細節差別。為解決上述問題,MF-Net 在進行點云細化時,通過添加原始殘缺輸入以更好地保留原始點云幾何細節,提高補全性能。受文獻[26]的啟發,網絡在精細重構單元時將原始點云與粗點云合并,以作為合成點云。但是時因為原始殘缺點云和粗點云存在高度密度差,所以直接將原始點云和粗點云進行拼接,會導致點分布不均勻以及合并處出現間隙。因此,為了規避合并點云分布存在密度差的情況,MF-Net 利用最遠點采樣分別對原始殘缺點云和粗點云下采樣為512個點,然后將二者拼接,形成合成點云Pcombine[27]。在對原始點云最遠點采樣的同時融合鏡像操作(Mirror),其目的在于既能兼顧到原始點云的整體對稱性,也能避免一些特征點被忽略。計算表達式為:
其中,Mirror 為鏡像操作,FPS 為最遠點采樣算法。
最遠點采樣方法雖然可以解決密度不均勻問題,但是對合并處的間隙問題卻無能為力。為解決該問題,網絡首先以合成點云Pcombine的每個點作為中心點,通過折疊4×4的2D網格,使其每點周圍生成16個點。接著,避免利用合成點云以及2D網格直接進行補全所導致的全局特征缺失問題,將特征向量F擴展為F×16 進行嵌入。
點云處理任務中,點與點之間存在一定的位置聯系。為加強位置聯系,保留重要特征,MF-Net在串聯的合成點云、2D 網格以及全局特征之后增加了自注意力模塊。與常規注意力機制不同的是,自注意力模塊可找尋數據內部聯系,令輸出數據與輸入數據息息相關。其主要思想為:以拼接后的點云作為自注意力模塊(selfattention)的輸入;通過線性變換得到查詢矩陣(Q)、鍵矩陣(K)和值矩陣(V),并將Q與K的轉置相乘;為防止梯度過大,將上步所得的乘積除以鍵的維度大小的平方根倒數,最后通過softmax歸一化與V相乘得到最終的特征向量。計算表達式為:
其中,Wq、Wk、Wv表示線性轉換權重,R是矩陣重置;seed是2D網格;Expand表示擴展維度。
最后,結合殘差網絡的優勢,將Fattention輸送至Shared MLP 進行特征融合,再在輸出時添加(addition)粗點云,作為最終的完整點云Pdense。計算表示為:
其中,SMLP 是共享感知機,由三個一維卷積、兩個批量歸一化層和兩個激活層組成。
為證明實驗的有效性,本文在ShapeNet 數據集和KITTI數據集上進行點云補全實驗。
ShapeNet數據集是通過CAD進行模型合成所創建的數據集,包含殘缺點云和真實點云訓練對。該數據集包含飛機(airplane)、櫥柜(cabinet)、汽車(car)、椅子(chair)、燈具(lamp)、沙發(sofa)、桌子(table)、船舶(vessel)共8個類別數據,30 974個模型。ShapeNet是通過2.5D深度圖像利用反方向,投影到3D深度圖像中生成殘缺點云。真實點云則是通過網格采樣對模型表面均勻采樣為16 384 個點。殘缺點云并不是完整點云的子集,其中每個模型是由8個不同分布位置的視點所產生,且可采樣為不同尺度,本文采樣為2 048個點。
KITTI 數據集是利用激光雷達掃描現實世界而獲得的數據,是用來測試自動駕駛場景下的計算機視覺算法。該數據集擁有多個不同場景的實際點云數據,并且每個采集的點云數據中均包含10輛左右的汽車。具體而言,KITTI數據集通過采用一系列的Velodyne掃描點云場景,從而提取多個殘缺的汽車點云,值得注意的是,這些殘缺點云沒有真實點云作基準。
網絡使用Pytorch框架在NVIDIA RTXA6000顯卡,ubuntu16.04運行環境下進行訓練,優化器選用Adam[28],初始學習率設置為0.000 1,每迭代50 個epoch,學習率降低0.7,batch_size設置為32。
點云具有無序性,因此選擇的損失函數對點云的坐標應具有置換不變性。Fan等人[29]提出兩種計算點云分布差異的損失函數,分別為CD 和EMD。EMD 計算復雜度高,運行速度緩慢,CD 的計算速率高,并且更注重點云的全局信息,因此論文采用CD作為損失函數及評價指標,EMD只作為評價指標。CD是計算生成點云S1和真實點云S2之間的平均最近平方距離。計算表示為:
式中,第一項的計算是為了讓生成點云形狀靠近真實點云形狀,第二項的計算則是為了讓生成點云盡可能地覆蓋真實點云。在整個實驗中,網絡將兩個CD進行線性組合,以作為網絡的聯合損失函數。Loss值越小,其網絡補全的性能就越好。計算表達式為:
式中,Pcoarse、Pdense和Pgt分別表示粗點云、稠密點云以及真實點云。dCD1表示計算Pcoarse和Pgt的倒角距離,dCD2表示計算Pdense和Pgt的倒角距離;μ則是調節dCD1和dCD2線性關系的權重參數。
網絡在ShapeNet數據集中將CD、EMD和F-Score[30]作為評價指標,在KITTI 數據集中將Consistency[30]作為評價指標。
CD 作為評價指標用來驗證補全點云的全局結構,而EMD則是用來評價補全點云的點分布均勻性。EMD通過構建一個雙射函數,來懲罰兩個點云之間的稠密差。由于在計算過程中需要點與點之間存在一對一的關系,故實驗中EMD的值會比CD值高。EMD越低,點分布越均勻。計算表達式為:
其中,?為一個雙射函數,用來最小化生成點云S1和真實點云S2中對應點的平均距離。
F-score是用來評價模型補全質量的指標,它主要計算物體表面間的距離,其大小是精確率和召回率的調和平均值。即F-score 越高,點云補全的準確率就越高。計算表達式為:
其中,P為精確率,R為召回率,d為距離。
因為KITTI數據集沒有真實點云作基準,所以本文采用Consistency 作為評價指標。Consistency 是指在連續幀下,相同實例的補全結果的平均CD值。Consistency值越低,表示一致性越高。計算表達式為:
實驗采用ShapeNet 數據集的8 個子類進行訓練和測試,并選擇其中的7 類進行可視化。因為KITTI 數據集沒有實際點云作基準,所以本文利用該數據集驗證網絡補全性能,并展示可視化結果。為證明網絡的有效性,將PCN、FoldingNet、PointFCAE[22]和PMPNet 這幾種主流補全網絡與MF-Net 進行定性和定量的比較。其中,PCN 采用PointNet 算法提取全局特征,然后通過全連接網絡和網格變形輸出點數為16 384 的完整點云;FoldingNet在提取點云特征的基礎上,利用共享連接層和兩組128×128的2D柵格對輸入點云進行補全;Point-FCAE與PCN不同之處在于解碼器,它通過全連接網絡直接輸出完整點云;PMPNet 首先通過PointNet++提取全局特征,然后每次移動2 048個點,接著再將每個形狀預測8次,最后輸出具有16 384個點的稠密點云。為了保證實驗的公平性,文中提出的補全網絡和對比網絡將使用相同的實驗設置進行訓練和測試,并報告最優結果。
3.3.1 ShapeNet數據集的補全結果
為了驗證本文提出的點云補全性能,在ShapeNet數據集上進行測試,并與其他補全網絡進行定性、定量的對比。
如表1、表2 和表3 所示,為CD、EMD 和F-score 作為評價指標的實驗結果,最佳補全結果用黑體加粗表示。從表1、表2和表3中可以看出,相較于FoldingNet、PCN、PointFCAE和PMPNet,MF-Net的評價指標均值表現出較優結果。由表1 可知,MF-Net 除了Lamp 類CD值略高于PMP-Net外,其余各類CD值均優于所有對比網絡,且其平均CD 值較最優的PMPNet 降低了8.3%。相比于其他補全方法,MF-Net 通過特征點采樣方法將輸入轉換為多分辨率,并且采用MCMLP 提取全局特征,以此保證殘缺點云的特征全面性及其完整性。此外,利用全連接層生成粗糙點云,以更好地預測輸出點云的全局幾何結構。因此,本文提出的方法在輸入是非完整點云的情況下,能夠有效補全點云,提高網絡的泛化性,降低CD值。由表2可知,MF-Net的EMD值除了略高于PMPNet的Lamp類外,其余各類EMD值均優于所有對比網絡,且其平均EMD值較最優的PCN降低了10%。MFNet通過采用EdgeConv捕獲局部幾何結構的同時結合殘差網絡細化稠密點云,避免了局部信息丟失問題,有效控制了局部鄰域信息,提高了生成點云的點分布均勻性,進而降低了EMD值。由表3可知,MF-Net的F-score 值除了略低于PMPNet 的Lamp 類外,其余各類F-score值均優于所有對比網絡,且其平均F-score值較最優的PMPNet提高了12.3%。MF-Net在相關補全網絡的基礎上,將傳統的單分辨率特征提取方式優化為采用多尺度特征提取模式,令網絡充分關注不同尺度特征,為后續的特征解碼、恢復完整點云形狀提供了很好的幫助。此外,在細化過程中通過合并粗點云和殘缺輸入以保留原始點云信息,并融合自注意力機制以過濾無效特征,進而提高網絡準確率,促使網絡補全性能達到最優。

表1 不同網絡的點云補全結果對比(CD)Table 1 Comparison of point cloud completion results of different networks(CD)

表2 不同網絡的點云補全結果對比(EMD)Table 2 Comparison of point cloud completion results of different networks(EMD)

表3 不同網絡的點云補全結果對比(F-score)Table 3 Comparison of point cloud completion results of different networks(F-score)
圖5是不同補全網絡的可視化結果對比,由圖可歸結MF-Net的以下兩點補全優勢。

圖5 不同網絡的點云補全結果的可視化對比(ShapeNet)Fig.5 Visual comparison of point cloud completion results of different networks(ShapeNet)
(1)對局部細節具有更好的補全能力。FoldingNet雖然可以補全點云的整體輪廓,但因為其網絡細化部分是由2D網格疊加組成,所以輸出的點云缺少細節信息,并且存在網格扭曲現象,例如飛機的引擎。PointFCAE和PCN 雖然有較高的補全精度,但對局部細節的恢復具有一定的難度。對于PointFCAE,在提取全局特征的基礎上,利用全連接網絡直接對提取的特征進行補全,因此輸出的點云缺少細節特征,導致補全的形狀曲面不夠平滑,噪聲點多,例如椅子的底部支架。對于PCN,雖然是利用全連接和網格變形進行由粗到細的補全,但是在編碼器中它僅關注點云全局特征,因此在點云空間結構的細節方面仍有缺失,存在點分布不均勻情況,例如椅子的扶手。PMPNet由于是通過逐點移動的方式進行補全,補全的形狀會存在局部間隙過大的問題,例如櫥柜的櫥壁。相比于上述補全網絡,MF-Net 具有良好的補全性能,通過采用多種特征提取方式把控特征信息,并且在折疊的2D網格基礎上融合自注意力的同時結合殘差網絡,令模型生成的目標點云具有合理形狀的同時避免了細節的丟失,例如飛機的引擎和機尾、椅子底部支架的結構、小汽車的車身弧度等都更接近真實點云。
(2)面對不同類別的點云數據具有良好的泛化能力。由圖5 可得,FoldingNet 更擅長補全具有平滑曲面結構類別的點云數據,例如小汽車。PCN和PointFCAE擅長補全對細節信息要求較少類別的點云數據,例如飛機。PMPNet 擅長預測缺失程度較低類別的點云數據,例如椅子。相比于其他補全網絡,MF-Net 通過采用最遠點采樣方法獲取多分辨率點云以關注不同尺度點云特征,進而有效捕捉輸入點云的關鍵點特征信息,并且在細化點云過程中引入原始點云坐標,使網絡在進行補全時有效保留殘缺輸入的細節特征,從而打破對補全類別的局限性,提高網絡泛化能力,優化補全性能,如小汽車、櫥柜、椅子等都更近似于基準點云。
3.3.2 KITTI數據集的補全結果
KITTI 數據集是通過激光雷達掃描地面車輛而形成的僅具有殘缺點云的數據集,因此實驗僅展現模型補全后的可視化結果。在實驗中,首先將標記為車輛的點云歸置在三維包圍盒內,從而產生2 401 個殘缺的目標點云,然后通過坐標轉換將殘缺點云的坐標轉換為包圍盒的坐標,最后利用在ShapeNet數據集上訓練好的模型進行補全。
表4 為不同補全網絡在KITTI 數據集中補全結果一致性的比較,最佳補全結果用黑體加粗表示。原始輸入一致性較高是因為相同實例在不同幀下經過掃描所形成的外觀不同。相比輸出一致性,MF-Net 相較于FoldingNet、PCN、PointFCAE 和PMPNet 分別提升了28.9%、15.8%、13.6%、30.8%。MF-Net 將原始輸入采樣為多尺度點云,然后應用不同的特征提取方式捕獲多尺度點云特征信息,并在合并原始點云坐標信息的同時融入自注意力機制,最后在整個精細重構單元結合殘差網絡進行細化。由表4可得,該網絡結構有效降低了輸出一致性,提高了點云補全精度,促使生成點云具有更為完整的全局結構。

表4 不同網絡的點云補全結果對比(Consistency)Table 4 Comparison of point cloud completion results of different networks(Consistency)
如圖6 所示,為進一步驗證輸出一致性,實驗對兩種不同連續幀下的車輛點云進行補全。由圖可知,FoldingNet補全的車輛存在網格過度變形情況;PCN補全的車尾過于平滑;PointFCAE補全的車輛在曲面銜接部分過于生硬,并且周圍噪聲點較多;PMPNet補全的車輛存在點分布不均勻情況。相比于上述補全網絡,MFNet 補全的形狀更接近真實車輛,原因在于它采用特征點采樣的策略令網絡關注不同尺度且具有代表性的特征點,并利用多種特征提取方式提取相應尺度結構信息,使網絡在面對缺失程度較大的輸入點云時,仍能進行有效補全,進而提高網絡的魯棒性;然后在點云細化處添加原始點云信息并融合注意力機制,以此保留有用特征,從而預測更為合理且細節更加飽滿的點云形狀。

圖6 不同網絡的點云補全結果的可視化對比(KITTI)Fig.6 Visual comparison of point cloud completion results of different networks(KITTI)
KITTI數據集和ShapeNet數據集不同,其原始輸入的點數更少,殘缺程度更大,并且沒有基準數據集。通過網絡在KITTI數據集上的實驗結果證明,本文提出的補全網絡不僅具有良好的泛化性,還具有較高的魯棒性。
為進一步證明本文提到的多尺度點云、MCMLP模塊、EdgeConv模塊、精細重構單元中的注意力機制及原始點云拼接的可用性、有效性,在ShapeNet 數據集上進行消融實驗。對于MCMLP 模塊和EdgeConv 模塊,實驗分別將它們替換為MLP 和PointNet++的特征提取模塊進行點云補全;對于精細重構單元中注意力機制及原始點云的拼接,網絡將去除相應部分,直接進行點云細化;對于多尺度點云,網絡將刪除對原始點云的最遠點采樣策略,僅對輸入點云做特征提取。
表5為消融實驗結果,最佳補全結果用黑體加粗表示。[A]組是將MCMLP替換MLP的實驗結果。傳統補全網絡在對輸入點云進行特征提取時,采用MLP 直接對最后一層的特征維度進行最大池化操作,以此生成潛在特征向量。但是MLP在提取特征過程中會丟失部分特征信息,并且只利用最大池化進行特征收集會忽略全局結構。與MLP不同的是,MCMLP將映射在逐層特征維度上的信息進行級聯,有效避免了特征信息丟失問題,保證了特征完整性。此外,并行使用最大池化和平均池化能更好搜集點云特征,兼顧輸入點云的局部幾何結構。因此,當MCMLP更換為MLP時,平均CD值、平均EMD 值分別提高了16.7%、11.2%,平均F-score 下降了21.6%。[B]組是將EdgeConv替換PointNet++的實驗結果。以往補全網絡大多利用PointNet++提取局部特征,然而在提取特征時會忽略輸入點云的立體幾何特征。為更好提取輸入點云的局部特征,控制其鄰域信息,MF-Net采用EdgeConv動態提取點與點之間的鄰域信息。EdgeConv 主要采用KNN 動態選擇空間中節點的鄰近點并構造局部鄰域圖,然后計算點與鄰域點間的多維邊特征,接著利用聚合函數將得到的邊特征進行綜合后更新該點的特征值。因此,將EdgeConv 替換為PointNet++,其平均CD 值、平均EMD 值分別提高16%、11.2%,平均F-score 下降20.4%。[C]組是去除精細重構單元中原始點云的實驗結果。在進行點云細化時結合原始殘缺點云,有效恢復其全局結構及局部細節。因此,當去除精細重構單元中原始點云的加入時,其平均CD 值、平均EMD 值分別提高了12.3%、11.6%,平均F-score下降了16.4%。[D]組是去除注意力機制的實驗結果。通過融合注意力機制,網絡可以更加關注有效信息,過濾無用特征。因此,當去除注意力機制時,其平均CD 值、平均EMD 值分別提高了8.3%、8.7%,平均F-score 下降了11.9%。[E]組是將多尺度點云更換為單分辨率點云的實驗結果。傳統點云補全網絡直接對輸入數據進行特征提取,然而僅關注單分辨率點云特征會造成網絡魯棒性下降,補全效果變差。MF-Net 采用最遠點采樣策略將原始點云采樣為多尺度點云并進行特征提取,有效關注高低層次具有代表性的特征點,從而提高網絡魯棒性,并為后續的特征提取提供幫助。因此,當更換為單分辨率點云時,其平均CD值、平均EMD值分別提高了17.6%、12.2%,平均F-score 下降了23.4%。[F]組是完整的MF-Net 的實驗結果,取得所有評價指標的最低值。通過對比發現,只有提出的模塊均存在時,網絡的補全能力才會達到最佳狀態。

表5 消融實驗結果對比Table 5 Comparison of results of ablation experiments
針對目前點云補全網絡只保留全局結構忽略局部細節,從而造成語義信息丟失的問題,提出了一種結合殘差網絡的多尺度特征點云補全網絡。為了關注更具代表性的特征點,網絡將三種不同尺度點云作為輸入,以提高網絡魯棒性。通過設計MCMLP和EdgeConv并行提取特征結構,可以更好地挖掘點云全局特征和局部特征,從而提高網絡補全性能。在解碼器中,網絡將粗點云和原始點云等進行合成,并在細化過程中融合自注意力的同時結合殘差網絡,以關注有效點特征逐步細化點坐標,從而提高了形狀補全的完整性和點分布的均勻性。在ShapeNet 數據集和KITTI 數據集上與多個補全網絡進行對比可知,本文提出的方法在保證點云整體結構的同時還對局部細節信息有更好的把控,并且具有良好的泛化性和魯棒性。值得注意的是,解碼器中點云精細重構單元由于添加2D 網格進行細化,造成輸出點云的點排列過于規則化。因此,如何使補全點云的點排列具有隨機性是下一步的研究目標。