Conference

SinMPI: Novel View Synthesis from a Single Image with Expanded Multiplane Images

Guo Pu, Peng-Shuai Wang, Zhouhui Lian

Peking University

一句话总结

SinMPI 用一张扩展视角范围的可学习多平面图像(MPI)作为三维场景表示,结合 Stable Diffusion 外扩画面内容、深度感知的 warp-inpaint 生成伪多视角监督,从单张图片合成大视角范围、三维一致的高质量新视角。

研究背景

  • 领域现状:单图新视角合成希望从一张图恢复无限个一致视角。NeRF 类方法(如 SinNeRF)能渲染高质量图像,但连续辐射场需要充足多视角输入,单图优化困难,结果模糊、闪烁;而 MPI(多平面图像)类方法用视锥内的一组平行平面表示场景,效率高、计算量小,AdaMPI 已在真实场景单图 NVS 上达到 SOTA。
  • 核心痛点:传统 MPI 的建模空间被局限在原始相机视锥内,相机稍作旋转/平移就超出视野,边界像素外扩会产生不自然纹理;同时 MPI 渲染常伴随深度离散化伪影与重复纹理伪影。此外,用卷积生成器一次性预测被遮挡几何的做法,质量受训练数据强约束,难以泛化到新场景(如物体中心的合成场景)。
  • 本文 idea:把 MPI 从”预测”改为”可学习参数直接优化”,并用更大的平面在更大的视锥里表示场景,从而显著扩展视角范围;被遮挡内容不靠一次性预测,而是用深度感知的 warp+inpaint 生成伪多视角数据来监督体渲染优化。

方法

整体框架由三个部分串联:连续外扩模块(continuous outpainter)先把参考图向画面外延展补全场景,深度感知修复模块(depth-aware inpainter)推断被遮挡的几何与内容并生成伪多视角数据,最后把所有内容投影进一个扩展的多平面图像并通过体渲染优化。

flowchart LR
  A["单张参考图"] --> B["连续外扩<br/>Stable Diffusion + 深度对齐"]
  B --> C["深度感知 warp + inpaint<br/>生成伪多视角数据"]
  C --> D["扩展 MPI 初始化<br/>按深度分层投影"]
  D --> E["体渲染 + 可训练双边滤波"]
  E --> F["伪多视角监督下优化 MPI"]
  F --> G["大视角范围三维一致新视角"]
  • 连续外扩与深度对齐:用 Stable Diffusion 的 inpainting 模型对参考图做画面外延展,扩大场景内容。为保持深度一致,用 DPT 在外扩前后分别估计深度,并对外扩后的单目深度做线性缩放与平移对齐,使原始区域深度范围不变,得到扩展图 \(I_{exp}\) 及其深度 \(D_{exp}\)。

  • 深度感知修复生成伪多视角:把参考视的像素连同深度当作空间点云,用深度 warp 把原图投到新视点:\(p_j = \hat{K}T(K^{-1}D_i p_i)\),再用画家算法选取离相机最近的点渲染。warp 后出现的空洞用一个基于 Edge-connect 的深度感知修复器补全(先修边、再修深度、最后修图像),并在单张输入上做逐场景微调。微调时把图 warp 到新视点又 warp 回来,用重建损失 \(L_{rec} = \lVert I^{WB}_{inp} - I_{exp} \rVert_1\)、深度损失、以及 VGG 感知损失与 DINO-ViT 特征损失约束一致性,约 100 次迭代即可平衡欠拟合与过拟合。

  • 扩展 MPI 表示与渲染:把内容按深度分割投影到均匀分布的多个平面上,原始视点的点作为真值被冻结。MPI 存 \(P \times H \times W \times 4\) 参数(平面数、平面尺寸、每点的 RGB 与密度)。渲染用体渲染累积:\(I = \sum_{i=1}^{N} T_i (1 - \exp(-\sigma_{d_i}\delta_{d_i})) c_{d_i}\),其中 \(T_i\) 为累积透射率。为扩展视角,用更大的平面配合更大的视锥角 \(\theta\),关系为 \(\frac{w \cdot a}{2f} = \tan(\frac{\theta}{2})\),测试时只对相机视野内的平面做体渲染。

  • 局部光线聚合与优化:伪视角图偏锐利、易有噪点和闪烁,需要 patch 级监督。方法在渲染器后接一个可训练的双边滤波层,按邻域像素的强度差与位置差加权聚合局部光线(高斯核 \(G_{\delta_s}\) 设为可训练卷积权重),平滑图像又不损失质量。最终以像素损失加特征损失优化 MPI:\(L_{MPI} = \lambda_{rec}L_{rec} + \lambda_{per}L_{per} + \lambda_{vit}L_{vit}\)。因为直接优化 MPI 而非训练大规模预测器,每条光线独立优化,收敛更快。

