news 2026/8/14 22:28:40

用一段视频,换出一个可以自由走动的世界

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用一段视频,换出一个可以自由走动的世界

你有没有试过这样的场景:刷到一段朋友随手拍的旅行视频,镜头晃晃悠悠地扫过一座古镇的石板路,你突然特别想知道,如果镜头往左边多拍一点、往前再走十步,会看到什么。可惜视频已经拍完了,那个"如果"永远没有答案。

这听起来是个挺私人的遗憾,但放大到整个行业里,它就是一个价值巨大的技术难题:怎么从一段只拍了一个视角的视频里,凭空"生长"出其他视角的画面?

这个问题不是没人解决过。传统的三维重建技术,比如神经辐射场

**NeRF**:一种用神经网络表示三维场景的技术,输入多个视角的照片,就能学会从任意新视角渲染出逼真画面

和三维高斯泼溅

**3DGS(3D Gaussian Splatting)**:用大量三维空间中的"高斯球"来表示场景,渲染速度比NeRF快很多,是目前主流的三维重建方案之一

一直是这个领域的主力选手。但它们有一个几乎无法绕开的软肋:它们靠"看过的东西"来重建,你给它十张从不同角度拍摄同一个物体的照片,它才能补全出中间那些没拍到的视角。可现实中,大多数人拍视频只会拿着手机往一个方向走,根本不会绕着场景转一圈。用这种"单一路径"的视频去喂给NeRF或3DGS,重建出来的画面往往惨不忍睹,遮挡的地方会出现诡异的空洞和拉伸,稍微换个大角度看,整个场景就"塌"了。

这几年冒出来的生成式方法试图绕开这个坑。既然重建不出来,那就用扩散模型

**扩散模型(Diffusion Model)**:一类通过"从噪声中逐步还原图像"来生成内容的AI模型,是目前图像和视频生成领域的主流技术路线

去"画"出新视角的画面,反正模型见过千千万万张图片和视频,脑子里有足够多的先验知识去猜测没拍到的地方长什么样。这个思路确实让数据依赖大大降低了,但新的麻烦也随之而来:这些方法大多把相机姿态当成一个模糊的"提示词"扔给模型,模型自己去理解这个提示词意味着镜头该往哪转、转多少。这就好比你给一个从没学过精确制图的画家口头描述"往右转45度",他画出来的透视关系八成会走样。当视角变化很小的时候还凑合,一旦是那种大幅度的、跨越式的视角跳跃,也就是论文里说的"大基线"

**大基线(Large-Baseline)**:指源视角和目标视角之间的相机位置、角度差异很大,是新视角生成中难度最高的场景

场景,生成出来的画面就会出现结构扭曲、物体变形这些一眼假的问题。

北京大学和Rabbitpre AI的研究者们,就是冲着这个"大基线"难题去的。他们提出的方法叫UniWorld-View,核心思路挺直白:既然纯生成式方法缺乏精确的几何指导,纯重建方法又扛不住稀疏输入,那就把两者的优点捏在一起,用显式的三维几何信息去"管住"生成模型,让它既有自由发挥的能力,又不会天马行空地瞎画。

视频变身立体世界:点云是怎么来的

要理解UniWorld-View怎么工作,得先搞清楚它第一步在做什么事。

给它一段视频(哪怕只有一张图片也行),系统会先用现成的几何估计模型,去猜测视频里每一帧的深度信息,也就是画面里每个像素点离摄像机有多远。同时它还会估算出拍摄时相机的运动轨迹和内部参数。有了这些信息,就可以把一张平面的照片,重新"撑"成三维空间里的一堆点,这堆点就叫

**点云(Point Cloud)**:由大量三维坐标点组成的集合,用来表示物体或场景的空间形状,是三维视觉里最基础的数据结构之一

有了点云之后,你就可以把摄像机架在任何你想要的新位置,把这堆点重新投影到二维画面上,看看从这个新角度看过去,场景大概长什么样。这个过程叫做渲染。

