如果有一项技术能从你的手机视频中提取出世界的3D结构,像人眼一样感知景深,你会用它做什么?上海AI实验室联合浙大、悉尼大学,最近放了一个大招:Depth Any Video。这个模型直接在Stable Video Diffusion上「开刀」,并靠着从游戏世界收集来的600万帧高质量深度数据,实现了视频深度估计的时空一致性全面飞跃。效果拉满,看了演示gif保
Depth Any Video的第一个突破点,在于它怎么搞到海量且高质量的视频深度数据。论文团队给出的方案非常巧妙:直接从现代游戏引擎里「捞」。思路很简单:现代3A大作(比如《城市:天际线II》、《侠盗猎车手V》)的渲染管线里本身就有一个深度缓冲区(depth buffer),GPU在渲染每个像素时顺带就计算出了该点与虚拟相机的距离。通过ReShade插件,研究人员可以直接「劫持」这个深度缓冲区的数据,并用OBS(Open Broadcaster Software)同步录制游戏画面和对应的深度图。这里有个细节需要注意:如果直接录屏,游戏界面上的UI元素(比如血量条、地图)也会被录进去,导致画面与深度图对不上。为了解决这个问题,团队利用ReShade插件自带的UI消除功能去掉了屏幕上的文字和界面元素,然后在后期又做了多重过滤,包括:通过场景剪切检测算法基于颜色突变来识别场景切换、再用一个预训练的深度模型过滤掉那些分数低的不正确帧、最后用CLIP模型比较画面与彩色化后的深度图之间的语义相似度,只有三项指标都达标才被保留。经过这套自动化流水线,团队最终拿到了40,000段每段5秒(30fps)的干净视频,累计600万帧,取名为DA-V数据集。相比之前的合成数据集(如Sintel只有1.6K帧,DynamicReplica有169K帧),DA-V在规模上直接降维打击,且覆盖了丰富光照、动态物体和室内外场景。 下图为论文中Table 1,展示了DA-V数据集的规模与先前的合成数据对比。 表1:本文的DA-V数据集与之前合成数据集的规模对比,DA-V以600万帧的数据量遥遥领先,且同时覆盖室内外与动态场景。
方法概述:生成式框架
有了海量数据作为燃料,接下来要解决的就是模型本身怎么设计。Depth Any Video选择站在巨人肩上,以Stable Video Diffusion(SVD)作为基础骨架。SVD本身是一个强大的视频生成模型,基于Latent Diffusion Model架构,编码了数亿视频里的时空先验。整个框架的整体设计思路如下:首先,记输入的RGB视频为xc、对应的真实深度图为xd。训练阶段,通过预训练的VAE编码器将xc和xd分别映射到潜空间,得到zc和zd。然后对zd逐步施加高斯噪声,并训练一个去噪网络 vθ 来还原原始潜变量。该去噪网络是以zc为条件来预测的,相当于让模型学会在看到彩色视频的前提下,从纯噪声中还原出对应的深度潜变量。推理时,只需对所有帧的潜变量从纯噪声开始做几步降噪,然后经过VAE解码器就得到了最终的深度图。为了提升效率和灵活性,论文做了两项关键改动:
论文在四个广泛使用的零样本深度估计基准(NYUv2、KITTI、ETH3D、ScanNet)上进行了定量评估,所有结果均为零样本(即测试时不做任何域适应)。评价指标包括绝对相对误差(AbsRel)和δ1精度(预测深度与真值误差小于1.25%的像素比例)。对于视频深度,还引入了时序对齐误差(TAE)来衡量帧间一致性。在单帧输入的对比中(Table 2),Depth Any Video全面超越了所有之前的生成式深度模型,包括Marigold、DepthFM、GeoWizard。例如在ETH3D上,AbsRel从6.4降到4.7,提升超过25%;在KITTI上相比GeoWizard的δ1提升了3个百分点。甚至在一些基准上与顶级判别式模型Depth Anything不相上下,尤其在KITTI和ETH3D上反而更优。这充分证明了大规模高质量合成数据(DA-V)的威力。表2:与SOTA方法在单帧输入下的零样本比较,Depth Any Video在全部4个数据集上均优于所有生成式方法。在视频深度对比中(Table 3),模型在ScanNet++上以AbsRel 9.3和δ1 93.4击败了专门的视频深度模型NVDS、ChronoDepth、DepthCrafter,同时TAE(时序误差)也达到最低的2.1,说明不仅单帧准,帧间也稳。表3:在ScanNet++上的视频深度评估,Depth Any Video在空间精度和时序一致性上均取得最佳。在推理效率上(Table 4),模型仅用3步去噪,推理时间仅0.37秒(480×640分辨率),参数量1422.8M,在ScanNet上δ1达到96.1%,远远快于DepthCrafter的4.80秒,也优于ChronoDepth的1.04秒。表4:推理效率与精度对比,Depth Any Video以最少步数、最短耗时达到最高精度。定性结果(Figure 4和5)更直观。图4显示模型能捕捉到精细细节,比如ETH3D数据集中的梯子、KITTI中与背景相似颜色的人物头部。在视频上(Figure 5),与其他方法相比,Depth Any Video几乎没有帧间闪烁,而Marigold和ChronoDepth在时间轴上呈现明显的锯齿状波动,DepthCrafter虽然平滑一些,但在窗口边界仍有闪烁。关键帧+插值的策略成功消除了这些伪影。图4:与其他生成式方法在单帧上的定性对比,Depth Any Video能捕捉更多细节(如小物体和边缘)。图5:在多种in-the-wild视频上的定性比较。红色竖线处的切片显示深度随时间的变化,Depth Any Video曲线平滑,而其他方法有明显锯齿。动物视频剪辑深度估计:在复杂动态场景中仍能保持稳定的深度层次。消融实验(Table 5)验证了每个组件的必要性:去掉生成式先验(不使用SVD预训练)后平均δ1从95.8%骤降至65.1%;去掉条件流匹配后用EDM,推理时间从0.37秒增加到2.4秒,精度也下降;去掉合成数据后精度也有明显下降。此外,图6展示了超参数的影响:流匹配仅需3步就达到饱和,而EDM需要25步;训练仅需5个epoch就能快速收敛,说明生成式先验提供了极好的初始化。表5:逐一消融各组件。生成式先验(SVD预训练)贡献最大,条件流匹配既提升速度也提升精度,合成数据也带来稳定增益。图6:超参数消融实验。(a)CFM只需3步即可达到EDM 25步的性能;(b)训练收敛极快,5个epoch就有不错结果;(c)合成数据规模增大,精度稳步提升。
总结与未来展望
Depth Any Video这篇工作可以说为视频深度估计指明了一个新方向:用海量合成数据+强大的生成式先验来彻底解决数据稀缺和一致性两大难题。DA-V数据集的构建方法也证明了,只要找到合适的管道(游戏引擎+自动化过滤),合成数据的规模和多样性可以远超想象,而且对真实场景的泛化效果令人惊叹。当然,目前模型还存在一些局限:推理时需要3个去噪步和20次集成的设置(为了达到最佳精度),虽然比同类方法快,但在实时场景(如机器人控制)中仍有压力;深度插值模块虽然能做长视频,但流程相对复杂;此外,模型目前只输出相对深度(需要后处理对齐到绝对尺度),对于自动驾驶等需要绝对尺度的应用还差临门一脚。未来可以考虑引入对法线估计、边缘导向的监督来进一步提升细节精度。总体来看,这是一篇非常扎实的工程+算法结合的工作,尤其是数据管道的设计和生成式框架的迁移思路,值得很多计算机视觉任务借鉴。
龙迷三问
下面是龙哥对于大家可能的一些问题的解答:
这篇论文解决什么问题?它解决了视频深度估计中数据稀缺和时序不一致两大痛点。通过从游戏中大规模采集合成深度视频(DA-V数据集,600万帧),并基于Stable Video Diffusion构建生成式框架,首次在零样本设定下实现了同时兼顾单帧精度和视频时序一致性,效果远超此前所有生成式方法。
[1] Yang, H., Huang, D., Yin, W., et al. Depth Any Video with Scalable Synthetic Data. arXiv:2410.10815, 2024.[2] Blattmann, A., et al. Stable Video Diffusion: Scaling latent video diffusion models to large datasets. arXiv:2311.15127, 2023.[3] Lipman, Y., et al. Flow matching for generative modeling. ICLR 2023.[4] Ke, B., et al. Marigold: Repurposing diffusion-based image generators for monocular depth estimation. CVPR 2024.
说真的,看完Depth Any Video的演示gif,有没有一种“世界在我眼底变得透明”的感觉?想亲手试试跑一下自己的视频吗?快来群里一起讨论吧,搞不好你下一段自驾游视频就能一键3D化!欢迎加入龙哥读论文粉丝群,扫描下方二维码或者添加龙哥助手微信号加群:kangjinlonghelper。一定要备注:研究方向+地点+学校/公司+昵称(如 图像处理+上海+清华+龙哥),根据格式备注,可更快被通过且邀请进群。🚀