介绍

英文题目:BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers
中文题目:BEVFormer: 通过时空Transformers从多摄像头图像学习鸟瞰图表示
论文地址:https://arxiv.org/pdf/2203.17270v1.pdf
领域:机器视觉,自动驾驶
发表时间:2022年3月
作者:Zhiqi Li等
出处:南京大学,上海人工智能实验室,香港大学
代码和数据:https://github.com/zhiqi-li/BEVFormer
阅读时间:2022.05.22

读后感

文中方法和特斯拉视频(特斯拉2021人工智能日AI Day完整视频)架构相似。比较有意思的地方是在BEV层面结合了时间和空间信息。

介绍

在3D感知领域,雷达已取得了很好效果,机器视觉近几年也受到关注,除了成本低,相对雷达,它还能感知远距离物体,以及识别道路标识。

BEV鸟瞰图从多个摄像头信息计算表征,用于描述周围场景。分割任务证明了BEV的有效性,但由于该方法基于深度信息生成BEV容易出错,所以在三维目标检测方面效果不显著。

另外,时间信息也很重要,比如车往前开的时候,现在被遮挡的物体,之前可能是能看到的。但是目前用到时序数据的不多,主要因为运动中的情况不断变化,不能通过简单堆叠前帧的方法来辅助当前预测。

文中提出了结合多摄像头和历史BEV特征的方法BEVFormer,如图-1所示:

左图是BEV的网格图,即鸟瞰图,Ego是汽车本身,黑色方块是关注的物体;中图的交叉注意力结合了多个摄像头信息的空间信息;右图使用自注意力模型,结合了之前数据的BEV信息。以此来解决估计运动物体的速度和检测严重遮挡物体的问题。

文章贡献

  • 提出BEVFormer,结合时空信息,支持下游任务。
  • 使用自注意力和交叉注意力,将特征结合到BEV。
  • 实验效果好。

DEVFormer

总体架构

BEVFormer有六个Encoder层,每层如图-2所示

左图描述了车载的6个摄像头,通过底层 Backbone 提取多层图像特征(Feature Map);中间图 (a)展示了一个编码层包含时间的自注意力和空间的交叉注意力,空间信息由左图提供,它的输入还包括前一层的网格BEV特征(橙色)和BEV查询(蓝色),输出是BEV特征;右侧的图(b)细化了空间交叉注意力,BEV查询只与它感兴趣的摄像机图片特征交互;右图©细化了时间自注意力,查询与之前的BEV特征和当前的BEV特征交互。

其中BEV查询是网格形状的可学习参数,用于从摄像头中查询BEV特征。

预测阶段,在时间t,读取多摄像头的图片特征F,以及t-1时刻的BEV特征,通过上述处理,输出BEV在t时刻的特征,送入下一层;多层处理完最后输出的BEV特征送入下游任务。

BEV 查询

定义一个网格形状的可学习的参数Q ∈ RH×W×C,其中H,W是BEV平面的大小,其中每个点p=(x,y)指向现实世界中s米的区域,每个点对应一个大小为C的查询Qp。BEV的中心点一般是汽车本身所在的区域。依照惯例,在输入BEVFormer框架前,将位置嵌入到Q查询中。

空间交叉注意力

多个摄像头,每个摄像头又有多层特征输出时,数据量非常大,因此使用了多头注意力。具体使用形变注意力deformable attention(一篇非常精典的论文)。BEV查询使每个点只与某些摄像头(视图)相关。

本文将形变注意力从2D扩展到3D。如图-2(b)所示,先将查询扩展成了一个柱形,采样3D参考点,再投影到2D。把与某点相关的视图记作Vhit。把2D点作为查询Qp的参考点,从相关视图中这些点周围采样。最终得到采样特征的加权和作为空间交叉注意力的输出:

式中的i是摄像头索引,j是参考点,N是柱中所有高度参考点,F是特征,Q是查询,P(p,i,r)是投影函数,用于获取第i图中的第j个参考点。

使用投影函数计算参考点方法如下:

x’,y’是真实世界坐标,x,y是BEV上的坐标,W,H是BEV大小,S是每个BEV小格对应现实世界的米数。

现实中,不仅有位置x’,y’,还有高度z’,对于每个查询点p,获取一个3D柱

,通过相机的投影矩阵将三维参考点投影到不同的图像视图上。

此处的P(p, i, j)是由第j个3D点(x’, y’,z’j)投影到第i个视图上的2D点,Ti是第i个相机的已知投影矩阵。

时间自注意力

通过结合历史BEV来表征当前环境。查询Q和前一时间的Bt-1,首先要对齐运动中的Bt-1和Q,将对齐后的B记作B’,由于物体在运动中,因此,通过自注意力建模:

与之前的形变注意力不同的时,此处的位置偏移∆p是通过串联Q和B’t-1来预测的。
相对于简单的堆叠之前的BEV,自注意力更有效地对长时依赖建模,也减少了计算量和信息干扰。

应用BEV特征

Encoder输出的DEV特征Bt大小为HxWxC,可用于自动驾驶的3D物体探测(预测三维边界框和速度,无需NMS后处理)和地图分割等任务中。

实现细节

训练阶段

从过去2s中随机抽取3个样本,表示为t-3,t-2,t-1,t,在时间t,根据多摄像头的输入和Bt-1生成Bt,Bt包含四个样本的时空信息,最终输出到下游任务,计算损失函数。

预测阶段

对视频中的每帧计算,并保留BEV特征用于后续计算,尽管使用了时间信息,但是文中方法的预测时间与其它方法差不多。

实验

数据集

实验使用两个公开的自动驾驶数据集:nuScenes和Waymo。

nuScense包含1000个,每个约20s的数据,标注2Hz,每个样本包含6个摄像机具有360度的水平场景。对于目标检测任务有标注了1.4M个3D框,共包含10个类别。5种评价标准:ATE, ASE, AEO, AVE, AAE,另外,nuScense还提出了NDS来计算综合评分。

Waymo Open Dataset包含798个训练序列和202个验证序列,每帧5张图片,摄像机具有252度的水平场景,但提供了360度的标注。由于Waymo是高分辨率且高采样的,所以利用5秒采样切分数据,并只检测车辆类别。

实验设置

基础模型使用使ResNet101-DCN和VoVnet-99,三层256通道的FPN,BEV大小为200x200,每小块对应0.512米,用6层编码层,从-5米到3米取4个高度的参考点,24次迭代。由于Waymo不能取到360度全景,由此对BEV大小做了调整。

基线使用VPN和Lift-Splat模型做对比,另外,还对比了不使用时间信息的BEVFormer-S模型。

3D目标检测

Modality中L表示雷达,C表示摄像机,可以看到BEVFormer与雷达效果相似。另外,对于速度mAVE也有明显提升。

多任务感知

针对3D检测和地图分割同时训练两种任务,以节省资源,结果如表-4所示:

可以看到,在车辆分割中多任务训练效果更好,而道路和车道分割效果较差,这可能是负迁移导致的。

消融实验

空间交叉注意力

与之前模型相比,使用了Deformable的BEV模型有明显提升。相对于全局注意力,只关注参考点的注意力(限制了感受野),稀疏注意力利用了先验的感兴趣区域,取得了更好效果,且相对比较节省资源。

时间自注意力

通过BEVFormer与BEVFormer-S的比较可以看出,使用时间注意力的效果,其优势如下:更好地预测速度;预测位置方向更准确;对遮挡物体有更高召回率。

模型规模和延迟

由于需要处理多视图,时间主要用于backbone模型;另外,缩减了BEVFormer后,效果下降也能接受。

可视化效果

如图-4所示,模型只在较远和小型物体识别有误。

