百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

CVPR'24开源 | PTv3:将20多个点云任务推向最高点!极高速度!

toyiye 2024-08-30 02:46 4 浏览 0 评论

来源:3D视觉工坊

添加小助理:dddvision,备注:三维点云,拉你入群。文末附行业细分群

0. 这篇文章干了啥?

一句话总结:重新设计Point Transformer的框架,实现3D点云任务在精度和效率上的最大平衡。

作者认为,模型性能更受规模而不是复杂设计的影响。因此提出了Point Transformer V3(PTv3),将简单性和效率置于准确性之上。PTv3在室内和室外场景中的20多个下游任务中,取得了最先进的结果。通过多数据集训练进一步增强其数据规模,PTv3的结果进一步增强。

下面一起来阅读一下这项工作~

1. 论文信息

标题:Point Transformer V3: Simpler, Faster, Stronger

作者:Xiaoyang Wu, Li Jiang, Peng-Shuai Wang, Zhijian Liu, Xihui Liu, Yu Qiao, Wanli Ouyang, Tong He, Hengshuang Zhao

机构:HKU、SH AI Lab、MPI、PKU、MIT

原文链接:https://arxiv.org/abs/2312.10035

代码链接:https://github.com/Pointcept/PointTransformerV3

2. 摘要

这篇论文并不是出于寻求在注意力机制内部进行创新的动机。相反,它侧重于克服点云处理背景下准确性和效率之间的现有折衷,利用规模的力量。借鉴最近在三维大规模表示学习方面的进展,我们认识到模型性能更受规模而不是复杂设计的影响。因此,我们提出了Point Transformer V3(PTv3),它将简单性和效率置于准确性之上,而后者在缩放后对整体性能的影响不大,例如用具有特定模式的点云序列化邻居映射替换精确邻居搜索。这一原则实现了显著的扩展,将感受野从16扩展到1024个点,同时保持高效(与其前身PTv2相比,处理速度增加了3倍,内存效率提高了10倍)。PTv3在涵盖室内外场景的20多个下游任务上取得了最先进的结果。通过多数据集联合训练进一步增强了PTv3,将这些结果推向了更高水平。

3. 效果展示

与其前身PTv2相比,PTv3的推断速度提高了3.3倍,内存使用量减少了10.2倍。更重要的是,PTv3利用其固有的感知范围扩展能力,在保持效率的同时,将其感受野从16扩展到1024。

Point Transformer V3 ( Ptv3 )概述。相比于其前身PTv2,PTv3具有如下优点:

(1)更强的性能。 PTv3在多种室内外3D感知任务中取得了最先进的结果。

(2)更宽的感受野。 得益于简单高效,PTv3将感受野从16点扩大到1024点。

(3)更快的速度。 PTv3显著提高了处理速度,使其适用于对延迟敏感的应用。

(4)更低的内存消耗。 PTv3减少了内存使用,增强了对更广泛情境的可访问性。

模型效率。 对不同感受野的骨架的训练和推理效率进行了测试。Batch size固定为1,' / '后的数字表示稀疏卷积的核大小和注意力的补丁大小。

PTv2各组分的树状图。 对PTv2各分量的前向时间占比进行了基准化和可视化处理。KNN Query和RPE占据了总时间的54 %。

4. 主要贡献

PTv3进行了以下优化以实现更高的效率和可伸缩性:

(1)PTv3从传统的由最近邻居(KNN)查询定义的空间接近(占前向时间的28%)转变,探索了根据特定模式组织的点云中序列化邻域的潜力。

(2)PTv3用序列化点云定制的简化方法取代了更复杂的注意力补丁交互机制,如移动窗口(阻碍了注意力运算符的融合)和邻域机制(导致内存消耗高),从而提高了效率。

(3)PTv3取消了对相对位置编码的依赖(占前向时间的26%),而是采用更简单的预正稀疏卷积层。

5. 基本原理是啥?

模型的整体架构。

点云序列化。 用三元组可视化展示了序列化的四种模式。对于每个三元组,展示了序列化的空间填充曲线(左边),空间填充曲线内的点云序列化排序顺序(中间),以及序列化点云的分组块用于局部注意力(右边)。在四种序列化模式之间进行转换可以使注意力机制捕获各种空间关系和上下文,从而提高模型精度和泛化能力。

Patch相互作用。( a )具有规则、非移位排列的标准Patch分组;( b )位移膨胀,即每隔一定的时间对点进行分组,产生膨胀效应;( c )移位 Patch,采用类似于"移动窗口"方法的"移动机制";( d )移位顺序,不同的序列化模式被循环地分配给连续的注意力层;( d ) 打乱顺序,其中序列化模式的序列在馈送到注意力层之前是随机化的。

Patch分组。( a )根据特定序列化模式导出的顺序对点云进行重新排序。( b ) 通过借用邻近Patch上的点来填充点云序列,以确保点云序列被指定的Patch大小分割。

6. 实验结果

探讨了各种序列化模式组合的影响。 实验表明,包含更广泛的模式的混合物在与Shuffle Order策略集成时产生了更好的结果。此外,引入更多的序列化模式带来的额外计算开销可以忽略不计。此外,依靠单一的Shift顺序不能完全利用四种序列化模式提供的潜力。

位置编码。 将提出的CPE+与传统的位置编码进行了基准测试,如APE和RPE,以及最近的高级解决方案,如cRPE和CPE。结果证实,虽然RPE和cRPE明显比APE更有效,但它们也表现出了低效率。相反,CPE和CPE+成为了更优越的选择。虽然CPE+的参数稍多于CPE,但它并没有过分牺牲效率。

Patch大小。 通过调整补丁大小来探索注意力的接受域的缩放。从补丁大小为16开始,这是以前点Transformer中的标准,观察到增加补丁大小显着提高了性能。

