ICCV 2023 | 更快更强!北理工&旷视提出StreamPETR:纯视觉感知与激光雷达终有一战之力!...

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>【3D目标检测】微信交流群

作者:ChrisM |  已授权转载(源:知乎)编辑:CVer

https://zhuanlan.zhihu.com/p/645470702

纯视觉BEV感知虽然发展了两年左右的时间,但距离激光雷达算法一直都有较大差距。BEVDepth首次将纯视觉与激光雷达的差距缩到10%以内,但随后的一系列工作似乎陷入了瓶颈,大都围绕在62%NDS左右(不考虑未来帧的buff)。难道纯视觉感知的性能真的止步于此了吗?

对于这个问题, 这里介绍一下我们刚刚收录于ICCV 2023的最新工作“StreamPETR:Exploring Object-Centric Temporal Modeling for Efficient Multi-View 3D Object Detection”。提出以object query作为时序传递载体,成为在不使用未来帧的情况下首次超越CenterPoint(67.3% NDS, 63.8% AMOTA)的纯视觉BEV感知算法 (67.6% NDS, 65.3% AMOTA)。与此同时,由于object query时序传递的高效性,StreamPETR相比单帧的PETR几乎没有引入额外的计算量。这使得StreamPETR同时成为了当下最快的BEV感知算法,比SOLOFusion速度快了2.8倍!

60dc901f77c82906cfe1fa747feabc1d.png

c78b001e01d90ca79bcb7f08d9b11715.png

Exploring Object-Centric Temporal Modeling for Efficient Multi-View 3D Object Detection

文章链接:arxiv.org/abs/2303.11926

代码:https://github.com/exiawsh/StreamPETR

动机

9a5e6b93a6d4131d8aa6dc3d1e07cab0.png

Fig.1

在BEVFormer之后,大家都将BEV感知的关注点转移到时序建模上,SOLOFusion更是展现了长时序建模无与伦比的性能提升。那么现有的时序建模是否还有提升空间呢,为此我们把现有方法划分为两种分别来看:

82cb2c82e577cfaede55a88ca799e216.png

方法

a7ab542892abe9b2d38c3f10e673602a.png

StreamPETR的模型主要分为三大块:一个image Encoder、一个Queue形式的的内存队列和一个propagation transformer组成。这里主要介绍时序融合相关的Memory Queue与propagation transformer:

Memory Queue:Queue的大小是 NxK,N是储存的帧数,K是储存的object的数量。采用先入先出(FIFO)的更新机制,一般根据分类得分选取TopK个前景目标的信息进行存储。具体而言,每一个内存空间包含对应object的时间间隔 t, 语义embedding Qc,对象中心点 Qp ,速度 v 和姿态矩阵 E。在实验中我们选取 K=256,相比BEV方法节省了近百倍的存储空间。

Propagation Transformer:Propagation Transformer 我们引入了两个概念, Motion-aware Layer Normalization (MLN)和Hybrid attention。MLN实现了隐式的运动补偿,Hybrid attention则实现RNN式的时序交互。

9e8a2a7ef438d224281f620759c3cdc3.jpeg

MLN

MLN的设计源于我们此前对于GAN的研究,在生成领域,类似的condition normalization应用非常广泛。因此我们采用了同样的网络结构设计,将normalization 层的仿射变换参数变成dynamic生成的。

Hybrid Attention

Hybrid Attention在这里用于取代原生的self-attention。首先它起到self-attention的作用,对于当前帧的重复框进行抑制。其次,当前帧的object query还需要和历史帧object query做类似cross attention操作,进行时序的交互。

由于hybrid queries远小于cross attention中 image token的数量,因此所带来的额外计算量可以忽略不计。此外历史object query也会传递到当前帧为当前帧提供更好的初始化(propagate query)。

实验

nuScenes 数据集检测和tracking性能:

b11b38d20afa478262ef837304be572c.jpeg

首先是测试集的检测性能,虽然在这里排名第二,但我们是唯一一个没有使用未来帧的方法。参考VideoBEV未来帧的性能提升(大约4%NDS),其他方法的性能实际上已经被StreamPETR拉开了不小的差距。此外我们注意到我们拥有最强的角度预测能力(mAOE),即便和多模的方法比,我们的角度误差也是最低的。

7757de533390d9e98563714b5047d754.png

e3bcb9d892fce03551bd5ef9231da928.png

Tracking榜单上由于大家都没有使用未来帧,这种性能优势会更加明显。我们使用和CenterPoint相同的tracking策略,StreamPETR比排名第二的Camera-based方法高8.9%AMOTA,比Lidar-based的CenterPoint高1.5% AMOTA。

Ablation 实验:

1)针对Queue长度的对比试验

8d5e8333a75b834defa80803efc33d56.jpeg

提高训练帧数主要用来解决训练帧数和测试帧数不一致问题,8帧streaming video测试超过了sliding window方式,12帧性能差不多饱和。

e8c7981e0da4d724cbace63c7c5445e3.jpeg

对于这个现象,我们在rebuttal中对nuscenes的tracking进行统计。如果说,长时序主要解的是物体的遮挡,那么tracking中物体遮挡的帧数则表明了长时序饱和的帧数。从上图中我们可以看到nuscenes数据集中,绝大部分物体遮挡的帧数都在10帧以内,验证了我们的假设。

2)针对MLN的对比试验