这里就出现了论文里反复强调的那个大坑:如果你只是简单粗暴地把点云往新视角上一投,结果往往惨不忍睹。

想象你在拍一张人像照片,人站在树前面。如果只是把这张照片对应的深度信息机械地投影到一个侧面视角,本该被人遮住的那部分树干,因为深度信息不够精细,很可能被错误地"拉伸"成人物的一部分,纹理直接糊在一起,前景和背景像被打了个死结一样黏连在了一起。论文里管这个现象叫"前景背景撕裂"。视角变化越大,这种撕裂就越严重,因为原始照片里根本没有记录被遮挡区域到底长什么样,模型只能靠猜,猜错了就是一团糟。

三次投影,把遮挡关系理清楚

面对这个撕裂问题,研究者设计了一个挺巧妙的解法,叫

**三重反投影(Triple-Reprojection)**:通过来回三次投影计算,判断哪些点在目标视角下其实是被遮挡的,从而生成准确的遮挡掩码

具体是怎么操作的?先把原始视频的画面投影到点云上,再把点云渲染到你想要的目标视角,这是第一次投影,得到一张中间画面。接着,把这张中间画面反过来再变成一个点云,再投影回原始视角,这是第二次和第三次投影。整个过程绕了一圈,最后再回到起点。

这一圈绕回来的意义在哪?如果某个像素点经过这么一圈折腾之后,仍然能准确地落回原来的位置,说明这个点是"可靠的",它在目标视角下确实是可见的,没有被遮挡逻辑搞乱。反过来,如果这个点在这一圈折腾里对不上号了,那就说明它在目标视角下的可见性是有问题的,应该被标记为不可靠,不能用来生成条件画面。

这就好比你在一个陌生城市迷路了,想验证某条路线是不是靠谱。你从A点走到B点,再假装完全忘记来时的路,重新按同样的逻辑从B点走回A点,如果你精确地走回了原来的起点,说明这条路径的逻辑是自洽的,可以信任。如果走岔了,说明中间某一步的判断出了问题。三重反投影干的就是这个事:用一个"能不能走回原点"的检验,去筛掉那些看似投影成功、实则逻辑混乱的伪造像素。如果不做这一步检验,模型拿到的几何提示里混杂着大量自相矛盾的信息,前景背景乱粘一团,后续的生成模型只会被这些错误信息带偏,画出更离谱的结果。

除了处理遮挡关系,研究者还注意到另一个问题:点云里有些点其实是"背对"着新相机的,比如一个球体背面朝向观察者的那部分表面,正常情况下你压根不该看到它,但点云投影有时候会把它错误地暴露出来。为了解决这个,团队引入了

**法线(Normal)**:三维表面上垂直于该表面的一条方向向量,用来描述这个点的表面朝向

基于法线的过滤方法:对点云里的每一个点,计算它的表面朝向和相机观察方向之间的夹角,如果这个点的正面根本没有朝向相机,那就直接把它剔除掉,不让它参与最终渲染。这就像你去参观一座雕像,如果雕像的背面正对着你,你不可能透视看到它的正面细节,硬要在渲染里保留这部分信息只会造出一堆凭空捏造的假象。

把遮挡检验和法线过滤这两道工序叠加在一起,就构成了论文的核心创新,叫

**遮挡感知点云渲染(Occlusion-aware Point Cloud Rendering)**:结合三重反投影和法线过滤两种机制,生成没有几何歧义的渲染画面,作为扩散模型的可靠输入条件

这套流程走完之后,得到的渲染画面和有效性掩码,才真正称得上"干净",可以放心交给后面的生成模型去处理。

两条腿走路:几何信息和源视频一起喂给模型

有了干净的几何条件还不够,接下来要解决的是内容生成的问题:怎么让模型根据这些几何提示,画出真实、连贯、和原视频风格一致的画面?

