跳转至

CL4D: Contrastive Language–4D Pretraining for Vision-Language Reasoning in Dynamic Scenes

会议: ECCV 2026
Paper: https://eccv.ecva.net/virtual/2026/poster/4532
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/6371.pdf
项目: https://4d-vision-uom.github.io/
领域: 视觉语言推理 / 4D 场景理解
关键词: 动态点云、语言对齐、时空 Transformer、跨模态检索、几何问答

一句话总结

CL4D 用逐帧空间编码、跨帧时序编码和语言对比学习建立动态点云表征,再接入冻结的 7B 语言模型构成 4DVLM,在 HumanOnly 的批内文本到动作检索上达到 70.32% R@1,比表中最强基线高 16.75 个百分点,但全局检索与开放环境推理仍有明显证据边界。

研究背景与动机

要回答“转身后继续做了什么”或“最后抬起的是哪只手”,模型既要辨认三维身体结构,又要理解动作先后。RGB 视频保留了时间,却把深度和遮挡关系投影到二维;PointLLM 一类静态点云语言模型直接看到几何,却没有连续运动信息。这里的 4D 指随时间变化的三维点云,不是给一张静态点云附上时间标签。

既有 P4Transformer、PST-Transformer 和 Motion PointNet 能从点云序列学习动作特征,但通常服务于有限类别的动作识别。固定类别分类器无法自然处理“先走几步、再抬右手”这样的自由语言查询。骨架与语言对齐方法则更紧凑,但骨架拓扑难以统一表示人体、被操作物体和机械臂。本文选择原始动态点云,目的是让这些实体共享一种输入形式;代价是点集无序、跨帧缺乏天然一一对应,而且配套语言数据不足。

作者因此同时构建数据、训练语言对齐编码器,并测试编码器能否支撑问答,而不只报告封闭类别识别率。核心 idea:先把动态点云中的空间结构与运动演化压成可与文本比较的表征,再通过轻量投影把这套几何证据交给语言模型生成答案。

方法详解

整体框架

训练分两阶段:CL4D 先接收点云序列与动作描述,通过双向检索目标学习共同语义空间;4DVLM 随后使用预训练视觉 token 和问题生成回答,只训练连接视觉编码器与语言模型的投影层。DynAction4D 为第一阶段提供动作描述,为第二阶段提供空间、动作和时序问答。推理时 4DVLM 直接输入点云,不需要输入 RGB 视频;这不意味着训练数据生成完全不使用视频或其他 VLM。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["动作参数与物体"] --> B["DynAction4D 构建"]
    B -->|点云序列| C["分解式时空编码"]
    B -->|动作描述| D["双向语言对齐"]
    C --> D
    D -->|预训练视觉 token| E["冻结骨干的问答适配"]
    B -->|合成问答| E
    E --> F["基于动态几何的回答"]

关键设计

1. DynAction4D 构建:让几何、动作描述与问题共享来源

数据管线把 SMPL 动作参数转换成 Unity 动画,加入随机体型、纹理及位置变化,再逐帧均匀采样网格形成点云。HumanOnly 来自 HumanML3D,训练和测试分别约 23k、4k 条;ObjInteractions 来自 Humoto,训练和测试为 510、219 条;Cluttered 把 HumanML3D 动作放入由 Humoto 物体构成的杂乱场景,训练和测试同样约 23k、4k 条。前两种有人体或交互主体,第三种增加背景干扰,因此能分别观察运动识别、交互几何和杂乱环境的影响。不同分段共享上游动作来源,不能把规模相加后宣称全是独立运动。

检索描述继承自源动作数据。4D-VQA 则把 Unity 渲染视频与 HumanML3D 描述一起交给 Gemini 3.0 Flash,生成动作语义、身体空间性质和时间变化三类问题。由此产生了从对比学习到问答适配的桥梁,但标注本身是合成的。缓存未给出 VQA 的问答数量、明确划分规模及人工核验比例,因此不能补写。物体数也有原文内部分歧:数据节写 72 个物体、735 种交互,讨论节写 73 个交互物体类别,暂不能统一。

2. 分解式时空编码:先解决帧内无序,再压缩跨帧动态

每帧点云先分成 64 个局部组,每组 32 个点,由 PointNet 风格编码器生成 512 维局部特征,并加入一个可学习 CLS token。空间 Transformer 在单帧内建模局部组之间的关系,输出再分别做最大池化、平均池化并取 CLS,得到三个互补的帧级摘要。最大池化强调局部突出响应,平均池化保留整体分布,CLS 提供学习式汇聚;这是对其作用的机制解释,不是三个池化分支各自消融验证过的结论。

