FCGF-基于稀疏全卷積網(wǎng)絡(luò)的點云特征描述子提取
來源:公眾號3D視覺工坊
作者:千百度
「3D視覺工坊」技術(shù)交流群已經(jīng)成立,目前大約有12000人,方向主要涉及3D視覺、CV&深度學(xué)習(xí)、SLAM、三維重建、點云后處理、自動駕駛、CV入門、三維測量、VR/AR、3D人臉識別、醫(yī)療影像、缺陷檢測、行人重識別、目標(biāo)跟蹤、視覺產(chǎn)品落地、視覺競賽、車牌識別、硬件選型、學(xué)術(shù)交流、求職交流、ORB-SLAM系列源碼交流、深度估計等。工坊致力于干貨輸出,不做搬運工,為計算機視覺領(lǐng)域貢獻自己的力量!歡迎大家一起交流成長~
添加小助手微信:CV_LAB,備注學(xué)校/公司+姓名+研究方向即可加入工坊一起學(xué)習(xí)進步。
論文:?Fully Convolutional Geometric Features
標(biāo)簽:?ICCV 2019; feature, match, registration
作者:?Christopher Choy,Jaesik Park, Vladlen Koltun
機構(gòu):?Stanford University, POSTECH, Intel Labs
論文、代碼地址:在公眾號「3D視覺工坊」,后臺回復(fù)「ICCV2019」,即可直接下載。
從點云中提取幾何特征是配準(zhǔn)、重建、跟蹤等應(yīng)用的第一步。SOTA的方法往往需要計算底層特征作為輸入或者提取基于patch的有限感受野的特征。在本論文中,作者提出了FCGF(Fully-Convolutional Geometric Features),它通過全卷積網(wǎng)絡(luò)一次計算得到點云特征;作者還提出了新的度量學(xué)習(xí)損失,可以顯著提升性能。FCGF是緊湊的,同時捕獲了廣泛的空間上下文,并可擴展到大型場景。論文中在室內(nèi)數(shù)據(jù)集和室外數(shù)據(jù)集均進行了驗證,F(xiàn)CGF在不需要預(yù)處理時達到了SOTA精度,同時比其它精確的辦法快600倍,而且結(jié)構(gòu)是緊湊的(32維)。
一、論文的出發(fā)點和貢獻
在許多點云配準(zhǔn)、跟蹤和場景流估計(scene flow estimation)任務(wù)中,尋找?guī)缀吸c對應(yīng)(geometric correspondences)關(guān)系是一個關(guān)鍵的步驟。因此,大量的工作集中在設(shè)計具有區(qū)分性的3D特征,進而建立對應(yīng)關(guān)系。
早期的3D特征描述主要依賴于人工設(shè)計的特征描述子,如SHOT、FPH和FPFH等,這些局部描述子可以區(qū)分局部幾何特征。最近,注意力逐漸轉(zhuǎn)向了基于深度學(xué)習(xí)的三維特征,比如PPF-FoldNet(ECCV 2018),PPFNet(CVPR 2018)和3DFeat-Net(ECCV 2018)等。之前的這些工作中存在一些問題:
提取小的3D patch,將其映射到低維空間。這不僅限制了感受野,而且計算效率也很低,因為即使對于重疊的三維區(qū)域,網(wǎng)絡(luò)的中間表示也都是單獨計算的。
使用昂貴的底層幾何特征作為輸入降低了特征計算的速度。
只對一些interest points提取特征,導(dǎo)致分辨率(點的數(shù)量)下降,因此降低了后續(xù)的配準(zhǔn)精度。
全卷積網(wǎng)絡(luò)是高效的,因為它們在具有重疊感受野的神經(jīng)元之間共享中間激活(intermediate activations)。此外,全卷積網(wǎng)絡(luò)中不是直接操作小的patch,因此神經(jīng)元具有更大的感受野。而且,全卷積網(wǎng)絡(luò)產(chǎn)生密集的輸出,這非常適用于詳細描述場景的任務(wù)。
盡管全卷積網(wǎng)絡(luò)具有這些優(yōu)點,但由于三維數(shù)據(jù)的特點,全卷積網(wǎng)絡(luò)并沒有廣泛應(yīng)用到三維幾何特征的提取。卷積網(wǎng)絡(luò)用于3D數(shù)據(jù)時,標(biāo)準(zhǔn)輸入是一個四維的數(shù)據(jù)(x, y, z, f): 三個空間維度(x, y, z)和一個特征維度f。但大多數(shù)三維體素都是空的,導(dǎo)致這種表示占用內(nèi)存較大。
在論文中,作者采用一種稀疏tensor來表示3D數(shù)據(jù),采用Minkowski卷積代替?zhèn)鹘y(tǒng)卷積,提出了ResUNet用于提取輸入點云中每個點的特征,另外提出了新的loss用于全卷積度量學(xué)習(xí)。該網(wǎng)絡(luò)不需要數(shù)據(jù)預(yù)處理(提取簡單特征),也不需要patch的輸入,而且能夠產(chǎn)生具有SOTA區(qū)分性的高分辨率特征。作者在3DMatch數(shù)據(jù)集和KITTI數(shù)據(jù)集中驗證了FCGF(Fully Convolutional Geometric Features)的表示能力和提取特征的速度,實驗結(jié)果如Figure 1。

