Far3D:直接干到150m,视觉3D目标检测新思路(AAAI2024)

2023-12-16

点击下方 卡片 ,关注“ 自动驾驶之心 ”公众号

ADAS巨卷干货,即可获取

>> 点击进入→ 自动驾驶之心【3D目标检测】技术交流群

论文作者 | 自动驾驶Daily

编辑 | 自动驾驶之心

近来在 Arxiv 读到一篇纯视觉环视感知的新工作,它延续了 PETR 系列方法,主要关注如何解决纯视觉感知的远距离目标检测问题,将感知范围扩大到150m。文章方法和结果有相当的借鉴意义,所以试着解读一下。

原标题:Far3D: Expanding the Horizon for Surround-view 3D Object Detection
论文链接:https://arxiv.org/abs/2308.09616
作者单位:北京理工大学 & 旷视科技

ae1da35bbecd92b98457e3fe9ca8a594.png

任务背景

三维物体检测在理解自动驾驶的三维场景方面发挥着重要作用,其目的是对自车周围的物体进行精确定位和分类。纯视觉环视感知方法具有成本低、适用性广等优点,已取得显著进展。然而,它们大多侧重于近距离感知(例如,nuScenes的感知距离约为 50 米),对远距离探测领域的探索较少。检测远距离物体对于实际驾驶中保持安全距离至关重要,尤其是在高速或复杂路况下。

近来,从环视图像中进行三维物体检测取得了显著进展,其部署成本较低。然而,大多数研究主要集中在近距离感知范围,对远距离检测的研究较少。将现有方法直接扩展到覆盖长距离会面临计算成本高、收敛性不稳定等挑战。为了解决这些局限性,本文提出了一种新的基于稀疏查询的框架,称为 Far3D。

论文思路

现有的环视感知方法根据中间表征可大致分为两类:基于 BEV 表征和基于稀疏 query 表征的方法。基于 BEV 表征的方法,由于其密集的 BEV 特征计算,计算量非常大,难以扩展到远距离场景。而基于稀疏query表征的方法,会从训练数据中学习到全局 3D query,计算量会小许多,且扩展性较强。但它也有弱点,虽然可以避免 query 数目的平方增长,但全局固定 query 不易适应动态场景,在远距离检测中通常会遗漏目标。

3476ace31d48eff4ded92ab3daff42ff.png
图1:Argoverse 2 数据集上,3D 检测和 2D 检测的性能对比。

在远距离检测中,基于稀疏 query 表征的方法有两个主要挑战。

  1. 首先是召回性能较差。由于 query 在 3D 空间分布的稀疏性,在远距离范围只能产生少量匹配的 positive query。如上图所示,3D 检测的召回率较低,而现有 2D 检测的召回率要高得多,两者之间存在明显的性能差距。因此,利用高质量的 2D 物体先验来改进 3D query 是一种很有潜力的方法,它有利于实现物体的精确定位和全面覆盖。

  2. 其次,直接引入 2D 检测结果来帮助 3D 检测会面临误差传播的问题。如下图所示,两种主要来源是 1) 由于深度预测不准的物体定位误差;2) 随着距离的增大,视锥变换中的 3D 位置误差也会增大。这些 noisy query 会影响训练的稳定性,需要有效的去噪方法来优化。此外,在训练过程中,模型会表现出对密集的近距离物体过度拟合的倾向,而忽略稀疏分布的远距离物体。

db8b6e132da8eee25531bd8bc3008fac.png

为了解决上述问题,本文做了以下设计:

  1. 除了从数据集中学到的 3D global query 外,还引入了由 2D 检测结果生成的 3D adaptive query。具体地,首先利用 2D 检测器和深度预测网络得到 2D 框和对应深度,再通过空间变换投射到 3D 空间,作为 3D adaptive query 的初始化。

  2. 为了适应不同距离的物体的尺度不同,设计了 Perspective-aware Aggergation。它使得 3D query 可以和不同尺度的特征交互,有利于不同距离物体的特征捕捉。比如,远处物体需要大分辨率的特征,而近处则不同。模型通过这种设计可以自适应地与特征交互。

  3. 设计了一种称为 Range-modulated 3D Denoising 的策略,以减轻 query 错误传播和收敛缓慢的问题。考虑到不同距离的 query 回归难度不同,noisy query 根据真实框的距离和尺度来调整。将 GT 附近的多组 noisy query 输入解码器,来分别实现重建3D 真实框(对于正样本)和舍弃负样本的作用。

