
这项由浙江大学、上海交通大学、阿里巴巴通义实验室和复旦大学联合开展的研究,以预印本形式于2026年5月28日发布在arXiv平台,编号为arXiv:2605.30060。对视频理解和三维重建感兴趣的读者,可通过该编号检索完整论文。
**普通人为什么要关心这篇论文?**
手机拍视频是日常,但你有没有想过,AI能不能像人眼一样,从一段普通视频里"看出"场景里每个点离摄像机有多远,以及每个表面朝向哪个方向?这种能力,用行话说叫"视频几何估计",它是让机器人看懂世界、让自动驾驶汽车安全行驶、让AR眼镜虚实融合的底层能力。
问题在于,要做好这件事,既要"看得准"(每一帧的深度和形状都正确),又要"看得稳"(前后帧之间不能乱跳,就像人眼不会每眨一次眼就把世界看成另一个样子)。现有的方法要么只能离线处理整段视频,要么只能实时处理但质量下降,没有一个模型能同时兼顾两种场景。这篇论文提出的ViGeo,就是要填补这个空缺。
---
一、视频里的"立体感"到底从哪里来
当你盯着一张照片看时,你的大脑会根据透视、光影、物体大小等线索推断远近。AI做同样的事情,但它没有大脑,只有数学和训练数据。研究人员把这个任务拆成三个子目标:深度图(每个像素点离摄像机多远)、法线图(每个表面朝哪个方向,类似于一张描述斜坡角度的地图),以及点云(把每个像素在三维空间中的实际坐标列出来,拼出一个立体世界)。
这三件事,ViGeo用同一个模型一次性完成。不需要三个独立程序,也不需要人工在中间干预。研究团队用一个核心比喻来理解整个设计思路:把视频处理想象成一条流水线上的"装配车间"。视频帧是原材料,依次送入车间,车间里的工人(模型的各层网络)先各自处理自己负责的帧,再互相交流、协调,最后输出三类几何产品。关键问题是:这条流水线,应该是"看完所有材料再开始生产",还是"来一批材料就立刻处理一批"?
---
二、流水线的核心设计:动态分块注意力
现有方法面临一个根本性的矛盾。离线方法(如VGGT、Pi3)一次性读入整段视频,前后帧都能互相参考,信息最全,但要等视频全部到位才能开始,处理长视频时内存会撑爆;在线方法(如CUT3R、Stream3R)只看已经到达的帧,实时性好,但信息不完整,精度下降。更大的麻烦是,为了离线或在线分别设计的模型,需要分别训练,两者之间不能复用。
ViGeo的解决方案叫做"动态分块注意力"。用装配车间的比喻来理解:这条流水线把视频帧分成若干"批次"送入车间。**同一批次内的帧**可以互相自由交流(双向注意力),就像同一组工人可以互相商量;**不同批次之间**,只有后到的批次可以参考前面批次的结果,反过来不行(单向因果注意力),就像后一班工人可以看前一班留下的记录,但不能回去改前一班的决定。
这套规则用一个统一的数学公式表达:对于帧i(问询者)和帧j(被参考者),只有当j所在的批次不晚于i所在的批次时,i才能参考j的信息,否则直接屏蔽。通过调整"批次大小",这同一套规则就能变出三种不同的工作模式。当整个视频是一个批次时,所有帧互相自由交流,就是离线全序列模式;当每一帧单独成一个批次时,每帧只能参考之前的帧,就是实时流式模式;当批次大小介于两者之间时,就是兼顾质量与实时性的"分块处理"模式。
最关键的一点是:训练时,研究团队让模型同时经历这三种批次大小的场景,而不是只训练一种。这样,等到实际使用时,同一个已经训练好的模型,只需要在输入前声明"今天按哪种批次大小来",就能无缝切换,完全不需要重新训练。这在工程上的意义非常大——一套模型,到处通用。
分块处理模式还天然支持一种叫做KV缓存的技术。简单说,就像车间工人把前面批次的工作摘要写在小本子上,下一批次的工人直接查笔记,不用重新翻看所有原始材料。这样,处理几百帧的超长视频时,内存不会随着视频长度无限增长,而是保持在一个可控范围内。
---
三、训练数据的"精修":从稀疏噪声到密集标注
光有好的网络结构还不够,训练数据的质量同样决定上限。现实中,给AI提供"地面真值深度"的常见方式有两种:激光雷达扫描和运动重建(SfM)。激光雷达的数据像一场稀疏的雨——打在场景上的点密度有限,大片区域没有读数,而且遮挡处、反射表面处容易出现噪点和飞点(孤立在空中的错误点);SfM重建的数据则存在尺度不确定的问题,只知道相对远近,不知道绝对距离。
直接用这种"残缺且带噪"的数据训练,AI学到的几何感也会是残缺且不稳定的。以往的改进方案大多依赖单帧深度估计网络来补全缺失区域,但这样做的天花板被单帧网络的精度所限制——本身就不准确的单帧网络,用来补数据,补出来的结果同样存在系统性偏差。
ViGeo团队提出了一套不同的思路:与其用单帧网络来补,不如专门训练一个"视频深度补全教师网络",让它同时利用多帧之间的视角关系和时间上的连贯性来补全稀疏数据。这个教师网络的工作流程分两步。
第一步是逐帧的"体检筛查"。每一帧的原始深度读数先经过一个几何一致性检验(来自MoGe-2的球面对齐准则),把那些与周围读数严重不一致的孤立噪点标记出来,过滤掉,留下相对可靠的稀疏点。
第二步是多帧协同补全。稀疏可靠点单独无法还原完整场景,于是先用泊松重建方法生成一个"粗密深度"——这一步的原理类似于用已知几个点的坡度来猜测整个坡面的形状,可以填满大部分空洞,但在遮挡边缘和物体边界处容易出现"飞点"(像是在空气里飘着的碎片)。教师网络把原始RGB图像和这张粗密深度图一起吃进去,同时参考视频中前后帧的信息,输出一张精细、密集、时间上连贯的深度伪标签。这张伪标签替代原来的原始读数,成为ViGeo正式训练时的监督信号。
整个"原始数据→过滤→粗密先验→视频补全→伪标签"的流程可以批量运行在各类公开数据集上,形成一个可扩展的数据引擎,而不依赖任何特定的封闭数据源。
---
四、模型结构与训练细节
ViGeo的骨干网络是ViT-G,这是一种非常通用的视觉Transformer,参数量约12.6亿,与对比方法VGGT处于同一量级。网络的早期层负责在单帧内提取视觉特征,中后期层交替运行帧内注意力(精细化每帧自身的空间细节)和动态分块注意力(跨帧协调时间信息)。提取出的时空特征随后送入一个5层的解码器,再分别经过三个独立的卷积头,输出点云、深度和法线。深度是直接从点云中读取z坐标得到的,而非独立预测,这保证了深度和点云在几何上的天然一致性。
训练分两个阶段。第一阶段以固定分辨率(像素预算约11万像素)训练5万步,帮助模型建立基础几何感;第二阶段以可变分辨率(像素预算在11万到27万之间随机采样)精调20万步,让模型适应不同拍摄条件下的宽高比和分辨率。骨干网络的初始权重来自Depth Anything 3(DA3),相当于在一个已经具备良好深度感的基础上继续精化,而不是从随机初始化开始。整个训练过程在48块英伟达H20 GPU上运行,历时约20天。
训练数据来自23个公开数据集,涵盖室内、室外、驾驶、物体和野外五大场景,包含17个合成数据集(如Hypersim、TartanAir、MatrixCity等)和6个真实数据集(如Waymo、ARKitScenes、ScanNet++、DL3DV等)。其中只有经过确认具有度量尺度的数据集才用来训练绝对尺度的度量头,法线监督则只使用质量最高的合成数据集,这种分类使用的策略避免了低质量标注污染特定预测目标。
损失函数由三部分构成。主损失是点云损失,用预测点云与真值点云之间的L1距离来衡量,并且用深度值做归一化,让远处误差和近处误差得到相对公平的对待;尺度模糊性通过ROE求解器自动估计一个全局缩放因子来处理。法线损失则用预测法线与真值法线之间的角度差(反余弦距离)来衡量,有两个:一个直接监督法线预测头的输出,另一个则把从点云中解析计算出的法线拿来与真值对比,让点云预测本身也被迫保持局部表面的几何一致性。
---
五、实验结果:数字说明了什么
研究团队在多个公开基准上做了系统评测,涵盖视频深度估计、长视频深度估计、视频点云估计、法线估计和单帧深度估计五个维度,用到Sintel(合成影视场景)、Bonn(室内动态场景)、KITTI(自动驾驶场景)、HAMMER(高质量真实场景)和NYUv2(室内RGB-D)等数据集。
在视频深度估计上,ViGeo的离线模式在Sintel、Bonn、KITTI三个数据集上均达到最佳或第二的表现,绝对相对误差(Rel,越低越好)在Sintel上从前一最佳的0.281降至0.229,降幅约18%。更值得关注的是,ViGeo的在线流式模式,虽然只看已到达的帧,其Bonn上的误差(0.050)已经与多个离线方法持平甚至更优。换句话说,"实时版"的ViGeo,在质量上不逊于需要看完全部视频才能给出答案的竞争对手。
在长视频深度估计上,VGGT、StreamVGGT、Stream3R等方法在处理300至400帧的序列时全部因内存不足而崩溃,而ViGeo通过分块加KV缓存机制从容应对,并且在所有三个数据集上均达到最佳精度。以HAMMER数据集为例,ViGeo的Rel误差为0.019,而排名第二的GeometryCrafter为0.054,差距显著。
在视频点云估计上,ViGeo同样全面领先,Sintel上的点云相对误差(Relp)从前一最佳的0.257降至0.219,KITTI上从0.073降至0.050。
在法线估计上,ViGeo在HAMMER数据集上取得最低的均值和中位角误差,在NYUv2单帧基准上更是在所有指标上均排名第一,尽管ViGeo是作为视频几何模型设计的,并非专门针对单张图片的法线估计。
在推理效率上,ViGeo与VGGT参数量相同(均约12.6亿),处理速度接近(10.00 FPS对10.96 FPS),但ViGeo在全注意力模式下能处理700至800张图片,而VGGT仅能处理200至250张——同样的内存,ViGeo能放进去的帧数是VGGT的三倍多。
---
六、消融实验:每个设计真的有用吗
为了验证动态分块注意力的价值,研究团队训练了三个版本:只用全序列双向注意力、只用单向因果注意力、以及动态分块注意力(也就是ViGeo的正式设计)。结果表明,全双向注意力在离线模式下表现最好,但切换到在线模式时性能大幅下滑,在KITTI上Rel误差从0.047跳升至0.169,几乎翻了四倍——这正是因为训练时从未见过"只能看前面帧"的场景,突然换到这种场景时措手不及。纯因果注意力则相反,在线模式尚可,但离线模式下因为无法充分利用后续帧的信息而表现偏弱。动态分块注意力在两种模式下都保持了稳定且接近最优的表现,是真正意义上的"一模两用"。
数据精修框架的作用同样经过了对照实验。用原始传感器读数训练的模型,与用精修伪标签训练的模型相比,后者在Sintel上的Rel误差从0.301降至0.294,在多数指标上均有提升。提升幅度看似不大,但考虑到只改变了监督信号而没有改变任何网络结构,这部分收益完全来自数据质量的提升,说明精修框架是有效且独立的贡献。
---
七、研究的边界与未来方向
研究团队在讨论部分诚实地指出了两个尚未突破的挑战。其一是高分辨率输入的计算代价,尤其对于长序列,高分辨率会让计算量进一步放大;其二是更显式的四维表示,也就是同时建模空间和时间中运动物体的形状变化,ViGeo目前的点云是逐帧估计的,并没有在时间维度上显式追踪同一个物体的形变。这两个方向留待后续研究探索。
---
归根结底,ViGeo做了一件看似矛盾的事情:用一个模型、一次训练,同时满足了"看得稳"和"算得快"这两个过去被认为相互对立的需求。核心在于动态分块注意力这个简洁的设计——不是为离线和在线分别开一条生产线,而是设计一条能随时切换节奏的流水线,训练时让它同时练习快节奏和慢节奏,上线时按需切换。配合视频深度补全教师网络产生的高质量伪标签,ViGeo在五个维度的基准测试上都达到了当前最好的水平。
对于普通人来说,这项研究意味着未来的手机相机、自动驾驶系统或者AR设备,有可能只需要一个轻量化的ViGeo式模型,就能实时理解视频中的立体世界,而不需要昂贵的激光雷达传感器。对于研究者来说,动态分块注意力提供了一种值得借鉴的思路:与其为不同场景设计不同架构,不如在训练阶段主动暴露更丰富的上下文模式,让模型在推理时自然泛化。
有兴趣深入了解技术细节的读者,可通过arXiv编号2605.30060检索完整论文,或访问项目页面 pkqbajng.github.io/ViGeo/ 查看演示视频和点云可视化。
---
Q&A
Q1:ViGeo和普通的深度估计模型有什么本质区别?
A:普通深度估计模型每次只处理一张图,前后帧之间没有联系,所以视频里会出现深度值跳来跳去的"闪烁"问题。ViGeo是专门针对视频设计的,它让多帧之间互相"参考",保证了时间上的连贯性,同时还能同时输出深度、法线和三维点云三类几何信息,是一个统一的几何感知模型。
Q2:动态分块注意力为什么能让一个模型同时支持离线和实时两种模式?
A:传统方法离线和实时分别训练、分别部署。动态分块注意力的做法是训练时同时使用"大批次(等于全序列)"和"小批次(每帧独立)"以及中间大小的批次,让模型在训练阶段就见过所有这些信息访问模式。推理时只需要声明批次大小,模型就能无缝切换,不需要重新训练,本质上是让模型学会了"按需调整信息范围"的能力。
Q3:ViGeo的训练数据是如何解决激光雷达数据稀疏问题的?
A:研究团队专门训练了一个"视频深度补全教师网络"。这个教师网络先过滤掉激光雷达数据中的明显噪点,再用泊松重建方法生成粗密的深度先验,最后结合视频中前后帧的信息,把稀疏、带噪的原始读数补全成密集、时间连贯的伪标签,再用这些伪标签去训练ViGeo,绕开了单帧深度网络的精度上限。
好文章,需要你的鼓励
本文介绍了弗莱堡大学等机构提出的3D-SC框架,通过引入三维基础模型的几何先验,无需人工标注即可解决AI图像匹配中的左右混淆和重复部件分不清的问题。
这项来自诺基亚贝尔实验室与巴黎理工学院的研究提出了In-Writing框架,让大语言模型先自由推理、再套用格式约束,准确率最高提升27%。
KAIST与MIT研究发现,RLHF对齐训练存在"对齐篡改"漏洞:当AI生成的偏见回答与高质量回答相关联时,对齐流程会反向放大偏见,现有缓解方法均未能有效解决这一结构性缺陷。
这项研究提出Skill0.5框架,通过区分通用技能(内化进参数)和特定技能(动态外置使用),配合难度感知路由和反走捷径机制,显著提升AI智能体在未见新任务上的泛化表现。