A Construct-Optimize Approach to Sparse View Synthesis without Camera Pose
ACM SIGGRAPH 2024

1 / 3
12 Views
2 / 3
6 Views
3 / 3
3 Views

Abstract

Novel view synthesis from a sparse set of input images is a challenging problem of great practical interest, especially when camera poses are absent or inaccurate. Direct optimization of camera poses and usage of estimated depths in neural radiance field algorithms usually do not produce good results because of the coupling between poses and depths, and inaccuracies in monocular depth estimation. In this paper, we leverage the recent 3D Gaussian splatting method to develop a novel construct-and-optimize method for sparse view synthesis without camera poses. Specifically, we construct a solution progressively by using monocular depth and projecting pixels back into the 3D world. During construction, we optimize the solution by detecting 2D correspondences between training views and the corresponding rendered images. We develop a unified differentiable pipeline for camera registration and adjustment of both camera poses and depths, followed by back-projection. We also introduce a novel notion of an expected surface in Gaussian splatting, which is critical to our optimization. These steps enable a coarse solution, which can then be low-pass filtered and refined using standard optimization methods. We demonstrate results on the Tanks and Temples and Static Hikes datasets with as few as three widely-spaced views, showing significantly better quality than competing methods, including those with approximate camera pose information. Moreover, our results improve with more views and outperform previous InstantNGP and Gaussian Splatting algorithms even when using half the dataset.


Video


Overview

overview

Overview of our method for sparse view synthesis. We first back-project the first view and sequentially register, adjust and back-project the remaining views in sequence to obtain a coarse solution. This coarse solution is then refined by standard optimization to reproduce fine details.


overview

We assume the first k views have already been registered, and illustrate the registration, adjustment and back-projection of the k + 1 view. We first initialize the camera pose of the k + 1 view, denoted as Pk + 1, as the k view’s camera pose. 2D correspondences are detected between ground-truth image Ik + 1 and the rendered result Irender(Pk + 1) at Pk + 1. Correspondence points on Irender(Pk + 1) are denoted as κ, while those on Ik + 1 are denoted as κ. Green points denote correct correspondences, while red points denote wrong correspondences. We can use perspective-n-points (PnP) to solve the camera pose but it results in an erroneous solution. We then apply our optimization pipeline to estimate the camera pose for registration. For now, the monocular depth Dk + 1 of the k + 1 view deviates significantly from the rendered depth Drender(Pk + 1) at Pk + 1. Afterwards, we apply our optimization pipeline to adjust all previous registered camera poses and monocular depths along with Pk + 1 and Dk + 1. It can be seen that Irender(Pk + 1) and Dk + 1 are much close to Ik + 1 and Drender(Pk + 1). Finally, we back-project pixels in the k + 1 view into world space as 3D Gaussians based on Dk + 1.

Results

We show quantitative comparison against pose dependent and independent techiques (indicated appropriately) for sparse view synthesis (3, 6 and 12 input training views, all other views are used for testing).


We illustrate qualitative comparison against pose dependent and independent techiques (indicated appropriately) for sparse view synthesis (3, 6 and 12 input training views).

Citation

@article{COGS2024,
    title={A Construct-Optimize Approach to Sparse View Synthesis without Camera Pose},
    author={Jiang, Kaiwen and Fu, Yang and Varma T, Mukund and Belhe, Yash and Wang, Xiaolong and Su, Hao and Ramamoorthi, Ravi},
    journal={SIGGRAPH},
    year={2024}
}