当前位置: 首页 > news >正文

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 的框架也可以扩展到其他任务,例如高清地图构建、占用估计、三维重建等。

 

 

相关文章:

Sparse4D v1

Sparse4D: Multi-view 3D Object Detection with Sparse Spatial-Temporal Fusion Abstract 基于鸟瞰图 (BEV) 的方法最近在多视图 3D 检测任务方面取得了重大进展。与基于 BEV 的方法相比,基于稀疏的方法在性能上落后,但仍然有很多不可忽略的优点。为了…...

速盾:你知道高防 IP 和高防 CDN 的区别吗?

在当今网络安全形势日益严峻的情况下,网站的安全防护成为了企业和个人关注的焦点。高防 IP 和高防 CDN 作为两种常见的网络安全防护手段,被广泛应用于网站的安全防护中。那么,高防 IP 和高防 CDN 有什么区别呢?防护网站哪个更好呢…...

HTML和CSS网页制作成品

HTML和CSS网页制作成品 一、引言 1. 背景介绍 在当今数字化时代,网页已成为信息传递和交流的重要媒介。HTML和CSS作为网页制作的基石,对于构建美观、功能丰富的网站至关重要。本文将详细介绍如何使用HTML和CSS来制作一个网页成品。 2. 目的和重要性 …...

Ai+若依(集成easyexcel实现excel表格增强)

EasyExcel 介绍 官方地址:EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel 官网 Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一…...

钻机、塔吊等大型工程设备,如何远程维护、实时采集运行数据?

在建筑和工程领域,重型设备的应用不可或缺,无论是在道路与桥梁建设、高层建筑施工,还是在风电、石油等能源项目的开发中,都会用到塔吊、钻机等大型机械工程设备。 随着数字化升级、工业4.0成为行业发展趋势,为了进一步…...

【AutoX.js】选择器 UiSelector - 查找包名

文章目录 原文:https://blog.c12th.cn/archives/38.html选择器 UiSelector - 查找包名笔记直接查找包名双层判断(推荐)查找最外层控件的子控件 最后 原文:https://blog.c12th.cn/archives/38.html 选择器 UiSelector - 查找包名 笔记 AutoX.js UiSelec…...

ERP进销存多仓库管理系统源码 带完整的安装代码包以及搭建部署教程

系统概述 ERP进销存多仓库管理系统是一款专为中小企业量身定制的集成化管理软件,它集成了采购管理、销售管理、库存管理、财务管理以及多仓库协同作业等核心模块。通过统一的平台,企业可以实时掌握商品从入库到出库的全过程,实现库存的自动化…...

数据清洗-缺失值填充-对XGBoost参数优化填充