这里研究者选择了一个叫

**VACE**:一个基于WAN2.1-14B大模型微调而来的视频编辑框架,天生擅长处理带掩码的视频编辑任务

的强大视频生成骨架作为基础。VACE本来就很擅长处理"这里有个洞,帮我补上"这类带掩码的编辑任务,这和遮挡感知渲染出来的画面(有些区域可靠、有些区域是空洞)刚好是同一种问题结构,所以顺理成章地拿来复用。

但光有VACE还不够,因为大基线视角合成本身有个天生的矛盾:几何渲染出来的画面空间位置是准的,但内容是残缺的;而原始视频里的内容是完整的、细节丰富的,但它和目标视角在空间上是错位的。这两种信息各有短板,谁也替代不了谁。

为了同时利用好这两种信息,团队设计了一套

**双流条件视频扩散模型(Dual-stream Conditional Video Diffusion Model)**:同时接收点云渲染画面和源视频作为两路独立的条件输入,分别负责空间结构约束和外观细节补充

架构里的其中一条流,负责把点云渲染的画面和掩码,通过VACE自带的Context Blocks送进模型主干,用来死死"钉住"目标视角的空间结构,确保生成结果严格符合指定的相机轨迹,不会跑偏。

另一条流则叫做

**Ref-DiT(Reference-conditioned DiT)**:一种插在扩散模型主干层之间的参考注入模块,通过交叉注意力机制,让生成中的画面向原始视频"借用"外观细节

它的工作方式是让正在生成的目标视角特征当作"提问者",去原始视频的特征里检索相关的外观信息当作"答案",就像你在写一篇报告时,手头虽然只有一份不完全对得上主题的参考资料,但你可以从里面挑出有用的段落,拼凑补充到你真正要写的内容里。

这个设计的价值在哪?如果只依赖点云渲染,那些点云本身固有的伪影和几何复杂区域的纹理退化,会原样传递到最终画面里,画质注定打折扣;如果只依赖原始视频做参考,模型又没法处理空间错位的问题,没法把参考画面"对齐"到目标视角上。两条流各司其职,一个管"往哪画",一个管"画成什么样",缺一不可。这就像装修房子,一个人负责按图纸打好承重结构,另一个人负责按你喜欢的风格挑选装修材料铺进去,两人各管各的,结构不会歪,风格也不会跑偏。

数据从哪来:自监督和真实多视角混着练

训练这样一个模型需要大量数据,理想状态下应该有海量的、同步拍摄的多视角视频,但现实中这种数据集普遍规模小、真实感差、场景种类也不够丰富。

研究者想了一个挺聪明的办法处理这个数据荒问题。对于海量的单目视频(就是普通人随手拍的那种视频),他们复用了前面提到的三重反投影机制,做了一个自监督的数据构造流程:给原视频加上一个随机的视角变换,生成一个带有几何伪影的中间画面,再用逆变换投影回原始视角,这样就人为地"制造"出了一批带有典型大基线渲染缺陷、但又能和原始画面对齐的训练样本。团队从OpenVid-1M数据集里,用这套方法造出了10万对训练样本。

对于静态场景但相机运动范围大的数据(比如DL3DV和RealEstate10K这两个数据集),研究者则用VGGT重建出全局点云和相机姿态,从同一个视频序列里挑两段有重叠内容的片段,一段当输入源,另一段当目标真值,再把源片段的点云投影到目标片段的相机轨迹上,生成对齐的几何条件。这样又造出了10万组静态多视角训练样本。

**VGGT(Visual Geometry Grounded Transformer)**:一种视觉几何基础模型,能够从视频序列同时重建全局点云并估计相机姿态