时序部分并不直接追踪每个点,而是把三种摘要跨帧堆叠。以 32 帧配置为例,中间张量为 \(H_s\in\mathbb{R}^{3\times512\times32}\),把三个摘要当作三个通道,对后两维用 \(16\times16\) patch 切块,因此产生 \(32\times2=64\) 个 patch。它们经线性投影变成 768 维 token,再送入以 ViT-B/16 权重初始化的时序 Transformer。检索使用输出 token 的均值作为整个动作的视觉嵌入。这样既避免对全部点和帧做巨大联合注意力,也能复用图像 ViT 的初始化,但时间局部性受摘要与切块形式约束,不能等同于显式点轨迹建模。

正文给出的空间、时序深度分别为 4、12,MLP ratio 为 4;空间编码器从头训练。需要注意,正文同时声称两个 Transformer 都有 12 个头,但 512 维空间特征无法按常规等宽方式分成 12 个头,缓存没有解释内部投影。故这些值应视为原文报告而非已核验的可直接运行配置,不自行补一个头数或隐藏维度来掩盖矛盾。

3. 双向语言对齐:学会匹配自由描述,而不是预测固定类别

文本分支使用 distilbert-base-uncased 的 768 维 CLS 表征。训练批中每条动作与自己的描述是正对,与其他样本描述组成负对;同时从文本找动作、从动作找文本,防止只优化单向排序。视觉和文本都可训练,使语言空间适应“肢体位置加动作先后”这类语义,而不要求视觉编码器单方面迁就冻结文本空间。

缓存公式 (5)–(7) 有括号和运算符缺损。下面仅按文字定义恢复两个方向的标准交叉熵,属于对原文机制的规范化转写;总损失的求和或平均系数未能从损坏的式 (7) 确认,不补写该系数。令 \(s_{ij}=\cos(v_i,t_j)/\tau\),其中 \(v_i\) 是动作嵌入、\(t_j\) 是文本嵌入,\(B\) 是批大小、\(\tau\) 是温度:

\[ \mathcal{L}_{m2t}=-\frac{1}{B}\sum_{i=1}^{B}\log\frac{\exp(s_{ii})}{\sum_{j=1}^{B}\exp(s_{ij})},\qquad \mathcal{L}_{t2m}=-\frac{1}{B}\sum_{i=1}^{B}\log\frac{\exp(s_{ii})}{\sum_{j=1}^{B}\exp(s_{ji})}. \]

这种训练把开放词汇匹配变成相似度检索,但同批不同样本也可能语义近似,未必都是真正的语义负例。原文没有报告专门处理此类假负例的机制。此外,论文称其为零样本检索,是强调不依赖固定分类标签,不能据此推断所有测试动作类别或 RH20T 均未参与任何训练。

4. 冻结骨干的问答适配:用小接口检验几何表征能否被语言模型利用

第二阶段取时空编码器的视觉 token,通过线性层投影到 4096 维,匹配 LLaVA-v1.5-7b 所用 Vicuna 7B 语言骨干,并按 LLaVA 的多模态条件输入方式与问题结合。这里必须区分检索时对 token 求均值得到单个嵌入,与问答时把视觉 token 投影给语言模型这两个用途;不能把前者的全局检索向量直接说成完整的问答输入规范。

CL4D 时空编码器和语言骨干均冻结,仅训练投影层。它能避免同时改变两个大模型,但也把能力上限交给已有视觉表征及冻结语言模型:若池化已丢失某个细小动作,投影层不能凭空找回。正文没有提供足够信息确认问答阶段所有 token 选取与特殊 token 插入细节,不补写具体模板。

一个完整示例

原文图 7 的序列是一个人行走、转身,再向相反方向继续行走,问题询问转身后发生什么。按上述 32 帧配置解释数据流:每帧局部组先变成空间摘要,跨帧摘要再变成 64 个时序 patch,使编码器有机会区分“转身后停下”和“转身后继续走”;预训练先用描述约束整体动作语义,问答阶段再由投影 token 与问题一起驱动回答。

图中 4DVLM 回答人物完成 180 度转身后恢复稳定步行,VideoLLaMA 3 与 Gemini 3.0 Flash 则误答停止或站着不动。这是原文展示的单个定性例子,不代表全部转身问题的正确率;32 帧只用于说明所述配置,并非该图单独披露的采样记录。

损失函数 / 训练策略

