來自Apple的自駕車3D物體偵測的最新進展 VoxelNet:End-to-End Learning for Point Cloud Based 3D Object Detection

Introduction

發表論文保守以及擁有許多祕密Project的Apple,近期又在Arxiv上傳了關於如何用自駕車的LIDAR Sensor做行車的3D物體偵測,讓大家也更確定Apple的確投注了不少資源在自駕車領域。關於3D方向的論文最近在Computer Vision的會議中越來越火熱,可用的dataset也越來越多,這篇論文結合了最近一些處理自駕車的LIDAR Sensor所收集到Sparse Point Cloud專用的神經網路架構,減少了hand-crafted特徵的使用,只用了Raw Point Cloud就勝過了深度融合LIDAR與圖片的方法MV3D[1]平均8個百分點。

Dataset and Goal

如下圖所示,自駕車上所裝的64環的LIDAR Sensor,在大約一秒轉十圈的頻率下,每轉一圈會收集到大約十萬個反射點的資訊,存成一個Raw Point Cloud。在KITTI[2] Dataset中,有大約七千筆在德國收集的行車資料被標註3D Bounding Box,標註的類別有車子、行人與騎士。每個Raw Point Cloud中的每個單一的點皆只有座標(x,y,z)與反射強度(Intensity)信息。此篇論文想要透過只利用Point Cloud的資訊來做3D Bounding Box Prediction。

VoxelNet Architecture

如下圖所示,此篇論文使用的End-to-end網路架構中有三個步驟,第一步Feature Learning Network由Raw Point Cloud去計算特徵,產生4D Sparse Tensor,第二步用3D Convolution去計算High-Level特徵,最後用Region Proposal Network去做Classification及Bounding Box Regression。

Feature Learning Network

首先將整個3D Scene切出一個固定範圍,並分割成大小一致的Voxel,每個Voxel中可能包含了許多3D Point,也可能是空的。針對每個Voxel中的Raw 3D Point,作者使用了類似於PointNet[3]的方法,利用Fully Connnected Layer去投射原本的Raw 3D Point到更高維的空間,並使用Element-wise Max Pooling的方式,去得到局部的Aggregated Feature。這裡作者提出了將局部的Aggregated Feature與高維空間Feature相結合的方式,做成一個Voxel Feature Encoding(VFE) Layer。將這樣的VFE架構疊加在一起,可以得到特徵表達更全面的Voxel Feature。

Convolutional Middle Layers

前一步會產生128維的Voxel Feature,由於已經將原本的Sparse Point Cloud轉換成Dense 4D Feature Map,在此需要用3D Convolution來進一步縮小Feature Map的大小,實驗中使用了三個Convolution+BN+ReLU的組合,將原本的Feature Map,降到了四分之一的大小,詳細的參數可參考論文中的Implementation章節。

Region Proposal Network

在這一步Z維度上的Feature Map已經降到了2個Voxel的大小,因此可以直接做Feature Map Reshape(等同於Concatenate),直接把原本4D Feature Map,變成類似於Bird's Eye View的3D Feature Map,去做最後的Bounding Box預測。可以做這樣的維度壓縮操作,原因在於開車的場景下,物體皆是貼在地面上的,因此不會有同時兩個物體佔有相同X,Y空間的情況發生,因此後面可以簡化為直接在X,Y平面上的每個位置做分類與回歸。這邊設計上基本上等同於Single Stage Detection的網路架構,但這篇論文只有考慮預測單一類別,又更簡化為Fully Convolution架構的二元分類及回歸。如下圖所示,這邊的架構又利用了Multi-scale feature aggregation的技巧,將High-Level以及Low-Level的Feature融合做最後的預測。關於Loss Function以及回歸目標的設計上基本上沿用了之前Fast R-CNN Object Detection的設計,詳細的參數設置可參考論文。

Experiments

由於在前一個State-of-the-art的論文MV3D中並沒有關於Pedestrian與Cyclist的結果,因此這邊作者也用MV3D所使用的Bird's Eye View Hand-Crafted(HC) Feature做了一套HC-Baseline用以比較。可見表格中的結果,用HC-Baseline就已經勝過MV3D融合Point Cloud與圖片的方法,可見捨棄Hand-Crafted Feature並用Voxel Feature Encoding來計算特徵有了明顯的優勢。最後在每個不同的類別,VoxelNet都取得了至少六個百分點的優勢。

Comment

  • 這邊比較可惜的是,針對每一個類別需要去特別設計稍微不同的網路架構去適應,某個層面上來說還是比較hand-crafted,猜測或許與物體間大小差異太大,導致feature granularity不同影響訓練時的收斂有關,若能突破這個點做成End-to-End Multi Class Prediction會更加簡潔。
  • 這邊由於2D Convolution是針對較稀疏且小的Input Feature,在Region Proposal Network架構並不像2D Image Classification使用深層的網路,可惜的是沒有關於Multi-scale feature aggregation的ablation study,無法得知在架構的選擇上,是否會影響精確度以及訓練的難度。
  • 作者在3D Point Cloud Dataset的Ground Truth不足的狀況下使用了平移並旋轉局部與全局的方式來做Data Augmentation,可惜的是也沒有Ablation Study來顯示每個Augmentation Trick的有效程度。
  • 作者一開始在Introduction中表示PointNet直接計算全部Raw Point Cloud的方式雖簡潔但需要一次算全部的點的特徵轉換缺少效率。但這篇論文方法的第一步需要先切成固定大小的Voxel去計算每個Voxel的Feature,在選擇Voxel大小上也算是某種Hand-Crafted,還是不夠簡潔。

Reference

  • 原始論文
  • 新聞報導
  • [1] Chen, Xiaozhi, et al. "Multi-view 3d object detection network for autonomous driving." arXiv preprint arXiv:1611.07759 (2016).
  • [2] Geiger, Andreas, et al. "Vision meets robotics: The KITTI dataset." The International Journal of Robotics Research 32.11 (2013): 1231-1237.
  • [3] Qi, Charles R., et al. "Pointnet: Deep learning on point sets for 3d classification and segmentation." arXiv preprint arXiv:1612.00593 (2016).
Share the joy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

近期文章

近期迴響

彙整

分類

其它

Chien-Yi Wang Written by:

Be First to Comment

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *