Sparse4D v1

Sparse4D: Multi-view 3D Object Detection with Sparse Spatial-Temporal Fusion

2bcea72d0dce44a684c2bcdd6873795a.png

Abstract

基于鸟瞰图 (BEV) 的方法最近在多视图 3D 检测任务方面取得了重大进展。与基于 BEV 的方法相比,基于稀疏的方法在性能上落后,但仍然有很多不可忽略的优点。为了进一步推动稀疏 3D 检测,在这项工作中,我们介绍了一种名为 Sparse4D 的新方法,该方法通过稀疏采样和融合时空特征对锚框进行迭代细化。(1)稀疏 4D 采样:对于每个 3D 锚点,我们分配多个 4D 关键点,然后将其投影到多视图/尺度/时间戳图像特征以采样相应的特征; (2) 层次特征融合:我们分层融合不同视图/尺度、不同时间戳和不同关键点的采样特征以生成高质量的实例特征。通过这种方式,Sparse4D 可以有效地有效地实现 3D 检测,而不依赖于密集视图转换或全局注意力,并且对边缘设备部署更加友好。此外,我们引入了一个实例级深度重新加权模块来缓解 3Dto-2D 投影中的不适定问题。在实验中,我们的方法优于nuScenes数据集中所有基于稀疏的方法和大多数基于BEV的检测任务方法。代码可在 https://github.com/linxuewu/Sparse4D 获得。

1. Introduction

        多视图视觉 3D 感知在自动驾驶系统中起着至关重要的作用,尤其是对于低成本部署。与激光雷达模态相比,相机可以为远程距离检测和仅视觉元素识别提供有价值的视觉线索。然而,在没有显式深度线索的情况下,2D图像的3D感知是一个不适定的问题ill-posed issue,,这导致了一个长期存在的挑战,即如何正确地融合多摄像头图像来解决3D感知任务,如3D检测。最近的方法有两种主流类别:基于 BEV 的方法和基于稀疏的方法the BEV-based methods and the sparse-based methods.。

        基于BEV的方法[12,17-19,29,49]通过将多视图图像特征转换为统一的BEV空间,实现优异的性能提升。然而,除了BEV方式的优点外,还存在一些不可避免的缺点:(1)图像到BEV的透视变换需要密集的特征采样或重排,这对于低成本的边缘设备部署来说既复杂又计算成本高;(2)最大感知范围受BEV特征图大小的限制,难以在感知范围、效率和准确性之间进行权衡;(3)在BEV特征中压缩高度维度,失去纹理线索。因此,BEV 特征不适用于一些感知任务,例如信号牌检测。

        与基于 BEV 的方法不同,基于稀疏的算法 [5,35,41] 不需要密集透视变换模块,而是直接对稀疏特征进行 3D 锚点细化,从而可以缓解上述问题。其中,最具代表性的稀疏3D检测方法是DETR3D[41]。然而,它的模型容量是有限的,因为DETR3D只采样单个3D参考的特征每个锚查询的点。最近,SRCN3D[35]利用RoI-Align[9]对多视图特征进行采样,但不够高效,不能精确对齐不同视图的特征点。同时,现有的稀疏 3D 检测方法没有利用丰富的时间上下文,并且与最先进的基于 BEV 的方法相比具有显着的性能差距。

        在这项工作中,我们投入了我们最好的效果来扩展基于稀疏的三维检测的极限。为了解决这些问题,我们引入了一个名为Sparse4D的新框架,该框架利用分布在3D锚框区域的多个关键点对特征进行采样。与单点方式[41]和RoI-Align方式[35]相比,我们的采样方式有两个主要优点:(1)可以有效地提取每个锚盒内部丰富完整的上下文;(2)可以简单地扩展到时间维度作为4D关键点,可以有效地对齐时间信息。使用 4D 关键点,如图 1 所示,Sparse4D 首先为每个关键点执行多标签、多视图和多尺度。然后,这些采样的特征经过分层融合模块,生成高质量的实例特征,用于 3D 框细化。此外,为了缓解基于相机的 3D 检测的不适定问题并提高感知性能,我们明确地添加了一个实例级深度重新加权模块,其中实例特征由从预测深度分布中采样的深度置信度重新加权。该模块以稀疏的方式进行训练,无需额外的激光雷达点云监督。

总之,我们的工作有四个主要贡献:

• 据我们所知,我们提出的 Sparse4D 是第一个具有时间上下文融合的稀疏多视图 3D 检测算法,可以有效地对齐空间和时间视觉线索以实现精确的 3D 检测。

• 我们提出了一个可变形的4D聚合模块,可以灵活地完成多维(点、时间戳、视图和尺度)特征的采样和融合。• 我们引入了一个深度重新加权模块来缓解基于图像的 3D 感知系统中的不适定问题。

•在具有挑战性的基准 - nuScenes 数据集上,Sparse4D 在 3D 检测任务上优于所有现有的基于稀疏的算法和大多数基于 BEV 的算法,并且在跟踪任务上也表现良好。

2. Related Work

2.1. Sparse Object Detection

早期的目标检测方法[7,22,33,37,38]使用密集预测作为输出,然后利用非最大抑制(non-maxima suppression, NMS)处理这些密集预测。DETR[3]引入了一种新的检测范式,利用基于集合的损失和变压器直接预测稀疏检测结果。DETR在对象查询和全局图像上下文,计算量大,收敛困难。由于全局交叉注意力的使用,DETR 不能被视为纯稀疏方法。然后,可变形DETR[51]修改DETR,提出了一种基于参考点的局部交叉注意,加快了模型的收敛速度,降低了计算复杂度。稀疏R-CNN[36]提出了另一种基于区域提议思想的稀疏检测框架。网络结构非常简单有效,证明了稀疏检测的可行性和优越性。作为 2D 检测的扩展,许多 3D 检测方法最近更加关注这些稀疏范式,例如 MoNoDETR [46]、DETR3D [41]、Sparse R-CNN3D [35]、SimMOD [48] 等。

2.2. Monocular 3D Object Detection

        单目3D检测算法以一幅图像为输入,输出物体的3D包围盒。由于图像不包含深度信息,因此这个问题是不适定的,并且与 2D 检测相比更具挑战性。FCOS3D [39] 和 SMOKE [25] 基于单级 2D 检测网络进行了扩展,使用全卷积网络直接回归每个对象的深度。[31,40,43]利用单目深度估计结果将二维图像转换为三维伪点云信号,然后利用基于激光雷达的检测网络完成三维检测。OFT [34] 和 CaDDN [32] 在视图转换模块的帮助下将密集的 2D 图像特征转换为 BEV 空间,然后将 BEV 特征发送到检测器以完成 3D 对象检测。不同之处在于 OFT 使用 3D 到 2D 逆投影关系来完成特征空间变换,而 CaDDN 基于 2D 到 3D 投影,更像是伪 LiDAR 方法。

2.3. Multi-view 3D Object Detection

密集算法是多视图 3D 检测的主要研究方向,它使用密集特征向量进行视图变换、特征融合或框预测。目前,基于 BEV 的方法是密集算法的主要部分。BEVFormer[18]采用可变形注意完成BEV特征生成和密集时空特征融合。BEVDet [11, 12] 使用提升飞溅操作 [30] 来实现视图转换。在BEVDet的基础上,BEVDepth[17]增加了显式深度监督,显著提高了检测精度。BEVStereo[15]和SOLOFusion[29]将时间立体技术引入到三维检测中,进一步提高了深度估计效果。PETR[23,24]利用三维位置编码和全局交叉注意进行特征融合,但全局交叉注意的计算成本很高。与普通 DETR [3] 一样,PETR 不能被视为纯稀疏方法。DETR3D[41]是一个表示稀疏方法的有效工作,基于稀疏参考点进行特征采样和融合。图DETR3D[5]遵循DETR3D,引入了一个图网络来实现更好的空间特征融合,特别是对于多视图重叠区域。

3. Methodology

3.1. Overall Framework

如图2所示,Sparse4D符合编码器解码器结构。图像编码器用于提取具有共享权重的图像特征,其中包含主干(如ResNet[10]和VoVNet[14])和颈部(如FPN[20])。给定时间 t 的 N 个视图输入图像,图像编码器提取多视图多尺度特征图 asIt = {It,n,s|1≤s ≤ S, 1 ≤ n ≤ N }。为了利用时间上下文,我们提取最近T帧的图像特征作为图像特征队列I = {It}t0t=ts,其中ts = t0−(T−1)。

3.2. Deformable 4D Aggregation

实例特征的质量对整体稀疏感知系统有重大影响。为了解决这个问题,如图 3 所示,我们引入了可变形 4D 聚合模块来获得具有稀疏特征采样和层次特征融合的高质量实例特征。

4D关键点生成。对于第 m 个锚实例,我们将 K 个 4D 关键点指定为 Pm ∈ RK×T ×3,它由 KF 固定关键点和 KL 可学习关键点组成。如图3(a)所示,在当前时间戳0处,我们首先将固定关键点PF m,t0直接放在立体中心和锚盒的六个面中心上。然后,与固定关键点不同,可学习关键点在不同的实例特征上有所不同,这允许神经网络找到每个实例的最具代表性的特征。给定

821c01ad86b3472bb332236b25ce1694.png

层次融合。Hierarchy Fusion.为了生成高质量的实例特征,我们以分层方式融合上述特征向量 fm。如图3(c)所示,对于每个关键点,我们首先聚合不同视图中的特征,并用预测的权重进行缩放,然后与序列线性层进行时间融合。最后,对于每个锚实例,我们融合多点特征来生成实例特征。

3.3.深度重权模块

        这个3D到2D变换(Eq.(5))有一定的模糊性,即不同的3D点可能对应相同的2D坐标。对于不同的 3D 锚点,可以采样相同的特征(见图 4),这增加了神经网络拟合的难度。为了缓解这个问题,我们结合了显式深度估计模块Ψdepth,该模块由多个具有剩余连接的mlp组成。对于每个聚合特征 F 'm,我们估计离散深度分布,并使用 3d 锚框中心点的深度对相应的置信度 Cm 进行采样,这将用于对实例特征重新加权。

6c54be932d2c4a96a9c7df5ffcb4812f.png

697ea8a3b13d4833a156144044c4f624.png

这样,对于那些3D中心点远离深度方向的ground truth的实例,即使2D图像坐标非常接近ground truth,对应的深度置信度趋于零。因此,在重新加权后,相应的实例特征F‘’m受到惩罚也趋于0。结合显式深度估计模块可以帮助视觉感知系统进一步提高感知精度。此外,深度估计模块可以设计和优化为一个单独的部分,以促进模型性能。

3.4. Training

我们用 T 帧对视频剪辑进行采样,以端到端训练检测器。连续帧之间的时间间隔在 {dt, 2dt} (dt ≈ 0.5) 中随机采样。在 DETR3D [41] 之后,匈牙利算法用于将每个基本事实与一个预测值进行匹配。损失包括三个部分:分类损失、边界框回归损失和深度估计损失:

5. 结论

        在这项工作中,我们提出了一种新的方法Sparse4D,它通过可变形的4D聚合模块实现多标签和多视图的特征级融合,并使用迭代细化来实现3D盒回归。Sparse4D 可以提供出色的感知性能,并且在 nuScenes 排行榜上优于所有现有的稀疏算法和大多数基于 BEV 的算法。

        我们相信 Sparse4D 仍有许多改进的空间。例如,在深度重权模块中,可以加入多视图立体(MVS)[15,45]技术来获得更精确的深度。编码器还可以考虑相机参数以提高 3D 泛化 [8, 17]。因此,我们希望 Sparse4D 可以成为稀疏 3D 检测的新基线。此外,Sparse4D 的框架也可以扩展到其他任务,例如高清地图构建、占用估计、三维重建等。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1535084.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

红日靶场通关

