大白話用Transformer做BEV 3D目標檢測
點擊下方卡片,關(guān)注“新機器視覺”公眾號
重磅干貨,第一時間送達
作者 | 張恒
單位 | 法國國家信息與自動化研究所
研究方向 | 目標檢測、傳感器融合
編輯 | PaperWeekly
如何利用車載環(huán)視相機采集到的多張圖像實現(xiàn)精準的 3D 目標檢測,是自動駕駛感知領(lǐng)域的重要課題之一。針對這個問題,傳統(tǒng)的檢測方案可以概括為:先利用一個 2D 模型在各自的相機視角獲取 3D 檢測結(jié)果,再通過后處理算法將各個視角的 3D 檢測框投影到 ego frame 再組合在一起。這樣的做法簡單有效,但是由于將多視角融合的步驟排除在模型學習之外,導致其難以檢測相鄰環(huán)視相機重疊部分中被截斷的物體,也難以實現(xiàn)與 3D 點云傳感器 (LiDAR) 的數(shù)據(jù)級/特征級融合。
▲ Perspective view VS BEV view 3D object detection
隨著 Attention 機制在 Vision 領(lǐng)域的成功應(yīng)用,大家開始關(guān)注如何將多個 Perspective view 的圖片表征 (image representation) 轉(zhuǎn)化為一個統(tǒng)一的BEV view (Bird's Eye View, 鳥瞰圖) 的場景表征 (scene representation),從而實現(xiàn)完整統(tǒng)一的 3D 目標檢測。具體而言,傳統(tǒng)的 2D 網(wǎng)絡(luò)包含 Backbone 和 Head 兩個模塊,分別用于特征提取和目標檢測。BEV 網(wǎng)絡(luò)則在二者之間增加一個 BEV Neck,用于 2D 到 3D 的 BEV 投影以及 BEV 視角下的特征提取。本文嘗試盤點一下目前市面上幾種主流的 Transformer-based BEV 3D object detection 的方法,重點著眼于如何高效的從環(huán)視相機視角提取 BEV 特征。 以下文章或多或少都借鑒了 DETR [1] 的檢測思路,不了解的同學建議復習一下前篇解讀 —— 大白話用Transformer做Object Detection,以做到無縫銜接。
Feature point sampling
DETR3D [2] 將原本的 DETR 模型拓展到 3D 空間。具體而言:在 2D Image feature extraction 部分,利用共享權(quán)重的 ResNet+FPN (output stride = 1/8, 1/16, 1/32, 1/64) 提取環(huán)視相機所采集到的 6 張圖片的特征。 在 3D Transformer decoder 部分,每個 object query 先通過一個子網(wǎng)絡(luò)預測所查詢物體在真實世界的 3D 坐標 (reference point),再利用由相機的內(nèi)參外參所構(gòu)造的坐標變換矩陣 (camera transformation matrices, 3x4) 將真實世界的 3D 坐標投影至環(huán)視相機的 2D 像素坐標,并應(yīng)用雙線性插值采樣各個相機視角、各個 PFN 層級同一位置的特征點(投影在圖像外的特征點用 0 填充),最后利用所采樣到的 6x4=24 個特征點的均值作為物體特征更新 object query。 Feature point sampling有很多優(yōu)點:1)計算量?。ó吘怪徊蓸?24 個特征點);2)兼容 FPN(應(yīng)該對檢測不同距離的物體有幫助);3)避免了 dense depth prediction(只需要預測 sparse object query 的 3D 坐標,不需要預測每張圖片、每個像素的深度信息)。 Global cross-attention
無法直接用 3D object query 在 2D spatial features 上實現(xiàn)查詢匹配的原因之一,是二者空間上的不一致:在 2D 圖片上兩個點之間的坐標距離難以表述 3D 世界中這兩個點的實際距離。 為了將 2D 的圖像特征擴展到 3D 檢測空間(以方便 3D object query 查詢匹配),PETR [3] 選擇在 Positional embedding 方面做改進:為 2D 特征圖上的每個像素生成一個對應(yīng)真實世界中的 3D 坐標列表(2D 圖片上的一個點對應(yīng) 3D 真實世界中以相機鏡頭為起始點的一條射線 (camera ray),列表即是在這條射線上采樣的 N 個點的 3D 坐標集合),再通過 MLP 將這個坐標列表轉(zhuǎn)化為 3D Positional embedding。 下圖展示了前視相機的左中右三個點與其他所有相機視角的 3D Positional embedding 的相似度比較,可以發(fā)現(xiàn)與這三個點所對應(yīng)真實世界的三條射線夾角較小的區(qū)域相似度較高,證明這種 2D 到 3D 的轉(zhuǎn)換是有效的。

▲ 圖片來自PETR

Deformable cross-attention


Lift-Splat
▲ 圖片來自Lift, Splat, Shoot

Future directions
參考文獻
[1] End-to-End Object Detection with Transformers https://arxiv.org/abs/2005.12872
[2] DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries https://arxiv.org/abs/2110.06922
[3] PETR: Position Embedding Transformation for Multi-View 3D Object Detection https://arxiv.org/abs/2203.05625
[4] Anchor DETR: Query Design for Transformer-Based Object Detection https://arxiv.org/abs/2109.07107
[5] BEVFormer: Learning Bird's-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers https://arxiv.org/abs/2203.17270
[6] Deformable DETR: Deformable Transformers for End-to-End Object Detection https://arxiv.org/abs/2010.04159
[7] Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D https://arxiv.org/abs/2008.05711
[8] Categorical Depth Distribution Network for Monocular 3D Object Detection https://arxiv.org/abs/2103.01100
[9] BEVFusion: Multi-Task Multi-Sensor Fusion with Unified Bird's-Eye View Representation https://bevfusion.mit.edu/assets/paper.pdf
[10] BEVFusion: A Simple and Robust LiDAR-Camera Fusion Framework https://arxiv.org/abs/2205.13790
[11] Sparse R-CNN: End-to-End Object Detection with Learnable Proposals https://arxiv.org/abs/2011.12450
[12] FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection https://arxiv.org/abs/2104.10956
本文僅做學術(shù)分享,如有侵權(quán),請聯(lián)系刪文。
—THE END—




