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

CVPR 2023 | VoxelNeXt实现全稀疏3D检测跟踪,还能结合Seg Anything

在本文中,研究者提出了一个完全稀疏且以体素为基础的3D物体检测和跟踪框架VoxelNeXt。它采用简单的技术,运行快速,没有太多额外的成本,并且可以在没有NMS后处理的情况下以优雅的方式工作。VoxelNeXt在大规模数据集nuScenes、Waymo和Argoverse2上表现出很好的速度和精度;在Argoverse2 3D检测和nuScenes 3D LiDAR跟踪上取得了SOTA的结果。

想要关注该项工作的更多内容?欢迎查看来自本文作者陈玉康带来的Talk分享!

正在上传…重新上传取消icon-default.png?t=N3I4https://mp.weixin.qq.com/s?__biz=MzAxMzc2NDAxOQ==&mid=2650447242&idx=1&sn=91d75e69b9486ccbe0818123a3c079e4&scene=21#wechat_redirect

论文链接:https://arxiv.org/abs/2303.11301
代码链接:https://github.com/dvlab-research/VoxelNeXt

一、摘要

目前,自动驾驶场景的3D检测方法大多采用稠密特征的检测头,而3D点云数据本身是稀疏的,这无疑是一种低效和浪费计算量的做法。我们提出了一种全稀疏的3D 检测框架 VoxelNeXt. 该方法可以直接从稀疏的体素特征来预测3D物体,无需借助成anchor, center, voting等中间状态的媒介。

此外,该方法在取得检测速度优势的同时,还能很好地帮助多目标跟踪。VoxelNeXt在大规模公开数据集nuScenes、Waymo、Argoverse2上都取得了很好的效果,并在Argoverse2 LiDAR 检测和nuScenes LiDAR多目标跟踪上取得SOTA。此外,VoxelNeXt由于其全稀疏的特性,能够很好地结合 Segment Anything [1],在点击图像的同时不仅能获得2D mask,还能获得 3D box,可以在很大程度上方便3D物体的标注https://github.com/dvlab-research/3D-Box-Segment-Anything

二、背景介绍

3D感知是自主驾驶系统中的一个基本组成部分。3D检测网络以稀疏点云或体素作为输入。大多数3D目标检测器[2, 3, 4]通常使用稀疏卷积网络(Sparse CNNs)[5]进行特征提取,因其效率高。受2D目标检测框架启发,现有的方法通常用锚点[2, 3]或中心点[4]来预测,即CenterPoint [4]中的密集点锚点。它们都是手工制作的,作为3D对象的中间代理。

然而,锚点和中心点设计初衷是针对常规和网格结构的图像数据,并不考虑三维数据的稀疏性和不规则性。为了使用这些代理表示法,主流的检测器将3D稀疏特征转换为二维密集特征,以构建有序锚点或中心的密集检测头。虽然有用,但这种dense head的方式显然是不够高效的。

图 1 CenterPoint 点云输入和BEV heatmap

在图1中,我们展示了CenterPoint[4]中的热力图。很明显,大部分空间几乎没有预测得分。由于固有的稀疏性和许多背景点,只有少数点有响应,在nuScenes验证集上Car类平均少于1%的点。然而,现有的检测头会在特征图中所有位置进行计算,它们不仅浪费了很多计算资源,还用冗余的预测使检测管道变得更加复杂。需要使用非极大值抑制(NMS)之类的后处理方法来消除重复的检测结果。这些限制促使我们寻求替代的稀疏检测解决方案。

图 2 VoxelNeX和主流检测框架结构对比

三 、方法介绍

在本文中,我们提出了VoxelNeXt。它是一种简单,高效且无需后处理的3D物体检测器。我们设计的核心是直接从体素特征中预测3D物体,使用一种强大的完全稀疏卷积网络。如图2所示,我们方法的关键优势在于,可以摆脱锚点代理,稀疏转密集,区域建议网络和其他复杂的组件。

图 3 VoxelNeXt 框架具体细节

VoxelNeXt 包含了4个实现细节:1) 多下采样两次,2) 将3D稀疏体素压缩成2D 稀疏体素,3)sparse max pooling (可以和NMS替代),4)用3x3 sparse conv或FC来预测物体。

图 4 多下采样两次对于预测结果和感受野的影响

其中,“多下采样两次”是对于效果来说最重要的操作。想实现“从稀疏的体素直接预测物体”的前提是体素特征需要有足够大的感受野。而“多下采样两次”刚好弥补了感受野的不足,如图4所示。且非常好实现,也不会增加太多额外的计算量。