CL4D 使用 AdamW 训练 150 个 epoch,主结果设置的训练批大小为 72;时空组件及投影头学习率为 \(10^{-4}\),文本编码器为 \(10^{-5}\)。消融表的训练批大小改为 64,测试批大小仍为 32,所以主表与消融表中的绝对值不应混成同一配置。

4DVLM 使用自回归答案损失,下面是按原文式 (8) 明确视觉输入后的等价记法。\(X_v\) 是点云序列,\(X_q\) 是问题,\(y_t\) 是答案 token:

\[ \mathcal{L}_{\mathrm{VLM}}=-\sum_t\log p\!\left(y_t\mid y_{<t},X_q,\mathrm{Proj}(V_{st}(X_v))\right). \]

这一阶段仅投影层以 AdamW、学习率 \(10^{-3}\) 训练 10 个 epoch。缓存未给出温度数值、权重衰减、硬件与训练时长,不能从其他 CLIP 或 LLaVA 实现套用。

实验关键数据

主实验

R@1 是正确配对排在候选首位的查询比例。Batch 在随机抽取的 32 个候选内检索,Global 在整个测试集检索;下面检索值均为百分数,取自原文表 1。基线已用同样的对比目标重新训练,并非拿原始分类器直接检索。

数据集 模型 文本→动作 Batch 文本→动作 Global 动作→文本 Batch 动作→文本 Global
HumanOnly P4Transformer 53.57 3.66 58.05 5.33
HumanOnly CL4D 70.32 8.07 68.62 8.02
ObjInteractions Motion PointNet 41.37 12.33 36.18 11.87
ObjInteractions CL4D 49.40 23.29 46.97 22.37
Cluttered Motion PointNet 41.71 1.23 43.24 1.53
Cluttered CL4D 55.07 3.11 51.94 2.71
RH20T Motion PointNet 68.21 31.09 52.28 24.37
RH20T CL4D-mini 77.24 37.82 57.10 27.73

HumanOnly、ObjInteractions、Cluttered 的文本到动作 Batch 提升按表值分别为 16.75、8.03、13.36 个百分点;原文对第二项写 8.1,笔记采用可直接复算的 8.03。RH20T 的对应提升为 9.03 个百分点,但该真实机器人数据集的结果不足以单独证明未经适配的跨域零样本迁移。

下表选取原文表 3 的五项 VQA 指标,保持小数标度,不转换成准确率。视频模型输入同场景网格渲染视频,M.V 表示三个视角;4DVLM 输入点云。

模型 BLEU ROUGE-L F1 METEOR BERTScore Precision BERTScore F1
VideoLLaMA 3 0.0437 0.2951 0.2481 0.4769 0.4317
Gemini 3.0 Flash 0.0447 0.2812 0.2673 0.4240 0.4057
Gemini 3.1 Pro 0.0300 0.2427 0.1933 0.4562 0.3736
Gemini 3.1 Pro (M.V) 0.0320 0.2500 0.2064 0.4482 0.3788
GPT 5 0.0184 0.1612 0.1347 0.4111 0.3191
4DVLM 0.0729 0.3324 0.3152 0.4515 0.4459

4DVLM 的多项生成指标最高,但 BERTScore Precision 低于 VideoLLaMA 3 和 Gemini 3.1 Pro,因此不能沿用原文“所有指标均领先”的概括。这些模型名称沿用论文报告,未进行在线版本核验;结果仅限该合成问答协议。

消融实验

原文表 2,HumanOnly,训练批大小 64、测试批大小 32。前七行是 ViT-Base 基线或架构变体,最后两行的退化条件以 CL4D-mini 为参照;GFLOPs 为原表报告值。

配置 文本→动作 Batch R@1 动作→文本 Batch R@1 GFLOPs
ViT-Base 68.43 67.96 183.28
ViT-Small 69.61 70.41 177.64
冻结文本编码器 56.63 57.39 183.28
改用 SigLIP loss 66.97 67.14 183.28
随机初始化 ViT 63.32 62.79 183.28
打乱帧序 60.97 58.97 183.28
CL4D-mini 67.18 66.02 70.22
mini + 部分点云 66.81 65.66 70.22
mini + 重建噪声 65.85 64.64 70.22