主要贡献

  1. 本文提出了一种新的基于稀疏 query 的检测框架,它利用高质量的 2D object prior 来生成 3D adaptive query, 从而扩大三维检测的感知范围。

  2. 本文设计了 Perspective-aware Aggregation 模块,它从不同尺度和视角聚合视觉特征,以及一个基于目标距离的 3D Denoising 策略,来解决 query 误差传播和框架收敛问题。

  3. 在远距离的 Argoverse 2 数据集的实验结果表明,Far3D 超越了此前的环视方法,并优于几种基于激光雷达的方法。并且在 nuScenes 数据集上验证了其通用性。

模型设计

Far3D 流程概览:

  1. 将环视图像输入主干网络和 FPN 层,编码得到 2D 图像特征,并将其与相机参数进行编码。

  2. 利用 2D 检测器和深度预测网络,生成可靠的 2D 物体框及其相应深度,然后通过相机变换投影到 3D 空间。

  3. 生成的3D adaptive query 与初始的 3D global query 相结合,由解码器层迭代回归,以预测 3D 物体框。更进一步,该模型可通过长时序的 query 传播实现时序建模。

8f7bc7f7d831388485b156e75ee95db9.png

Perspective-aware Aggregation:

为了给远距离检测模型引入多尺度特征,本文应用了 3D spatial deformable attention。它先在 query 对应的 3D 位置附近进行偏移采样,而后通过 3D-2D 视图变换聚合图像特征。这种方法替代 PETR 系列中的 global attention 的优势在于,计算量可以大幅降低。具体地,对于 3D 空间中的每个 query 的参考点,模型会学习其周围的 M 个采样偏移,并将这些偏移点投影到不同的 2D 视图特征中。

3d92cb01ae14a59812ab0919be9ac0c1.png

其后,3D query 与投影得到的采样特征交互。通过这种方式,来自不同视角和尺度的各种特征将通过考虑其相对重要性汇聚到三维查询中。

Range-modulated 3D Denoising:

不同距离的 3D query 具有不同的回归难度,这不同于现有的 2D Denoising 方法(如 DN-DETR, 通常同等对待的2D query)。难度差异来自于 query 匹配密度和误差传播。一方面,与远处物体相对应的 query 匹配度低于近处物体。另一方面,在 3D adaptive query 中引入二维先验时,2D 物体框的微小误差会被放大,更不用说这种影响会随着物体距离的增加而增大。因此,GT 框附近的一些 query 可被视为 positive query,而其他有明显偏差则应被视为 negative query。本文提出一种 3D Denoising 方法,旨在优化那些正样本,并直接舍弃负样本。

具体地,作者通过同时添加正样本和负样本组来构建基于 GT 的 noisy queries。对于这两种类型,都会根据物体的位置和大小应用随机噪声,以促进远距离感知中的去噪学习。形式上,正样本定义在 3D 框内的随机点,而负样本则在 GT 施加更大的偏移,范围随着物体的距离变化。这种方式可以在训练过程中模拟有噪声的候选正样本和 false postive 样本。

实验结果

Far3D 在 150m 感知范围的 Argoverse 2 上取得了最高的性能。并且模型 scale up 之后,可以达到几个 Lidar-based 方法的性能,展现了纯视觉方法的潜力。

b41930d6c7bdd914cb958ca9672faeec.png

为了验证泛化性能,作者也在 nuScenes 数据集上做了实验,表明其在验证集和测试集上都达到 SoTA 性能。

c91c6c77d0a7a8c414d7efeb5d2cdfeb.png

通过 Ablation 实验表明了 3D adaptive query, perspective-aware aggregation 和 range-modulated 3D denoising 各自的增益。

054f0c57ea8a4d3bec26964a42db019a.png

论文思考

Q:这篇文章有什么 novelty?
A:主要 novelty 是解决远距离场景的感知问题。现有方法拓展到远距离场景有许多问题,计算成本和收敛困难等。本文作者为这个任务提出了一个高效的框架。尽管单拎出来各个模块似曾相识,它们都是服务于远处目标的检测的,目标明确。

Q:相比 BevFormer v2, MV2D 有什么区别?
A: MV2D 主要是依赖 2D anchor 去取对应的特征对 3D 进行了绑定,但是没有显式的深度估计,所以对于远距离物体来说不确定性就会比较大,然后难收敛;BevFormer v2 主要解决的是2D backbone与 3D 任务场景之间的domain gap,一般 2D 识别任务上预训练的 backbone 察觉 3D 场景的能力存在不足,并没有探索远距离任务中的问题。