实验结果

在真实前向场景的 LLFF 数据集上与 NeRF 类与 MPI 类方法对比(下表取 Room 与 Flower 两个子集)。SinMPI 在 Room 子集上 SSIM/LPIPS 全面领先,纹理质量优于 AdaMPI;SinNeRF 的 PSNR 更高主要因其模糊/重复纹理对 PSNR 指标有利,而 SinMPI 输出更锐利、更贴合真值。Flower 子集因含约 19% 越界像素,纯 MPI 方法(无外扩时)无法生成越界内容,指标受影响。

方法 Room SSIM↑ Room PSNR↑ Room LPIPS↓ Flower SSIM↑ Flower PSNR↑ Flower LPIPS↓
DS-NeRF 0.65 17.44 0.40 0.41 16.92 0.39
DietNeRF 0.49 15.77 0.75 0.20 13.35 0.75
PixelNeRF 0.41 12.88 0.76 0.19 13.20 0.63
SinNeRF 0.67 18.85 0.38 0.41 17.20 0.37
AdaMPI 0.62 13.45 0.51 0.32 12.70 0.53
本文 0.70 17.20 0.34 0.38 15.57 0.38

此外在 NeRF 合成数据集、DTU 数据集上同样评测,并在 COCO、ADE20K 上做定性对比(这两者无多视角真值)。方法还展示了可结合图像编辑、用不同外扩结果改变场景周边等应用。

亮点与局限

  • 亮点:
    • 用可学习、可优化的扩展 MPI 突破了传统 MPI 局限于原始视锥的建模空间,支持更大范围相机移动与更大旋转角。
    • 把被遮挡内容从”一次性预测”改为”伪多视角监督下体渲染优化”,缓解了深度离散化与重复纹理伪影,纹理质量优于 AdaMPI。
    • 直接优化 MPI 参数而非训练大预测器,逐场景优化、每条光线独立、收敛快;扩展策略可迁移到任意 MPI 方法。
  • 局限:
    • 场景扩展管线计算成本高,目前无法与其他方法整合到同分辨率下合成新视角。
    • 使用外扩图作输入虽更逼真,但因单目深度重估的尺度失配与外扩区域随机性,与真值的匹配分数反而下降。
    • MPI 是漫反射体表示,不建模视角相关效果(如高光),这方面 NeRF 的潜力仍待探索。

延伸思考

  • 方法把”生成式外扩(Stable Diffusion)+ 深度感知几何修复 + 体渲染优化的显式表示”三者拼接,本质是用生成先验补内容、用显式 MPI 保三维一致性,规避了纯生成方法的闪烁问题;这种”生成补全 + 显式表示优化”的思路在如今 3D Gaussian Splatting 时代同样适用,可思考把扩展 MPI 换成可优化的高斯表示能否兼得质量与效率。
  • 定量分数(尤其 PSNR)与视觉质量脱节的现象值得注意:SinNeRF 靠模糊换高 PSNR,说明单图 NVS 的评测更应结合 LPIPS 与感知指标乃至视频层面的三维一致性评估。
  • 外扩带来的深度尺度失配是关键瓶颈,若能让外扩内容与原场景在几何尺度上自洽(而非事后线性对齐),越界区域的合成质量与评测一致性都有望提升。