二、論文的方法
論文中的數(shù)據(jù)表示和卷積操作主要基于MinkowskiEngine,這里不詳細介紹,更多信息請查看MinkowskiEngine主頁。
2.1 點云數(shù)據(jù)的稀疏表示
MinkowskiEngine把點云表示成兩部分: 坐標(biāo)矩陣和特征矩陣F。


2.2 稀疏點云數(shù)據(jù)的卷積

2.3 網(wǎng)絡(luò)模型的架構(gòu)
論文中的模型架構(gòu)ResUNet是一種U-Net類的網(wǎng)絡(luò)架構(gòu),在編碼和解碼部分均包括殘差結(jié)構(gòu),在解碼和編碼之間通過skip連接來增強特征的表達能力,如Figure 2所示。

殘差結(jié)構(gòu): Res = [(Conv + Bn + ReLU) + (Conv + Bn)], Output = ReLU(input + Res(input)),其中的Conv, Bn, ReLU操作均為稀疏數(shù)據(jù)的卷積,即Minkowski下的卷積操作。
編碼: 包括N(Figure2中N=3)個(Conv + Bn + Res)結(jié)構(gòu),kernel size一般設(shè)置為3,第一個Conv中的stride=1,其他Conv的stride一般設(shè)置為2。
解碼: 包括N(數(shù)量同編碼部分)個(transposed Conv + Bn + Res)結(jié)構(gòu),除了第一個transposed Conv結(jié)構(gòu)外,其他transposed Conv結(jié)構(gòu)的輸入均是encoder和decoder進行concat后的tensor。同時,最后一個transposed Conv中的kernel size為1,stride為1,其它的transposed Conv中的kernel size均為3,stride均為2。
特征提取層: Conv(kernel size=1, stride=1),其后無Bn和ReLU結(jié)構(gòu)。
官方代碼: https://github.com/chrischoy/FCGF/blob/master/model/resunet.py
ResUNet架構(gòu)中的MinkowskiEngine下的Conv, Bn, ReLU, transposed Conv換成常規(guī)的2D圖像下面的對應(yīng)操作,就是一個很普通的網(wǎng)絡(luò)架構(gòu),關(guān)于MinkowskiEngine的一些基礎(chǔ)知識和代碼實踐歡迎參https://zhuanlan.zhihu.com/p/304117161。
2.4 損失函數(shù)


?




·Loss實現(xiàn)和采樣策略的源碼: https://github.com/chrischoy/FCGF/blob/master/lib/trainer.py
2.5 訓(xùn)練
優(yōu)化器是SGD,初始學(xué)習(xí)率0.1,指數(shù)衰減學(xué)習(xí)率(γ=0.99)。Batch size設(shè)置為4,訓(xùn)練100個epoches。在訓(xùn)練時對數(shù)據(jù)采用隨機scale(0.8 - 1.2)和隨機旋轉(zhuǎn)(0-360°)的增強。
三、論文的實驗
3.1 數(shù)據(jù)集
3DMatch(內(nèi)容較多,請查閱https://github.com/zhulf0804/3D-PointCloud/tree/master/3DMatch)
KITTI
3.2 評估指標(biāo)


3.3 實驗結(jié)果
主要介紹3DMatch數(shù)據(jù)集上的實驗結(jié)果。
精度和速度

作者在3DMatch測試集中比較了FCGF與傳統(tǒng)方法和深度學(xué)習(xí)方法的性能,如Table 1所示,第1列是方法名稱,第2列是FMR值(及其標(biāo)準(zhǔn)差),第3列是在旋轉(zhuǎn)的3DMatch數(shù)據(jù)集中的FMR值(及其標(biāo)準(zhǔn)差),第4列表示特征描述子的維度和提取特征的時間。從表中可以看到,F(xiàn)CGF提取特征的速度快,特征簡潔(只有32維),在3DMatch數(shù)據(jù)集和旋轉(zhuǎn)增強的3DMatch數(shù)據(jù)集均有最高的FMR。

在3DMatch測試集中Registration recall的比較如Table 5所示,F(xiàn)CGF在7個場景和平均情況下均達到了最高的Registration recall。
Ablation Study

作者測試了不同loss下的性能,實驗結(jié)果如Table3所示。由表格可以看到,對于contrastive Loss,normalized feature比非normalized feature要好,hardest-contrastive loss比常規(guī)(隨機的)contrastive loss結(jié)果要好,同時可以觀察到hardest-contrastive loss是所有l(wèi)oss中結(jié)果是最好的。對于triplet loss,normalized feature比非normalized feature要差,這個結(jié)論和contrastive loss中是相反的;hardest-triplet loss要比常規(guī)(隨機的)triplet-loss結(jié)果要好,但其容易導(dǎo)致collapse。綜合對比,hardest-contrastive loss在3DMatch數(shù)據(jù)集中是最好的。

可視化
FCGF特征的t-SNE顯示如Figure 5所示。

四、總結(jié)
1.論文基于MinkowskiEngine實現(xiàn)了點云的全卷積網(wǎng)絡(luò),點云和卷積等采用稀疏表示,優(yōu)化了顯存。
2.作者提出了hardest-contrastive loss和hardest-triplet loss,利用點云數(shù)據(jù)中的correspondences實現(xiàn)了特征的有效學(xué)習(xí),并通過哈希的方式加快了生成二元組和三元組的速度。
3.不足: 基于MinkowskiEngine的神經(jīng)網(wǎng)絡(luò)在量化點云時會丟掉部分點云信息。
本文僅做學(xué)術(shù)分享,如有侵權(quán),請聯(lián)系刪文。