6582f9dfe7bfc91d13f6f5ce64afc667.jpeg

采用显式运动补偿(MC)时性能并没有提高。这一点有点反直觉,其实很大程度上在于vanilla attention本身就可以解决大部分动态建模的问题,因此运动补偿的作用本身就不会很大。MLN的 ego poses 的隐式编码,其中 mAP 提升了 2.0%,NDS 提升了 1.8%。继续采用MLN的时间偏移量 Δt 和物体速度 v 的编码, mAP 和 NDS 都增加了 0.4%。

3)memory queue对性能的影响

d2563a01c02d1c2268d2cc788b194c3f.jpeg

mAP 和 NDS 随着memory queue帧数的增加而提高, 2 帧(将近 1 秒)的时候就开始饱和。这说明这种recurrent的长时序建模并不需要较大的memory queue帧数。之所以1帧没有2帧效果好,是因为每帧只保存了K=256 object query,如果保存512或者900,这种性能gap将会消失。

4)不同时序融合方式的对比

我们对比了PETRv2的perspetive时序交互方式,可以看出,StreamPETR 的方式在速度和准确性上都优于perspective交互。且同时使用object query和perspective的交互没有涨点。

3eec4c00728beef3a6f5bcd6f43501a2.jpeg

在我的理解上通过attention机制获得的object query,类似于对于multi view 图像特征进行的low rank分解(参考 Is Attention Better Than Matrix Decomposition),虽然只保存了256 object query,但实际上保存了image features的绝大部分有效信息,因此当两种特征同时使用时不会有继续提升。

5)扩展性

1df4ae035d43e640b4169685a298f8a7.jpeg

我们在 DETR3D 上进行了实验,实现了4.9% mAP和 6.8% NDS的提升,而推理速度几乎没有受到影响。与PETR相比,DETR3D的提升较小,实际上是 DETR3D 采用的局部空间注意力限制了性能。我们私下采用deformable attention将DETR3D的空间采样点增多,可以实现StreamPETR同样或者略高的性能。

总结与思考

从PETRv1开始,我们就一直追寻简单高效的工作,方便大家使用。StreamPETR的速度和精度在3D检测上都相较以前方法有很大优势。不仅如此,在实际开源的过程中我们提供了和SOLOFusion同样的iter-based训练方式,因此实际的训练时间和单帧时间完全一样高效。论文的绝大部分实验都可以在2080ti上训练完成,理论上,我们ViT-L的大模型,不需要修改batchsize也可以在3090级别的显卡上训的下。StreamPETR算是PETR系列的一个结尾,希望大家喜欢我们的工作!

  • 如何取得比论文更快的速度?

可以把transformer的FFN通道数从2048改为512,此外使用flash attention进行测试。此外,论文的速度包含了后处理。在50米的范围内query数目可以降低到300左右。

  • 如何提升mAOE?

Transformer本身可以减少角度的误差,此外query denoise本身也有助于mAOE。我们没有针对性调参,ViT+DN起到了比较好的化学反应。

  • flash attention有哪些注意事项?

flash attention需要开启FP16训练,不支持V100。在PETRv1上,遇到Multi-view 2D PE也会不收敛。flash attention可以大幅降低显存,训练其它基于PETR的框架,例如PFTrack的时候也建议使用flash attention。

  • Streaming训练有哪些注意事项?

Streaming训练比起sliding window训练没有那么容易收敛,因此Streaming训练最好有辅助监督。例如:2D监督,depth监督,query denoising等。

  • StreamPETR在实际部署时可能有哪些困难?

一般训练是在关键帧(约2hz)上进行,但是在实际测试时需要引入非关键帧(10-25hz),而StreamPETR采用了时间PE,时间PE的插值和外推性能较差,训测不一致会导致较大的performance下降。可以考虑将memory queue的大小从NxK改为1xK(比如原论文中我们采用的setting是4x256,可以改为1x900,propagted query的大小保持256不变),对于performance没有较大的影响。或者引入随机时间间隔的时序增广也可以缓解此类问题(参考BEVDET4D或者PETRV2对于sweep的使用方式)。

参考文献

DETR:End-to-End Object Detection with Transformers
PETR: Position Embedding Transformation for Multi-View 3D Object Detection
BEVFormer:BEVFormer: Learning Bird's-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers
Sparse4D:Sparse4D: Multi-view 3D Object Detection with Sparse Spatial-Temporal Fusion
PETRv2:PETRv2: A Unified Framework for 3D Perception from Multi-Camera Images
SOLOFusion:Time Will Tell: New Outlooks and A Baseline for Temporal Multi-View 3D Object Detection
 
  

点击进入—>【3D目标检测】微信交流群

ICCV / CVPR 2023论文和代码下载

 
  

后台回复:CVPR2023,即可下载CVPR 2023论文和代码开源的论文合集

后台回复:ICCV2023,即可下载ICCV 2023论文和代码开源的论文合集
3D目标检测交流群成立
扫描下方二维码,或者添加微信:CVer333,即可添加CVer小助手微信,便可申请加入CVer-3D目标检测 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如3D目标检测+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲扫码或加微信号: CVer333,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉,已汇集数千人!

▲扫码进星球
▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看78d0927e693678912b18ad9b24aa60aa.gif

猜你喜欢

转载自blog.csdn.net/amusi1994/article/details/131950603
今日推荐