賈佳亞等提出Fast Point R-CNN,利用點雲快速高效檢測3D目標

2021-01-09 機器之心Pro

選自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 和論文方法附近和遠距離目標的檢測精確率對比。

相關焦點

  • Fast Point R-CNN | 一個跟Point R-CNN和Fast R-CNN都沒啥關係的點雲目標檢測網絡
    【導讀】這是一篇來自ICCV2019的論文,由港中文的賈佳亞教授實驗室完成。
  • 在多目標識別方面,maskr-cnn已經取得了一些進展
    maskr-cnn是業界首款實用的全卷積神經網絡模型,為計算機視覺中的多目標識別與自動對焦,開創性的成為計算機視覺發展的新方向。無論是基於計算機視覺的自動對焦系統、模式識別系統,還是圖像識別,maskr-cnn都是有標誌性意義的。它強調平滑準確的計算輸入、檢測框和定位點,訓練過程與特徵提取過程採用多級感受野融合技術進行自動優化提高目標解析度及精度,以及做出精度更高的語義推理判斷。
  • 從R-CNN到YOLO,一文帶你了解目標檢測模型(附論文下載)
    它是將CNN用於對象檢測的起源,能夠基於豐富的特徵層次結構進行目標精確檢測和語義分割來源。如何確定這些邊界框的大小和位置呢?R-CNN網絡是這樣做的:在圖像中提出了多個邊框,並判斷其中的任何一個是否對應著一個具體對象。
  • 經典目標檢測方法Faster R-CNN和Mask R-CNN|基於PaddlePaddle深度...
    而在 Faster R-CNN 的基礎上改進的 Mask R-CNN 在 2018 年被提出,並斬獲了 ICCV2017 年的最佳論文。Mask R-CNN 可以應用到人體姿勢識別,並且在實例分割、目標檢測、人體關鍵點檢測三個任務都取得了很好的效果。
  • 詳解目標檢測Faster R-CNN
    這對於分類任務是重要的,在目標檢測中也如此。另外,ResNet 採用殘差連接(residual connection) 和 BN (batch normalization) 使得深度模型的訓練比較容易. 這對於 VGG 首次提出的時候沒有出現.
  • 卷積神經網絡 物體檢測 Faster-RCNN
    繼204年rcnn,2015年SPPnet、fast rcnn後,2016年,hekaiming和rbg合作提出了faster rcnn(一作是renshaoqing),以解決region proposal的耗時問題;
  • CVPR 2019 | PointConv:在點雲上高效實現卷積操作
    3D 點雲是一種不規則且無序的數據類型,傳統的卷積神經網絡難以處理點雲數據。來自俄勒岡州立大學機器人技術與智能系統(CoRIS)研究所的研究者提出了 PointConv,可以高效的對非均勻採樣的 3D 點雲數據進行卷積操作,該方法在多個數據集上實現了優秀的性能。
  • 「PointCNN全面刷新測試記錄」山東大學提出通用點雲卷積框架
    【新智元導讀】山東大學李揚彥、卜瑞、孫銘超、陳寶權研究團隊近日研究提出的PointCNN是簡單通用的點雲特徵學習架構,基於這一方法一組神經網絡模型一舉刷新了五個點雲基準測試的記錄。論文地址:https://arxiv.org/abs/1801.07791由山東大學提出的PointCNN是一個簡單通用的點雲特徵學習架構。
  • 基於層級圖網絡的圖卷積:用點雲完成3D目標檢測
    論文:A Hierarchical Graph Network for 3D Object Detection on Point Clouds由於大多數現有的點雲對象檢測方法不能充分適應點雲的特徵(例如稀疏性),所以一些關鍵的語義信息(如物體形狀)不能被很好的捕捉到。
  • 淺析射線檢測 raycast 的使用!Cocos Creator 3D!
    記得在寫小雞拍拍的時候遇到一個問題,想要捕捉排球的點擊事件,按照 2d 的寫法,給3d 節點添加 node 事件,結果點了沒反應。代碼大概是以下的樣子。記得上面說的是由點擊的點和攝像機決定這條射線的吧。this.camera_3d.screenPointToRay(touch._point.x, touch._point.y, this._ray);接下來就是檢測這條線穿過了哪些物體啦。creator 3d 提供了三種檢測方案,可以一起看看是如何使用的。
  • 深度| 像玩樂高一樣拆解Faster R-CNN:詳解目標檢測的實現過程
    Luminoth 實現:https://github.com/tryolabs/luminoth/tree/master/luminoth/models/fasterrcnn 在閱讀本文之前,若想了解 R-CNN 網絡家族的發展,可以參看機器之心的文章: 深度
  • .| 深度學習理論與實戰:提高篇(14)——​Mask R-CNN代碼簡介
    > 讀取圖片並且進行分割: # 隨機加載一張圖片 file_names = next(os.walk(IMAGE_DIR))[2]image = skimage.io.imread(os.path.join(IMAGE_DIR, random.choice(file_names)))# 進行目標檢測和分割
  • Facebook 發布 Detectron2:基於 PyTorch 的新一代目標檢測工具
    雷鋒網 AI 開發者按:Detectron 是 FAIR 在 2018 年初公開的目標檢測平臺,包含了大量業內最具代表性的目標檢測、圖像分割、關鍵點檢測算法,該框架主要基於 python 和 caffe2 實現,開源項目已獲得了超 2.2w 的星標數。
  • 經典解讀 | Cascade R-CNN詳細解讀
    連結 | https://zhuanlan.zhihu.com/p/42553957源碼連結:https://github.com/zhaoweicai/cascade-rcnn從文章的題目上我們就可以看出來這篇文章目標是提高檢測質量,希望能獲得更精確的檢測結果。文章提出的cascade結構的效果是驚豔的,幾乎對於任意的R-CNN(Faster rcnn,FPN,R-FCN等)都可以帶來2到4個點的AP提升!!!而且實現十分簡單,已使用Pytorch在Pascal VOC上復現論文。此外,本篇文章的實驗講解部分對於理解R-CNN網絡有很大的幫助,建議詳細閱讀。   0.
  • 高精度3d重建是一個雙機融合模型
    而對於高精度地圖來說,一般包括2d地圖和3d地圖。2d地圖主要包括雷射雷達+imu等,而3d地圖是利用紅外+3d雷射雷達,高精度地圖主要是磁慣量傳感器的作用。雷射雷達用於高精度的一維地圖,通過雷射雷達獲取地面點雲;毫米波雷達用於高精度的3d地圖,將車輛的雷射雷達數據經過衍射、slam等多種方法得到的地圖數據與點雲進行匹配,求得運動模型,計算運動軌跡,一般用於自動駕駛。
  • 「少即是多」的目標檢測算法Sparse R-CNN
    近幾年來,目標檢測算法發展迅速,許多新出現的目標檢測範式有著很強的相同之處,如Anchor-Free的方法中不依賴於Anchor的目標檢測範式:CenterNet兼有結構簡單和高的準確率;FCOS創新性目標檢測思路。
  • Carbon利用3D列印數字光合成技術,快速鼻咽拭子用於COVID-19檢測
    其實,在2020年疫情下,不僅來自美國矽谷的Carbon在應用3D列印技術快速反應抗疫行動,來自中國北京的SCRAT3D團隊,也幾乎同步快速的研發了拭子、面罩等3D列印產品。病毒感染的快速檢測對於準確跟蹤和緩解疫情傳播至關重要(1)。大規模推廣COVID-19檢測的一個主要障礙是缺乏用於收集病毒樣本的鼻咽拭子。最大的NP棉籤製造商之一位於義大利倫巴第,這是歐洲受COVID-19影響最嚴重的地區之一(2)。為了應對全國的短缺,我們著手設計一種適合使用數字光合成的NP棉籤TM (3),並對其臨床表現進行評價。
  • 南加州大學 phd 王薇月:深度學習在點雲分割中的應用 | 分享總結
    2D 圖像的實例分割與物體檢測。SGPN [CVPR 2018]:點雲的實例分割與物體檢測。首先介紹一下什麼是點雲(Pinot Cloud),點雲是很多三維的點的坐標的集合,這整個集合可以反映場景或者物體的幾何信息,在計算機裡面,它就是一個 N*3 維的一個矩陣,N 代表的是點的個數,三維就是 x、y、z 的坐標(當然也可以是 N*6,即 x、y、z、r、g、b),隨著雷射、雷達和深度攝像頭等硬體設備的發展,我們就能更好地捕捉 3D 的場景,處理 3D 信息也是現在的一個非常關注、非常火的話題
  • 三維變二維,港中文提出用於點雲卷積的局域展平網絡模塊FPConv
    From:arxiv;編譯:T.R點雲是三維目標最為重要的表示形式之一,但高效地處理需要面臨點雲非規則、無序性和稀疏性的特點。為了克服三維卷積帶來的計算資源消耗和解析度限制,來自香港中文大學深圳分校等機構的研究人員們提出了一種基於局域展平的二維平面卷積方法FPConv,將點雲非線性投影到特殊平面上,而後在利用2D卷積進行有效地特徵抽取。這種方法將點雲轉換到二維平面上的投影過程和插值過程簡化為一個權重矩陣的學習。