BEV(Bird’s-eye-view)三部曲之一:综述

2023-05-16

论文名:Delving into the Devils of Bird’s-eye-view Perception: A Review, Evaluation and Recipe
Github
论文网址

零、摘要

BEV perception 主要的4个问题是:

  • 如何通过从perspective view 到 BEV视角的重构丢失的3D信息
  • 如何获取BEV网格的ground truth 标注
  • 如何公式化合并从不同sources和views获取的特征的pipline
  • 如何在不同场景下传感器参数变化时,训练一个适配的、泛化性好的算法

一、Introducation

1.1 Big Picture at a Glance

本文基于输入的数据,将BEV研究分为:

  • BEV camera:仅视觉 或 以视觉为中心的目标检测/分割算法,多摄像头
  • BEV LiDAR :点云作为输入
  • and BEV fusion:多模态输入,例如camera,LiDAR,GNSS,odomerty,HD-Map,CAN-bus

1.2 Motivation to BEV Perception Research

  • Significance.
    • 当前在nuScenes数据集上,仅视觉的算法比基于LiDAR的算法NDS指标低20%;在Waymon数据集上,甚至低超过30%。
    • 单个相机的价格低于LiDAR的1/10
  • Space.
  • Readiness.
    • 数据集:KITTI、Waymo、nuScenes、Argoverse
    • 结构:Transformer,ViT, Mased Auto-encoders, CLIP

二、Background in 3D perception

2.1 Task Definition and Related Work

  • 基于单目摄像头的3D目标检测:从单张RGB图预估深度时ill-posed problem, 因此表现较差。
  • 基于LiDAR的3D目标检测:效果往往比基于摄像头的要好很多,因为多了深度的先验信息
  • 传感器融合:摄像头、激光雷达、雷达融合

2.2 Datasets and Metrics

2.2.1 数据集

主要的数据集如下:
在这里插入图片描述

  • KITTI:3D目标检测两个衡量指标:3D目标检测指标 & BEV指标
  • Waymo: 5 LiDARs and 5 views (左,左前,前,右前,右)
  • nuScenes: 6 views, 1 LiDAR, and 5 Radars + HD-Map and CAN-bus data.

2.2.2 Evaluation Metrics

  • LET-3D-APL:类似于3D-AP,但给纵向位置一定的容许偏差.
  • mAP: 在BEV视角下,根据不同距离阈值
  • NDS:The nuScenes detection score,综合考虑mAP, mATE (Average Translation Error), mASE (Average Scale Error), mAOE (Average Orientation Error), mAVE (Average Velocity Error) and mAAE (Average Attribute Error)给出的分数。

三、Methodology of BEV perception

近期主要的文献有如下:
[Image]

这些方法的表现如下表
[Image]

我们比较关心使用LiDAR和不适用的差距,由标黄的部分可以发现,两者差距还是较大。
与仅仅使用雷达的算法,例如CenterPoint,仍有部分差距。但已经超过了PointPillars.

3.1 BEV Camera

3.1.1 BEV Camera

  • 算法主要分为:
    • 2D特征提取器:backbone;
    • 2D<->3D的转换矩阵:两种视角转换,2d->3d和3d->2d. 使用物理先验或者3D监督。
    • 3D解码器:输入2D/3D的特征,输出3D bbox、BEV视角的地图分割、3D车道线

3.1.2 View Transformation

视角转换在仅摄像头的3D感知中非常关键。主要由两种思路:

  • 使用2D特征来估计深度信息(bin-wise distribution to voxel space),将2D特征lift到3D空间
  • 使用3D-2D映射关系将2D特征编码到3D空间,基于Inverse Perspective Mapping (IPM),投影矩阵由相机的内参和外参建模。
    3.2 BEV LiDAR
    在这里插入图片描述

提取的3D点云特征转换为BEV特征图,再有一个解码器获得输出。3D点云->BEV的两种思路:

  • Pre-BEV特征提取
    原始点云->体素化点云为离散的网格->3D卷积和3D稀疏卷积
  • Post-BEV特征提取
    3D卷积计算量太大,因此转换为BEV grid, 网格中点的height、instensity、density来表示grid特征,常用的PointPillars、PointNet正是类似的思路

3.3 BEV Fusion

基于IPM,使用相机的内参&外参,将图像和点云特征在BEV视角内做融合。

  • LiDAR-camera Fusion:以BEVFusion为代表
  • Temporal Fusion:利用时序,将之前的BEV特征等利用起来。

3.4 Industrial Design of BEV Perception

在这里插入图片描述

