3DZip: Spatial-Aware Feature Diversity-Guided Token Compression for 3D Question Answering¶
会议: ECCV2026
作者: Changwoo Baek, Kyeongbo Kong
论文: https://eccv.ecva.net/virtual/2026/poster/5396
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/10383.pdf
项目: 3DZip
领域: VLM效率 / 三维问答
关键词: 三维视觉语言模型、token压缩、特征多样性、行列式点过程、空间约束合并
一句话总结¶
3DZip 在语言模型前依次用粗体素化去除重复观测、用特征多样性 DPP 选择锚点、用空间约束合并补回上下文,在 LLaVA-3D 上将 1410 个视觉 token 压至 128 个,保留论文报告的 94.7% 相对性能,并在单张 RTX 4090 上将单样本推理延迟从 342 ms 降至 178 ms。
研究背景与动机¶
投影式三维视觉语言模型不必从头训练强大的点云编码器:它先从多视角 RGB 图像中提取二维特征,再利用深度和相机位姿把特征放回统一世界坐标,并加入三维位置编码。LLaVA-3D 采用这一路线,使语言模型能够根据物体属性、空间关系和场景上下文回答问题。代价是多个视角带来的大量视觉 token 都进入语言模型,增加注意力计算和 KV cache 开销。
这里的冗余有两个尺度。同一片物理表面被多个相机看到,会在近似相同的位置留下重复 token,体素聚合可以处理这种点级冗余;但一张沙发的正面、背面和侧面分处不同位置,即使体素化之后,仍可能占据很多 token。因而“空间覆盖均匀”并不等于“物体覆盖充分”:大墙面、地板和大件家具仍能消耗大量预算,小物体则可能完全没有代表。论文对 SQA3D 的 10 个场景用真实物体掩码做分析,空间 DPP 覆盖 134/259 个物体,特征 DPP 覆盖 182/259 个物体;这里的覆盖是物体至少包含一个被选 token,不是物体识别准确率。
作者因此把选择代表与融合上下文分开:选择时追求特征差异,避免预算只落在相似表面上;融合时限制几何距离,避免相似但相隔很远的物体混在一起。核心 idea:先用空间聚合去掉重复观测,再用特征多样性分配有限锚点,最后只让空间相容的上下文进入这些锚点。
方法详解¶
整体框架¶
输入是多视角 RGB-D 与相机位姿,经图像编码、反投影和位置编码得到带特征及三维坐标的 token 集合;问题文本在压缩后与视觉表示一起送入语言模型,输出自然语言答案。3DZip 插在三维 token 构建与语言模型之间,由粗体素化、特征多样性锚点选择、空间约束合并三步组成,最终视觉 token 数由锚点预算 \(K\) 控制。
压缩过程不读取问题相关的 LLM 注意力,也不依赖真实物体标签进行选择。真实掩码只用于论文的覆盖率分析。主表中的 1410 是报告的完整 token 配置,不是任意场景的固有 token 数;三阶段流程中的原始多视角数量、体素数和最终锚点数应分开理解。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
Input["多视角 RGB-D<br/>与相机位姿"] --> Tokens["编码与反投影<br/>三维特征和坐标"]
Tokens --> Voxel["粗体素化"]
Voxel --> Anchor["特征多样性<br/>锚点选择"]
Anchor --> Merge["空间约束合并"]
Merge --> Answer["压缩视觉 token + 问题<br/>语言模型生成答案"]
关键设计¶
1. 粗体素化:先消除同一位置上的重复观测
第一步以边长 \(\delta\) 划分轴对齐体素,将落入同一体素的 token 分为一组,分别对其特征和坐标取平均。输出并非体素中心处的人工 token,而是具有平均特征与平均观测位置的聚合表示。默认 \(\delta=0.2\) m。这一阶段不设定最终保留数量,其职责是把后续选择面对的密集多视角重复先降下来。
为什么不直接在所有投影 token 上做多样性选择?多次观测同一局部表面未必产生完全相同的特征,纯特征选择可能仍把预算耗在密集重复区域上。先按位置聚合,相当于让同一小块空间先形成一个局部代表,再去竞争全场景的锚点预算;论文中去掉这一步使 64-token SQA3D EM 从 52.8 降至 51.8。不过,体素越大并非越好:如果小物体和背景进入同一格,平均后已经丢掉的差异,后面的 DPP 无法恢复。
2. 特征多样性锚点选择:让预算覆盖不同内容,而非只覆盖不同位置
体素化之后,作者对体素特征做 L2 归一化,以两两余弦相似度构造核矩阵,再使用行列式点过程(DPP)选择 \(K\) 个锚点。关键不在于给每个 token 单独评一个“重要性分数”,而在于评价一组 token 是否彼此重复:高度相似的特征方向增加不了多少表示范围,互补的方向才更值得纳入。原文核与选择目标可整理为:
这里 \(L_{\mathcal S}\) 是所选 token 对应的核子矩阵。行列式可以理解为所选归一化特征张成体积的度量;重复方向会压低这个体积。论文采用基于 Cholesky 分解的标准贪心近似,并非穷举所有子集,也不是在推理时随机抽样。核来自已有特征,而不是额外训练一个物体分类器。
特征多样性与空间多样性的差别在大物体上尤其明显:墙面两端距离很远,但语义内容可能十分接近;小背包与周围沙发距离很近,特征却可能不同。特征 DPP 更有机会留下后者,但它并不等价于实例分割,也不保证每个物体恰好一个 token。原始特征已经含有三维位置信息,因此“特征选择”也不能被理解成完全抹去几何,只是选择依据不再是单独的 XYZ 距离。
3. 空间约束合并:补回信息,但不混合相隔很远的相似物体
只留下锚点会丢掉非锚点携带的细节,因此第三步尝试将其合入锚点。对每个非锚点,先找特征最相似的锚点,再检查二者在体素网格中的欧氏距离是否不超过 \(\tau_g\),默认阈值为 5。空间距离在这里是准入条件,而不是选择锚点的第一排序依据。尤其要注意:如果最相似锚点不满足空间条件,Algorithm 1 直接丢弃该 token,并没有说明会寻找次优但更近的锚点。
被接受的非锚点与所属锚点一起做特征均值,锚点的坐标保持不变。这个“不移动坐标”的约束使压缩后的代表位置仍锚定原先选择的地点,而不是因平均坐标滑向多个物体之间。若没有任何 token 被接受,该锚点保留自己的特征;被拒绝的非锚点也不会变成额外输出,所以结果仍是 \(K\) 个视觉 token。
按正文对均值更新的文字定义,可将抽取损坏的式 (18) 整理为:
\(\mathcal S_a\) 只包含“特征最相似锚点为 \(a\) 且通过空间阈值”的非锚点。这里是在体素聚合后的 token 上做均值,不是按各体素原先包含的观测数量重新加权。该公式是依据正文恢复的数学表达,不是对缓存乱码的逐字复制;式 (14) 的运算符和式 (15) 的网格索引排版同样有损坏,因此不从文本缓存臆断取整实现。复现时应再核对 PDF 或实现中的索引细节。
一个完整示例¶
以下是说明算法的示意场景,不是论文新增实验:房间里有一张沙发、旁边的背包和远处另一张相似沙发,问题问背包的位置。多个视角看到同一块沙发表面时,粗体素化先把近位置的重复观测聚合;沙发不同表面的 token 则仍可分属不同体素。
接着,特征多样性锚点选择不会因为沙发占据很大空间就自动给它更多名额,而是让背包等特征不同的局部有机会进入锚点集合。假设某个背包附近非锚点的特征最相似锚点也位于背包上,而且网格距离为 3,它通过阈值 5,被合入该锚点;若另一 token 的特征最佳匹配位于远处相似沙发上,距离为 8,就会被丢弃,不会跨房间混合。这里的 3 和 8 仅是解释阈值规则的示意数字。
最终语言模型接收的是保留不同内容、又补入局部上下文的锚点特征。这个例子解释了选择与合并为什么不能共用一种距离准则,但并不意味着压缩后一定答对,也不保证背包一定被选中。
损失函数 / 训练策略¶
3DZip 的三阶段操作使用已有三维 token,正文没有引入专门的可学习压缩模块、压缩损失或新的微调目标。文中“压缩前后尽量维持相同回答能力”是压缩目标的描述,不应写成实际优化的蒸馏损失。比较方法均接在相同 LLaVA-3D 骨干上,实验设置生成 temperature 为 0;这能固定采样设置,但不能代替完整的随机种子和硬件确定性说明。
实验关键数据¶
主实验¶
ScanQA 报告验证集 EM,SQA3D 报告测试集 EM,OpenEQA 使用 GPT-4o 评估的 LLM-Match。三者不是同一种准确率。下表摘自原文 Table 1,各方法使用相同骨干;Rel. 原样保留论文报告值,正文没有清楚定义其聚合公式,不能把 94.7% 当成单项 EM、三个分数的简单平均或无损压缩率。
| 方法 | 视觉 token | ScanQA EM | SQA3D EM | OpenEQA LLM-Match | 原文 Rel. |
|---|---|---|---|---|---|
| LLaVA-3D,未压缩参照 | 1410 | 26.5 | 55.7 | 60.3 | 100.0% |
| FastV | 128 | 21.9 | 50.9 | 56.0 | 88.9% |
| VisionZip | 128 | 22.2 | 51.5 | 56.2 | 89.8% |
| VisPruner | 128 | 22.3 | 52.0 | 55.8 | 90.0% |
| 仅体素化 | 128 | 23.6 | 51.5 | 54.6 | 90.7% |
| DTC | 128 | 22.1 | 51.3 | 54.8 | 88.8% |
| 3DZip | 128 | 24.2 | 53.2 | 58.6 | 94.7% |
| 3DZip | 64 | 23.3 | 52.8 | 56.7 | 92.3% |
| 3DZip | 32 | 21.9 | 51.1 | 55.7 | 88.9% |
在 128-token 预算下,相对 Table 1 各任务最强压缩对手,3DZip 分别提高 0.6、1.2、2.4 分;但相对未压缩骨干仍分别下降 2.3、2.5、1.7 分。这支持“更好的压缩质量”,而不是“超过完整模型”。
消融实验¶
下表合并原文 Table 3 的关键行,所有数值都是 SQA3D EM。完整设置为特征 DPP、\(\delta=0.2\) m 和带空间约束的合并;消融改动应在各自子表语境下比较,不能将这些差值相加当作独立贡献。
| 配置 | 64 token | 32 token | 说明 |
|---|---|---|---|
| 完整 3DZip | 52.8 | 51.1 | 默认配置 |
| 空间距离替代特征距离选锚点 | 50.1 | 49.0 | 降低 2.7 / 2.1 分 |
| 去掉粗体素化 | 51.8 | 50.2 | 降低 1.0 / 0.9 分 |
| 体素边长 0.1 m | 52.6 | 50.9 | 比默认低 0.2 / 0.2 分 |
| 体素边长 0.3 m | 52.1 | 50.6 | 比默认低 0.7 / 0.5 分 |
| 去掉合并 | 52.5 | 50.5 | 降低 0.3 / 0.6 分 |
| 合并时去掉空间约束 | 52.3 | 50.8 | 降低 0.5 / 0.3 分 |
关键发现¶
- 特征选择是这些组件对照中差距最大的因素:64-token 设置比空间选择高 2.7 EM,但这不是 DPP 比所有其他多样性算法更强的证明。
- Table 2 中,128-token 属性识别为 64.2,略高于完整骨干的 64.0;空间理解为 49.5,仍低于完整骨干的 54.2。语义覆盖改善不意味着几何推理损失已被消除。
- 并非所有分类任务都由 3DZip 最优:64-token 空间理解中,仅体素化为 48.5,3DZip 为 48.1。应将结论限定为总体结果优势,而不是逐分类全面领先。
原文 Table 4 在单张 RTX 4090、SQA3D 上测量效率,结果如下。KV cache 不是总显存,FLOPs 的降低比例也不是端到端延迟的降低比例。
| 方法 | token | FLOPs(T) | 延迟(ms/样本) | KV cache(MB) | SQA3D EM |
|---|---|---|---|---|---|
| LLaVA-3D | 1410 | 9.18 | 342 | 722 | 55.7 |
| FastV | 128 | 1.41 | 191 | 139 | 50.9 |
| DTC | 128 | 0.90 | 196 | 101 | 51.3 |
| 3DZip | 128 | 0.90 | 178 | 101 | 53.2 |
由表中数值计算,342/178 约为 1.92 倍加速,延迟减少约 48.0%;视觉 token 减少约 90.9%,并不带来等比例时间节省。相对 DTC 的 196 ms,178 ms 对应约 9.2% 的延迟减少,应与吞吐提升比例区分。
亮点与洞察¶
- 将点级冗余与物体级重复分开,是方法最有解释力的地方。它说明体素化已经做过之后,为什么仍需要在特征空间重新分配预算。
- 选择和合并分别使用不同准则:特征差异决定留下谁,空间约束决定哪些信息可以合在一起。与只按注意力排序相比,这个组合直接针对三维表示的结构性问题。
- 通过物体覆盖率分析连接 token 分布与问答结果,而不仅报告最终分数。不过覆盖率分析只来自 10 个场景,适合解释机制,不宜提升为普适保证。
局限与展望¶
- 作者承认粗体素化可能削弱小物体的细粒度线索,尤其当小物体与背景进入同一个体素时。后续多样性选择无法恢复已被平均抹掉的内容。
- 作者承认固定 \(\delta\) 与 \(\tau_g\) 难以适应不同场景尺度、物体密度与间距;自适应设置是原文提出的后续方向,而非本文已经实现的功能。
- 从机制看,特征多样性不是实例数目的代理真值,相似小物体仍可能被漏掉;空间约束也依赖输入深度和位姿质量,正文没有提供针对几何噪声的系统压力测试。
- 缓存只有主文与参考文献,没有正文多次引用的补充材料。其他骨干、替代多样性选择、空间阈值、小物体和场景尺度分析仅能确认被作者提及,无法据此写出具体结果。
- Table 1 与 Table 2 对 32-token DTC 的 OpenEQA 平均分分别列为 52.6 和 52.3,存在原文表间不一致;本笔记主结果遵循 Table 1,且不使用该争议值推导优势。Rel. 聚合方式、缓存公式损坏及未报告的误差条也限制了精确复现判断。
相关工作与启发¶
- vs LLaVA-3D:它提供从二维特征构造三维表示并完成问答的骨干,3DZip 是其前置压缩环节,不是另一个从头训练的三维问答模型。
- vs FastV / SparseVLM:这类方法依据 LLM 注意力选择与文本相关的 token,可能适合窄范围对象状态问题;3DZip 不依赖问题注意力,而是保留全场景特征多样性与局部几何上下文。
- vs VisionZip / VisPruner:原文将其概括为依赖视觉编码器 CLS 注意力的选择策略。3DZip 更关注不同内容是否被覆盖,而非只保留全局显著区域。
- vs DTC / 仅体素化:空间分组能去重复位置,但不足以抑制跨体素的大物体重复。3DZip 在空间聚合之后引入全场景特征多样性,并限制后续跨 token 融合的几何范围。
评分¶
以下为笔记作者基于已读主文的主观评价,不是会议评分。
- 新颖性: 4/5。组件本身并非全新,但两类冗余的拆解及选择、合并的准则分工明确。
- 实验充分度: 4/5。三个基准、多预算、组件消融及实际延迟构成较完整证据;补充材料缺失、无误差条降低了可核验范围。
- 写作质量: 4/5。三阶段论证清晰,但 Rel. 口径未充分说明,且存在表间数值不一致。
- 价值: 4/5。在保留合理问答性能的同时显著降低视觉 token 与 KV cache,部署意义明确,但依赖场景尺度和原有几何表示质量。