Q: 时序上能否改进,如 query propagation 再加上 feature propagation?
A: 理论上是可行的,但是实际应用中应该考虑performance-efficiency tradeoff。

Q: 还有哪些需要改进的地方?
A: 在长尾问题和远距离评测指标上都值得改进。在 Argoverse 2 这样的 26 类目标上,模型在长尾类别上表现不佳,最终也会降低平均精度,这一点尚未被探索。另一方面,使用统一的指标来评估远距离和近距离物体可能并不合适,这就强调了对实用的动态评估标准的需求,以适应现实世界的不同场景。

① 全网独家视频课程

BEV感知 、毫米波雷达视觉融合 多传感器标定 多传感器融合 多模态3D目标检测 点云3D目标检测 目标跟踪 Occupancy、 cuda与TensorRT模型部署 协同感知 语义分割、 自动驾驶仿真、 传感器部署、 决策规划、轨迹预测 等多个方向学习视频( 扫码即可学习

8f06fb1e59654af69a3918332a106354.png 视频官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

近2000人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球, 这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频 ,期待交流!

fad3ba1c08c853c598b99e0e2fe38a94.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦 目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流 等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

56aa9076bc1429087763c4c5719ab103.jpeg

④【自动驾驶之心】平台矩阵, 欢迎联系我们!

c3b2b406b0aa9879abe19b93328fd402.jpeg

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Far3D:直接干到150m,视觉3D目标检测新思路(AAAI2024) 的相关文章

  • 计算 3D 平面的 Voronoi 图

    是否有代码 库可以计算 3D 平面 平行四边形 的 Voronoi 图 我检查了 Qhull 它似乎只能处理点 在它的示例中 Voro 可以处理不同大小的球体 但我找不到任何多边形 在这张图片中 3d 中的样本平面 https i stac
  • 求和面积表 (SAT) 的 3D 变体

    根据维基百科 A 面积求和表 http en wikipedia org wiki Summed area table是一种数据结构和算法 用于快速有效地生成网格矩形子集中的值之和 对于二维空间 可以通过迭代生成求和面积表x y超过所需的范
  • 使用 numpy 和/或 scipy 插值 3D 体积

    我非常沮丧 因为几个小时后我似乎无法在 python 中进行看似简单的 3D 插值 在Matlab中我所要做的就是 Vi interp3 x y z V xi yi zi 使用 scipy 的 ndimage map coordinate
  • 在python opengl中使用图像中的2d点获取空间中的3d点

    我正在尝试模拟房间中的深度相机 我的相机能够在世界中移动和旋转 并且房间被模拟为围绕 0 0 0 的 3d 立方体 单击按钮时 我想对图像中的 N 个随机点进行采样 并获取这些点与相机的距离 现实世界 中的距离 到目前为止 我已经成功创建了
  • 矩形相交

    是否有任何已知的方法来计算两个矩形之间的相交矩形 我的意思是 如果矩形 A 由 x1 y2 x2 y2 定义 B 由 x3 y3 x4 y4 定义 那么如何计算相交矩形 C x5 y5 x6 y6 的坐标 Thanks 相交多边形的一般问题
  • 使用 Scenform 将 SceneView 加载到片段中后出现黑屏

    我正在开发一个项目 该项目将在一个片段中包含 3D 模型查看器 为了做到这一点 我决定使用 sceneform 在尝试在我的选项卡片段中显示 SceneView 后 我遇到了 SceneView 的问题 一切都是根据示例和 scenefor
  • Python在3D散点图中用线连接相邻点

    我有两组 x y z 坐标 我用 Matplotlib 将它们绘制在 3D 散点图中 现在 我想将每个生成的四边形与平面连接起来 我已经了解了如何在 3D 空间中绘制 2D 多边形在 python matplotlib 中绘制 3D 多边形
  • 在运行时更改 AR core 中对象的纹理

    我正在创建一个应用程序 我需要在其中更改 3d 对象的纹理 图案 我正在使用 AR Core SDK 和 android 我已经使用了下面的代码 但它不起作用 Texture builder setSource this R drawabl
  • 如何旋转 3D 散点图

    下面的代码使用 scatterplot3d 函数来运行高度 重量和体积的 3D 散点图 其中点是 1 6 之间的类值 角度目前为 45 度 我知道我可以通过改变角度来倾斜绘图 我应该使用什么代码将绘图向左或向右旋转 以便我可以提供绘图的多个
  • WP7 XNA 显示 3D FBX 模型

    我只是初学者 很抱歉我的愚蠢问题 我的模型看起来像这样 http img265 imageshack us img265 8291 clipboard01ap jpg http img265 imageshack us img265 829
  • 是否可以在 Netbeans 7.0 应用程序中使用 Jzy3D?

    好吧 我们正在尝试将 3D 散点图合并到 Netbeans 7 0 中的项目中 我们选择测试的库之一是 Jzy3D 看起来它会做我们需要它做的一切 但不幸的是 它什么也没做 我已经正确安装了 JOGL 并对其进行了测试 发现它可以正常工作
  • 使用 3d 变换矩阵

    在人工智能课程中 我们有一个机器人 它的手臂有 7 个关节 每个关节可以向不同的方向旋转 我需要知道最后的结局在哪里 我一直在尝试进行 3d 矩阵乘法 它适用于一个关节 但一旦我添加另一个关节 它就与我使用 Java3D api 制作的模型
  • 如何计算逆运动学[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想知道如何使用逆运动学计算旋转角度 我计划将其用于实时 3D 动画 有人知道一些详细介绍具体解决方案的好文献吗 以下资源调查了逆运动学问题的一些流行
  • Python 中的标量场可视化

    我需要在 Python 中可视化几个重叠的标量场 我发现mayavi图书馆做这种情节 问题是我不明白如何为标量字段自定义颜色图 我的想法是为每个字段设置一种颜色的阴影 我尝试采用一个例子 http docs enthought com ma
  • WPF 3D 旋转球体 GUI

    我一直在尝试在 WPF 中为我的课堂作业制作 3D 用户界面 但遇到了一个问题 现在 2 3 天都无法解决 我尝试用谷歌搜索答案 我查看了一些 stackoverflow 帖子 但还没有一个可以帮助我解决问题 情况是这样的 我有一个 3D
  • 如何在 OpenCV 中绘制图像的 3D 直方图

    更新 我找到更多例子 我现在可以做到 我可以在 3d 中绘制多个直方图吗 https stackoverflow com questions 35210337 can i plot several histograms in 3d 我知道这
  • 如何在plotly 3D曲面图中标记区域?

    我使用plotly从xyz数据创建3D高程剖面图 它与以下代码配合得很好 import plotly graph objects as go import pandas as pd import numpy as np Read data
  • 判断一个点是否在多面体内部

    我试图确定某个特定点是否位于多面体内部 在我当前的实现中 我正在研究的方法采用我们正在寻找多面体面的数组 在本例中为三角形 但稍后可能是其他多边形 的点 我一直在尝试根据这里找到的信息进行工作 http softsurfer com Arc
  • 投影 3D 网格的 2D 轮廓算法

    给定 一个 3D 网格 由一组顶点和三角形定义 并用这些点构建网格 问题 找到任意平面上投影的任意旋转网格的二维轮廓 投影很容易 挑战在于找到平面中投影三角形边的 外壳 我需要一些有关研究该算法的输入 指针的帮助 为简单起见 我们可以假设
  • 如何创建热图来说明控制发散调色板中心颜色位置的网格差异?

    我有两个人脸 3D 网格 我希望使用热图来说明差异 我想使用红蓝发散色阶 我的数据可以查到here https github com Patricklv How to create heatmap illustraing 3D mesh d

随机推荐

  • 系统维护与调试命令 -- ping

    系统维护与调试命令 ping 一 H3C交换机和路由器中的 ping 命令 ping命令用来检查指定IP地址是否可达 并输出相应的统计信息 命令 ping ip a source ip c count f h ttl i interface
  • <a>标签的超链接前面会自动加上当前(网站)地址

    当前 网站 地址是 fyh com 在代码里写 a 标签时 会自动在链接前添加 fyh com 例如写如下代码 a href www baidu com baidu a 在浏览器中点击链接会跳转至 fyh com www baidu com
  • Windows安装Tesseract OCR与Python中使用pytesseract进行文字识别

    文章目录 前言 一 下载并安装Tesseract OCR 二 配置环境变量 三 Python中安装使用pytesseract 总结 前言 Tesseract OCR是一个开源OCR Optical Character Recognition
  • vim常见操作

    vim常见操作 文章目录 vim常见操作 1 回退 前进 2 搜索 3 删除 4 定位到50行 5 显示行号 6 复制粘贴 7 剪贴
  • 一份自动驾驶量产阶段的BEV自动标注系统超实用指南

    编辑 智能车情报局 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 BEV感知 技术交流群 本文只做学术分享 如有侵权 联系删文 导读 本文提出了一种用于自动驾驶数据采集的自动或半自动标注系统
  • 刘强东发文检讨:京东现在臃肿低效,必须改变!

    编辑 雷峰网 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 全栈算法 技术交流群 本文只做学术分享 如有侵权 联系删文 今日头条 HEADLINE NEWS 刘强东内网发声 京东组织臃肿低效
  • 相机Camera:最核心没有之一的感知传感器

    作者 萧谭辉 编辑 汽车人 原文链接 https zhuanlan zhihu com p 669728398 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 硬件交流 技术交流群 本文只做学
  • Windows使用selenium操作浏览器爬虫

    以前的大部分程序都是操作Chrome 很少有操作Edge 现在以Edge为例 Selenium本身是无法直接控制浏览器的 不同的浏览器需要不同的驱动程序 Google Chrome需要安装ChromeDriver Edge需要安装Micro
  • Redis基础系列-主从复制

    Redis基础系列 主从复制 文章目录 Redis基础系列 主从复制 1 什么是 Redis 主从复制 2 主从复制有什么好处 3 如何配置 Redis 主从复制 4 主从复制的验证 4 1 如何查看主从搭建成功
  • 安卓MediaRecorder(2)录制源码分析

    文章目录 前言 JAVA new MediaRecorder 源码分析 android media MediaRecorder cpp native init MediaRecorder java postEventFromNative a
  • 【图对比学习】GACN:使用对抗网络增强图对比学习

    论文题目 Graph Contrastive Learning with Generative Adversarial Network 使用对抗网络增强图对比学习 论文地址 https dl acm org doi pdf 10 1145
  • Redis基础系列-持久化

    Redis基础系列 持久化 文章目录 Redis基础系列 持久化 1 什么是持久化 2 为什么要持久化 3 持久化的两种方式 3 1 持久化方式1 RDB redis默认持久化方式
  • 毕业设计|Python网络爬虫与推荐算法的新闻推荐平台

    作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智能与大数据 简历模板
  • 针对企业数字化转型有哪些建议?

    聊起数字化转型 大部分亲历者感受都是一样的 痛 难 贵 痛在哪儿 战略部署痛 难在哪儿 能力建设难 贵在哪儿 价值显现贵 战略部署考验企业一把手的远见和魄力 能力建设考验员工的数字化素养和学习能力 价值显现则考验企业真金白金砸钱的能力 那么
  • 期末备考 |《计算机网络》期末备考资料包来啦!

    写在前面 不知不觉又到了学期的末尾 不知道各位计算机er的 专业课复习得怎么样了呢 为了帮助大家更好地 备战期末 从今天开始 岛主将持续为大家更新 计算机期末备考资料 为同学们的绩点护航 今天岛主为大家带来的是 计算机网络 期末备考资料包
  • CS保研er寒假有必要实习吗?做哪些实习比较好?

    写在前面 随着时间来到12月 也意味 离寒假已经不远了 许多计算机er忙了一学期已经开始憧憬寒假的生活 但也有一部分人没有选择放松 而是做好了规划准备实习 那么 对于计算机er 参加实习对保研吗 做哪些实习更好呢 今天岛主就来跟大家聊一聊
  • QTNet:最新时序融合新方案!点云、图像、多模态检测器全适用(NeurIPS 2023)...

    点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 gt gt 点击进入 自动驾驶之心 多传感器融合 技术交流群 论文作者 Jinghua Hou 编辑 自动驾驶之心 写在前面 个人理解 时序融合能够有效提升自动驾驶3D
  • 免费白嫖GPU算力,畅玩大模型的算力平台!

    要做深度学习 必然需要 GPU 如何构建一个弹性的 GPU 环境是很多读者关心和常问的问题 今天给大家分享 GPU 平台 趋动云 正好官方有活动 新用户 有 价值168元的赠送算力 有效期1年 数量有限先到先得 领取方式见文末 学校课题组没
  • ​NeurIPS 2023|RayDF:实时渲染!基于射线的三维重建新方法

    编辑 极市平台 点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 NeRF 技术交流群 本文只做学术分享 如有侵权 联系删文 导读 本论文提出一个全新的维护了多视角几何一致性的基于射线的隐式表达
  • Far3D:直接干到150m,视觉3D目标检测新思路(AAAI2024)

    点击下方 卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 gt gt 点击进入 自动驾驶之心 3D目标检测 技术交流群 论文作者 自动驾驶Daily 编辑 自动驾驶之心 近来在 Arxiv 读到一篇纯视觉环视感知的新工作 它延