整个训练分成两个阶段进行,第一阶段专门训练模型处理不完美几何渲染的能力,用动态数据训练Context Blocks,把DiT主干和参考分支都冻结住;第二阶段专门训练Ref-DiT层学会怎么从参考视频里"补细节",这次换成用静态多视角数据训练,把已经训好的Context Blocks和主干都冻结住。这种分阶段、各管一段的训练策略,让模型不至于两个任务互相干扰、学得含糊。

从视频生成到四维重建:给动态场景补全一整个世界

UniWorld-View不光能生成单张新视角画面,它还能做更大的事情:把一段单目视频,变成一整套多视角同步视频,进而重建出一个可以随意穿梭的动态三维场景,也就是

**4DGS(4D Gaussian Splatting)**:在3DGS基础上加入时间维度,用来表示随时间变化的动态三维场景

要做到这一点,第一个难题是动态场景里的前景和背景经常互相遮挡。比如一个人在走廊里走动,人物身后的墙面会被人物本身反复遮挡又露出。研究者的解法是先把前景和背景拆开处理:用图像抠图技术识别出第一帧的前景主体,再用SAM2

**SAM2(Segment Anything Model 2)**:Meta提出的一种通用图像和视频分割模型,能够根据少量提示点,追踪并分割出目标物体在整段视频中的轮廓

把这个前景主体在整段视频里的轮廓都追踪出来,然后用视频修复模型把前景抠掉之后留下的背景空洞给补全,得到一段干净、时序一致的背景视频。

背景补全好了之后,还得给前景和背景分别估计深度,再按掩码把两者拼合成一张完整的深度图。这里有个细节挺值得说一下:背景深度用Stream3R处理,效果稳,但前景动态物体的深度用同一个模型处理时,细节往往不够精细;于是团队又单独用VideoDepthAnything提取更精细的前景深度,再通过一套带动量的对齐算法,把这个精细深度的尺度校正到和背景深度一致的坐标系里。这种"背景求稳、前景求细,再对齐拼合"的思路,处理的正是深度估计里普遍存在的"一个模型顾不好两头"的矛盾。

有了完整的动态点云,接下来要生成多组同步的多视角视频。这里研究者又发现了一个隐藏的坑:如果按照常规思路,让相机视角随着时间推移逐渐偏移(也就是所谓的"渐进式视角生成"),会导致相机的空间移动和时间推移死死绑在一起,最终整个四维空间里各个视角的覆盖密度极不均匀,有的地方拍了很多遍,有的地方几乎没拍到,这对后续的4DGS重建是致命的。

为此团队设计了一个两阶段生成策略。第一阶段,先把动态点云"冻住"在初始时刻,针对预先设定好的一批固定相机位置生成静态新视角画面,这些画面捕捉到的是场景的整体空间结构,充当后续生成的"锚点"。第二阶段,针对每个固定相机位置分别生成一段完整的动态视频,视频的第一帧直接用第一阶段生成的静态锚点画面替换,从而保证背景在各个视角、各个时间点上都是一致的。

对于前景物体的自遮挡问题(比如人转身的时候,背面此前没被看到过),团队采用了一种逐步生成、逐步更新遮挡关系的迭代策略,确保不同视角生成出来的自遮挡区域内容是彼此吻合的,不会出现同一个人物背面在两个视角下长得不一样的荒谬情况。

最后,把原始单目视频和这一整套生成出来的多视角视频合在一起,用来优化最终的4DGS表示,得到一个具备真实几何结构和外观细节的沉浸式动态场景。

实验结果:数字说话

理论讲得再漂亮,最终还是要看效果。研究团队在两套基准上做了系统评测。

第一套是WorldScore基准,用来评估模型在给定初始帧、文本提示和相机轨迹的情况下,生成后续场景的能力。

| 方法 | WorldScore-静态 | 相机控制 | 物体控制 | 内容对齐 | 3D一致性 | 光度一致性 |

|---|---|---|---|---|---|---|

| WorldScape-0.2 | 85.13 | 94.32 | 87.65 | 78.13 | 86.51 | 90.02 |

