A Recipe for Generating 3D Worlds From a Single Image
Katja Schwarz, Denys Rozumnyi, Samuel Rota Bulò, Lorenzo Porzi, Peter Kontschieder
TL;DR
This work tackles generating immersive 3D worlds from a single image by decomposing the task into two tractable subproblems: panorama synthesis and depth-based lifting with occlusion filling, followed by 3D reconstruction. It introduces a training-free panorama generation pipeline leveraging in-context learning with a ControlNet-enabled inpainting model, and lifts views to metric 3D using monocular depth estimators, supplemented by a fine-tuned, point-cloud-conditioned inpainting step. The core contributions are (i) a panorama-first approach with prompt-driven coherence, (ii) a robust point-cloud-conditioned inpainting strategy including forward-backward warping, and (iii) a 3D Gaussian Splats (3DGS) reconstruction with a learnable distortion module, collectively outperforming state-of-the-art video-based methods on multiple quality metrics. This yields VR-ready, navigable 3D environments from a single image with minimal training, though limitations remain in scene scale, backside completion, and end-to-end speed.
Abstract
We introduce a recipe for generating immersive 3D worlds from a single image by framing the task as an in-context learning problem for 2D inpainting models. This approach requires minimal training and uses existing generative models. Our process involves two steps: generating coherent panoramas using a pre-trained diffusion model and lifting these into 3D with a metric depth estimator. We then fill unobserved regions by conditioning the inpainting model on rendered point clouds, requiring minimal fine-tuning. Tested on both synthetic and real images, our method produces high-quality 3D environments suitable for VR display. By explicitly modeling the 3D structure of the generated environment from the start, our approach consistently outperforms state-of-the-art, video synthesis-based methods along multiple quantitative image quality metrics. Project Page: https://katjaschwarz.github.io/worlds/
