張文麗,程 蘭,任密蜂,續欣瑩,閻高偉,張 喆
(太原理工大學 電氣與動力工程學院,太原 030024)
點云配準問題是估計最佳剛性變換矩陣的問題,旨在將兩個具有重疊部分的3D 點云對齊到同一坐標系。點云配準任務是三維重建[1]、自動駕駛[2]以及同時定位與建圖(Simultaneous Localization and Mapping,SLAM)[3]中的重要環節,然而在真實場景中使用點云配準也存在一定的挑戰,主要因為不同場次掃描的點云之間存在密度變化、有噪聲、有遮擋的問題,并且點云數據是無序、不規則和稀疏的,所以在真實數據中提高算法配準精度和魯棒性是非常必要的。
根據數據轉換方式的不同,在點云上進行學習可以分為基于體素、多視圖和原始點云的點云配準方法。由于基于體素[4]和多視圖[5-7]的點云配準方法在轉換過程中會造成信息丟失,并消耗大量內存和計算資源,因此目前基于原始點云的點云配準方法成為了在點云上進行學習的主流方法。文獻[8]提出PointNet,直接在原始點云上提取特征,解決了輸入點云的無序性、置換不變性以及旋轉不變性問題。之后,研究者將直接對點云進行處理的點云配準方法推廣到基于學習的點云配準方法中,分為端到端方法和基于特征描述的方法[9]。
端到端的點云配準方法是將一對點云輸入神經網絡,直接輸出兩個點云之間的變換矩陣。文獻[10]提出PointNetLK,一對點云分別利用去除T-Net 的PointNet 獲得每個點的特征,然后通過可微的LK[11]算法優化特征之間的差異并估計變換矩陣。文獻[12]提出一種深度最近點(Deep Closest Point,DCP)模型,首先使用動態圖卷積神經網絡(Dynamic Graph CNN,DGCNN)[13]對點云進行特征提取,接著加入Transformer 模塊考慮兩個點云之間的上下文信息,最后使用奇異值分解(Singular Value Decomposition,SVD)計算旋轉和平移矩陣。文獻[14]在DCP 的基礎上提出了PRNet,不同的是PRNet 沒有考慮所有輸入點的對應關系,而是預測了關鍵點到關鍵點的對應關系,解決了部分到部分的點云配準問題。盡管PRNet 的精度優于PointNetLK 和DCP,但仍僅適用于合成數據集,在真實數據上效果不佳。
基于特征描述的方法融合了深度學習提取特征和傳統點云配準方法的思想,首先通過深度網絡建立關鍵點之間的對應關系,然后使用隨機采樣一致性(RANdom SAmpling Consistency,RANSAC)算法[15]進行離群值過濾估計剛性變換矩陣,主要側重于關鍵點描述。文獻[16]以PointNet 為基本框架,建立對采樣點的局部鄰域計算點對特征的網絡結構(PPFNet),PPFNet 采集了局部和全局特征,但依然對噪聲和旋轉操作敏感。文獻[17]使用完全卷積網絡[18]提取全局描述符,雖然處理速度很快,但全局描述符對遮擋和背景干擾不具備魯棒性。文獻[19]提出一種局部深度描述符模型(DIP),采用基于局部塊的特征提取方式,首先對每個局部塊建立局部參考坐標系(Local Reference Frame,LRF)[20]用于規范化每個點,使其具有旋轉不變性,然后將規范化后的局部塊作為基于PointNet 網絡的輸入,生成局部描述符。DIP[19]在真實數據集上匹配精度優于文獻[20-21]模型,但采用PointNet 作為特征提取網絡,沒有考慮點云中局部鄰域的空間信息。自適應圖卷積(Adaptive Graph Convolution,AGConv)[22]網絡不僅使用圖卷積[13]充分考慮了全局形狀信息和局部鄰域信息,而且使用自適應核提高了卷積靈活性,并能獲得不同語義部分點間的不同關系。
本文設計一種基于AGConv 特征描述符的點云配準模型。通過預處理模塊對點云提取局部塊并進行LRF 規范化,將其輸入基于AGConv 的特征提取模塊,利用匹配損失函數優化對應關系,并使用RANSAC 算法過濾離群點并估計變換矩陣。
本文提出的基于AGConv 局部特征描述符的點云配準模型主要由基于局部塊的數據預處理模塊、基于AGConv 的特征提取模塊、基于RANSAC 剛性變換估計的點云配準模塊等3 個模塊構成,如圖1 所示。首先給定兩個具有重疊區域的點云,通過數據預處理模塊從兩個輸入點云的重疊區域中分別提取局部塊作為訓練數據;然后設計一個基于AGConv的特征提取模塊,將輸入數據映射到一個新的特征空間,通過計算損失函數來訓練網絡以獲得對應局部塊的特征描述;最后在得到對應點的特征描述符后選擇常用的RANSAC 算法去除誤匹配并估計剛性變換矩陣,最終實現成對點云配準。
一般通過掃描設備得到的點云包含大量的點,并且比較密集。如果把點云中的所有點都作為輸入,那么會消耗非常大的計算資源,因此通常會通過預處理對原始點云數據進行關鍵點采樣處理。另外,在點云配準過程中,對應點僅存在于兩個點云的重疊區域,在重疊區域進行特征匹配能夠有效提高配準精度。
如圖2 所示(彩色效果見《計算機工程》官網HTML 版),數據預處理模塊沿用了DIP[19]中基于局部塊的思想,從一對重疊區域大于30%的點云對(P,P')中提取局部塊。在網絡訓練過程中,通過真實的變換矩陣T?SE(3)找到點云對之間的對應點集(O,O'),如果對所有對應點求描述符則會增加不必要的計算量,因此采用最遠點采樣法(Farthest Point Sampling,FPS)[23]提取N=256 個關鍵點以確保采樣的點均勻分布在重疊區域。給定點云P中關鍵點的集合為X?O及其在點云P'中的最近點X'?O'。以點云P為例,首先對于每個關鍵點xi?X,提取半徑為的局部 塊,并使用局部塊內的點計算相應的LRF[20],記為L。與DIP 類似,為了減少計算量對局部塊內的點進行隨機采樣n=256 個點以構成關鍵點的局部鄰域。然后重新計算n個點中每個點相對于其局部塊中心xi的坐標并進行歸一化,歸一化后局部塊中點的集合為最后為了加強描述符的旋轉不變性,應用計算的L對F(Y)進行旋轉變換操作,最終點云P的局部塊可以表示為F=L?F(Y)。以同樣的操作得到點云P'的局部塊F',將數據預處理模塊得到的局部塊F和F'分別作為特征提取模塊的輸入,對關鍵點的局部鄰域特征進行編碼,從而對遮擋和環境干擾具有較強的魯棒性。因此,基于局部特征的點云配準模型在真實數據集上更有效穩健。