| World Dreamer | 84.52 | 91.62 | 86.29 | 79.08 | 89.54 | 90.31 |

| EonWorld | 81.08 | 79.51 | 61.00 | 82.12 | **92.76** | 89.18 |

| **UniWorld-View** | **85.53** | **97.72** | **88.98** | **86.61** | 91.63 | **94.11** |

从表里能看出,UniWorld-View拿下了WorldScore-Static的最高分85.53,同时在相机控制、物体控制、内容对齐这三项可控性指标上全部拿到第一,相机控制分数97.72明显甩开第二名好几个百分点。这说明这套遮挡感知渲染加双流条件的组合拳,确实在"让模型精确听懂相机想去哪"这件事上做得更到位。

第二套是零样本新视角合成基准,覆盖了RealEstate10K、CO3D和DL3DV三个不同规模的真实数据集,对比对象是See3D、GEN3C、Uni3C和SEVA这几个近期代表性方法。

| 方法 | RealEstate10K PSNR | CO3D PSNR | DL3DV PSNR |

|---|---|---|---|

| See3D | 16.46 | 16.22 | 13.42 |

| GEN3C | 21.46 | 19.11 | 14.72 |

| Uni3C | 21.54 | 19.03 | 15.41 |

| SEVA | 17.01 | 17.58 | 14.30 |

| **UniWorld-View** | **21.73** | **19.996** | **15.82** |

**PSNR**:峰值信噪比,一种衡量图像重建质量的指标,数值越高说明生成图像和真实图像越接近

三个数据集上UniWorld-View的PSNR和SSIM

**SSIM**:结构相似性指标,衡量两张图像在结构层面的相似程度,同样是数值越高越好

都拿到了最高分,说明它在跨场景、跨数据集的泛化能力上表现稳定。虽然GEN3C和Uni3C在RealEstate10K的LPIPS

**LPIPS**:一种基于深度特征的感知相似度指标,数值越低说明生成图像在人眼感知上和真实图像越接近

上略胜一筹,但综合来看,UniWorld-View在像素精度、结构相似性和感知质量之间取得了更均衡的表现。

从论文展示的定性对比图里也能直观看出差别:面对大视角变化的场景,其他方法普遍出现物体边界扭曲、几何结构不合理、新暴露区域纹理模糊的问题,而UniWorld-View生成的画面在物体轮廓和场景结构上明显更完整、更清晰。这背后正是因为遮挡感知渲染提前把那些会误导模型的模糊投影信息清理掉了,模型拿到的是"干净的地图"而不是"涂改过的地图",自然画得更准。

写在后面

读完这篇论文,最让我印象深刻的其实不是那个双流架构,而是三重反投影这个设计。它解决问题的方式很朴素:不是靠更强的网络去"学会"分辨遮挡,而是靠一个纯几何的、可以精确计算的检验步骤,把不可靠的信息在源头筛掉。这提醒我一件事,很多时候深度学习领域里看似需要"用更大模型硬学"的问题,其实换个角度用传统几何方法预处理一下,反而更干净、更可控。

另一个值得琢磨的细节是那个"冻结初始帧再生成动态视频"的两阶段策略。它解决的其实是一个很容易被忽略的隐藏问题:把空间和时间两个维度绑在一起会导致采样不均匀。这种"先固定一个维度,再处理另一个维度"的思路,在很多多变量优化问题里都值得借鉴,不只是三维视觉。

这篇论文里没有充分展开的一个问题是,当动态前景物体本身发生剧烈形变(比如快速运动的动物、飞溅的液体)时,法线过滤和三重反投影是否还能可靠工作?论文的实验场景大多偏向刚性或半刚性的物体运动,这个方法在极端非刚性变形场景下的表现,可能是个值得继续追问的方向。

Q&A

Q1:UniWorld-View是什么?

