论文笔记:PPFNet
原論文:PPFNet: Global Context Aware Local Features for Robust 3D Point Matching
PPFNet
1、四個(gè)問(wèn)題
- 在3D視覺(jué)中,3D幾何信息的局部描述子在許多任務(wù)中扮演了很重要的角色,諸如:對(duì)應(yīng)性估計(jì)、匹配、配準(zhǔn)、物體檢測(cè)以及形狀恢復(fù)等。盡管近10年間,出現(xiàn)了一系列手工設(shè)計(jì)(hand-craft)的3D特征描述子,但是卻很難為3D點(diǎn)云數(shù)據(jù)生成理想的可重復(fù)且具有區(qū)分性的局部描述子。因?yàn)楹芏鄷r(shí)候,3D點(diǎn)云中含有較多噪聲,或是不完整的。
- 所以,這篇論文的目的是為3D點(diǎn)云生成理想且魯棒的3D局部特征子。
- 文中,提出了PPFNet網(wǎng)絡(luò)。基于深度學(xué)習(xí)方法來(lái)生成易區(qū)分且抗旋轉(zhuǎn)的3D局部特征子。
- 首先,將一些簡(jiǎn)單的幾何特征屬性如:點(diǎn)的坐標(biāo)、法線以及點(diǎn)對(duì)特征(point pair features, PPF),組合起來(lái)成原始特征;
- 隨后,又設(shè)計(jì)了一個(gè)新的損失函數(shù):N-tuple Loss。其類似于contrastive loss,能同時(shí)將多個(gè)同類或者不同類樣本嵌入到一個(gè)歐式空間中,樣本之間的差異用其特征向量的歐式距離表示。
- 最后,PPFNet網(wǎng)絡(luò)的結(jié)構(gòu)繼承自PointNet,因此它天生就可以處理點(diǎn)云以及應(yīng)對(duì)點(diǎn)的無(wú)序性。
- 文中對(duì)PPFNet進(jìn)行了額外的驗(yàn)證實(shí)驗(yàn),在準(zhǔn)確率、速度、對(duì)點(diǎn)的稠密程度的魯棒性以及抗3D平移旋轉(zhuǎn)等方面都取得了最state-of-the-art的效果。
2、論文概述
2.1、相關(guān)工作
- 旋轉(zhuǎn)不變特征,比如點(diǎn)對(duì)特征(point pair feature, PPF),例如:PPFH、FPFH。
- 有一部分方法是直接處理點(diǎn)云,進(jìn)行編碼。比如,TDF、TSDF等。最近有一項(xiàng)此類的研究工作——3DMatch,它先使用TSDF進(jìn)行編碼,隨后使用一個(gè)contrastiev loss損失函數(shù)來(lái)衡量樣本間的一致性并訓(xùn)練網(wǎng)絡(luò)。
- 另外一個(gè)分支,是基于3D信息獲取投影的2D圖片或者深度圖,并使用已經(jīng)廣泛研究過(guò)的基于2D圖片的分類網(wǎng)絡(luò)。
- 此外還有一個(gè)分支,圖網(wǎng)絡(luò)(graph networks)也可以用于表示點(diǎn)集。
- 一個(gè)比較重要的突破源自于PointNet,可以直接輸入原始的3D點(diǎn)云。之后還擴(kuò)展為了PointNet++,以更好地提取局部信息。
2.2、背景
2.2.1、動(dòng)機(jī)
- 假設(shè)有兩個(gè)點(diǎn)集X∈Rn×3X \in \mathbb{R}^{n \times 3}X∈Rn×3和Y∈Rn×3Y \in \mathbb{R}^{n \times 3}Y∈Rn×3,其中xix_ixi?和yiy_iyi?分別表示連個(gè)點(diǎn)集中對(duì)應(yīng)的第iii個(gè)點(diǎn)的坐標(biāo)。
- 假設(shè)每個(gè)點(diǎn)xix_ixi?都有一個(gè)與之對(duì)應(yīng)的yiy_iyi?,使用一個(gè)置換矩陣P∈PnP \in \mathbb{P}^nP∈Pn來(lái)表示這個(gè)對(duì)應(yīng)關(guān)系。
- 兩個(gè)點(diǎn)集之間的變換關(guān)系矩陣可以定義為:T={R∈SO(3),t∈R3}T=\{ R \in SO(3), t \in \mathbb{R}^3 \}T={R∈SO(3),t∈R3}。
- 點(diǎn)集之間的L2距離如下:
(1)d(X,Y∣R,t,P)=1n∑i=1n∥xi?Ryi(P)?t∥d(X, Y | R, t, P) = \frac{1}{n} \sum_{i=1}^{n} \| x_i - Ry_{i(P)} - t \| \tag{1}d(X,Y∣R,t,P)=n1?i=1∑n?∥xi??Ryi(P)??t∥(1)
- 其中,xix_ixi?與yi(P)y_{i(P)}yi(P)?之間的對(duì)應(yīng)關(guān)系為PPP。
- 假設(shè)XXX和YYY的維度相同,即∣X∣=∣Y∣=n|X| = |Y| = n∣X∣=∣Y∣=n。
- 式子1可以轉(zhuǎn)為如下式:
(2)d(X,Y∣T,P)=1n∥X?PYTT∥d(X, Y | T, P) = \frac{1}{n} \| X - P Y T^T \| \tag{2}d(X,Y∣T,P)=n1?∥X?PYTT∥(2)
- 理想情況下,如果兩個(gè)點(diǎn)集相互匹配,那么d(X,Y∣T,P)≈0d(X, Y | T, P) \approx 0d(X,Y∣T,P)≈0。
- 這也意味著,我們需要尋找一個(gè)也滿足類似性質(zhì)的非線性映射關(guān)系:f(x)f(x)f(x)。
(3)df(X,Y∣T,P)=1n∥f(X)?f(PYTT)∥d_f(X, Y | T, P) = \frac{1}{n} \| f(X) - f(PYT^T) \| \tag{3}df?(X,Y∣T,P)=n1?∥f(X)?f(PYTT)∥(3)
- 如果兩個(gè)點(diǎn)集相互匹配,那么也會(huì)有:df(X,Y∣T,P)≈0d_f(X, Y | T, P) \approx 0df?(X,Y∣T,P)≈0。
- 此外,為了保證旋轉(zhuǎn)和置換不變性,最好能保證f(Y)≈f(PYTT)f(Y) \approx f(PYT^T)f(Y)≈f(PYTT)。
- 很自然地,就想到了PointNet架構(gòu),它可以處理無(wú)序點(diǎn)集,并提取成全局特征。
2.2.2、Point Pair Features(PPF)
- PPF是一個(gè)4維的描述子,表示的是一對(duì)點(diǎn)x1x_1x1?和x2x_2x2?的表面特征,計(jì)算公式如下:
(4)ψ12=(∥d∥,∠(n1,d),∠(n2,d),∠(n1,n1))\psi_{12} = (\|d\|, \angle{(n1, d)}, \angle{(n2, d)}, \angle{(n1, n1)} ) \tag{4}ψ12?=(∥d∥,∠(n1,d),∠(n2,d),∠(n1,n1))(4)
- ddd:兩個(gè)點(diǎn)之間的差值,是一個(gè)向量。
- n1n_1n1?、$ n_2分別是分別是分別是x_1 、、、 x_2$上的法向量。
- ∥˙∥\| \dot{} \|∥˙∥:歐氏距離。
- ∠\angle∠表示向量之間的夾角:
(5)∠(v1,v2)=atan2(∥v1×v2∥,v1?v2)\angle(v_1, v_2) = atan2(\| v_1 \times v_2 \|, v_1 \cdot v2) \tag{5}∠(v1?,v2?)=atan2(∥v1?×v2?∥,v1??v2)(5)
2.2.3、PointNet
- 文中只是用了原始的PointNet(vanilla PointNet),不帶STN單元。
- PointNet是通過(guò)一些獨(dú)立的MLP來(lái)處理點(diǎn)云數(shù)據(jù),最后通過(guò)一個(gè)全局的最大池化來(lái)提取全局特征,可以處理無(wú)序、長(zhǎng)度可變化的點(diǎn)集。(具體內(nèi)容不做贅述,可以參考PointNet的論文)
2.3、PPFNet
2.3.1、局部幾何信息編碼
- xrx_rxr?為中心點(diǎn),xix_ixi?表示一個(gè)以xrx_rxr?為中心的patch內(nèi)的點(diǎn)(即iii為rrr領(lǐng)域的點(diǎn))
(6)Fr={xr,nr,xi,...,ni,...,ψri,...}F_r = \{ x_r, n_r, x_i, ..., n_i, ..., \psi_{ri}, ... \} \tag{6}Fr?={xr?,nr?,xi?,...,ni?,...,ψri?,...}(6)
2.3.2、網(wǎng)絡(luò)結(jié)構(gòu)
2.3.3、N-tuple Loss
- 兩種常用的loss函數(shù):contrastive loss和triplet loss。盡管這兩個(gè)loss會(huì)盡可能區(qū)分2/3個(gè)樣本,但是也存在一些隱患,如圖中所示,盡管都滿足了減小類內(nèi)間距增加類間間距的要求,但是并沒(méi)有保證所有的樣本都能滿足這一性質(zhì)。而樣本對(duì)的選取是隨機(jī)的,無(wú)法保證一定能包括所有可能情況。
- 將這類loss推廣到N個(gè)樣本的情況,提出了N-tuple loss。
- 給定ground truth的變換矩陣TTT,首先要計(jì)算點(diǎn)集對(duì)齊后的對(duì)應(yīng)性矩陣:M∈RN×NM \in \mathbb{R}^{N \times N}M∈RN×N。M=(mij)M = (m_{ij})M=(mij?)
(7)mij=σ(∥xi?Tyj∥2<τ)m_{ij} = \sigma ( \| x_i - T y_j \|_2 < \tau) \tag{7} mij?=σ(∥xi??Tyj?∥2?<τ)(7)
- σ\sigmaσ是標(biāo)志函數(shù)。
- 類似地,也可以計(jì)算特征空間距離矩陣D∈RN×ND \in \mathbb{R}^{N \times N}D∈RN×N和D=dijD = d_{ij}D=dij?:
(8)dij=∥f(xi)?f(yi)∥2d_{ij} = \| f(x_i) - f(y_i) \|_2 \tag{8}dij?=∥f(xi?)?f(yi?)∥2?(8)
- N-tuple loss計(jì)算公式如下:
(9)L=∑?(M°D∥M∥22+αmax(θ?(1?M)°D,0)N2?∥M∥22)L = \sum^* ( \frac{M \circ D}{\| M \|_2^2} + \alpha \frac{max(\theta - (1 - M) \circ D, 0)}{N^2 - \|M\|_2^2} ) \tag{9}L=∑??(∥M∥22?M°D?+αN2?∥M∥22?max(θ?(1?M)°D,0)?)(9)
- °\circ°表示矩陣的哈達(dá)馬乘積(hadamard product),即矩陣對(duì)應(yīng)位置的數(shù)相乘。
- α\alphaα為權(quán)衡同類和異類樣本對(duì)間距的超參數(shù),θ\thetaθ為異類樣本點(diǎn)之間距離的下邊界(最小值)。
2.4、訓(xùn)練網(wǎng)絡(luò)
總結(jié)
以上是生活随笔為你收集整理的论文笔记:PPFNet的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 论文笔记:MobileNet v1
- 下一篇: 论文笔记:MobileNet v2