初始准备 首先是网络配置,看教程来的,我配置完的效果如下 windows7:(内:192.168.52.143 / 外:192.168.154.136) windows2003:(内:192.168.52.141)windows2008:(内:192.…

计算机毕业设计 智慧物业服务系统的设计与实现 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

几种mfc140u.dll常见错误情况,以及mfc140u.dll文件修复的方法

如果你遇到与mfc140u.dll 文件相关的错误,这通常指的是该mfc140u.dll文件可能丢失、损坏或与您的应用程序不兼容。详细分析关于mfc140u.dll文件错误会对系统有什么影响,mfc140u.dll文件处于什么样的位置?以下是几种常见的错误情况及其修复方法…

[今日Arxiv] LLM推理中的错误自迭代改进,DeepMind

最近思维链微调范式很火,翻出来DeepMind的文章分享出来。 大致讲了推理过程中的自改进迭代思路,注重推理过程。 来自 1UC Berkeley, 2Google DeepMind, ♦Work done during an internship at Google DeepMind 的文章 文章标题: Scaling L…

【目标检测】labelimg图像标注软件的使用流程

一、labelimg检测图片标注 1、下载labelimg.exe 链接:https://pan.baidu.com/s/1yk8ff56Xu40-ZLBghEQ5nw 提取码:vj8f 下载的文件是编译好的,可执行的labelImg.exe文件。直接将文件放在windows环境下,双击可执行。(如果…

[Linux入门]---使用exec函数实现简易shell

文章目录 1.简易实现2.人机交互,获取命令行3.命令行分割4.执行命令5.内建命令6.myshell代码 1.简易实现 2.人机交互,获取命令行 代码如下: int quit0; #define LEFT "[" #define RIGHT "]" #define LABLE "#&quo…

无线安全(WiFi)

免责声明:本文仅做分享!!! 目录 WEP简介 WPA简介 安全类型 密钥交换 PMK PTK 4次握手 WPA攻击原理 网卡选购 攻击姿态 1-暴力破解 脚本工具 字典 2-Airgeddon 破解 3-KRACK漏洞 4-Rough AP 攻击 5-wifi钓鱼 6-wifite 其他 WEP简介 WEP是WiredEquivalentPri…

小程序开发之我见

现在越来越多的人在用微信,不管是工作还是生活,很多都离不开微信,不管是吃饭、买东西,手机内存虽然在增加,但是也总觉得不够用,然后也不喜欢装太多的软件,所以微信小程序越来越多人喜欢用&#…

随着Batch size增加,最佳learning rate如何选择?

最近读到《Surge Phenomenon in Optimal Learning Rate and Batch Size Scaling》这篇论文,里面通过实验和理论证明了learning rate和batch size之间的关系,觉得很有意思,就简答写个blog记录下。 1. 简介 在影响模型训练效果的所有参数中&a…

PD虚拟机占用多少内存?使用电脑的虚拟内存会损害电脑吗

当我们讨论虚拟机及其对电脑性能的影响时,常常会出现两个关键问题:“PD虚拟机需要占用多少内存?”以及“启用电脑的虚拟内存是否会损害硬件?”对于依赖虚拟机进行日常工作的用户而言,这些问题尤为重要。 在本文中&…

Qt_按钮类控件

目录 1、QAbstractButton 2、设置带图标的按钮 3、设置带有快捷键的按钮 4、QRadioButtion(单选按钮) 4.1 QButtonGroup 5、QCheckBox 结语 前言: 按钮类控件是Qt中最重要的控件类型之一,该类型的控件可以通过鼠标的点击…

【案例72】Apache检测到目标 URL 存在 http host 头攻击漏洞的解决方案

在网络安全中,我们经常会遇到各种漏洞和攻击,其中 http host 头攻击漏洞是一种比较常见的安全问题。最近,我在处理一个项目时,检测到目标 URL 存在 http host 头攻击漏洞,下面我将分享两种Apache解决这个问题的方法。 …

浅谈线性表——队列

文章目录 一、什么是队列?二、队列底层三、自我实现一个队列3.1、链式存储3.1.1、单向链表实现队列的实现代码3.1.2、双向链表实现队列的实现代码 3.2、顺序存储3.2.1、循环队列的实现代码 一、什么是队列? 队列是只允许在一端进行插入数据操作&#xf…

性能诊断的方法(五):架构和业务诊断

关于性能诊断的方法,我们可以按照“问题现象—直接原因—问题根源”这样一个思路去归纳。我们先从问题的现象去入手,包括时间的分析、资源的分析和异常信息的分析。接下来再去分析产生问题现象的直接原因是什么,这里我们归纳了自上而下的资源…

Streaming OpenAI results from a Lambda function using Python

题意:使用 Python 从 Lambda 函数流式传输 OpenAI 结果 问题背景: Im trying to stream results from Open AI using a Lambda function on AWS using the OpenAI Python library. For the invoke mode I have: RESPONSE_STREAM. And, using the exampl…

调用智谱AI异步请求流式方法回复

官方代码可以去查看https://github.com/MetaGLM/zhipuai-sdk-java-v4/blob/main/src/test/java/com/zhipu/oapi/AllToolsTest.java 效果展示 提问效果: 回答效果: 1、Maven配置 <dependency><groupId>cn.bigmodel.openapi</groupId><artifactId>…

怎么很多张图片拼接成一张?试试这几种图片拼接方法!

怎么很多张图片拼接成一张&#xff1f;在繁忙的现代生活中&#xff0c;我们不断地捕捉和累积着各式各样的图像&#xff0c;它们如同记忆的珍珠&#xff0c;串联起生活的每一个瞬间&#xff0c;然而&#xff0c;随图片数量的激增&#xff0c;管理它们成为了一项挑战&#xff0c;…

JavaScript --函数作用域变量的使用规则(局部和访问)

访问规则&#xff0c;就近原则 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"w…

通过实时平衡生物反馈系统和XSENS动捕系统,改善康复训练流程

最新研究表明&#xff0c;通过将Xsens动作捕捉技术与创新的实时生物反馈设备相结合&#xff0c;可以有效改善患者的康复治疗方式。该解决方案有望显著提高患者的平衡控制和康复效果&#xff0c;帮助其应对各种平衡和运动挑战。 案例关键点一览 一种改善平衡训练的新装置&#x…

C++:STL详解(一)string类的基本介绍与使用方式

✨ Blog’s 主页: 白乐天_ξ( ✿&#xff1e;◡❛) &#x1f308; 个人Motto&#xff1a;实践是检验真理的唯一标准&#xff01;&#xff01;&#xff01;敲代码需要勤快点&#xff01;&#xff01;&#xff01;&#xff01; &#x1f4ab; 欢迎来到我的学习笔记&#xff0…