Waymo离线点云序列3D物体检测网络 (3D Auto Labeling): Offboard 3D Object Detection from Point Cloud Sequences
本文介紹一篇Waymo基于點云序列的3D物體檢測網絡:3D Auto Labeling,論文已收錄于CVPR 2021。 這里重點是理解本文提出的 Object-centric Auto Labeling。
論文鏈接為:https://arxiv.org/abs/2103.05073
2021-09-02補充:本文作者之一對這篇論文的解讀。
Waymo研發經理|自動駕駛感知前沿技術介紹
0. Abstract
當前的 3D物體識別 研究主要集中在實時場景上,但仍有許多未充分探索的離線感知場景,例如使用機器自動生成高質量的 3D 標簽。
由于輸入和速度限制,現有的3D物體檢測器無法滿足離線使用的高質量需求。因此本文提出了一種使用點云序列數據的新型離線3D物體檢測模型。通過捕獲物體在不同幀的視圖,本文設計了一個離線檢測器,通過多幀物體檢測和新的以物體為中心的細化模型來使用點云序列進行檢測。
在 Waymo 開放數據集上進行評估后,與最先進的在線檢測器以及與離線基準相比,本文設計的 3D自動標注 模型顯示出更高的性能,甚至可以達到人工標注的水平。
1. Introduction
在引言中,作者提出在點云序列中,物體的不同視角包含關于其幾何形狀的互補信息,如左圖所示。因此本文提出使用多幀點云作為輸入,同時又使用多物體追蹤將不同幀檢測的物體關聯起來,最終提取物體點云數據和檢測框,檢測性能如右圖所示。
2. Offboard 3D Object Detection
問題描述:設輸入點云序列為 {Pi∈Rni×C},i=1,2,…,N\left\{\mathcal{P}_{i} \in \mathbf{R}^{n_{i} \times C}\right\}, i=1,2, \ldots, N{Pi?∈Rni?×C},i=1,2,…,N,其中NNN表示總幀數,Pi\mathcal{P}_{i}Pi?表示每一幀點云。同時也已知不同幀的傳感器坐標位置 {Mi=[Ri∣ti]∈R3×4},i=1,2,…,N\left\{\mathcal{M}_{i}=\left[R_{i} \mid t_{i}\right] \in \mathbf{R}^{3 \times 4}\right\}, i=1,2, \ldots, N{Mi?=[Ri?∣ti?]∈R3×4},i=1,2,…,N,因此我們可以補償自車運動。對于每一幀輸出為 3D bounding box (中心位置,大小和方向),物體類別,以及所有物體的ID號。
與以往的以frame為中心的多幀輸入檢測不同,本文提出以object為中心進行多幀檢測,使用多幀檢測器輸出初始的物體位置,對于每一個物體,通過追蹤可以提取所有與物體相關的點云數據和檢測box。然后對物體軌跡數據進一步處理,最終輸出追蹤級別的物體boxes,這一個過程與人工標注很相似(定位、追蹤、追蹤優化),因此也被成為 3D Auto Labeling。
3. 3D Auto Labeling Pipeline (重點)
算法框架如下圖所示,輸入為點云序列,3D物體檢測器首先給出每一幀中的物體類型、得分、3D bounding box。然后使用多物體追蹤器將不同幀的物體boxes關聯起來。提取出每一個物體的點云數據和 3D bounding box,最終通過object-centric auto labeling來生成標簽。
在3D物體檢測中,本文提出使用多幀的MVF++作為檢測器,通過自車運動將其余幀點云坐標轉換為當前幀坐標;多物體追蹤中本文使用了AB3DMOT作為追蹤器。接下來是提取點云數據{Pj,k},k∈Sj\left\{\mathcal{P}_{j, k}\right\}, k \in S_{j}{Pj,k?},k∈Sj? 和 3D bounding box {Bj,k},k∈Sj\left\{\mathcal{B}_{j, k}\right\}, k \in S_{j}{Bj,k?},k∈Sj?。
3.1 Satic Object Auto Labeling
從圖3可以看到,自動生成標簽環節有三個小模塊:motion state classification、static object auto labeling、dynamic object auto labeling。本文中使用了一個線性分類器來判斷物體是否靜止,準確度可以達到99%,具體細節可以看文章附錄E。
下面介紹靜態物體自動標注模塊,對于靜態物體,該模塊將物體在不同幀的點云進行合并得到新的點云 Pj=∪{Pj,k}\mathcal{P}_{j}=\cup\left\{\mathcal{P}_{j, k}\right\}Pj?=∪{Pj,k?},預測出單個box,然后根據傳感器位置轉換到不同幀中,流程圖如圖4所示。首先會將點云轉換為box坐標,這里使用得分最高的box作為初始box。然后使用實體分割網絡分割出前景點,同時迭代回歸物體 bounding box,所有網絡都是以PointNet作為網絡架構,具體細節可以看文章附錄F。
3.2 Dynamic Object Auto Labeling
動態物體自動標注流程圖如圖5所示。這里使用滑動窗口方式預測出每一幀的box,有兩個分支,一個點云序列分支,一個box序列分支。
點云子序列為 {Pj,k}k=T?rT+r\left\{\mathcal{P}_{j, k}\right\}_{k=T-r}^{T+r}{Pj,k?}k=T?rT+r?,根據當前幀檢測box (Bj,T\mathcal{B}_{j, T}Bj,T?) 將點云子序列轉換為box坐標,同樣地使用分割網絡分割出前景點,然后通過點云編碼網絡將物體點云編碼為Point Embedding。
對于Box子序列 {Bj,k′}k=T?sT+s\left\{\mathcal{B}_{j, k}^{\prime}\right\}_{k=T-s}^{T+s}{Bj,k′?}k=T?sT+s?,同樣地將box坐標轉換為幀TTT下的坐標。將點云序列編碼為trajectory embedding,最后與Point Embedding相結合,再通過一個回歸網絡輸出當前幀TTT的預測。
4. Experiments
下面是本文算法與其余3D物體檢測算法在Waymo val set的比較。
下面是人工標注和半監督學習的對比實驗。
下面是靜態自動標注、動態自動標注、時域大小的對比實驗。
總結
以上是生活随笔為你收集整理的Waymo离线点云序列3D物体检测网络 (3D Auto Labeling): Offboard 3D Object Detection from Point Cloud Sequences的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LSAS.exe是什么进程 有什么用 L
- 下一篇: Apollo进阶课程㉟丨Apollo R