论文题目:BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers

整篇文章方法挺清晰的 理解起来不费劲

1. Motivation

做的任务是:3D detection,主要是提出使用BEV的表达方式去做感知类任务

问题场景

Perception in 3D space

因为整篇是拿相机在做表达和任务,所以先是说明相机优势:identify vision-based road elements (e.g., traffic lights, stoplines);指出BEV优势:清晰的表述了物体的位置和大小,比较适合自动驾驶里感知和规划的任务,同时连接了 temporal 和 spatial space,时空两个空间

同时指出现有的BEV方案:1. 2D plane,2. 从深度信息获取特征,对深度值和深度分布太敏感

因为基于BEV方法的detection performance 会受 compounding error和BEV特征的影响,所以我们提出了一种 不受深度信息,同时无需严格依靠3d prior 学习BEV的方法

Contribution

  1. 提出一种 以多相机和时间作为输入的,时空transformer encoder

    We propose BEVFormer, a spatiotemporal transformer encoder that projects multi-camera and/or timestamp input to BEV representations.
  2. 设计了通过在空间上的cross-attention,和时间上的self-attention,设计 learnable BEV queries 去做时域上的结合,然后加到Unified BEV 特征中
  3. 做nuScenes和Waymo的detection任务重取得了不错的效果

相关工作中介绍了 基于transformer-based 2D perception,和基于相机的 3D Perception


问题区:

  • cross-camera post-processing

    是指将相机进行坐标转换 把数据对其嘛?还是啥? → 好像就是多相机的处理

  • 3d prior是指不同相机之间的外参嘛?所以是指的是减弱外参在整个框架中的先验?

2. Method

2.1 框架

