RI3D: Few-Shot Gaussian Splatting With Repair and Inpainting Diffusion Priors¶
论文信息¶
- 会议: ICCV 2025
- arXiv: 2503.10860
- 作者: Avinash Paliwal, Xilong Zhou, Wei Ye, Jinhui Xiong, Rakesh Ranjan, Nima Khademi Kalantari
- 机构: Texas A&M University, Meta Reality Labs, Max Planck Institute for Informatics
- 代码: 项目主页
- 领域: 3D视觉 / 稀疏视图合成
- 关键词: 3D Gaussian Splatting, 扩散模型先验, 稀疏视图重建, inpainting, few-shot
一句话总结¶
提出 RI3D,将稀疏视图合成分解为"修复可见区域"和"补全缺失区域"两个子任务,引入两个个性化扩散模型(repair + inpainting)配合两阶段优化策略,在极端稀疏输入下实现高质量 3DGS 重建。
研究背景与动机¶
问题定义¶
稀疏视图(如仅3张图片)的新视角合成是一个极具挑战性的任务。现有方法面临两大核心问题:
可见区域过拟合:仅靠少量输入图像约束优化,导致新视角渲染出现严重伪影
缺失区域无法恢复:被遮挡或未覆盖的区域通常只能产生模糊或暗淡的结果
现有方法局限¶
- 正则化方法(DNGaussian、FSGS、CoR-GS 等):通过深度监督、稠密化策略等正则约束优化,但在极端稀疏设置下仍无法有效幻想缺失区域的细节
- 扩散模型方法(ReconFusion、CAT3D):训练视图合成扩散模型来生成新视角,但生成结果缺乏 3D 一致性,导致优化后的结果过度模糊;且基于 NeRF 表征,渲染速度慢
核心创新思路¶
关键洞察:将视图合成过程解耦为两个独立子任务——修复可见区域和补全缺失区域,分别用专门的扩散模型来处理,避免单一模型难以同时兼顾两个目标。
方法详解¶
整体框架¶
RI3D 包含三个核心环节: 1. 高质量深度初始化:融合 DUSt3R 和单目深度获取逐视图深度图 2. 两个个性化扩散模型:repair 模型修复渲染伪影,inpainting 模型填补缺失区域 3. 两阶段优化:第一阶段重建可见区域,第二阶段补全缺失区域
1. 3D Gaussian 初始化¶
核心思想是融合 DUSt3R 深度(3D 一致但平滑)和单目深度(细节丰富但相对且不一致)的互补优势:
- 第一项:在 DUSt3R 高置信区域 \(\mathbf{M}\) 保持深度值的一致性
- 第二项:在全图范围保持单目深度的梯度(边缘细节),\(\lambda=10\)
- 类似泊松融合(Poisson Blending),但在所有区域施加梯度约束
- 通过稀疏矩阵求解器高效计算,并应用双边滤波锐化边界
- 最终每个像素分配一个 Gaussian,投射到 3D 空间
2. Repair 扩散模型¶
- 基于预训练 ControlNet 微调
- 训练数据生成:Leave-one-out 策略——构建 \(N\) 个子集(每个去掉一张图),训练 \(N\) 个 3DGS,先优化6000步后引入被排除图再优化至10000步
- 生成渐进精化的"损坏图像"(corruption)-"干净图像"对
- 在目标场景上微调1800步实现场景个性化
3. Inpainting 扩散模型¶
- 基于 Stable Diffusion Inpainting 模型
- 在输入图像上通过随机 masking 生成大量输入-输出对进行微调(类似 RealFill)
- 微调2000步实现场景个性化
- 两个模型均在 512×512 分辨率上操作
4. 两阶段优化¶
第一阶段:重建可见区域 $\(\mathcal{L}_{\text{stage1}} = \sum_{i=1}^{N} \mathcal{L}_{\text{rec}}(\hat{\mathbf{I}}_i^{\text{ref}}, \mathbf{I}_i^{\text{ref}}) + \sum_{j=1}^{M} \lambda_j \mathbf{M}_j^{\alpha} \mathcal{L}_{\text{rec}}(\hat{\mathbf{I}}_j^{\text{nov}}, \mathbf{G}_j^{\text{nov}}) + \sum_{j=1}^{M} \|\mathbf{A}_j \odot (1-\mathbf{M}_j^{\alpha}) \odot \mathbf{M}_j^{b}\|_1\)$
- 第一项:输入视角的重建损失(L1 + SSIM + LPIPS + 深度相关性)
- 第二项:\(M\) 个新视角利用 repair 模型生成伪真值监督,仅在可见区域(\(\mathbf{M}^{\alpha}\))施加
- 第三项:鼓励缺失区域的 opacity 趋近于零,避免在缺失区域放置可见 Gaussians
- 每400步刷新一次 repair 结果,共优化4000步
第二阶段:补全缺失区域 $\(\mathcal{L}_{\text{stage2}} = \sum_{i=1}^{N} \mathcal{L}_{\text{rec}}(\hat{\mathbf{I}}_i^{\text{ref}}, \mathbf{I}_i^{\text{ref}}) + \sum_{j=1}^{M} \lambda_j \mathcal{L}_{\text{rec}}(\hat{\mathbf{I}}_j^{\text{nov}}, \mathbf{G}_j^{\text{nov}}) + \sum_{k=1}^{K} (1-\mathbf{M}_k^{\alpha}) \odot \mathbf{M}_k^{b} \odot L_p(\hat{\mathbf{I}}_k^{\text{nov}}, \hat{\mathbf{L}}_k^{\text{nov}})\)$
- 选择 \(K<M\) 个不重叠的新视角进行 inpainting,避免独立补全重叠内容导致不一致
- 将补全区域通过单目深度投影到 3D 空间(使用公式2融合深度范围)
- 第三项约束渲染结果与 inpainting 结果在缺失区域的一致性
- 每200步执行一轮 inpainting + repair,迭代至所有缺失区域填充完成,共优化4000步
实验关键数据¶
主实验:Mip-NeRF 360 数据集¶
| 方法 | 3-view PSNR↑ | 3-view SSIM↑ | 3-view LPIPS↓ | 9-view PSNR↑ | 9-view LPIPS↓ |
|---|---|---|---|---|---|
| DNGaussian | 12.02 | 0.226 | 0.665 | 12.97 | 0.637 |
| FSGS | 13.14 | 0.288 | 0.578 | 16.00 | 0.470 |
| CoR-GS | 13.51 | 0.314 | 0.633 | 15.48 | 0.574 |
| ReconFusion | 15.50 | 0.358 | 0.585 | 18.19 | 0.511 |
| CAT3D | 16.62 | 0.377 | 0.515 | 18.67 | 0.460 |
| RI3D (Ours) | 15.74 | 0.342 | 0.505 | 17.48 | 0.415 |
- RI3D 在 LPIPS 指标上全面最优,表明生成纹理细节最丰富
- PSNR/SSIM 略低于 ReconFusion 和 CAT3D,因为后两者缺失区域模糊反而有利于像素级指标
消融实验:3-view Mip-NeRF 360¶
| 配置 | PSNR↑ | SSIM↑ | LPIPS↓ |
|---|---|---|---|
| w/o 深度增强 | 15.61 | 0.336 | 0.513 |
| 单阶段(仅 repair) | 14.92 | 0.309 | 0.527 |
| w/o 微调 inpainting | 15.64 | 0.341 | 0.508 |
| RI3D(完整) | 15.74 | 0.342 | 0.505 |
关键发现¶
- 深度融合至关重要:去掉深度增强后 LPIPS 从 0.505 → 0.513,DUSt3R 在低置信区域的深度不准确导致浮动伪影
- 两阶段优化必要性:单阶段仅用 repair 模型 PSNR 下降约 0.8,LPIPS 下降 0.022,因为 repair 模型不擅长幻想高质量缺失区域纹理
- 个性化微调提升一致性:未微调 inpainting 模型虽能生成好看纹理,但可能与周围场景风格不匹配(如灰色植物、叶子状地面)
- 在 CO3D 数据集上也取得了最优 LPIPS 分数,尤其在 9-view 设置下优于 ReconFusion
亮点与洞察¶
- 任务分解设计:将稀疏视图合成的难点分解为两个独立子任务,各用专门的扩散模型处理,比单一模型"全能"方案更有效
- 深度融合策略:Poisson blending 式融合 DUSt3R + 单目深度的方法非常优雅,兼顾 3D 一致性和细节
- 个性化扩散模型:在目标场景上微调扩散模型(repair 1800步、inpainting 2000步),确保生成结果与场景风格一致
- 快速渲染:采用 3DGS 而非 NeRF 作为 3D 表征,兼顾质量和效率
局限性¶
- 强依赖 DUSt3R 的深度质量,当 DUSt3R 深度严重不准确时会产生鬼影伪影
- 无法处理单图输入场景(leave-one-out 策略至少需要2张图)
- 微调两个扩散模型增加计算成本
- 训练需要多 GPU(Stage 2 需两块 A5000)
相关工作与启发¶
- vs ReconFusion/CAT3D:RI3D 的核心改进是将"修复"和"补全"解耦,而非用单一扩散模型做视图合成
- vs GaussianObject:借鉴了其 ControlNet 修复策略,但从物体扩展到场景级别
- 深度融合:类似 Poisson Image Editing 思想,未来可以用更好的 MVS 方法替代 DUSt3R
- 启发:任务分解 + 专门模型的范式具有广泛迁移价值,适用于其他稀疏输入的 3D 重建问题
评分 ⭐⭐⭐⭐¶
方法设计精巧,深度融合和两阶段优化策略有独创性,LPIPS 指标全面领先,实验充分。但对 DUSt3R 的依赖和多 GPU 需求是实际使用的瓶颈。