圖2 數據預處理模塊結構Fig.2 Structure of data preprocessing module
1.2.1 特征提取網絡
基于PointNet 的特征提取網絡在一些分類和分割任務中具有較優的性能,但是PointNet 只是對所有點云數據提取了全局特征,缺少局部信息,因此適用于處理復雜點云。為了解決該問題,使用AGConv 對局部塊提取逐點特征。與標準的圖卷積不同,AGConv 在卷積操作中根據每一層學習的特征為點生成自適應核,而不是使用固定的卷積核,能夠有效地提取不同語義部分的點之間的不同關系。特征提取模塊結構如圖3 所示。

圖3 特征提取模塊結構Fig.3 Structure of feature extraction module
對于每個輸入點云可以表示為(N,n,3)的形式,其中,N為局部塊的個數,n為局部塊內采樣點的個數,3 表示每個點為三維坐標形式。為了彌補LRF 錯誤估計的問題,輸入(N,n,3)的點云局部塊,經過可學習的轉換網絡Spatial T-Net 實現點云的自動對齊,Spatial T-Net 使用了KNN 圖結構[13]以及PointNet 中的T-Net 估計變換矩陣。首先,將對齊后的局部塊輸入到4 層AGConv 層(64,64,128,256)進行多級特征提取,并將每一級的輸出特征進行連接以聚合多尺度的特征。然后,將聚合后的特征信息通過多層感知器(Multi-Layer Perceptron,MLP)以及最大池化操作輸出每個局部塊的1 024 維表示。最后,由3 層MLP 層(512,256,32)處理,其中最后一層的32 維輸出由一個局部響應歸一化層(Local Response Normalization,LRN)進行歸一化。
1.2.2 損失函數
孿生網絡結構由兩個相同且權值共享的網絡組成,用于衡量兩個輸入的相似性。配準問題的輸入是兩個具有相似數據結構的點云集合,因此在圖1中使用孿生網絡訓練用于提取局部塊描述符的特征提取網絡,訓練的目的是使重疊點云對中的兩個對應局部塊之間產生盡可能相似的描述符,即使匹配局部塊的描述符間的距離盡可能小,不匹配局部塊描述符的距離盡可能大。在網絡訓練過程中,針對兩個不同的目標通過最小化兩個損失的線性組合來學習網絡參數。因為在學習的仿射變換下需要幾何對齊兩個局部塊,而Chamfer Loss[24]具有使兩個點云在幾何空間上相似的特性可以有效解決仿射變換下幾何對齊的問題。又因為兩個對應局部塊在特征空間也應盡可能相似,而Hardest-contrastive Loss[17]能同時 對相似性和不相似性進行計算使輸入數據在特征空間找到兩個對應點。
1)Chamfer Loss
倒角距離(Chamfer Distance,CD)是用來計算離最近特征點的平均距離。對于點云中的每個點,CD都會找到另一個點集中的最近點。因此,在點云配準網絡中為了使匹配點間的距離最小,一般會將該距離用作訓練該網絡的損失函數。首先在變換矩陣A上使用Chamfer Loss[24]以幾何對齊兩個局部塊,訓練網絡的目的是最小化局部塊F中每個點與局部塊F'中其最近鄰點之間的距離,距離越小說明對齊效果越好。Chamfer Loss的計算公式可表示如下:
其中:|.|是集合中點的個數;A和A'分別為局部塊F和F'通過Spatial T-Net 學習到的變換矩陣。
2)Hardest-contrastive Loss
Hardest-contrastive Loss 可以有效衡量孿生神經網絡中兩個輸入數據的相似性,而點云配準問題中訓練特征提取網絡就是為了找到兩個特征相似的對應點。因此,使用一種結合負樣本挖掘技術的度量學習損失函數Hardest-contrastive Loss[17]來度量兩個局部塊之間的相似性。給定一對錨點的描述符(f,f'),挖掘最難負例(f-,f-'),損失函數可以定義如下:
其中:C+是錨點對的集合,即正樣本集;C-是局部塊中描述符的集合,用于負例挖掘;fk是距離錨點最近的點;[ ?]+表示取正數部分;mp和mn分別是正樣本對和負樣本對的邊界,正樣本對的距離應該小于mp,負樣本對的距離應該大于mn,按照一般規定[17],設置mp=0.1、mn=1.4。
該特征提取網絡總的損失函數為LC和LH的線性組合L,訓練的目標是最小化L。
所有實驗選用的設備配置信息為:GPU GTX 3090,CUDA 11.4,Ubuntu 18.04,PyTorch 1.10.1,Python 3.7。訓練模型使用SGD 優化器訓練10 個epoch,每個epoch 迭代16 602 次,每次迭代都是一對點云。初始學習率設為0.01,學習率每學習3次降低10%。
在大規模公開數據集3DMatch[4]上進行實驗。3DMatch 數據集包含62 個使用RGB-D 傳感器采集的真實室內場景,按照官方劃分的比例將54 個場景用于訓練,8 個場景用于測試。實驗選取3DMatch 數據集中重疊率大于30%的點云對訓練深度網絡,使用0.01 m 的體素大小對點云進行下采樣。為了測試模型是否具有旋轉不變性,對3DMatch 數據集中的每個點云通過[0,2π]任意角度旋轉,組成3DMatch Rotated 數據集。
使用特征匹配召回率(Feature Matching Recall,FMR)衡量特征的描述能力,測量了數據集中正確匹配的點云數量。FMR 計算公式可表示如下:
其中:|M|表示重疊率大于30%的匹配點云對的數量是通過 最近鄰 搜索找 到的一 對預測對應點;Ωs是第s個匹配點云對中找到的對應點的集合;Ts是當前匹配點云對的真實變換矩陣;Ind(?)是指示函數;按照一般規定設置內點距離閾值τ1=0.1 m,內點比率閾值τ2=0.05。
配準召回率(Registration Recall,RR)是衡量點云配準實際任務性能的主要指標,評估了使用RANSAC 估計后的變換矩陣的質量,即一組具有真實變換矩陣的點云對,測量配準模型可以正確匹配的點云對的占比。RR 計算公式可表示如下:
表1 為所提模型在3DMatch 和3DMatch Rotated數據集中采樣5 000 個點,與基于傳統手工特征描述符的FPFH[25]模型以及近幾年代表性的基于學習描述符 的3DMatch[4]、PPFNet[16]、PPF-FoldNet[26]、PerfectMatch[20]、FCGF[17]、DIP[19]、D3Feat[21]模型進 行FMR 對比分析。由表1 可以看出,所提模型不僅在3DMatch數據集上相較于其他模型具有較高的特征匹配召回率,并且在3DMatch Rotated 數據集上依然表現出很好的旋轉不變性。