四 、实验分析

我们统计了用于预测物体的体素 (query voxel) 和相应预测框之间的关系表格,如表1所示。可以看出,大多数的物体都是基于靠近物体边界的体素预测出来的,而非靠近中心的体素。对于一些比较小的物体,如Pedestrian,甚至可以用物体以外的体素进行预测,如图5所示。

表 1 预测物体的体素和预测框之间的位置关系

图 5 预测物体的体素(query voxel)和预测框

我们还对比了和基于中心点预测的传统方法CenterPoint的结果,发现VoxelNeXt相比于CenterPoint的优势主要来自于在物体方向(Orientation)上的精准预测。相比于中心点,靠近物体边界的体素可能对物体方向有着更好的把控。

此外,我们还在Argoverse2数据集上进行了实验。相比于Waymo, nuScenes等75m半径的检测范围,Argoverse2最大的检测范围是200m半径。如图6所示,CenterPoint这种稠密的检测头会随着检测范围的增加而急剧增加。而FSD [5] 和 VoxelNeXt 这类全稀疏的检测器速度恒定,其中VoxelNeXt由于其简洁性,速度快。

图 6 在Argoverse2数据集上,不同检测范围消耗的计算时间

五 、结合 Segment Anything

图 7 结合Segment Anything和VoxelNeXt进行 promtable 3D检测

我们在 Segment Anything 的基础上加入了VoxelNeXt 3D物体检测。可以直接点击图像,不仅能获得2D mask,还能获得3D框。这样的结合把3D检测变成了promtable的,可以在很大程度上方便3D物体的标注。

六 、后记

我们提出了一个完全稀疏且以体素为基础的3D物体检测和跟踪框架VoxelNeXt。它采用简单的技术,运行快速,没有太多额外的成本,并且可以在没有NMS后处理的情况下以优雅的方式工作。我们首次展示了直接基于体素的预测是可行和有效的。因此,锚点或中心以及密集头变得不必要。VoxelNeXt在大规模数据集nuScenes [7]、Waymo [8] 和Argoverse2 [9] 上表现出很好的速度和精度。VoxelNeXt在Argoverse2 3D检测和nuScenes 3D LiDAR跟踪上取得了SOTA的结果。

参考文献

