選自arXiv
作者:Yilun Chen、Shu Liu、Xiaoyong Shen、Jiaya Jia
機器之心編譯
參與:韓放、一鳴
本文提出了一個統一、高效且有效的,基於點雲的三維目標檢測框架。其兩階段方法採用體素表示和原始點雲數據並充分利用了它們的優勢。第一階段的網絡,以體素表示為輸入,只包含輕量卷積運算,產生少量高質量的初始預測。初始預測中每個點的坐標和索引卷積特徵與注意機制有效融合,既保留了準確的定位信息,又保留了上下文信息。第二階段研究內部點及其融合特徵,以進一步完善預測。該方法在 KITTI 數據集上進行了評估,包括 3D 和鳥瞰圖(BEV)檢測,以 15FPS 的檢測速率達到了最先進的水平。
論文地址:https://arxiv.org/abs/1908.02990v1
引言
最近的一些三維目標檢測方法利用了不同類型的數據,包括單目圖像,立體圖像和 RGB-D 圖像。在自動駕駛中,雷射雷達探測到的點雲是更為通用和信息豐富的數據格式,有助於進行預測。
雷射雷達點雲是三維檢測中必不可少的幾何數據類型。然而,點雲的稀疏性和不規則性使其難以被 CNN 處理。其中一種解決方案是通過分解將稀疏點雲轉化為緊湊形狀的立體表示,稱為體素化。這種特徵能夠通過 CNN 進行識別。
然而,體積表示在計算上仍然具有挑戰性。一種解決方案是使用粗網格,另一種方法是直接處理點雲進行三維目標識別 [26, 28, 19, 36],研究人員注意到,將這些方法應用於進行大規模點雲處理的自動駕駛任務中,計算量仍然非常繁重。
對此,該文章利用體素表示和原始點雲數據,提出了一種統一、快速、有效的兩階段三維目標檢測框架。網絡的第一階段,使用 VoxelRPN,直接利用點雲的體素表示。
在第二階段,研究人員應用一個輕量級的 PointNet 來進一步細化預測。有了少量的初步預測,第二階段的網絡運行速度也非常快。從第一階段開始,研究人員就設計了注意機制的模塊,以有效地融合每個內部點的坐標和卷積特徵。它使每個點都知道它的上下文信息。
由於該方法利用點雲上每個區域的卷積特徵,並且效率很高,研究人員將其命名為 Fast Point R-CNN。通過這種概念簡單的結構,實現了高效率和良好的三維檢測精度,並達到了最先進的結果。它甚至比以前的以 RGB 和點云為輸入的方法更有效。
模型架構
該方法新穎地利用了混合體素和原始點雲,而不依賴於 RGB 圖像。兩階段首先將體素表示輸入到 VoxelRPN 快速獲取一組初始預測,進而 RefinerNet 融合原始點雲和提取上下文特徵以獲得更好的定位精度。
圖 1:兩階段框架概述。在第一階段,對點雲進行體素化,並將其送入 VoxelRPN,以生成少量的初始預測結構。然後通過融合體素的內點坐標和上下文特徵,生成每個預測的邊界框特徵。邊界框特徵被送入 RefinerNet 以進一步微調。
VoxelRPN
VoxelRPN 接受三維體素輸入並生成三維檢測結果。它是一個單級目標檢測器。
輸入表示 :VoxelRPN 的輸入是是體素化處理後的點雲,它實際上是一個規則網格。網格中的每個體素都包含位於局部區域中的原始點的信息。具體地說,該方法將三維空間劃分為空間排列的體素。
網絡結構:針對三維檢測,網絡需要從(x,y,z)維度清楚地過濾信息。主幹網由二維和三維卷積組成,實現了像 PIXOR[40] 一樣的高效率,以及甚至比 VoxelNet[43] 更高的性能。
圖 2:oxelRPN 網絡結構。本圖中 C 層的級聯方式為:(kernel size)(channels) / (stride)。stride 默認為 1,除非以其它方式指定。
第一部分的網絡包括六個三維卷積層,這些卷積層只有少量的濾波器來減少運算時間。之後是三個二維卷積塊,用於進一步提取和擴大感受野。
與目前流行的二維圖像多尺度目標檢測器 [21] 不同,研究者認為 HyperNet[14] 結構更為合適。
具體來說,VoxelRPN 通過反卷積對 2、3 和 4 卷積塊最後一層的特徵圖進行上採樣,如圖 2 所示。然後將它們連接起來,在較低的層中收集豐富的位置信息,在較高的層中收集更強的語義信息。然後,研究人員將預定義的特定比例和角度的 anchors[22] 用於融合的特徵圖上。最後,將分類和回歸頭分別運行在特徵圖上,對每個 anchor 進行分類,並對現有目標的位置進行回歸運算。
RefinerNet
由於第一階段體素化過程和第一個卷積塊上的連續跨步卷積運算仍然會丟失大量的定位信息,研究人員通過直接處理原始點雲進一步提高了預測質量。在 RefinerNet 中也可以通過進一步的特徵增強來彌補這一點。
圖 3:RefinerNet 網絡結構
邊界框特徵:使用 VoxelRPN 每個邊界框中的點預測來生成框特徵。
對於每個來自 VoxelRPN 的預測邊界框,首先將其投影到 BEV。然後,將 BEV 框區域中的所有點(1.4×框的大小以獲得更多上下文信息)用作輸入,如圖 1 所示。研究者從 VoxelRPN 網絡中獲得最後級聯的特徵圖,用於捕捉更全面的信息。
在將每個點的坐標輸入到之後的網絡之前,首先要對其進行規範化(canonizize),以保證平移和旋轉不變性。提案框周圍 0.3 米範圍內的點的坐標通過旋轉和平移提案框來進行裁剪和規範。如圖 3 所示,將坐標特徵定義為通過 MLP 層獲得的高維(128D)表示。
圖 4:邊界框規範化。數字表示 RefinerNet 對每個角預測的順序。
網絡結構:網絡需要使用卷積特徵和定位特徵這兩種特徵源,研究人員找到了一種有效融合它們的方法。研究人員設計了一個新的模塊,這是一個可以生成綜合特徵的注意力機制。如圖 3 所示,首先將高維坐標特徵與卷積特徵級聯起來,然後將它與由卷積特徵產生的注意力相乘。接下來輸入一個輕量級的 PointNet,它由兩個 MLP 層組成,最大池化將所有信息聚合到一個框中。
這個邊界框的精調是通過最後兩個 MLP 層實現的。模型可以基於提案的邊界框預測所有邊界框角點的精細位置。如圖 4 所示,在計算回歸目標時,通過提案框的旋轉和平移來將真值框和點雲規範化。此操作將真值邊界框的角點按特定順序組織,可以減少旋轉引起的角順序不確定性。
訓練和數據
訓練 Fast Point R-CNN 包括兩個步驟。首先訓練 VoxelRPN 直到收斂,然後根據提取的特徵和推斷的邊界框對 Refiner- Net 進行訓練。
數據集
KITTI 數據集提供 7481 張圖像和點雲用於訓練,7518 張用於測試。根據規則,將訓練數據分為一個訓練集(3712 個圖像和點雲),其中約有 14000 個汽車標註和一個驗證集(3769 個圖像和點雲)。
訓練設置
模型在 8 個 NVIDIA P40 GPU 上進行訓練,批量大小為 16,每個 GPU 可容納 2 個點雲。研究人員將初始學習率為 0.01 的 Adam[12] 優化器應用於 VoxelRPN 和 RefinerNet 的訓練。VoxelRPN 進行了 70 個 epoch 的訓練,在第 50 和 65 個 epoch 學習率下降了 10 倍。RefinerNet 持續訓練 70 個 epoch,第 40、55、65 個 epoch 學習率下降 10 倍。
在每個參數層之後使用批處理歸一化。兩個網絡都使用 0.0001 的權重衰減。由於 RefinerNet 的訓練需要 VoxelRPN 的卷積特徵,因此對每幀進行訓練,而不是對一個目標進行訓練,從而節省了大量的計算量。
實驗結果
表 1:KITTI 測試集上的主要結果對比。此處 L 代表點雲輸入,I 代表 RGB 圖像輸入。
圖 5:結果可視化
表 5:VoxelRPN 和論文方法附近和遠距離目標的檢測精確率對比。