TSP3D:清华大学提出基于语言引导空间剪枝的高效3D视觉Grounding框架

清华大学提出TSP3D框架,利用语言引导空间剪枝,显著提升3D视觉Grounding的效率和精度,为机器人等实际应用提供新思路。

原文标题:CVPR 2025 满分论文!清华提出TSP3D:基于语言引导空间剪枝的高效3D视觉Grounding

原文作者:数据派THU

冷月清谈:

本文介绍了一种由清华大学提出的名为TSP3D的全新单阶段3D视觉定位(3DVG)框架。该框架旨在解决现有3DVG方法在推理速度上的瓶颈,特别是在机器人和AR/VR等实际应用中对效率的高要求。TSP3D的核心创新在于,它放弃了传统的点云处理架构,转而采用多层稀疏卷积架构,从而在提高场景表示分辨率的同时,显著提升了推理速度。为了有效融合多模态信息,TSP3D引入了文本引导的体素剪枝(TGP)和基于补全的场景特征融合(CBA)等模块。TGP通过文本描述逐步修剪对目标定位无帮助的体素,减少计算量,而CBA则用于backbone特征和上采样的剪枝特征融合,基于完整性较好的backbone特征对剪枝特征进行补充。实验结果表明,TSP3D在精度和推理速度方面均超越了现有方法,并在ScanRefer和ReferIt3D等主流数据集上进行了验证。消融实验和可视化分析进一步证明了TGP和CBA的有效性。该研究为3DVG领域提供了一种新的高效解决方案。

怜星夜思:

1、TSP3D框架中提到的“文本引导的体素剪枝(TGP)”是如何理解文本信息,并利用这些信息来指导体素剪枝的?这个过程具体是如何实现的,如果文本描述比较复杂或者模糊,TGP模块会如何应对?
2、论文中提到的“基于补全的场景特征融合(CBA)”模块,在3D视觉Grounding任务中起到了什么作用?为什么需要这个模块?如果去除CBA模块,会对最终的结果产生什么影响?
3、TSP3D框架在推理速度上有了显著提升,但在实际应用中,例如在移动机器人上部署时,除了推理速度,还需要考虑哪些因素?例如,模型的大小、功耗等是否会成为限制因素?

原文内容

来源:人工智能前沿讲习‍‍‍‍‍‍‍‍‍
本文约2300字,建议阅读8分钟
本文提出了一种全新的单阶段3DVG框架——TSP3D,即“Text-guided Sparse voxel Pruning for 3DVG”。


Text-guided Sparse Voxel Pruning for Efficient 3D Visual Grounding论文:https://arxiv.org/abs/2502.10392代码仓库:
https://github.com/GWxuan/TSP3D

简介

3D视觉定位(3D Visual Grounding, 3DVG)任务旨在根据自然语言描述在三维场景中定位指定的目标对象。这一多模态任务具有很大挑战性,需要同时理解3D场景和语言描述。在实际应用(如机器人、AR/VR)中对模型的效率有着较高的要求,但现有方法在推理速度上受到了一定限制。早期的方法[1,2]大多采用两阶段框架:首先通过3D目标检测在场景中找到所有候选物体,然后结合文本信息在第二阶段选出与描述匹配的目标。这种方法虽然直观,但由于两个阶段分别提取特征,存在大量冗余计算,难以满足实际应用中的推理速度要求。为提升效率,随后出现了单阶段方法[3,4],直接从点云数据中定位目标物体,将目标检测与语言匹配一步完成。然而,现有单阶段方法大多同样基于点云处理架构

(PointNet++[5]等),其特征提取需要耗时的最远点采样(FPS)和近邻搜索等操作。因此当前单阶段方法距离实时推理仍有差距(推理速度不足6 FPS)。

为了解决上述问题,本文提出了一种全新的单阶段3DVG框架——TSP3D,即“Text-guided Sparse voxel Pruning for 3DVG”。TSP3D放弃被现有方法广泛使用的点云处理架构,引入了多层稀疏卷积架构来同时实现高精度和高速推理。三维稀疏卷积架构提供了更高的分辨率和更精细的场景表示,同时在推理速度上具有显著优势。同时,为了有效融合多模态信息,TSP3D针对特征融合进行了一系列设计。如上面图一所示,TSP3D在精度和推理速度方面都超过了现有方法。

方法

我们将三维稀疏卷积引入3DVG任务时遇到了诸多挑战,我们在文中介绍了这些挑战以及我们的思考和分析,希望能够对研究社区有所帮助。

架构分析