表1 不同模型的特征匹配召回率對比Table 1 Comparison of feature matching recall of different models %
通過改變式(4)中的τ1和τ2驗證所提模型的魯棒性,所提模型與對比模型的魯棒性對比結果如圖4 所示(彩色效果見《計算機工程》官網HTML 版)。由圖4 可以看出:當增大τ1到相同數值時,所提模型相較于其他模型的FMR 上升趨勢更快;當增大τ2時,所提模型的FMR 下降速度最慢。特別是在τ2=0.200 時,所提模型和DIP 差距最明顯,這表明采用AGConv 提取的穩健特征進一步提高了模型魯棒性。

圖4 不同模型的魯棒性對比Fig.4 Robustness comparison of different models
表2 展示了不同模型在3DMatch 數據集的8 個測試場景中的配準召回率對比結果。由表2 可以看出,所提模型在8 個場景中均具有較優的結果,其中在Home1 場景中的配準召回率略低于FCGF,可能的原因為該場景中的點云重疊率較低。值得注意的是Lab 場景是由多個平面組成的場景,缺乏結構化信息,所提模型在該場景中依然能得到88%的配準召回率,這表明所提模型能夠提取出更獨特的特征。

表2 不同模型的配準召回率對比Table 2 Comparison of registration recall of different models %
為了進一步證明所提模型的優越性,將采樣點的數量從5 000 減少到2 500、1 000、500 甚至250 來評估不同模型的配準召回率,如表3 所示。由表3可以看出,當采樣點從5 000 下降到250 時,即使采樣點數只有250,所提模型依然能夠保持在80%以上的配準召回率,而其他模型均以一定的幅度下降。

表3 不同模型在不同采樣點數下的配準召回率對比Table 3 Comparison of registration recall of different models under different sampling points %
圖5 為所提模型配準結果的可視化展示(彩色效果見《計算機工程》官網HTML 版)。由圖5 可以看出,所提模型能夠精確地將源點云和目標點云對齊??梢姡捎肁GConv 作為特征提取器在不同的評估度量下都能保持較優的結果。

圖5 配準結果可視化Fig.5 Visualization of registration results
本文提出基于AGConv 局部特征描述符的點云配準模型。對輸入數據進行局部塊規范化,使用基于AGConv 的深度網絡學習旋轉不變、魯棒且獨特的局部特征描述符,提高模型在真實數據集中的配準精度。在3DMatch 數據集重疊率大于30%的點云對上的實驗結果表明,所提模型取得了92%的配準召回率。但由于所提模型中的數據預處理模塊、特征提取模塊和點云配準模塊都是獨立模塊,運行時間較長,因此下一步可將AGConv 描述符擴展到端到端配準,并在低重疊的點云對上進一步提高模型運行效率。