目录 一、安装所需的python包二、采用XGboost算法进行缺失值填充2.1可直接运行代码2.2以某个缺失值数据进行实战2.2.1 代码运行过程截屏:2.2.2 填充后的数据截屏:三、网格搜索(Grid Search)对 XGBoost 模型的超参数进行优化原理介绍3.1 说明3.2 参数优化的原理1. 网格搜索(…...

Qt_按钮类控件

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

union 的定义和基本结构以及用途

在 C 语言中,union(联合体) 是一种数据结构,它允许多个成员共享相同的内存空间。换句话说,联合体中的所有成员都存储在同一块内存区域,不同的成员会占用相同的内存地址,但在同一时刻只能保存一个…...

混合整数规划及其MATLAB实现

目录 引言 混合整数规划的基本模型 混合整数规划的求解方法 MATLAB中的混合整数规划实现 示例:多变量系统的混合整数规划 表格总结:混合整数规划的求解方法与适用场景 结论 引言 混合整数规划(Mixed Integer Programming, MIP&#xf…...

【数据结构】6——图1,概念

数据结构6——图1,概念 文章目录 数据结构6——图1,概念基本概念图的分类图的表示方法 基本概念 由 顶点(Vertex) 和 边(Edge) 组成的集合。顶点表示图中的点,而边表示顶点之间的连接。记为 G …...

技术周总结 09.09~09.15周日(C# WinForm WPF)

文章目录 一、09.09 周一1.1) 问题01: Windows桌面开发中,WPF和WinForm的区别和联系?联系:区别: 二、09.12 周四2.1)问题01:visual studio的相关快捷键有哪些?通用快捷键编辑导航调试窗口管理 2…...

4K投影仪选购全攻略:全玻璃镜头的当贝F6,画面细节纤毫毕现

在当今的投影市场上,4K投影仪已经成了主流产品,越来越多家庭开始关注如何选择一款性价比高、口碑好的4K投影仪。4K投影仪其实指的是具备3840*2160像素分辨率投影仪,它能够提供更清晰、更细腻、更真实的画面效果。 那么4K投影仪该怎么选&…...

除了字符串前导的*号之外,将串中其它*号全部删除

要求 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其它*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。函数fun中给出的语句仅供参考。 例如,字符串中的内容为:-**…...

SpringBoot开发——使用@Slf4j注解实现日志输出

文章目录 1、Lombok简介2、SLF4J简介3、实现步骤3.1 创建SpringBoot项目3.2 添加依赖3.3 使用 Slf4j 注解3.4 输出日志信息 4、结论 在现代Java开发中,日志记录是至关重要的。它不仅帮助开发者调试代码,还便于监控系统运行状态和性能。 Lombok 和 SLF4J …...

VSCode拉取远程项目

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...

【已解决】SpringBoot3项目整合Druid依赖:Druid监控页面404报错

文章标题 问题描述原因分析解决方案参考资料 问题描述 最近,笔者在SpringBoot3项目中整合Druid连接池时,偶然翻到一条介绍Druid监控的短视频,兴致盎然之下尝试设置了一下Druid监控。 But,按照视频中提供的yml参数对照设置&#x…...

【算法】滑动窗口—找所有字母异位词

“找到字符串中所有字母异位词”的难度为Medium,看一下题目: 给定一个字符串 S 和一个非空字符串 T,找到 S 中所有是 T 的字母异位词的子串,返回这些子串的起始索引。 所谓的字母异位词,其实就是全排列,原题…...

Vue安装及环境配置【图解版】

欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 Facts speak louder than words! 目录 一.node.js的安装…...

绕过CDN查找真实IP方法

1、前言 在新型涉网案件中,我们在搜集到目标主站之后常常需要获取对方网站的真实IP去进一步的信息搜集,但是现在网站大多都部署了CDN,将资源部署分发到边缘服务器 实现均衡负载,降低网络堵塞,让用户能够更快地访问自己…...

Qt与MQTT交互通信

MQTT全称是(Message Queuing Telemetry Transport),即消息队列遥测传输协议 是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,并且该协议构建于TCP/IP协议之上,常用于互联网中&am…...

dd 命令:复制和转换文件

一、dd 命令简介 ​dd​ 命令是一个在 Unix 和类 Unix 系统中用于复制文件和转换文件的命令行工具。它的功能非常强大,可以用于各种目的,例如创建镜像文件、备份和恢复数据、复制数据等。 ​dd​ 是一个用于读取、转换和写入数据的工具,通常…...

文件系统(磁盘 磁盘文件 inode)

文章目录 磁盘看看物理磁盘磁盘的存储结构 对磁盘的储存进行逻辑抽象inode号文件名 -> inode判断文件在哪个分区 磁盘 电脑中存在非常多的文件,被打开的文件只是少量的。 没有被打开的文件,在磁盘中放着,那么文件是如何存取? …...

ThreeJs创建圆环

ThreeJs除了创建基本的长方体,球形,圆柱等几何体,也可以创建一些特殊的几何体,比如圆环,多边体,这节就来讲怎么用Threejs绘制出圆环。首先依然是要创建出基础的组件,包括场景,相机&a…...

React实现类似Vue的路由监听Hook

React实现类似Vue的路由监听Hook 监听路由变化;React Hook封装,返回回调函数,新旧路由为函数参数; 代码 import { useEffect, useRef } from react; import { useHistory, useLocation } from react-router-dom;/*** 监听路由变…...

Visual Studio打开项目的一些小技巧

Visual Studio(VS)是一款功能强大的集成开发环境,许多刚入门C/C的小白也会使用这款软件进行写代码,然而它的操作并不简单,下面将讲解一下VS打开项目文件的一些小技巧。 目录 🎁创建空项目 ❤️①点击“创建新项目” ❤️②点击“…...

前端页面中使用 ppt 功能,并且可以随意插入关键帧

要在前端页面中实现类似 PowerPoint 的功能,并且能够随意插入和控制关键帧动画,你可以使用 HTML、CSS 和 JavaScript 结合的方式来创建一个互动幻灯片系统。以下是一个详细的实现方案,包括如何插入和控制关键帧动画: 1. 基础 HTM…...

机器学习:opencv--图像金字塔

目录 一、图像金字塔 1.图像金字塔是什么? 2.有哪些常见类型? 3.金字塔的构建过程 4.图像金字塔的作用 二、图像金字塔中的操作 1.向下采样 2.向上采样 3.注意--无法复原 三、代码实现 1.高斯金字塔向下采样 2.高斯金字塔向上采样 3.无法复…...

linux安全软件Hydra使用教程

Hydra 是一个强大的网络登录工具,常用于渗透测试,支持对多种服务和协议(如 SSH、FTP、HTTP 等)进行暴力crack攻击。它可以通过字典攻击来测试用户名和密码的有效性。以下是关于如何使用 Hydra 的基本步骤和示例: 1. 安…...