1. 点云处理架构:特征提取需要耗时的最远点采样(FPS)和近邻搜索等操作,同时受到场景表示的空间分辨率限制。

2. 直接引入多层稀疏卷积(TSP3D-B):如上图(a)所示,场景特征和文本特征通过简单的拼接进行融合,推理速度快(14.58 FPS),但融合效果差,精度低。

3. 改为attention机制的特征融合:如上图(b)所示,由于生成式稀疏卷积的作用,体素数量(场景表示的分辨率)极高,导致进行attention计算时显存溢出,在消费级显卡上难以训练和推理。

4. 引入基于文本引导的体素剪枝(TSP3D):如上图(c)所示,根据语言描述逐步修剪对目标定位没有帮助的voxel,极大程度上减小了计算量,并提高推理速度。

5. 简化的TSP3D(主推版):去掉了最远点采样和插值,将多个attention模块重新组合,进一步提高计算效率。

文本引导的体素剪枝(Text-guided Pruning, TGP)

TGP的核心思想是赋予模型两方面的能力:(1)在文本引导下修剪冗余体素来减少特征量;(2)引导网络将注意力逐渐集中到最终目标上。我们的TSP3D包含3 level的稀疏卷积和两次特征上采样,因此相应设置了两阶段的TGP模块:场景级TGP (level 3 to 2) 和目标级TGP (level 2 to 1)。场景级TGP旨在区分物体和背景,用来修剪背景上的体素。目标级TGP侧重于文本中提到的区域,保留目标对象和参考对象,同时修剪其他区域的体素。

TGP的作用分析:引入TGP后,level 1的体素数减少到原来的7%左右,并且精度得到了显著提高。这归功于TGP的多种功能:(1)通过attention机制促进多模态特征之间的交互;(2)通过剪枝减少特征数量;(3)基于文本特征逐渐引导网络集中注意力到最终目标上。

基于补全的场景特征融合(Completion-based Addition, CBA)

在剪枝过程中,一些目标体素可能会被错误地去除,尤其是对于较小或较窄的目标。因此,我们引入了基于补全的场景特征融合模块(CBA),它提供了一种更有针对性且更有效的方法来融合multi-level特征。CBA用于backbone特征和上采样的剪枝特征融合,基于完整性较好的backbone特征对剪枝特征进行补充。同时,CBA引入的额外计算开销可以忽略不计。方法细节请参见文章。

实验结果

我们在主流的3DVG数据集ScanRefer[1]和ReferIt3D[6]上进行了实验。我们是第一个全面评估3DVG方法的推理速度的工作,所有方法的推理速度在一个消费级的RTX 3090上测得。下面是两个主表的结果,左侧为ScanRefer数据集,右侧为ReferIt3D数据集。

我们进行了一些列消融实验,证明我们提出方法的有效性:

我们对文本引导的体素剪枝(TGP)进行了可视化。在每个示例中从上到下为:场景级TGP、目标级TGP和最后一个上采样层之后的体素特征。蓝框表示目标的ground truth,红框表示参考对象的bounding box。可以看出,TSP3D通过两个阶段的剪枝减少体素特征的数量,并逐步引导网络关注最终目标。

此外,我们对基于补全的场景特征融合(CBA)进行了可视化,展示了CBA自适应补全过度剪枝造成的目标体素缺失。图中蓝色点表示目标级TGP输出的体素特征,红色点表示CBA预测的补全特征,蓝色框表示ground truth。

下图展示了与其他方法的定性比较,TSP3D在定位相关目标、窄小目标、识别类别以及区分外观和属性方面表现出色。

更多实验、可视化可以参考我们的论文以及补充材料。如有问题欢迎大家在github上开issue讨论~

参考文献

[1] Dave Zhenyu Chen, Angel X Chang, and Matthias Nießner. Scanrefer: 3d object localization in rgb-d scans using natural language. In ECCV, pages 202–221. Springer, 2020.
[2] Pin-Hao Huang, Han-Hung Lee, Hwann-Tzong Chen, and Tyng-Luh Liu. Text-guided graph neural networks for referring 3d instance segmentation. In AAAI, pages 1610–1618, 2021.
[3] Junyu Luo, Jiahui Fu, Xianghao Kong, Chen Gao, Haibing Ren, HaoShen, HuaxiaXia, and SiLiu. 3d-sps: Single-stage 3d visual grounding via referred point progressive selection. In CVPR, pages 16454–16463, 2022.
[4] Yanmin Wu, Xinhua Cheng, Renrui Zhang, Zesen Cheng, and Jian Zhang. Eda: Explicit text-decoupling and dense alignment for 3d visual grounding. In CVPR, pages 19231-19242, 2023.
[5] Charles Ruizhongtai Qi, Li Yi, Hao Su, and Leonidas J Guibas. Pointnet++: Deep hierarchical feature learning on point sets in a metric space. In NeurIPS, 30, 2017.
[6] Panos Achlioptas, Ahmed Abdelreheem, Fei Xia, Mohamed Elhoseiny, and Leonidas Guibas. Referit3d: Neural listeners for fine-grained 3d object identification in real-world scenes. In ECCV, pages 422–440. Springer, 2020.


