原論文:PPFNet: Global Context Aware Local Features for Robust 3D Point Matching
PPFNet
1、四個問題
- 要解決什麼問題?
- 在3D視覺中,3D幾何信息的局部描述子在許多任務中扮演了很重要的角色,諸如:對應性估計、匹配、配準、物體檢測以及形狀恢復等。儘管近10年間,出現了一系列手工設計(hand-craft)的3D特徵描述子,但是卻很難爲3D點雲數據生成理想的可重複且具有區分性的局部描述子。因爲很多時候,3D點雲中含有較多噪聲,或是不完整的。
- 所以,這篇論文的目的是爲3D點雲生成理想且魯棒的3D局部特徵子。
- 用了什麼方法解決?
- 文中,提出了PPFNet網絡。基於深度學習方法來生成易區分且抗旋轉的3D局部特徵子。
- 首先,將一些簡單的幾何特徵屬性如:點的座標、法線以及點對特徵(point pair features, PPF),組合起來成原始特徵;
- 隨後,又設計了一個新的損失函數:N-tuple Loss。其類似於contrastive loss,能同時將多個同類或者不同類樣本嵌入到一個歐式空間中,樣本之間的差異用其特徵向量的歐式距離表示。
- 最後,PPFNet網絡的結構繼承自PointNet,因此它天生就可以處理點雲以及應對點的無序性。
- 文中,提出了PPFNet網絡。基於深度學習方法來生成易區分且抗旋轉的3D局部特徵子。
- 效果如何?
- 文中對PPFNet進行了額外的驗證實驗,在準確率、速度、對點的稠密程度的魯棒性以及抗3D平移旋轉等方面都取得了最state-of-the-art的效果。
- 還存在什麼問題?
- PPFNet的一個問題在於二次內存的佔用,導致我們只能將硬件上的patch數限制爲2000個。而另一個3D匹配方法——3D Match,則取到5000個,所以在某些特定任務上效果相比下略微差一些。
- 現在的3D匹配都是基於室內場景的3D特徵點匹配,還沒有針對更具一般性更難的場景下進行研究。
2、論文概述
2.1、相關工作
- hand-crafted的3D特徵描述子:
- 旋轉不變特徵,比如點對特徵(point pair feature, PPF),例如:PPFH、FPFH。
- 訓練得到的3D特徵描述子:
- 有一部分方法是直接處理點雲,進行編碼。比如,TDF、TSDF等。最近有一項此類的研究工作——3DMatch,它先使用TSDF進行編碼,隨後使用一個contrastiev loss損失函數來衡量樣本間的一致性並訓練網絡。
- 另外一個分支,是基於3D信息獲取投影的2D圖片或者深度圖,並使用已經廣泛研究過的基於2D圖片的分類網絡。
- 此外還有一個分支,圖網絡(graph networks)也可以用於表示點集。
- 一個比較重要的突破源自於PointNet,可以直接輸入原始的3D點雲。之後還擴展爲了PointNet++,以更好地提取局部信息。
2.2、背景
2.2.1、動機
- 假設有兩個點集和,其中和分別表示連個點集中對應的第個點的座標。
- 假設每個點都有一個與之對應的,使用一個置換矩陣來表示這個對應關係。
- 兩個點集之間的變換關係矩陣可以定義爲:。
- 點集之間的L2距離如下:
- 其中,與之間的對應關係爲。
- 假設和的維度相同,即。
- 式子1可以轉爲如下式:
- 理想情況下,如果兩個點集相互匹配,那麼。
- 這也意味着,我們需要尋找一個也滿足類似性質的非線性映射關係:。
- 如果兩個點集相互匹配,那麼也會有:。
- 此外,爲了保證旋轉和置換不變性,最好能保證。
- 很自然地,就想到了PointNet架構,它可以處理無序點集,並提取成全局特徵。
2.2.2、Point Pair Features(PPF)
- PPF是一個4維的描述子,表示的是一對點和的表面特徵,計算公式如下:
- :兩個點之間的差值,是一個向量。
- 、$ n_2x_1 x_2$上的法向量。
- :歐氏距離。
- 表示向量之間的夾角:
2.2.3、PointNet
- 文中只是用了原始的PointNet(vanilla PointNet),不帶STN單元。
- PointNet是通過一些獨立的MLP來處理點雲數據,最後通過一個全局的最大池化來提取全局特徵,可以處理無序、長度可變化的點集。(具體內容不做贅述,可以參考PointNet的論文)
2.3、PPFNet
2.3.1、局部幾何信息編碼
- 爲中心點,表示一個以爲中心的patch內的點(即爲領域的點)
2.3.2、網絡結構
- 輸入包含有N個均勻採樣的局部區域(local patches)。
- 從這些區域中提取特徵,隨後送入mini-PointNet中,進一步提取特徵。所有的PointNet的權值和偏置參數都共享。
- 接着使用一個最大池化層將各個patch的局部特徵聚合爲全局特徵。
- 然後再把全局特徵拼接到各個局部特徵上。
- 最後使用一組MLP來融合局部和全局特徵得到最終的3D特徵描述子。
2.3.3、N-tuple Loss
- 兩種常用的loss函數:contrastive loss和triplet loss。儘管這兩個loss會盡可能區分2/3個樣本,但是也存在一些隱患,如圖中所示,儘管都滿足了減小類內間距增加類間間距的要求,但是並沒有保證所有的樣本都能滿足這一性質。而樣本對的選取是隨機的,無法保證一定能包括所有可能情況。
- 將這類loss推廣到N個樣本的情況,提出了N-tuple loss。
- 給定ground truth的變換矩陣,首先要計算點集對齊後的對應性矩陣:。
- 是標誌函數。
- 類似地,也可以計算特徵空間距離矩陣和:
- N-tuple loss計算公式如下:
- 表示矩陣的哈達馬乘積(hadamard product),即矩陣對應位置的數相乘。
- 爲權衡同類和異類樣本對間距的超參數,爲異類樣本點之間距離的下邊界(最小值)。