将PV特征映射到BEV空间的四种方法:

  • Fixed IPM: 假设路面是平的,固定的转换矩阵
  • Adaptive IPM:仍假设路面是平的,使用SDV的外参数
  • Transformer:不需要先验信息,数据驱动,使用一个dense transormer,广泛应用到Tesla,Horizon, HAOMO
  • ViDAR: 与LiDAR类似,使用pixel-level depth来映射
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BEV(Bird’s-eye-view)三部曲之一:综述 的相关文章

  • 在JetPack Compose中手动重构所有AndroidView

    在我的项目中 我使用 JetPack Compose 和 AndroidView 来使用 XML 视图 Composable fun MyComposable message String AndroidView factory conte
  • Linearlayout 中的背景图像

    我正在为我正在使用的线性布局的背景设置图像 我遇到的问题是标题栏下方的白色边框 如果我将背景设置为某种颜色 则不会出现白色边框 有谁知道可能是什么原因造成的 我正在动态加载一些内容 但这是 xml
  • XML 中 setTag(key, value) 的等效项

    我可以使用等价的setTag key 在我的 Android 布局文件中 如下所示
  • 如何确定视图的列是派生的还是常量?

    假设我有下表 create table t Item ItemID int not null identity 1 1 constraint PK Item primary key Description varchar 256 not n
  • 将照片上传到 MVC 4 应用程序

    我正在尝试创建一个控制器来在我的 MVC4 应用程序中上传照片 但我不断收到此错误 输入不是有效的 Base 64 字符串 因为它包含非 Base 64 字符 两个以上的填充字符或填充字符中包含非空白字符 照片控制器 cs public c
  • Codeigniter - 返回视图作为数据不起作用[重复]

    这个问题在这里已经有答案了 我在 CodeIgniter 2 0 2 中将视图作为数据返回时遇到问题 我不确定此版本的 CI 中是否提供此功能 这可能是问题所在 但我希望不是这样 因为目前无法选择升级 我们运行两个两个网站 其中一个我们使用
  • 有时 listView.getChildAt(int index) 返回 NULL (Android)

    我有一个带有自定义适配器的 listView 当发生某些事情 在子视图中单击 时 我会进行一些计算并修改子视图 如果满足某些条件 则应修改与单击的子项无关的其他子项 这有时有效 但有时失败 DDMS 说视图为空 让我向您展示代码 if in
  • 调用 Pyramid 中的另一个视图

    我的目标 在 Pyramid 中 调用另一个可调用视图 并获得一个Response在不知道有关该视图可调用的任何详细信息的情况下拒绝返回 在我的 Pyramid 应用程序中 假设我有一个使用 view config 装饰器定义的视图 foo
  • 如何通过单击 MainFrame 内的按钮来更改 MFC 视图

    我想通过单击窗口内的按钮来更改呈现的视图像这样 https i stack imgur com 3IA2o png 我的项目设置 我制作了一个没有文档 视图支持的 MFC 项目 SDI 我在设计器中又创建了两个视图并向它们添加了类 新的视图
  • 如何测试 PARTIAL 视图在 C# ASP .NET MVC 中呈现

    我有一个视图 它内部有部分视图渲染 div class partialViewDiv Html RenderPartial partial Model SomeModelProperty div 和一个返回此视图的控制器 public Ac
  • 选择返回动态列

    我有两个表 标准和服务产品 一个标准可以有多个服务产品 每个标准可以有不同数量的与其关联的服务产品 我需要做的是编写一个视图 该视图将返回一些常见数据 然后在一行上列出服务产品 例如 Standard Id Description SO 1
  • Android 自定义视图忽略 XML 中的“android:enabled”?

    我正在设置android enabled false 在自定义视图上 但它似乎对isEnabled 财产 这是一个简单的测试用例 public class TestView extends View public TestView Cont
  • 如何创建克隆重复视图?

    在我的 Android 应用程序中 我想创建重复的ImageButton已经创建的Imagebutton 我想创造新的Imagebutton以编程方式与 XML 文件中已创建的按钮具有相同的宽度 高度 背景 图像源 边距等 简而言之 我想创
  • 让按钮更容易点击

    我有一个按钮 在某些手机上由于尺寸太大而很难点击 但让它变大会破坏布局 可以向视图解释它有一个比其可见区域更大的 点击框 吗 不确定这是否有帮助 如果您使用没有背景的 ImageButton 并设置 Padding 值 您的按钮将具有更大的
  • 如何在rails3中渲染编辑视图并发布Flash消息

    在我的帐户控制器中 我想在保存更改后显示 渲染 redirect to 编辑视图并显示闪存通知 def update account Account find params id respond to do format if accoun
  • 确定视图是否在屏幕上 - Android

    我对这个有点困惑 首先也是最重要的是 以下链接很有用 但是我提出了一些可见性问题 链接 检查视图可见性 https stackoverflow com questions 4628800 android how to check if a
  • Android:我可以创建一个不是矩形的视图/画布吗?圆形的?

    我有一个圆形视图 悬停在主要内容上方 gt 从屏幕出来的 z 轴方向 当有人点击屏幕时 我希望选择主要内容或悬停在上方的视图 当它覆盖主视图时 到目前为止效果很好 我在透明画布上有一个圆形物品 这意味着您可以看到该圆圈之外的背景的所有内容
  • “引起:java.lang.RuntimeException:视图必须有标签”的实际含义是什么?

    如果知道想要什么标签 请告诉我 Caused by java lang RuntimeException view must have a tag BaseActivity java Override public void setCont
  • 使用 datetime 与 Django 中的日期进行比较

    我在 Django 中有一个关于如何比较日期来解决一些解决方案的问题 例如 我的 models py 中有一个日期字段 如下所示 class Invoice models Model payment date models DateTime
  • 在android中,将相机预览流到视图上

    我想将 Android 相机的相机预览流式传输到视图上 目的是随后使用 onDraw 将各种内容添加到视图中 我不需要随时实际捕捉图像 它不必是最高质量或每秒最大数量的帧 有谁知道如何做到这一点 将其添加到您的 xml 中

随机推荐