A:UniWorld-View是北京大学和Rabbitpre AI团队提出的一个统一框架,专门用来解决从单目视频或图片生成大幅度视角变化的新视角画面的问题,核心是把显式的三维点云几何信息和视频扩散模型结合起来,既能精确控制相机轨迹,又能生成高质量、几何一致的画面。

Q2:UniWorld-View解决了什么核心难题?

A:传统的重建方法(如NeRF、3DGS)在输入视角稀疏、拍摄轨迹单一时会严重退化,而已有的生成式方法虽然降低了数据依赖,但往往把相机姿态当模糊提示处理,缺乏精确的几何约束,导致大幅度视角变化时容易出现物体扭曲、遮挡混乱等问题。UniWorld-View通过遮挡感知点云渲染技术解决了这个矛盾。

Q3:UniWorld-View的效果怎么样,有实际测试数据吗?

A:在WorldScore基准上,UniWorld-View拿到了静态场景生成的最高分85.53,并在相机控制、物体控制、内容对齐三项可控性指标上全部排名第一。在RealEstate10K、CO3D、DL3DV三个真实数据集的零样本新视角合成测试中,它的PSNR和SSIM指标也均超过了See3D、GEN3C、Uni3C、SEVA等对比方法。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/14 22:25:06

腾讯2026年Q2财报:游戏稳健增长,AI投入加码开启新竞争优势

游戏业绩上升,AI投入加大今日(8月12日),腾讯发布2026年第二季度及半年报。财报显示,Q2腾讯营收2047.85亿元,同比增长11%;上半年累计营收4012.43亿元,同比增长10%,归母净利…

作者头像 李华
网站建设 2026/8/14 22:24:44

LLM上下文管理:从信息过载到工程化信息瓶颈设计

1. 从“信息过载”到“信息瓶颈”:一个工程化的视角最近在复盘几个大语言模型(LLM)应用项目时,我反复被一个看似基础、实则决定成败的问题绊住:我们喂给模型的上下文(Context),真的越…

作者头像 李华
网站建设 2026/8/14 22:24:18

G05|外贸孵化是什么意思?和陪跑是一回事吗?

外贸孵化与陪跑:概念辨析与实战选择 在外贸企业寻求外部支持时,“孵化”和“陪跑”是两个高频出现的术语。很多老板会疑惑:它们听起来很像,是不是一回事?今天我们就从行业实践的角度,客观分析两者的核心区别…

作者头像 李华
网站建设 2026/8/14 22:24:12

Spring AI 2.0:Java开发者如何通过一行注入集成GPT/Claude/Gemini

1. 从“拼积木”到“开箱即用”:为什么我们需要一个原生的 Java AI 框架? 如果你在过去一两年里尝试过在 Java 应用里集成 OpenAI 的 GPT 或者 Anthropic 的 Claude,你大概率经历过这样的场景:打开 Maven 中央仓库,搜…

作者头像 李华
网站建设 2026/8/14 22:22:06

【电商核心业务实战】(6) 订单系统历史数据归档方案设计与实现

📚 电商核心业务实战 系列文章目录 (1) 电商项目核心订单系统设计与实现 (2) 电商促销流程设计与实现 (3) 分布式唯一ID 实战 (4) 订单系统读写分离方案设计与实现 (5) 订单系统分库分表方案设计与实现 (6) 订单系统历史数据归档方案设计与实现 (7) 电商项目订单支…

作者头像 李华
网站建设 2026/8/14 22:21:59

【电商核心业务实战】(9) 分布式事务在电商项目中的应用场景分析与实战

📚 电商核心业务实战 系列文章目录 (1) 电商项目核心订单系统设计与实现 (2) 电商促销流程设计与实现 (3) 分布式唯一ID 实战 (4) 订单系统读写分离方案设计与实现 (5) 订单系统分库分表方案设计与实现 (6) 订单系统历史数据归档方案设计与实现 (7) 电商项目订单支…

作者头像 李华