框架图挺清晰,从输入是六个角度的相机,通过一个可选的backbone(比如resnet101)

  • 每张照片都得到一个 feature \(F_t^i\) 其中 i 指代第 i 个相机,合起来就是得到一个 \(F_t=\{F_t^i\}_{i=1}^{N_{\text{view}}}\)
  • BEV Queries Q 是 gird-shaped learnable parameter \(Q \in \R^{H\times W \times C}\) H, W就是空间下BEV平面的大小,在 点\(p=(x, y)\) 下的 \(Q_p \in \R^{1 \times C}\) 和其对应的BEV plane grid cell region有关,每个格都代表现实世界中s米的范围长度(s分辨率

    对 queries Q里同样加入learnable的positional embedding

2.2 Spatial Cross-Attention 空间域

过程可以用该公式概括:

\[\operatorname{SCA}\left(Q_{p}, F_{t}\right)=\frac{1}{\left|\mathcal{V}_{\text {hit }}\right|} \sum_{i \in \mathcal{V}_{\text {hit }}} \sum_{j=1}^{N_{\text {ref }}} \operatorname{DeformAttn}\left(Q_{p}, \mathcal{P}(p, i, j), F_{t}^{i}\right)
\]

对于每个 \(Q_p\) 我们都有一个project function \(\mathcal P(p,i,j)\) 以获取 i-th相机下的 j-th 参考点

从现实坐标 \((x',y')\) 中 找到对应的query p=(x,y) 下 \(Q_p\) :

\[x^{\prime}=\left(x-\frac{W}{2}\right) \times s ; \quad y^{\prime}=\left(y-\frac{H}{2}\right) \times s
\]

同时因为在(x’,y’)上的物体也会有z上的高度,所以对于每个query \(Q_p\) 我们会得到 a pillar of 3D 参考点 \(\left(x^{\prime}, y^{\prime}, z_{j}^{\prime}\right)_{j=1}^{N_{\mathrm{ref}}}\) 然后通过projection matrix投到对应的相机下

\[\mathcal{P}(p, i, j)=\left(x_{i j}, y_{i j}\right)\\\text{where }z_{i j} \cdot\left[\begin{array}{lll}x_{i j} & y_{i j} & 1\end{array}\right]^{T}=T_{i} \cdot\left[\begin{array}{llll}x^{\prime} & y^{\prime} & z_{j}^{\prime} & 1\end{array}\right]^{T}
\]

其中\(T_i \in \R^{3\times 4}\) 就是第i个相机的projection matrix

2.3 Temporal Self-Attention 时间域

主要是要拿上一个输出的 BEV \(B_t\) 作为输入

\[\operatorname{TSA}\left(Q_{p},\left\{Q, B_{t-1}^{\prime}\right\}\right)=\sum_{V \in\left\{Q, B_{t-1}^{\prime}\right\}} \operatorname{DeformAttn}\left(Q_{p}, p, V\right)
\]

不同于vanilla deformable attention,这个offsets \(\Delta p\) 是从此处 concate \(\{Q, B’_{t-1}\}\) 预测而出


问题区:

3. 实验及结果

实现细节上:

  • 选择t时,是从相邻2s时间内随机采样而来,减少ego-motion的diversity,比如四个采样:\(t-3,t-2,t-1, t\),由此可得到:\(\left\{B_{t-3}, B_{t-2}, B_{t-1}\right\}\)
  • 因为 \(B_t\) 是基于多相机and \(B_{t-1}\)的,所以\(B_t\) 包含four samples的时空域clues

Loss function是根据 任务定义而来的,比如detection、segmentation等

结果表

nuScenes 数据集

waymo数据集

4. Conclusion

提出BEVFormer,验证其效果不错

limitation中提到了 和LiDAR-based还是有gap的,主要在effect和efficiency上(但是其实在本文表1 pointpaiting也并没有 ... effect上比BEVFormer好?可能只是这种指标下

碎碎念

代码还没开,可以等一波,但是好像知乎有人讨论说 也不一定会按时开。先就大概看看,网络方法输入输出都挺清晰的,就是感觉 emmm 效果意外的好 hhh

  • 有些细节有点迷,比如x’,y’获取是内参+外参直接pixel到全局坐标系下吗?
  • 估计后面跑跑 debug一下理解更深点

不同的方法对时间域数据上的处理方式各不相同,感觉时间域上的玩法还挺多的,比如上次MP3里面是optical flow, interesting;这种在视频领域更多一点 上次看沐神b站上有讲过I3D 3D-conv


赠人点赞 手有余香 ;正向回馈 才能更好开放记录 hhh

【论文阅读】BEVFormer: Learning Bird's-Eye-View Representation from Multi-Camera Images via Spatiotemporal的更多相关文章

  1. 【论文阅读】Learning Dual Convolutional Neural Networks for Low-Level Vision

    论文阅读([CVPR2018]Jinshan Pan - Learning Dual Convolutional Neural Networks for Low-Level Vision) 本文针对低 ...

  2. 论文阅读 DyREP:Learning Representations Over Dynamic Graphs

    5 DyREP:Learning Representations Over Dynamic Graphs link:https://scholar.google.com/scholar_url?url ...

  3. 论文阅读:Learning Visual Question Answering by Bootstrapping Hard Attention

    Learning Visual Question Answering by Bootstrapping Hard Attention Google DeepMind  ECCV-2018   2018 ...

  4. 论文阅读: End-to-end Learning of Action Detection from Frame Glimpses in Videos

      End-to-End Learning of Action Detection from Frame Glimpses in Videos  CVPR 2016  Motivation:    本 ...

  5. 【论文阅读】Learning Spatial Regularization with Image-level Supervisions for Multi-label Image Classification

    转载请注明出处:https://www.cnblogs.com/White-xzx/ 原文地址:https://arxiv.org/abs/1702.05891 Caffe-code:https:// ...

  6. 论文阅读:Learning Attention-based Embeddings for Relation Prediction in Knowledge Graphs(2019 ACL)

    基于Attention的知识图谱关系预测 论文地址 Abstract 关于知识库完成的研究(也称为关系预测)的任务越来越受关注.多项最新研究表明,基于卷积神经网络(CNN)的模型会生成更丰富,更具表达 ...

  7. Learning under Concept Drift: A Review 概念漂移综述论文阅读

    首先这是2018年一篇关于概念漂移综述的论文[1]. 最新的研究内容包括 (1)在非结构化和噪声数据集中怎么准确的检测概念漂移.how to accurately detect concept dri ...

  8. Deep Reinforcement Learning for Dialogue Generation 论文阅读

    本文来自李纪为博士的论文 Deep Reinforcement Learning for Dialogue Generation. 1,概述 当前在闲聊机器人中的主要技术框架都是seq2seq模型.但 ...

  9. 论文阅读笔记 Improved Word Representation Learning with Sememes

    论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...

  10. 论文阅读:Face Recognition: From Traditional to Deep Learning Methods 《人脸识别综述:从传统方法到深度学习》

     论文阅读:Face Recognition: From Traditional to Deep Learning Methods  <人脸识别综述:从传统方法到深度学习>     一.引 ...

随机推荐

  1. Solution - AGC060B

    Link 简要题意:在 \(n \times m\) 的方格表中填入一些不超过 \(2^k-1\) 的数.考虑所有从左上角到右下角的最短路径,要求其中满足路径上数异或和为 \(0\) 的路径只有给定的 ...

  2. python3使用dpkt生成PCMA格式rtp流

    操作系统 :CentOS 7.6_x64 Python版本:3.9.12 dpkt版本:1.9.8 PCMA编码是VoIP通信中常见的格式,今天整理下CentOS7环境下,python3如何使用dpk ...

  3. 国产ChatGPT

    随着ChatGPT的威名席卷全球,大洋对岸的中国厂商也纷纷亮剑,各式本土大模型你方唱罢我登场,声势浩大的发布会排满日程表.

  4. .NET静态代码织入——肉夹馍(Rougamo)发布3.0

    肉夹馍(https://github.com/inversionhourglass/Rougamo)通过静态代码织入方式实现AOP的组件,其主要特点是在编译时完成AOP代码织入,相比动态代理可以减少应 ...

  5. 一键关闭 Win11 系统广告「GitHub 热点速览」

    不知道读者中有多少人早已对 Windows 11 系统自带的广告感到厌烦,却又不知道如何关闭它们? 虽然网上有详细的关闭教程,但是都需要逐一手动操作,不是很方便.所以,今天「GitHub 热点速览」给 ...

  6. java里面的方法。

    java里面的方法. java方法是语句的组合,他们在一起执行一个功能. 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建在其他地方被引用 方法类似于其他语言里面的函数 e ...

  7. 【WebForms王者归来】在 ASP.NET Core 中运行 WebForms 业务代码,99%相似度!

    1. 先说结论 我们为 ASP.NET Core 带来了全新的 WebForms 开发模式,可以让 20 年前的 WebForms 业务代码在最新的 ASP.NET Core 框架中运行,代码相似度9 ...

  8. 在 WPF 中集成 ASP.NET Core 和 WebView2 用于集成 SPA 应用

    背景 我们有些工具在 Web 版中已经有了很好的实践,而在 WPF 中重新开发也是一种费时费力的操作,那么直接集成则是最省事省力的方法了. 修改项目文件 我们首先修改项目文件,让 WPF 项目可以包含 ...

  9. 80x86汇编—寻址方式

    文章目录 术语解释 8086寻址方式 直数寻址 寄存器间接寻址 寄存器相对寻址 基址变址寻址 比例变址寻址方式 基址比例变址寻址方式 术语解释 EA:有效地址,通过段地址:偏移地址组合得到的Effec ...

  10. Pageoffice6 实现后台生成单个PDF文档

    在实际项目中经常遇到这样的场景,客户希望后台动态生成PDF文档,目前网上有一些针对此需求的方案,如果您想要了解这些方案的对比,请查看后台生成单个Word文档中的"方案对比". Pa ...