把“相机在动”和“东西在动”分开:SDM 结构化动力学
> 副标题:一篇来自 Frozen DINOv2 的“借尸还魂”——不动图像模型,只动两枚小令牌,便把视频里的两种运动拆了个干净 > > 注:题面所给 arXiv:2507.19312 实际指向一篇天体物理论文(LMC 星团);本文所据真实论文为 Knobel、Zisserman、Asano 的《Self-Supervised Learning of Structured Dynamics from Videos》,arXiv:2607.21576(Fundamental AI Lab, UTN 与牛津 VGG)。下文据此展开。
一、核心问题:为什么“相机动”和“东西动”缠在一起是个难题
你端着手机拍一段视频。画面里,行人往前走,可你手一抖,整片街道也跟着平移。请问:帧与帧之间像素的变动,有多少是“人在走”,又有多少是“手在抖”?
这就是视频运动理解的根本困局——帧间变化把两种动力学来源搅在了一起:
- 相机运动(camera motion):你举着相机移动,于是整幅画面“集体位移”;
- 物体运动(object motion):画面里某个东西自己动,是局部的、有语义的。
二、一句话洞见
> 冻结一个预训练的图像 ViT,不去动它;只在它头顶搭一个轻巧的“未来特征预测器”,用两枚循环令牌分别去兜住“主导变化”和“残余变化”——于是相机动与物体动,便在特征空间里自动分了家。
无需端到端重训视频大模型,无需稠密 3D 标注,弱监督即可。
三、通俗类比:大幕在退,演员在走
想象你看一场舞台剧,坐在会平移的摄影车上:
- 主导源(primary)好比是“整块背景大幕在往后退”——这是相机运动带来的、覆盖全场的全局变换。它往往最“显眼”、最“霸道”,一张嘴就占了画面九成变动。
- 残差(residual)好比是“大幕退去之后,台上那个还在自己走位、自己挥手的演员”——这是物体运动,局部、零碎,却恰恰最有“语义趣味”。
四、方法拆解:两枚令牌,两段补偿
SDM 跑在冻结的图像编码器 ℰ(论文用 DINOv2-B/14 + registers,取全部 12 层块特征,投影到 768 维)之上。对任意相邻帧,编码器吐出两张空间特征图 f_{t-1}, f_t。SDM 的目标只有一个:预测下一帧的特征长啥样——自监督的“未来特征预测”。
它分两段顺序补偿:
1. 主要阶段(primary)
- 提取器更新循环令牌:p_t = φ_p(p_{t-1}; f_{t-1}, f_t)
- 预测器拿 p_t 去“搬动”上一帧特征:f'_t = ψ_p(f_{t-1}; p_t)
- 这一步专治“主导变化”(多为相机引起的全局位移)。
- 对比中间预测 f'_t 与目标 f_t 的落差,抽出残余令牌:r_t = φ_r(r_{t-1}; f'_t, f_t)
- 再用 r_t 细化:f''_t = ψ_r(f'_t; r_t)
为何弱监督也能学好?“语义锚点”三板斧
光靠自监督,模型可能随便分工。论文用 Kubric 合成数据打了三枚极轻的“场景级锚”:
- 静态场景(只有相机动):跳过残差段,直接拿 f'_t 监督 → 逼 p_t 独吞全部变化,专学相机运动;
- 静态相机(只有物体动):正则 f'_t ≈ f_{t-1},即“主要段别动”,于是残差段 r_t 被迫兜住物体运动;
- 无标签真实视频(SSv2、DL3DV 等):只用标准预测损失,把合成里学到的分工泛化到杂乱真实世界。
ProbeMotion 测什么?
作者顺手造了个评测套件 ProbeMotion(7 大类任务、77 个子基准),用线性探针(在冻结令牌上训一个单层)去考:
- Kubric(合成,含相机/物体/组合运动)
- DL3DV、CameraBench(真实相机运动)
- Static DAVIS2017、YouTubeVOS(相机静止、物体动)
- SSv2-110k(动作分类,语义运动)
五、实验与结论:轻量模型,逼近重炮
数字说话(MSE 越低越好,Acc 越高越好):
| 方法 | Kubric相机 | Kubric物体 | SSv2-110k |
|---|---|---|---|
| 冻结 CLS | 1.16 | 0.78 | 14.9 |
| 平均池化 | 0.96 | 0.93 | 2.3 |
| DeltaTok(自监督基线) | 0.29 | 0.35 | 13.5 |
| SDM | 0.16 | 0.19 | 23.1 |
| VGGT cam.token(强监督) | 0.03 | 0.43 | 13.5 |
- 碾压朴素基线:SSv2-110k 上比 CLS 高 8.2、比平均池化高 20.8 个百分点,比同为自监督的 DeltaTok 高 9.6 个百分点。
- 物体运动反超强监督:Kubric 物体运动 MSE 比最强监督基线还低 0.13,静态 YouTubeVOS 低 0.04——在“物体动”这件事上,SDM 比十亿级、重标注的 VGGT 还灵。
- 整体逼近:在 77 个子基准里赢了 VGGT 探针 33 个,7 大任务里赢 3 个。
- 时间越长越聪明:上下文从 T=2 拉到 T=7,相机/物体误差持续下降,SSv2 精度一路涨到 23.1。
六、意义与局限
意义有三:① 证明“解耦相机/物体运动”不一定要稠密 3D 标签,弱场景锚 + 自监督足矣;② 给“冻结图像模型能否复用为视频模型”一个漂亮肯定——必要信息早藏在 DINOv2 里,缺的只是一个结构化机制去“唤醒”;③ ProbeMotion 提供了一把量“模型是否真懂物理动力学”的尺子。
局限亦明:① 分解的“语义”靠合成弱标签外锚定,Pith 评阅直言——若撤掉 Kubric 锚,primary/residual 的分工可能塌掉,究竟是“学会”还是“被标进去”仍有疑;② 外推会漂移,长程预测不可靠;③ 真实视频上相机位姿精度仍逊于 VGGT(Kubric 相机 MSE 0.16 vs VGGT 0.03),说明纯几何精度还得靠几何监督。
七、延伸思考:和世界模型、表征学习握手
SDM 最耐人寻味之处,在于它把“运动”当作特征空间里的可迁移算子来学。论文展示了“运动令牌交换”:把一个视频的 p_t 挪到另一个视频的单帧上,目标物体的特征竟顺着那股“推力”挪动——令牌成了与物体无关的变换函数。
这恰是世界模型与潜动作模型梦寐以求的性质:动作/运动是“可组合、可迁移”的,而非某一幕的私有标签。若沿此路,把 primary/residual 这类结构化瓶颈接进视频生成或机器人策略,或许我们离“让模型真正理解画面为何而动”又近了一步。
费曼若在场,大概会拍腿一笑:“别被‘视频’二字唬住。它不过是一连串图像,而图像里早藏着几何。你要做的,只是教它把‘大幕’和‘演员’分开记账罢了。”
(本文数据、公式、架构均据 arXiv:2607.21576 原文及 alphaXiv / Pith 等公开解读整理;个别子基准数字以论文 Table 2 为准,读者若引用请核对原表。)