AnyRecon:基于视频扩散模型的任意视角稀疏三维重建 AnyRecon: Arbitrary-View 3D Reconstruction with Video Diffusion Model
用视频扩散模型实现任意稀疏视角输入的大规模三维重建。
前置知识
稀疏视角三维重建 (Sparse-View 3D Reconstruction)
从有限数量(通常2-5张)、视角跨度大且不规则的RGB图像出发,恢复场景的三维几何与外观的逆问题。与密集多视角(>50张)不同,稀疏情形下未观测区域占比极高,使得传统基于SfM+MVS或NeRF的优化方法因约束不足而陷入局部极小,必须借助生成先验来幻觉未观测部分。
本文核心场景就是稀疏视角(论文中N∈[2,4])。如果不理解稀疏重建为何病态、为何需要扩散先验,就无法体会作者提出global scene memory + geometry memory双重机制的动机。
视频扩散模型与Wan2.1-I2V-14B
用扩散模型对视频潜码做迭代去噪的生成架构。Wan2.1-I2V-14B是阿里开源的14B参数图像到视频扩散Transformer,采用3D-VAE对时空潜码做×4×8×8压缩,并通过DiT风格的时空注意力建模帧间依赖。本文以此为骨干并用LoRA(rank=32)微调。
AnyRecon的方法几乎都围绕修改Wan的压缩和注意力展开(去时序压缩、引入sparse attention、加入global memory)。读不懂Wan原始结构就难以评估这些改动的影响。
3D Gaussian Splatting (3DGS) 与前馈点云估计 (π3, VGGT)
3DGS用一组可学习的高斯椭球作为显式三维表示,通过可微分光栅化渲染RGB与深度。π3/VGGT是近年来兴起的前馈式点云重建模型,输入多张RGB图像,一次性输出每像素对应的三维点,无需SfM+BA的迭代优化,推理速度可达秒级,适合作为AnyRecon的初始几何先验。
AnyRecon用π3/VGGT作为初始几何记忆$\mathcal{M}_\text{geo}$的构建器,并在每个segment生成后再次调用π3更新$\mathcal{M}_\text{geo}$。理解这一前馈几何管道是看懂closed-loop generation-reconstruction的前提。
DMD2 蒸馏与4步扩散采样
DMD2把多步扩散模型蒸馏到4步。通过critic $x_\phi$与frozen teacher $x_\psi$构造generator loss,使student的生成分布匹配teacher的真实分布,本文中teacher与critic交替更新以稳定训练。
蒸馏是AnyRecon把单段推理从1820秒降到90秒的关键技术(20×加速)。要理解4步采样的噪声轨迹$T_\text{steps}=\{1000,750,500,250,0\}$和为什么需要critic才能稳定训练,必须先懂DMD2。
上下文窗口稀疏注意力 (Context-Window Sparse Attention)
稀疏注意力把DiT视频生成器中每个查询的KV视野限制到局部窗口(前8帧+后8帧+几何贡献视图),将$O(L^2)$复杂度降到近似线性。本文以$2\times 8\times 8$block-sparse形式实现,在mask内保留关键几何上下文。
稀疏注意力与去时序压缩、全局内存共同构成AnyRecon的效率三角。它是把任意长度(>200帧)长轨迹放进扩散模型成为可能的核心工程手段。
研究动机
三维重建的两条主流路线都难以处理任意稀疏且无序的真实输入。一方面,NeRF[14]与3DGS[8]等非生成方法需要密集多视角(通常>50张)在受控采集下才能获得视觉保真度,对手持拍摄或网络视频这类稀疏不规则数据要么过拟合、要么大块失真;另一方面,基于扩散模型的生成式重建虽然能在不充分观测下幻觉出新视角,但现有方法存在两类共性缺陷:(1)像Difix3D+[23]、ReconFusion[24]这类基于图像扩散的方案缺乏跨视角一致性,需要昂贵的迭代精修(>1000秒/段),且只在稀疏3DGS渲染基础上做局部修补;(2)像Uni3C[2]、ViewCrafter[29]、CAT3D[16]等基于视频扩散的方法大多只条件化于1-2张RGB图(首末帧)叠加粗粒度点云投影,导致几何一致性弱、外观保真度低、对不规则采样敏感。表格1显示ViewCrafter在DL3DV上PSNR仅15.86、Uni3C仅16.33,远低于任何实用门槛。更进一步,即便把任意稀疏输入硬塞进传统视频扩散也会遇到两个根本障碍:输入视角可能大跨度过长导致Wan默认的3D-VAE时序压缩失效(大基线打破时序平滑假设,产生特征纠缠),而单次前向也装不下动辄上百帧的长轨迹。
本文的目标是本文目标很明确:设计一个AnyRecon框架,从真正任意且无序的稀疏RGB输入出发,生成高质量、几何一致、可扩展到长轨迹与大规模场景的三维重建。具体而言,作者希望同时实现三件事:(a)支持任意数量(理论上无上限)的参考视角作为条件;(b)保持显式的几何控制(不是隐式学习)以获得像素级姿态对齐;(c)能在200帧以上的长轨迹上高效运行(单段推理控制在百秒级)。在定量层面,作者的目标是在DL3DV-Evaluation和Tanks and Temples两个基准的Interpolation/Extrapolation两种配置下同时刷新PSNR/SSIM/LPIPS三项指标的SOTA,并把推理时间压缩到Difix3D+的1/10以下。
与已有工作不同的是,本文的独特切入角度是把生成与重建做成一个闭合的几何回路。现有工作要么把扩散当作伪GT生成器单向辅助重建(ReconFusion、Difix3D+),要么把扩散当作独立视角合成器再做下游融合(ViewCrafter、Uni3C),两者都没有让生成的输出反哺几何表征本身。AnyRecon的核心观察是:大场景必须按segment串行生成,而每个segment的几何条件器(点云memory $\mathcal{M}_\text{geo}$)必须实时更新——上一段的输出被π3反投影回3D并merge进$\mathcal{M}_\text{geo}$,再用更新后的memory去条件化下一段。这种3D Geometry Memory + 几何驱动检索的闭环既解决了任意输入问题(用global memory容纳任意数量的conditioning view),又解决了长轨迹一致性问题(几何反投影避免漂移),还通过4步蒸馏+稀疏注意力解决了效率问题,形成了一个与现有方法根本不同的设计哲学。
核心方法
AnyRecon的整体思路可以概括为前馈几何打底+视频扩散补全+迭代几何回流的三段式流水线。第一步,用前馈点云估计器(π3或VGGT)从输入的任意稀疏RGB图像$I_\text{cap}$一次性建立初始3D Geometry Memory $\mathcal{M}_\text{geo}$,这是一个全局一致的点云(论文中表示为$\mathcal{M}_\text{geo}$)。第二步,沿用户指定的novel trajectory $V_\text{novel}$分segment生成新视角:对每个segment,先按几何驱动检索从$I_\text{cap}$中选出对该segment可见度最高的top-k张参考图$I_\text{sel}$,再用$\mathcal{M}_\text{geo}$在$V_\text{novel}$下做点云投影得到$I_\text{render}$与visibility mask $M_t$,三者一起送入无序上下文视频扩散(unordered contextual video diffusion)生成新视角$\hat{I}_\text{novel}$。第三步,把新生成的$\hat{I}_\text{novel}$用π3反投影回3D、合并入$\mathcal{M}_\text{geo}$,再用更新后的$\mathcal{M}_\text{geo}$驱动下一segment,从而形成几何条件化生成→生成回流几何的闭合回路。技术上的核心杠杆是:用global scene memory机制把任意数量的$I_\text{sel}$放到视频序列开头作为不压缩的persistent KV缓存;用非压缩潜码(2D-VAE per-frame)规避Wan默认3D-VAE的时序纠缠;用上下文窗口稀疏注意力把$O(L^2)$降到近似线性;用DMD2蒸馏把50步采样压到4步。最终让一段40帧的512×896视频只需105秒,且在DL3DV interpolation上把PSNR从最强基线ViewCrafter的15.86、Uni3C的16.33、Difix3D+的17.88拉到20.95。
AnyRecon的核心创新可以浓缩为三点。第一,引入Global Scene Memory:与Uni3C/ViewCrafter把conditioning view和target view平铺成单一序列不同,AnyRecon把所有$I_\text{sel}$前置为不压缩的persistent KV cache,模型在生成新视角时通过cross-attention任意查询这个缓存,从而支持任意数量的参考视角且不依赖输入的时序顺序——这在原理层面解决了无序稀疏输入的根本难题。第二,Non-Compressive Latent Encoding:直接弃用Wan默认的3D-VAE时序压缩(只保留首帧不压缩、后续帧×4压缩),改用per-frame 2D VAE,保证每个latent token与一个像素坐标一一对应,从根源上消除大基线下特征纠缠导致的细节糊化(Fig.3c/d vs e的金属网格对比)。第三,3D Geometry Memory的显式更新与几何驱动检索:每段生成后用π3把新视角反投影回3D并merge入$\mathcal{M}_\text{geo}$,再用更新后的$\mathcal{M}_\text{geo}$渲染visibility index map来量化每个$I_\text{cap}$对该segment的几何贡献$s_i=|\mathcal{V}_\text{novel}\cap S_i|/|\mathcal{V}_\text{novel}|$,据此选出top-k作为$I_\text{sel}$——这种基于谁真正在3D上支撑了这个视角的检索,比FOV或image-similarity方法更能剔除被遮挡的无关视角(Fig.5黄框视角被显式排除)。这三个创新共同把任意输入、长轨迹、高效三个看似矛盾的目标在统一框架下同时满足。
方法步骤详情
完整方法流程可以拆为六个阶段。第一阶段是Initial Geometry Construction:把所有输入RGB图像$I_\text{cap}=\{(I_i,P_i)\}$连同相机位姿一起送入π3或VGGT前馈重建,得到统一坐标下的稠密点云$\mathcal{M}_\text{geo}$。第二阶段是Novel Trajectory Preprocessing:把用户指定的novel trajectory $V_\text{novel}$切成多个小segment以适配显存;对每个segment,先用$\mathcal{M}_\text{geo}$在$V_\text{novel}$下渲染点云投影$I_\text{render}$和visibility mask $M_t$,后者逐像素标记该点来自哪个$I_\text{cap}$。第三阶段是Geometry-Driven View Selection:对每个候选$I_\text{cap}$,用公式$s_i=|\mathcal{V}_\text{novel}\cap S_i|/|\mathcal{V}_\text{novel}|$计算几何贡献分$S_i$是$\mathcal{M}_\text{geo}$中由$I_i$重建出的子集,$\mathcal{V}_\text{novel}$是从target viewpoint可见的点集,选取top-k作为$I_\text{sel}$。第四阶段是Unordered Contextual Video Diffusion:把$I_\text{sel}$前置到序列开头并保留原始分辨率作为global KV cache,把$I_\text{render}$和$M_t$沿通道维concat到target noisy latents上,然后用Context-Window Sparse Attention的Wan2.1-I2V-14B+LoRA(rank=32)生成$\hat{I}_\text{novel}$。注意力配置为$2\times 8\times 8$ block-sparse,每个target帧只attend到前8帧+后8帧+I_sel中的几何相关子集。第五阶段是4-Step Diffusion Sampling:用DMD2把50步Wan蒸馏到4步,噪声轨迹$T_\text{steps}=\{1000,750,500,250,0\}$,generator loss $\mathcal{L}_\text{gen}=\mathbb{E}\|x_\theta(z_t)-\text{sg}(x_\psi(z_t)-x_\phi(z_t))\|_2^2$让student的denoised预测匹配teacher的真分布方向,critic loss $\mathcal{L}_\text{critic}=\mathbb{E}\|x_\phi(z_t)-x_\text{clean}\|_2^2$训练critic做score估计,二者交替更新。第六阶段是3D Geometry Memory Update:把生成的$\hat{I}_\text{novel}$用π3反投影回3D,与既有$\mathcal{M}_\text{geo}$合并,得到$\mathcal{M}_\text{geo}^{(t+1)}$,作为下一segment的检索/渲染/生成基础。训练数据来自DL3DV-10K,每40帧一段,从中随机选N∈[2,4]张(50%从前20帧选,50%从整段选)做conditioning,512×896分辨率;训练分三阶段:10万步full self-attention、1万步sparse-attention warm-up、3万步DMD2蒸馏,64张A800,AdamW学习率$1\times 10^{-4}$(前两阶段)/$1\times 10^{-5}$(蒸馏)。
技术新颖性
技术新颖性可以归纳为四点。第一,把global scene memory这一来自LLM长上下文处理的思路首次移植到视频扩散,并通过前置$I_\text{sel}$+persistent KV的设计巧妙绕开了传统视频模型对时序顺序的依赖——这是处理任意稀疏输入在原理层面的突破,而不是像Uni3C那样只能接1-2张参考图。第二,显式放弃3D-VAE时序压缩是一种反直觉的设计选择(主流都认为压缩提升效率),但作者用Fig.3c/d vs e和Table 2(PSNR从21.10/20.16提升到21.57)给出了清晰证据:大基线下压缩假设本身就是错的,per-frame 2D VAE反而是更鲁棒的设计——这为后续高保真稀疏视角生成研究提供了一个重要的反共识基线。第三,Geometry-Driven View Selection把哪些参考视角有用这个问题从外观相似度/FOV启发式提升到了3D空间贡献度,公式$s_i=|\mathcal{V}_\text{novel}\cap S_i|/|\mathcal{V}_\text{novel}|$简洁但有力,直接利用$\mathcal{M}_\text{geo}$的几何信息做可微检索,这是把检索与重建两个本不相干的研究方向第一次在生成式3D中耦合。第四,三阶段训练(full self-attn→sparse-attn warm-up→DMD2)揭示了一个重要经验:稀疏注意力的引入必须在蒸馏前完成warm-up,否则直接对稀疏模型做DMD2会因critic不稳定而崩溃,作者把这一工程细节明确写在implementation里,对社区复现有直接价值。
实验结果
实验在DL3DV-Evaluation(10 scenes)和Tanks and Temples(5 scenes)两个基准的Interpolation(给1/21/40帧)和Extrapolation(给1/11/21/31帧)两种配置下进行,核心发现可分四层。第一层是总体SOTA:在DL3DV Interpolation上,AnyRecon取得PSNR 20.95/SSIM 0.656/LPIPS 0.151,显著优于Difix3D+(17.88/0.551/0.290)、ViewCrafter(15.86/0.463/0.394)、Uni3C(16.33/0.471/0.319);在Extrapolation上同样领先(21.16/0.660/0.158 vs Difix3D+ 18.74/0.576/0.261);Tanks and Temples上也保持一致优势(20.37/0.639/0.158 vs 最佳基线Difix3D+ 19.43/0.629/0.163)。第二层是效率突破:在512×896×40帧规模下,AnyRecon仅需105秒,Difix3D+需1200秒(约11×加速),ViewCrafter需170秒,Uni3C需340秒,意味着AnyRecon在不损失质量的前提下实现了与最强基线相比的10×速度提升。第三层是消融(Table 2):时序压缩从full TC→partial TC→w/o TC,PSNR从20.16→21.10→21.57单调提升,验证了去压缩的必要性;50步→4步蒸馏后PSNR仅掉0.24(21.57→21.32)但推理从1820秒降到140秒;进一步加sparse attention降到90秒(20×加速),PSNR仍达20.95,与最强基线相比仍领先3+ dB,说明效率-质量的trade-off极佳。第四层是global memory ablation(Table 3):去掉global scene memory只保留$I_\text{render}$做条件,PSNR从20.95掉到20.18、LPIPS从0.151恶化到0.205,且Fig.8显示餐具细节丢失、背景墙出现色偏,说明raw RGB参考对恢复高频纹理不可或缺。综合看,AnyRecon在质量-效率-可扩展性三维坐标上都同时刷新SOTA,且每个改进都有对应的可视化证据(Fig.6/7的定性对比与Fig.3的逐项消融)。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| DL3DV Interpolation (稀疏视角补全) | PSNR ↑ / SSIM ↑ / LPIPS ↓ | 20.95 / 0.656 / 0.151 | Difix3D+ 17.88/0.551/0.290, ViewCrafter 15.86/0.463/0.394, Uni3C 16.33/0.471/0.319 | PSNR较最佳基线Difix3D+提升+3.07 dB(相对+17%),LPIPS改善近一半(0.151 vs 0.290) |
| DL3DV Extrapolation (长程外推) | PSNR ↑ / SSIM ↑ / LPIPS ↓ | 21.16 / 0.660 / 0.158 | Difix3D+ 18.74/0.576/0.261, ViewCrafter 15.51/0.459/0.406, Uni3C 15.69/0.457/0.344 | PSNR较Difix3D+提升+2.42 dB,SSIM提升+0.084,LPIPS改善近40% |
| Tanks and Temples Interpolation | PSNR ↑ / SSIM ↑ / LPIPS ↓ | 20.37 / 0.639 / 0.158 | Difix3D+ 19.43/0.629/0.163, ViewCrafter 15.85/0.474/0.364, Uni3C 16.77/0.514/0.263 | PSNR较Difix3D+提升+0.94 dB,在更高密度的T&T上仍保持优势说明方法泛化性强 |
| Tanks and Temples Extrapolation | PSNR ↑ / SSIM ↑ / LPIPS ↓ | 20.30 / 0.629 / 0.181 | Difix3D+ 18.67/0.594/0.190, ViewCrafter 15.83/0.481/0.361, Uni3C 16.54/0.502/0.274 | PSNR较Difix3D+提升+1.63 dB,LPIPS改善近50% |
| 推理效率 (40帧×512×896) | Time (s) ↓ | 105s | Difix3D+ 1200s, Uni3C 340s, ViewCrafter 170s, 原始50步w/o TC 1820+s | 相对Difix3D+加速11×,相对原始未蒸馏未稀疏版本加速17× |
| 时序压缩消融 (DL3DV Interpolation, 50步) | PSNR ↑ / SSIM ↑ / LPIPS ↓ | w/o TC: 21.57 / 0.687 / 0.140 | Full TC 20.16/0.616/0.179, Partial TC 21.10/0.661/0.153 | 相对Full TC PSNR提升+1.41 dB,验证去时序压缩假设的必要性 |
| Global Scene Memory消融 | PSNR ↑ / LPIPS ↓ | w/ Global Memory: 20.95 / 0.151 | w/o Global Memory: 20.18 / 0.205 | PSNR +0.77 dB,LPIPS改善26%,证明raw RGB参考对纹理恢复不可或缺 |
局限与改进
作者在Limitation小节坦诚指出,AnyRecon的性能对3D Geometry Memory $\mathcal{M}_\text{geo}$的质量有较强依赖:在极端情况下,如果输入视角之间重叠极少(minimal view overlap),π3前馈重建的初始$\mathcal{M}_\text{geo}$本身就失败,后续的$I_\text{render}$与$M_t$都失去可靠的几何锚点,扩散模型的guidance退化为凭空生成,从而出现次优帧。这一限制对应到现实场景中就是超稀疏且无共同可见区域的极端长基线采集,例如不同时间段从室内外分别拍的两组照片。作者的封闭回路设计在常规稀疏重建上鲁棒,但对病态初始化没有显式的检测/回退机制。从我的观察看,论文还存在三点隐含局限:(1)训练数据仅用DL3DV-10K,虽然有outdoor+indoor混合,但在医学、工业CT等结构化场景的迁移性未验证;(2)单segment推理仍需105秒,对实时交互(<30秒)仍有距离;(3)稀疏注意力的窗口大小(8+8)是固定超参,没有对不同场景动态调整,在跨segment切换时可能引入不连续的边界效应,作者在Fig.4中通过geometry memory update缓解但未完全解决。
独立分析的弱点
独立分析本文有三个值得改进的弱点。第一,初始几何$\mathcal{M}_\text{geo}$对π3/VGGT的强依赖是单点故障:当前pipeline假设前馈重建总是能给出基本结构一致的点云,但在低纹理、镜面反射、动态物体丰富的场景下,π3会产生大尺度伪影,这些伪影会被$I_\text{render}$原样放大,导致扩散模型在错误的几何骨架上做完美幻觉。改进方向是引入一个轻量级的几何置信度评估模块,对低置信度区域自动降权$M_t$或回退到纯global memory条件。第二,sparse attention的$2\times 8\times 8$窗口是经验值,缺乏自适应机制:在剧烈相机运动段(如Fig.1底部Large Scene的Frame 120→160),相邻8帧的像素重叠可能极低,sparse attention的有效感受野反而小于full attention;但在缓动段,8帧窗口又过于保守、浪费了可用上下文。改进方向是基于光流估计动态调整每个segment的窗口大小,或引入跨segment的隐状态传递(long-range KV compression)替代固定窗口。第三,DMD2蒸馏虽然在DL3DV上有4步105秒的极佳表现,但蒸馏数据完全来自DL3DV,向Tanks and Temples的迁移仍依赖原数据集做少量refine;若要在新场景(如文物扫描)直接部署,需要重做蒸馏数据采样,改进方向是用online self-distillation在测试场景上做轻量适配(几百步LoRA微调即可)。
未来方向
作者明确提出了超稀疏/无重叠这一未来方向(对应Limitation),我的进一步展望包括四条路径。第一,把AnyRecon扩展到4D动态场景重建:目前的$\mathcal{M}_\text{geo}$是静态点云,如果用4D Gaussian或dynamic point map作为memory,理论上可以支持任意时刻+任意视角的视频重建,与CAT4D等动态生成模型结合。第二,把global scene memory机制推广到更一般的long-context video generation(不限3D),特别是多镜头电影生成、可控叙事视频——这一思想对视频编辑/扩展有直接借鉴价值。第三,与LLM/VLM结合做交互式3D编辑:用户用自然语言指定把这把椅子换成沙发,AnyRecon可以用global memory检索相关区域、修改$I_\text{render}$后重新生成,实现语言驱动的3D编辑。第四,作者提出的geometry-driven retrieval本质上是一种3D空间检索,可以独立发展成一个通用模块——给定任意3D场景和target query,自动返回空间贡献最高的top-k视角,这对智能机器人/AR的主动感知(where to look next)有应用价值。
复现评估
复现评估整体偏难但可行。算法层面,论文给出了完整的技术细节:骨干是Wan2.1-I2V-14B(开源可商用),LoRA rank=32的训练配置、AdamW学习率$1\times 10^{-4}$→$1\times 10^{-5}$的切换、64张A800的硬件规模、三阶段训练步数(100k+10k+30k)都明确披露。数据集方面,DL3DV-10K(训练)和DL3DV-Evaluation/Tanks and Temples(测试)均为公开数据集,可在HuggingFace和TUM官网下载。代码方面,作者主页https://yutian10.github.io/AnyRecon/2026承诺发布代码与模型权重,但截至本文写作时尚未确认开源时间,因此实际复现需要自行实现π3/VGGT接入、context-window sparse attention、DMD2 distillation等模块,工程量约2-3人月。算力门槛是最大障碍:64张A800的满负荷训练即使每次实验只需3-5天,也意味着任何消融实验都要付出数十万元算力成本;推理端则亲民得多,单卡A800(80GB)即可运行4步采样的105秒/段流程。综合看,论文的可复现性良好(细节充分、数据公开),但完整训练仍受限于算力门槛,适合有大型GPU集群的实验室跟进。
论文图表
三行展示三种典型场景:顶部Interpolation(在首末视角之间填补大基线空缺)、中部Extrapolation(在已观测范围之外合成新内容)、底部Large Scene(在长轨迹上保持跨200帧以上的一致性)。每行最左侧是相机可视化(红色为稀疏输入位姿,蓝色为密集生成路径),右侧四个时间步的帧展示对应视角下的渲染效果。
这是teaser图,直观展示AnyRecon能同时处理interpolation、extrapolation、large scene三类场景,定性证据比表格更有冲击力,适合放在motivation章节引出任意稀疏输入的挑战。