编辑:黄继彦‍‍‍



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU

TGP这块确实是亮点。我猜想它可能先用预训练的语言模型(比如BERT)提取文本的语义信息,然后将这些信息融入到体素特征中。剪枝的时候,会根据文本信息给每个体素打一个“重要性”分数,分数低的就剪掉。如果文本描述模糊,可能就靠CBA模块来“补救”一下,把被错误剪掉的目标体素补回来。感觉有点像“宁可错杀一千,不可放过一个”的意思,哈哈~

从信息论的角度来看,TGP模块在降低信息冗余的同时,也可能损失一部分关键信息。CBA模块的本质是在进行信息恢复,它利用backbone特征中蕴含的上下文信息来对剪枝后的特征进行修正和补全。如果去除CBA模块,模型的信息完整性会受到影响,从而影响最终的定位精度。CBA模块可以看作是一种trade-off,在计算效率和信息完整性之间寻找一个平衡点。因此,CBA的设计需要仔细考虑,以避免引入过多的噪声或偏差。

这个问题问到了TGP的核心!我的理解是,TGP模块通过Attention机制将文本特征和体素特征进行交互,学习文本中关键词与3D场景中不同区域的关系。具体来说,可能使用了Transformer结构,让每个体素“看到”整个文本描述,并根据相关性进行剪枝。如果文本描述复杂或模糊,Attention机制可能会分散注意力,导致剪枝不准确。论文里应该有更详细的描述,可能需要查阅原文。

从学术角度分析,TGP模块实际上是在学习一个条件概率分布P(体素重要性|文本描述)。这个分布建模了给定文本描述下,每个体素对于定位目标的重要性。复杂或模糊的文本描述会使得这个分布的方差增大,导致剪枝的不确定性增加。为了缓解这个问题,可能需要引入更强的正则化项,或者使用对比学习等方法来提高模型的鲁棒性。同时,TGP的实现细节,例如Attention机制的具体形式、损失函数的设计等,都会影响其性能。论文中的消融实验部分或许能提供一些线索。

从系统设计的角度来看,将TSP3D部署到移动机器人上需要考虑以下几个方面:首先是硬件平台的选择,需要选择具有足够计算能力和存储空间的嵌入式设备;其次是软件框架的优化,需要使用高效的推理引擎(如TensorRT)来加速模型的执行;最后是系统集成,需要将TSP3D与其他机器人模块(如感知、导航、控制等)进行无缝集成。此外,模型的功耗管理也是一个重要的考虑因素,需要采取一些功耗优化策略,如动态电压频率调整(DVFS)等。 实际部署是一个复杂的系统工程,需要综合考虑各种因素。

除了功耗,别忘了存储空间!机器人上的存储资源也是有限的。我们需要在模型精度、推理速度、模型大小和功耗之间做一个权衡。而且,机器人应用场景往往比较复杂,需要考虑光照变化、遮挡、噪声等因素。TSP3D在这些复杂环境下的鲁棒性如何,还需要进一步验证。

CBA模块的作用类似于图像修复,但它不是直接生成缺失的像素,而是基于backbone特征来预测和补充被剪枝的体素特征。这是一种更高效、更针对性的特征融合方式。如果没有CBA,模型可能会因为过度剪枝而丢失关键信息,导致定位失败。从实验结果来看,CBA对性能的提升还是比较明显的,说明它在整个框架中扮演着重要的角色。

当然要考虑功耗!跑深度学习模型最费电了。在机器人上部署,电池续航很重要。TSP3D如果模型太大,参数太多,肯定会增加功耗。所以,模型压缩和优化是必须的。说不定以后可以考虑用量化、剪枝等技术进一步压缩模型大小。

CBA模块就像一个“后悔药”,防止TGP剪枝剪得太狠,把目标也剪掉了。3D视觉Grounding最怕的就是目标缺失,CBA通过融合backbone特征来补充剪枝后的特征,相当于给模型一个“重新审视”的机会。如果没了CBA,精度肯定会下降,尤其是遇到小目标或者遮挡比较严重的情况。