关键发现

  • 冻结文本编码器使文本到动作 Batch R@1 下降 11.80 个百分点,随机初始化 ViT 下降 5.11 个百分点。前者说明联合语言适配很重要,后者表明提升不能完全归功于从零学习的 4D 结构。
  • 打乱帧序使动作到文本从 67.96 降到 58.97,即下降 8.99 个百分点;原文正文写 11.44,与表 2 的 ViT-Base 参照不一致。这个消融支持模型利用时间顺序,但不能证明其具有因果推理能力。
  • CL4D-mini 相对 ViT-Base 的文本到动作仅下降 1.25 个百分点,计算量从 183.28 降至 70.22 GFLOPs;原文约 60% 节省采用的是 ViT-Tiny 的 176.20 GFLOPs 参照,不是同一个比较基准。
  • mini 在部分点云与归一化标准差 0.01 的重建噪声下分别下降 0.37、1.33 个百分点。这是受控退化,不等价于全面验证真实 LiDAR 的遮挡、稀疏和运动畸变。
  • 原文表 4 保持投影层设置一致、替换视觉编码器后,BLEU 为 PST-Transformer 0.0394、Motion PointNet 0.0320、CL4D 0.0729,支持编码器贡献;图 5、6 还报告更大训练批和更多帧通常更好,但缓存不足以可靠抄录每个曲线点。

亮点与洞察

  • 表征选择不绑定人体骨架,使人体、交互物体与机器人动作可使用统一点云接口。其价值是输入通用性,不应直接上升为已验证的任意动态世界理解。
  • 把跨帧摘要组织成三通道特征图,是把已有图像 ViT 初始化接入动态几何的实用途径。随机初始化消融说明这个迁移有贡献,但不能据此把特征图解释成普通 RGB 图像。
  • 对比预训练与冻结骨干问答适配相互衔接,使“检索嵌入好不好”与“语言模型能否使用这些嵌入”都有实验抓手。后续工作可沿用这一评估拆分,分别定位视觉证据和语言接口的瓶颈。

局限与展望

  • 作者在讨论中承认更广泛的泛化仍待研究。数据主要围绕合成人体动作,虽包含交互和 RH20T 检索,尚不能支持多主体长期活动或开放机器人问答的结论。
  • 从实验可见,HumanOnly 文本到动作的 Global R@1 只有 8.07%,Cluttered 为 3.11%。小批候选内表现较好并不代表大库检索可靠,应补充大规模候选、语义多正例与近似动作混淆分析。
  • VQA 标注由 Gemini 生成,训练适配程度、参考答案风格以及输入模态都与视频基线不同。应增加人工审核、按动作与主体隔离的划分、相同适配预算,以及针对时序和几何正确性的判断指标,不能仅以文本相似度声称全面超过通用 VLM。
  • 可复现信息存在缺口:VQA 规模与质检、RH20T 的详细训练划分、温度、投影 token 细节均未在所读缓存中充分交代,部分公式损坏且头数与维度描述存疑。源码和原始 PDF 排版复核应作为复现实验的前置步骤,本笔记不填补这些未知量。

相关工作与启发

  • 对比 CLIP、VideoCLIP 与 ULIP:这些工作分别对齐图像、视频或静态三维数据与语言;CL4D 把同类目标用于随时间变化的点云。新意在模态、时空编码及配套数据组合,而非发明双向对比损失。
  • 对比 P4Transformer、PST-Transformer 与 Motion PointNet:本文把这些编码器用同样的对比目标重训后比较,因此主要证据指向编码架构及初始化,而不能把所有增益都归结为“分类换成对比学习”。
  • 对比 Motion Patches:两者都借用 ViT 风格处理运动,但 Motion Patches 依赖结构化骨架,CL4D 从点云提取帧级摘要。统一表示非人体实体是后者的重要动机,同时也牺牲了骨架显式拓扑的简洁性。
  • 对比 PointLLM 与 LLaVA:PointLLM 面向静态点云语言理解,LLaVA 提供视觉特征接入语言模型的范式;4DVLM 的区别在于输入来自对齐语言的动态几何编码器。这里更适合研究时序证据如何进入冻结语言模型,而不是再宣称一种新的语言解码算法。

评分

  • 新颖性: 4/5。动态点云、语言对齐和问答适配组成了有价值的研究接口,但损失与语言接入方式主要沿用成熟做法。
  • 实验充分度: 3/5。覆盖检索、问答、骨干替换和退化实验,仍缺充分的 VQA 数据披露、泛化控制与统计不确定性报告。
  • 写作质量: 3/5。主线清晰,但表文提升量、全指标领先的表述及部分配置存在不一致;公式损坏另属于缓存可读性问题。
  • 价值: 4/5。为动态几何与语言研究提供可借鉴的管线,但部署价值仍需真实采集、大候选检索和独立问答验证。这些分数是笔记作者判断,不是会议评分。