不同任务的性能对比。

室内数据效率。 评估了PTv3在ScanNet数据集上的性能。在不同设置下,从5%到20%的重建和从20到200个注释点,PTv3都表现出很强的性能。此外,预训练技术的应用进一步提高了PTv3在所有任务中的性能。

室外目标检测。Waymo物体检测基准上将PTv3与主流的单阶段3D检测器进行了比较。PTv3+CenterPoint,始终优于稀疏卷积和基于Transformer的检测器,即使与最近的最先进技术FlatFormer相比也取得了显著的增益。值得注意的是,PTv3在单帧输入下比FlatFormer高出3.3%,在多帧设置下保持了1.0%的优势。

7. 总结 & 未来工作

这篇文章介绍了Point Transformer V3,这是克服点云处理中传统精度和效率之间的权衡的一大进步。在骨干设计中,通过一种新颖的尺度解释原则的指导,提出模型性能受尺度影响比复杂设计细节更深刻。通过优先考虑效率而不是影响较小的机制的准确性,利用尺度的力量,提高了性能。简而言之,通过使模型更简单、更快速,使其变得更加强大。作者如下讨论了局限性和更广泛的影响:

(1)注意机制。为了优先考虑效率,PTv3恢复使用点积注意力,这经过工程努力得到了很好的优化。然而,与向量注意力相比,注意到收敛速度的减少和进一步扩展深度的限制。这个问题也出现在最近的transformer技术的进展中,归因于点积和softmax操作产生的"注意力吸收"。

(2)尺度参数。PTv3超越了现有的精度和效率之间的权衡,为在给定的计算资源内调查更大参数尺度的3D transformer铺平了道路。可以扩大模型参数和数据任务范围(例如,从所有可用数据中学习、多任务框架和多模态任务),可以充分释放3D表示学习中尺度的潜力。

对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~

下载

在公众号「3D视觉工坊」后台,回复「 3dcv」,即可获取工业3D视觉、SLAM、自动驾驶、三维重建、事件相机、无人机等近千余篇最新顶会论文;巴塞罗那自治大学和慕尼黑工业大学3D视觉和视觉导航精品课件;相机标定、结构光、三维重建、SLAM,深度估计、模型部署、3D目标检测等学习资料。

3D视觉方向交流群成立啦

目前工坊已经建立了3D视觉方向多个社群,包括SLAM、工业3D视觉、自动驾驶、三维重建、无人机方向,细分群包括:

[工业3D视觉]相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。

[SLAM]视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。

[自动驾驶]深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、Occupancy、目标跟踪等。

[三维重建]NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等

[无人机]四旋翼建模、无人机飞控等

除了这些,还有求职、硬件选型、视觉产品落地、最新论文、3D视觉最新产品、3D视觉行业新闻等交流群

大家可以添加小助理:dddvisiona,备注:加群+方向+学校|公司, 小助理会拉你入群。


相关推荐

# Python 3 # Python 3字典Dictionary(1)

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如...

Python第八课:数据类型中的字典及其函数与方法

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值...

Python中字典详解(python 中字典)

字典是Python中使用键进行索引的重要数据结构。它们是无序的项序列(键值对),这意味着顺序不被保留。键是不可变的。与列表一样,字典的值可以保存异构数据,即整数、浮点、字符串、NaN、布尔值、列表、数...

Python3.9又更新了:dict内置新功能,正式版十月见面

机器之心报道参与:一鸣、JaminPython3.8的热乎劲还没过去,Python就又双叒叕要更新了。近日,3.9版本的第四个alpha版已经开源。从文档中,我们可以看到官方透露的对dic...

Python3 基本数据类型详解(python三种基本数据类型)

文章来源:加米谷大数据Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在Python中,变量就是变量,它没有类型,我们所说的"类型"是变...

一文掌握Python的字典(python字典用法大全)

字典是Python中最强大、最灵活的内置数据结构之一。它们允许存储键值对,从而实现高效的数据检索、操作和组织。本文深入探讨了字典,涵盖了它们的创建、操作和高级用法,以帮助中级Python开发...

超级完整|Python字典详解(python字典的方法或操作)

一、字典概述01字典的格式Python字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。字典的每个键值key=>value对用冒号:分割,每个对之间用逗号,...

Python3.9版本新特性:字典合并操作的详细解读

处于测试阶段的Python3.9版本中有一个新特性:我们在使用Python字典时,将能够编写出更可读、更紧凑的代码啦!Python版本你现在使用哪种版本的Python?3.7分?3.5分?还是2.7...

python 自学,字典3(一些例子)(python字典有哪些基本操作)

例子11;如何批量复制字典里的内容2;如何批量修改字典的内容3;如何批量修改字典里某些指定的内容...

Python3.9中的字典合并和更新,几乎影响了所有Python程序员

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

Python3大字典:《Python3自学速查手册.pdf》限时下载中

最近有人会想了,2022了,想学Python晚不晚,学习python有前途吗?IT行业行业薪资高,发展前景好,是很多求职群里严重的香饽饽,而要进入这个高薪行业,也不是那么轻而易举的,拿信工专业的大学生...

python学习——字典(python字典基本操作)

字典Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。但它是无序的,包含的元素个数不限,值...

324页清华教授撰写【Python 3 菜鸟查询手册】火了,小白入门字典

如何入门学习python...

Python3.9中的字典合并和更新,了解一下

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

python3基础之字典(python中字典的基本操作)

字典和列表一样,也是python内置的一种数据结构。字典的结构如下图:列表用中括号[]把元素包起来,而字典是用大括号{}把元素包起来,只不过字典的每一个元素都包含键和值两部分。键和值是一一对应的...

取消回复欢迎 发表评论:

请填写验证码