论文阅读_DEVFormer相关推荐

  1. 论文阅读工具ReadPaper

    对于搞科研的同学们来说,看论文是要经历的第一关,尤其是要读好多篇论文的时候,更是着实令人头大. 这不,最近无意中发现了个在线论文阅读网站:readpaper.com,号称「论文阅读笔记神器,硕博科研学 ...

  2. 多目标跟踪:CVPR2019论文阅读

    多目标跟踪:CVPR2019论文阅读 Robust Multi-Modality Multi-Object Tracking 论文链接:https://arxiv.org/abs/1909.03850 ...

  3. 快速人体姿态估计:CVPR2019论文阅读

    快速人体姿态估计:CVPR2019论文阅读 Fast Human Pose Estimation 论文链接: http://openaccess.thecvf.com/content_CVPR_201 ...

  4. Action4D:人群和杂物中的在线动作识别:CVPR209论文阅读

    Action4D:人群和杂物中的在线动作识别:CVPR209论文阅读 Action4D: Online Action Recognition in the Crowd and Clutter 论文链接 ...

  5. 深度学习点云语义分割:CVPR2019论文阅读

    深度学习点云语义分割:CVPR2019论文阅读 Point Cloud Oversegmentation with Graph-Structured Deep Metric Learning 摘要 本 ...

  6. 3D目标检测论文阅读多角度解析

    3D目标检测论文阅读多角度解析 一.前言 CNN(convolutional neural network)在目标检测中大放异彩,R-CNN系列,YOLO,SSD各类优秀的方法层出不穷在2D图像的目标 ...

  7. 3D目标检测论文阅读摘要

    3D目标检测论文阅读摘要 2D Object Detection 的研究已经非常成熟了,代表作品有RPN系列的FasterRCNN,One Shot系列的YOLOv1-YOLOv3,这里推荐一个2D ...

  8. 目标检测——Faster R-CNN论文阅读

    论文阅读--Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks 文章目录 论文阅读--Faste ...

  9. 【独家】深度学习论文阅读路线图

    如果你是深度学习领域的一名新手,可能会遇到的第一个问题是"应该从哪篇论文开始读起呢?" 这里给出了深度学习论文阅读路线图! 路线图按照下面四个准则构建而成: 从提纲到细节 从经典到 ...

最新文章

  1. iOS 开发之沙盒机制 文件操作 (NSFielManager)
  2. Keras构建前馈神经网络并使用callbacks输出acc以及loss曲线(训练接、验证集)及效果可视化
  3. qt下编写linux消息队列,C++11消息队列 + Qt线程池 + QRunnable执行任务简单模型
  4. C# ?(问号)的三个用处
  5. CAXA电子图板2020中文版
  6. 构件开发常见问题和错误的解决方案和处理方法
  7. 如何使用新的Apache Http Client发出HEAD请求
  8. 华为虚拟化Fusionphere中VRM重启
  9. Java 8 新特性001_Java 8 Optional 类
  10. vue动态添加style样式
  11. 怎样解决编程语言之间的差异性问题?
  12. 全国车辆限行限号数据接口服务评测
  13. 微信公众号开发 获取openid时报错40163:code been used问题的解决
  14. 高考导数选择题解题方法
  15. kodi 默认桌面_如何自定义Kodi新的默认外观河口
  16. OI模板 卢卡斯定理
  17. 无网情况下安装rpm依赖包
  18. 会火吗?苹果软件新专利:用户自拍照可组成合影
  19. java实现图片滚动_怎么用Java代码使图片自行滚动浏览
  20. Python+Vue计算机毕业设计酒店管理系统g72sp(源码+程序+LW+部署)

热门文章

  1. 破解基础----背的滚瓜烂熟差不多就会破解
  2. ShareSDK关于微信分享问题
  3. 十年磨一剑,云原生分布式数据库PolarDB-X的核心技术演化
  4. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(二十二)-子域名查询
  5. 【版本管理】软件项目版本号的命名规则及格式
  6. swf无法在html播放器,错误? FlashPlayer 10根据SWF/HTML播放器设置,投影机无法进入全屏...
  7. 用Silverlight做淘宝应用
  8. 选择了考研,你后悔过吗?
  9. 什么是波动率?什么是期权的隐含波动率、历史波动率和实际波动率?
  10. 大悲寺——依教奉行溯正源,良苦用心谁人知?纵然世间一比丘,不退初心证菩提。[转]