CVPR2020 | 阿里達摩院自動駕駛新成果,3D物體檢測精度與速度的兼得
杜佳豪發表於2020-03-21
該論文提出了一個通用、高效能的檢測器,首次實現 3D 物體檢測精度與速度的兼得,有效提升自動駕駛系統安全效能。目前,該檢測器在 KITTI BEV 排行榜上排名第一。3D 目標檢測需輸出物體類別及在三維空間中的長寬高、旋轉角等資訊和普通 2D 影像識別應用不同,自動駕駛系統對精度和速度的要求更高,不僅需要快速識別周圍環境的物體,還要對物體在三維空間中的位置做精準定位,但僅靠感測器和傳統演算法模型無法平衡視覺識別的精度和速度,因此,全新的檢測器成為提升自動駕駛系統安全性的關鍵因素。雖然,業界主流的單階段檢測器在檢測速度上有不俗的表現,但其檢測精度卻差強人意。為此,達摩院提出了全新的思路,即將兩階段檢測器中對特徵進行細粒度刻畫的思想移植到單階段檢測中。具體來說,達摩院在訓練中利用一個輔助網路將單階段檢測器中的體素特徵轉化為點級特徵,並施加一定的監督訊號,同時在模型推理過程中輔助網路無需參與計算,因此,在保障速度的同時又提高了檢測精度。該論文團隊表示,「檢測器是自動駕駛系統的核心元件之一,但這一領域一直以來缺少創新和突破,此次我們提出的檢測器融合了單階段檢測器和兩階段檢測器的優勢,因此同時實現了 3D 檢測精讀和速度的提升,未來檢測器的創新研究還可以解決自動駕駛產業的更多難題。」研究結果顯示,該檢測器在 KITTI BEV(bird`s eye view)排行榜上排名第一, 檢測速度達到 25FPS,同時精度也超過其他的單階段檢測器。據瞭解,該論文共有 5 位作者,第一作者為達摩院研究實習生 Chenhang He,另外四位作者也為達摩院科學家,包括達摩院高階研究員、IEEE Fellow 華先勝,達摩院高階研究員、香港理工大學電子計算學系講座教授、IEEE Fellow 張磊,達摩院資深演算法專家黃建強。目標檢測是計算機視覺領域的傳統任務,與影像識別不同,目標檢測不僅需要識別出影像上存在的物體,給出對應的類別,還需要將該物體通過 Bounding box 進行定位。根據目標檢測需要輸出結果的不同,一般將使用 RGB 影像進行目標檢測,輸出物體類別和在影像上 2D bounding box 的方式稱為 2D 目標檢測。而將使用 RGB 影像、RGB-D 深度影像和鐳射點雲,輸出物體類別及在三維空間中的長寬高、旋轉角等資訊的檢測稱為 3D 目標檢測。從點雲資料進行 3D 目標檢測是自動駕駛(AV)系統中的的關鍵元件。與僅從影像平面估計 2D 邊界框的普通 2D 目標檢測不同,AV 需要從現實世界估計更具資訊量的 3D 邊界框,以完成諸如路徑規劃和避免碰撞之類的高階任務。這激發了最近出現的 3D 目標檢測方法,該方法應用卷積神經網路(CNN)處理來自高階 LiDAR 感測器的點雲資料。1) 單階段檢測器 (single-stage): 將點雲編碼成體素特徵 (voxel feature), 並用 3D CNN 直接預測物體框, 速度快但是由於點雲在 CNN 中被解構, 對物體的結構感知能力差, 所以精度略低.2) 兩階段檢測器 (two-stage): 首先用 PointNet 提取點級特徵, 並利用候選區域池化點雲 (Pooling from point cloud) 以獲得精細特徵. 通常能達到很高的精度但速度很慢.目前業界主要以單階段檢測器為主,這樣能保證檢測器能高效地在實時系統上進行。我們提出的方案將兩階段檢測器中對特徵進行細粒度刻畫的思想移植到單階段檢測中,通過在訓練中利用一個輔助網路將單階段檢測器中的體素特徵轉化為點級特徵,並施加一定的監督訊號,從而使得卷積特徵也具有結構感知能力,進而提高檢測精度。而在做模型推斷時,輔助網路並不參與計算(detached), 進而保證了單階段檢測器的檢測效率。另外我們提出一個工程上的改進,Part-sensitive Warping (PSWarp), 用於處理單階段檢測器中存在的「框-置信度-不匹配」問題。用於部署的檢測器,即推斷網路,由一個骨幹網路和檢測頭組成。骨幹網路用 3D 的稀疏網路實現,用於提取含有高語義的體素特徵。檢測頭將體素特徵壓縮成鳥瞰圖表示,並在上面執行 2D 全卷積網路來預測 3D 物體框。在訓練階段,我們提出一個輔助網路來抽取骨幹網路中間層的卷積特徵,並將這些特徵轉化成點級特徵 (point-wise feature)。在實現上,我們將卷積特徵中的非零訊號對映到原始的點雲空間中,然後在每個點上進行插值,這樣我們就能獲取卷積特徵的點級表示。令 {():j=0,…,M} 為卷積特徵在空間中的表示, {:i=0,…,N} 為原始點雲, 則卷積特徵在原始點上的表示等於
輔助任務
我們提出兩種基於點級特徵的監督策略來幫助卷積特徵獲得很好的結構感知力,一個前景分割任務,一箇中心點回歸任務。具體來說,相比於 PointNet 特徵提取器 (a),卷積網路中的卷積操作和下采樣會造成點雲結構的破壞(b)使得特徵對物體的邊界與內部結構不敏感。我們利用分割任務來保證部分卷積特徵在下采樣時不會被背景特徵影響 (c),從而加強對邊界的感知。我們利用中心點回歸任務來加強卷積特徵對物體內部結構的感知能力 (d),使得在少量點的情況下也能合理的推斷出物體的潛在大小,形狀。我們使用 focal loss 和 smooth-l1 對分割任務與中心迴歸任務分辨進行優化。在單階段檢測中,feature map 和 anchor 的對齊問題是普遍存在的問題,這樣會導致預測出來的邊界框的定位質量與置信度不匹配,這會影響在後處理階段(NMS)時,高置信度但低定位質量的框被保留,而定位質量高卻置信度低的框被丟棄。在 two-stage 的目標檢測演算法中,RPN 提取 proposal,然後會在 feature map 上對應的的位置提取特徵(roi-pooling 或者 roi-align),這個時候新的特徵和對應的 proposal 是對齊的。我們提出了一個基於 PSRoIAlign 的改進,Part-sensitive Warping (PSWarp), 用來對預測框進行重打分。如上圖,我們首先修改最後的分類層以生成 K 個部分敏感的特徵圖,用 {X_k:k = 1,2,...,K} 表示,每個圖都編碼物件的特定部分的資訊。例如,在 K = 4 的情況下,會生成 {左上,右上,左下,右下} 四個區域性敏感的特徵圖。同時,我們將每個預測邊界框劃分為 K 個子視窗,然後選擇每個子視窗的中心位置作為取樣點。這樣,我們可以生成 K 個取樣網格 {S^k:k = 1,2,...,K},每個取樣網格都與該區域性對應的特徵圖相關聯。如圖所示,我們利用取樣器,用生成的取樣網格在對應的區域性敏感特徵圖上進行取樣,生成對齊好的特徵圖。最終能反映置信度的特徵圖則是 K 個對齊好特徵圖的平均。我們提出的方法 (黑色) 在 KITTI 資料庫上的 PR Curve,其中實線為兩階段方法,虛線為單階段方法。可以看到我們作為單階段方法能夠達到兩階段方法才能達到的精度在 KITTI 鳥瞰 (BEV) 和 3D 測試集的效果。優點是在保持精度的同時,不增加額外的計算量,能達到 25FPS 的檢測速度。