泡泡點雲時空,帶你精讀點雲領域頂級會議文章
標題:Point-Voxel CNN for Efficient 3D Deep Learning
作者:Zhijian Liu, Haotian Tang, Rui Zhu, Yujun Lin, Song Han
來源:NIPS 2019
編譯:陸煜衡
審核:鄭森華
歡迎個人轉發朋友圈;其他機構或自媒體如需轉載,後臺留言申請授權
本文提出了Point-Voxel CNN(PVCNN),可進行高效,快速的3D深度學習。先前的工作使用基於體素或基於點的神經網絡模型處理3D數據。但是,這兩種方法在計算上都不夠高效。基於體素的模型的計算成本和內存佔用量隨輸入解析度的增加而呈立方增長,從而使其無法擴展解析度。對於基於點的網絡,最多有80%的時間被浪費在構造內存局部性很差的稀疏數據,而不是實際的特徵提取上。在本文中,我們提出了PVCNN,它以點表示作為3D輸入數據,以減少內存消耗,同時在體素中進行卷積以減少不規則,稀疏數據訪問並提高局部性。本文提出地PVCNN在內存消耗及計算速度方面都是高效的。我們在對語義分割和部件分割數據集上對PVCNN進行了評估,PVCNN性能比基於體素的基準高,且GPU內存減少到10%,同時,相比於基於點的方法,PVCNN實現了平均7倍的運算加速。值得注意的是,精簡版的PVCNN在零件和場景分割基準上的精度比PointNet(極其高效的模型)高,且平均速度提升了2倍。我們在3D對象檢測任務上驗證了PVCNN通用有效性:通過用PVConv替換Frustrum PointNet中的卷積操作,其mAP超過Frustrum PointNet ++ 2.4%,實測速度提高了1.5倍,且GPU內存減少了。
1、 提出一種在計算效率與內存利用率都更高效的3D深度學習框架。
2、 在點雲語義分割與部件分割數據集上驗證了本文方法的高效性。
基於體素的特徵聚合
卷積的核心是聚集鄰近信息以提取局部特徵。基於體素的規則性,我們選擇在體素中執行特診聚合。
規範化:不同點雲的尺度可能大不相同,因此,在將點雲轉換為體素之前,我們對坐標{pk}進行歸一化。首先,我們將所有點轉換為以重心為原點的局部坐標系。之後,通過將所有坐標除以max||pk||2,將點歸一化為單位球體,然後縮放並將點轉換為[0,1]。注意,點特徵{fk}在規範化過程中保持不變。我們將歸一化坐標表示為{ˆpk}。
體素化:我們將規範化的點雲轉換為體素坐標,轉換公式如式2所示:
式中r代表體素解析度,II[.]是坐標ˆ pk是否屬於體素網格(u,v,w)的二進位指示符,fk,c表示與ˆ pk對應的第c個通道特徵,Nuvw是歸一化因子(即落在那個體素網格上的點數)。
特徵聚合:將點轉換為體素網格後,我們應用3D體素卷積來聚合特徵。類似於常規3D膠捲機,我們在每個3D卷積後加上批歸一化[和非線性激活函數。
反體素化:由於我們需要將信息與基於點的特徵轉換分支融合在一起,因此我們將基於體素的特徵轉換回點雲域。體素到點映射的直接實現是最近鄰插值(即,將體素的特徵分配給所有在體素內的點)。但是,這將使相同體素網格中的點始終共享相同的特徵。因此,我們改為利用三次線性插值的方法,以確保映射到每個點的特徵是不同的。由於我們的體素化和去體素化都是可導的,因此,可以用端到端的方式優化整個基於體素的特徵聚合網絡。
基於點的特徵變換
基於體素的特徵聚合分支以粗粒度融合鄰域信息。但是,為了建模細粒度的單個點特徵,僅基於低解析度體素的方法可能還不夠。為此,我們直接在每個點上進行操作,用MLP提取單個點的特徵。儘管方法簡單,MLP輸出的每個點都有明顯的區別性特徵。這種高解析度的單點信息對於補充基於粗體素的信息非常關鍵。
如表1所示,我們的PVCNN優於所有以前的模型。與PointNet ++相比,PVCNN直接將其骨幹(PointNet)的準確性提高了2.5%,而開銷卻更小。我們還通過減少到25%(表示為0.25×C)和50%(表示為0.5×C)的通道數來設計PVCNN的縮小版本。生成的模型僅需要PointNet的53.5%的延遲,並且它仍然優於具有複雜鄰域聚合的幾種基於點的方法,包括RSNet,PointNet ++和DGCNN。
室內場景分割實驗:
如表4所示,PVCNN可以將以PointNet為骨幹網的性能提高13%以上,並且在準確性和延遲性方面也大大優於DGCNN(涉及複雜的圖形卷積)。值得注意的是,我們的PVCNN ++性能優於最新的基於點的模型(PointCNN)1.7%,延遲降低了4倍,優於,基於體素的模型(3D-UNet)4%,延遲降低了8倍,並降低了GPU內存消耗。
3D物體檢測:
在表5中,儘管我們的模型在邊界框的的預測中沒有沒有聚合領域特徵,但在大部分類別的性能中仍然優於F-PointNet++,且速度提升了1.8倍。通過使用PVConv改善邊界框預測網絡,我們的完整模型在所有類別上性能均明顯由於基線。與F-PointNet基線相比,我們的PVCNN在行人類別中mAP提高了8%,而騎自行車者類別中的mAP提高了3.5-6.8%,這表明我們提出的PVCNN既高效又富有表現力。
我們提出了Point-Voxel CNN(PVCNN)進行快速,高效的3D深度學習。針對基於體素和點的深度學習方法,我們擇優取之,減少了內存佔用和不規則的內存訪問。我們用稀疏,不規則點來高效的表示3D輸入數據,並在正則,規範地體素表示中進行高效的卷積。在多項任務上的大量實驗一致地證明了我們提出的方法的有效性和高效性。我們相信,我們的研究將打破基於體素的卷積低效的刻板印象,並為設計基於體素和點的網絡結提供了啟示。
Abstract
We present Point-Voxel CNN (PVCNN) for efficient, fast 3D deep learning. Previous work processes 3D data using either voxel-based or point-based NN models. However, both approaches are computationally inefficient. The computation cost and memory footprints of the voxel-based models grow cubically with the input resolution, making it memory-prohibitive to scale up the resolution. As for point-based networks, up to 80% of the time is wasted on structuring the sparse data which have rather poor memory locality, not on the actual feature extraction. In this paper, we propose PVCNN that represents the 3D input data in points to reduce the memory consumption, while performing the convolutions in voxels to reduce the irregular, sparse data access and improve the locality. Our PVCNN model is both memory and computation efficient. Evaluated on semantic and part segmentation datasets, it achieves much higher accuracy than the voxel-based baseline with 10× GPU memory reduction; it also outperforms the state-of-the-art point-based models with 7× measured speedup on average. Remarkably, the narrower version of PVCNN achieves 2× speedup over PointNet (an extremely efficient model) on part and scene segmentation benchmarks with much higher accuracy. We validate the general effectiveness of PVCNN on 3D object detection: by replacing the primitives in Frustrum PointNet with PVConv, it outperforms Frustrum PointNet++ by 2.4% mAP on average with 1.5× measured speedup and GPU memory reduction.
如果你對本文感興趣,想要下載完整文章進行閱讀,可以關注【泡泡機器人SLAM】公眾號。
歡迎來到泡泡論壇,這裡有大牛為你解答關於SLAM的任何疑惑。
有想問的問題,或者想刷帖回答問題,泡泡論壇歡迎你!
泡泡網站:www.paopaorobot.org
泡泡論壇:http://paopaorobot.org/bbs/
泡泡機器人SLAM的原創內容均由泡泡機器人的成員花費大量心血製作而成,希望大家珍惜我們的勞動成果,轉載請務必註明出自【泡泡機器人SLAM】微信公眾號,否則侵權必究!同時,我們也歡迎各位轉載到自己的朋友圈,讓更多的人能進入到SLAM這個領域中,讓我們共同為推進中國的SLAM事業而努力!
泡泡機器人SLAM的原創內容均由泡泡機器人的成員花費大量心血製作而成,希望大家珍惜我們的勞動成果,轉載請務必註明出自【泡泡機器人SLAM】微信公眾號,否則侵權必究!同時,我們也歡迎各位轉載到自己的朋友圈,讓更多的人能進入到SLAM這個領域中,讓我們共同為推進中國的SLAM事業而努力!
商業合作及轉載請聯繫liufuqiang_robot@hotmail.com