[1] Alexander Kirillov, Eric Mintun, Nikhila Ravi, Hanzi Mao, Chloe Rolland, Laura Gustafson, Tete Xiao, Spencer Whitehead, Alexander C. Berg, Wan-Yen Lo, Piotr Doll{'a}r, Ross Girshick

[2] Shaoshuai Shi, Chaoxu Guo, Li Jiang, Zhe Wang, Jianping Shi, Xiaogang Wang, and Hongsheng Li. PV-RCNN: pointvoxel feature set abstraction for 3d object detection. In CVPR, pages 10526–10535, 2020.

[3] Jiajun Deng, Shaoshuai Shi, Peiwei Li, Wengang Zhou, Yanyong Zhang, and Houqiang Li. Voxel R-CNN: towards high performance voxel-based 3d object detection. In AAAI, pages 1201–1209, 2021.

[4] Tianwei Yin, Xingyi Zhou, and Philipp Krahenbuhl. Centerbased 3d object detection and tracking. In CVPR, pages 11784–11793, 2021.

[5] Benjamin Graham, Martin Engelcke, and Laurens van der Maaten. 3d semantic segmentation with submanifold sparse convolutional networks. In CVPR, pages 9224–9232, 2018.

[6] Lue Fan, Feng Wang, Naiyan Wang, Zhaoxiang Zhang, Fully Sparse 3D Object Detection, NeurIPS 2022

[7] Holger Caesar and at.al. nuscenes: A multimodal dataset for autonomous driving. In CVPR, pages 11618–11628, 2020.

[8] Pei Sun and et. al. Scalability in perception for autonomous driving: Waymo open dataset. In CVPR, pages 2443–2451, 2020.

[9] Benjamin Wilson and et. al. Argoverse 2: Next generation datasets for self-driving perception and forecasting. In NeurIPS, 2021.

作者:陈玉康

Illustration by IconScout Store from IconScout

-The End-

相关文章:

CVPR 2023 | VoxelNeXt实现全稀疏3D检测跟踪,还能结合Seg Anything

在本文中,研究者提出了一个完全稀疏且以体素为基础的3D物体检测和跟踪框架VoxelNeXt。它采用简单的技术,运行快速,没有太多额外的成本,并且可以在没有NMS后处理的情况下以优雅的方式工作。VoxelNeXt在大规模数据集nuScenes、Waymo…...

本地使用3台centos7虚拟机搭建K8S集群教程

第一步 准备3台centos7虚拟机 3台虚拟机与主机的网络模式都是桥接的模式,也就是他们都是一台独立的“主机” (1)kebe-master的配置 虚拟机配置: 网络配置: (2)kebe-node1的配置 虚拟机配…...

NVIDIA CUDA驱动安装

1 引言 因为笔记本电脑上运行Milvus图像检索代码,需要安装CUDA驱动。电脑显卡型号是NVIDIA GeForce GTX 1050 Ti Mobile, 操作系统是Ubuntu 20.04,内核版本为Linux 5.15.0-72-generic。 2 CUDA驱动测试 参考网上的资料:https://blog.csdn.…...

python 从excel中获取需要执行的用例

classmethod def get_excel_data(cls, excel_name, sheet_name, case_numNone):"""读取excel文件的方法:param excel_name: 文件名称:param sheet_name: sheet页的名称:param case_name: 执行的case名称:return:"""def get_row_data(table, row)…...

Web3中文|乱花渐欲meme人眼,BRC-20总市值逼近10亿美元

现在的Web3加密市场,用“乱花渐欲meme人眼”来形容再合适不过了。 何为meme? “meme”这个词大概很多人都不知道如何正确发音,并且一看到它就会和狗狗币Dogecoin等联系在一起。那它究竟从何而来呢? Meme:[mi:m]&#x…...

盖雅案例入选「首届人力资源服务国际贸易交流合作大会20项创新经验」

近日,首届人力资源服务国际贸易交流合作大会顺利召开。为激励企业在人力资源服务贸易领域不断创新,加快培育对外贸易新业态、新模式,形成人力资源服务领域国际竞争新优势,大会评选出了「首届人力资源服务国际贸易交流合作大会20项…...

[论文笔记]SimMIM:a Simple Framework for Masked Image Modeling

文章地址:https://arxiv.org/abs/2111.09886 代码地址:https://github.com/microsoft/SimMIM 文章目录 摘要文章思路创新点文章框架Masking strategyPrediction headPrediction targetEvaluation protocols 性能实验实验设置Mask 策略预测头目标分辨率预…...

mysql从零开始(4)----索引/视图/范式

接上文 mysql从零开始(3) 索引 索引是在数据库表的字段上添加的,是为了提高查询效率存在的一种机制。一张表的一个字段可以添加一个索引,也可以多个字段联合起来添加索引。索引相当于一本书的目录,是为了缩小扫描范围…...

Flutter框架:从入门到实战,构建跨平台移动应用的全流程解析

第一章:Flutter框架介绍 Flutter框架是由Google推出的一款跨平台移动应用开发框架。相比其他跨平台框架,Flutter具有更高的性能和更好的用户体验。本章将介绍Flutter框架的概念、特点以及与其他跨平台框架的比较,以及Flutter开发环境的搭建和…...

Spring AOP+注解方式实现系统日志记录

一、前言 在上篇文章中,我们使用了AOP思想实现日志记录的功能,代码中采用了指定连接点方式(Pointcut(“execution(* com.nowcoder.community.controller..(…))”)),指定后不需要在进行任何操作就可以记录日志了&…...

OpenGL 4.0的Tessellation Shader(细分曲面着色器)

细分曲面着色器(Tessellation Shader)处于顶点着色器阶段的下一个阶段,我们可以看以下链接的OpenGL渲染流水线的图:Rendering Pipeline Overview。它是由ATI在2001年率先设计出来的。 目录 细分曲面着色器细分曲面Patch细分曲面控…...

项目经理如何及时掌控项目进度?

延迟是指超出计划的时间,而无法掌控则意味着管理者对实际情况一无所知。 为了解决这些问题,我们需要建立好的制度和沟通机制。例如使用项目管理软件来跟踪进度、定期开会并避免沟通障碍等。 管理者可以建立相关制度: 1、建立进度记录制度。…...

HTML <applet> 标签

HTML5 中不支持 <applet> 标签在 HTML 4 中用于定义嵌入式小程序(插件)。 实例 一个嵌入的 Java applet: <applet code="Bubbles.class" width="350" height="350"> Java applet that draws animated bubbles. </applet&g…...

加密与解密

加密与解密 加密方式分类 加密方式主要分为两种 一种是对称加密一种是非对称加密 对称加密 对称和非对称两种方式主要说的是加密和解密两个过程。 如果对数据用一个钥匙进行了加密&#xff0c;那么&#xff0c; 你想成功读取到这个加密了的数据的话&#xff0c;就必须对这…...

京东金融Android瘦身探索与实践

作者&#xff1a;京东科技 冯建华 一、背景 随着业务不断迭代更新&#xff0c;App的大小也在快速增加&#xff0c;2019年~2022年期间一度超过了117M&#xff0c;期间我们也做了部分优化如图1红色部分所示&#xff0c;但在做优化的同时面临着新的增量代码&#xff0c;包体积一直…...

open3d-ml 读取SemanticKITTI Dataset

目录 1. 下载dataset 2. 读取并做可视化 3. 源码阅读 3.1 读取点云数据-bin格式 3.2 读取标注数据-.label文件 3.3 读取配置 3.4 test 3.5 train 1. 下载dataset 以SemanticKITTI为例。下载链接&#xff1a;http://semantic-kitti.org/dataset.html#download 把上面三…...

6.其他函数

1.时间日期类 -- current_date() 返回当前日期 -- date_add(date, n) 返回从date开始n天之后的日期 -- date_sub(date, n) 返回从date开始n天之前的日期 -- datediff(date1, date2) 返回date1-date2的日期差 -- year(date) 返回…...

2023年宜昌市中等职业学校技能大赛 “网络搭建与应用”竞赛题-1

2023年宜昌市中等职业学校技能大赛 “网络搭建与应用”竞赛题 一、竞赛内容分布 “网络搭建及应用”竞赛共分二个部分&#xff0c;其中&#xff1a; 第一部分&#xff1a;企业网络搭建部署项目&#xff0c;占总分的比例为50%&#xff1b; 第二部分&#xff1a;企业网络服…...

Linux权限划分的原则

考察的不仅是一个具体的指令&#xff0c;还考察对技术层面的认知。 如果对 Linux 权限有较深的认知和理解&#xff0c;那么完全可以通过查资料去完成具体指令的执行。更重要的是&#xff0c;认知清晰的程序员可以把 Linux 权限管理的知识迁移到其他的系统设计中。 权限抽象 一…...

PhotoScan拼接无人机航拍RGB照片

目录 背景 拼接步骤 1.新建并保存项目 2.添加照片 3.对齐照片 4.添加标记&#xff08;Markers&#xff09; 5.添加地面控制点 6.建立批处理任务 7.使用批处理文件进行批处理 8.导出DEM 9.导出DOM 背景 本文介绍使用地面控制点&#xff08;GCPs&#xff09;拼接​​…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

【1】跨越技术栈鸿沟:字节跳动开源TRAE AI编程IDE的实战体验

2024年初&#xff0c;人工智能编程工具领域发生了一次静默的变革。当字节跳动宣布退出其TRAE项目&#xff08;一款融合大型语言模型能力的云端AI编程IDE&#xff09;时&#xff0c;技术社区曾短暂叹息。然而这一退场并非终点——通过开源社区的接力&#xff0c;TRAE在WayToAGI等…...

网页端 js 读取发票里的二维码信息(图片和PDF格式)

起因 为了实现在报销流程中&#xff0c;发票不能重用的限制&#xff0c;发票上传后&#xff0c;希望能读出发票号&#xff0c;并记录发票号已用&#xff0c;下次不再可用于报销。 基于上面的需求&#xff0c;研究了OCR 的方式和读PDF的方式&#xff0c;实际是可行的&#xff…...

五、jmeter脚本参数化

目录 1、脚本参数化 1.1 用户定义的变量 1.1.1 添加及引用方式 1.1.2 测试得出用户定义变量的特点 1.2 用户参数 1.2.1 概念 1.2.2 位置不同效果不同 1.2.3、用户参数的勾选框 - 每次迭代更新一次 总结用户定义的变量、用户参数 1.3 csv数据文件参数化 1、脚本参数化 …...

OPENCV图形计算面积、弧长API讲解(1)

一.OPENCV图形面积、弧长计算的API介绍 之前我们已经把图形轮廓的检测、画框等功能讲解了一遍。那今天我们主要结合轮廓检测的API去计算图形的面积&#xff0c;这些面积可以是矩形、圆形等等。图形面积计算和弧长计算常用于车辆识别、桥梁识别等重要功能&#xff0c;常用的API…...