Paper name
BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View
Paper Reading Note
URL: https://arxiv.org/pdf/2112.11790v1.pdf
TL;DR
- 提出了一种在 BEV 视角下检测 3d 物体的方法,主要是在 LSS(lift, splat, shot)基础上增加 CenterPoint 的 head 进行 3d 检测,另外增加了 BEV 空间的数据增广,在 nuscenes 上取得了 sota 效果
Introduction
- 提出了一种在 BEV 视角下检测 3d 物体的方法,包含以下模块
- an image-view encoder:编码图像视角的特征
- a BEV encoder:编码 BEV 视角下的特征
- a view transformer:将图像视角转换到 BEV 视角下
- a task-specific head:预测 BEV 下的目标
- 设计了一种独特的在 BEV 视角下的数据增广方法实现多相机视角下的 3d 物体检测
- 能在降低计算量的同时提升精度
- 输入尺寸 704x256,mAP 29.4%,NDS 38.4%,239.4 GFLOPs,7.3 FPS
- 输入尺寸 1408x512,mAP 34.9%,NDS 41.7%,601.4 GFLOPs, 2.3 FPS
- 对比(FCOS3D): 输入尺寸 1600x900,mAP 29.5%,NDS 37.2%,2000 GFLOPs,1.7 FPS
- 对比(FCOS3D): 输入尺寸 1600x900,mAP 29.5%,NDS 37.2%,2000 GFLOPs,1.7 FPS
Dataset/Algorithm/Model/Experiment Detail
实现方式
网络结构
- Image-view Encoder
- backbone:使用 resnet 或 SwinTransformer
- FPN
- head: LSS
- View Transformer(集成 LSS 的 view transformer)
- 基于图像特征预测 depth
- 基于预测的 depth 和 图像特征 render 点云
- 竖直方向上做 pooling 得到 BEV 特征
- BEV Encoder
- resnet + FPN-LSS
- Heads
- task-specific head,这里复用 CenterPoint 的 head
数据增广策略
1. 图像域数据增广
- view transformer 的转换方式如下
其中 I 是相机内参,d 是 depth - 对于图像域做的数据增广,比如 flipping、cropping、rotating 都可以用一个 3x3的变化矩阵 A 表示;为了保证图像 pixel 和 3d 空间中对应点的一致性,对于做过图像域数据增广的样本需要在 view transformer 阶段将这部分增广补偿回来
所以在图像域做的数据增广并不会影响 BEV 下的空间分布
2. BEV 数据增广
- 在 BEV 下做了 flipping、scaling、rotating 的数据增广,作用域是 view transformer 的输出和 3d object gt
实验结果
nuscenes val 集精度对比
nuscenes test 集精度对比
- 输入尺寸是 2112x768
ablation 实验
Thoughts
- 主要是基于 LSS 改进得到,没有提出新的模块,取得了 nuscenes 上 sota 效果