Building Rome in a day
Sameer AgarwalNoah SnavelyIan SimonSteven M. SeitzRichard Szeliski
Demonstrates a highly parallel structure-from-motion pipeline that reconstructs city-scale 3D models from 150,000 Internet photos in under a day.
Online photo-sharing platforms contain millions of unorganized city images that could theoretically provide detailed 3D digital models of world landmarks, interiors, and cultural artifacts. However, traditional structure from motion algorithms fail at this scale because uncalibrated, crowd-sourced photos exhibit extreme variations in lighting, quality, and viewpoint. Standard pairwise image matching and 3D geometric reconstruction become computational bottlenecks when applied to hundreds of thousands of images, historically limiting automated models to smaller datasets of only a few thousand photos.
The article demonstrates that massive, city-scale 3D reconstructions can be generated rapidly from unstructured public image collections by utilizing a novel parallel and distributed computing architecture.
To evaluate this framework, the authors built an extensible distributed computing engine that processes images across a multi-node compute cluster without relying on shared storage bottlenecks. The approach employs an optimized pipeline consisting of visual feature extraction, vocabulary-tree retrieval to propose likely matching candidates, query expansion rounds to densify connection graphs, and local data-aware scheduling to minimize network traffic. The geometric reconstruction workload is drastically reduced by identifying minimal spanning subsets of essential photographs, known as skeletal sets, followed by a newly developed high-performance bundle adjustment solver that minimizes memory use and computes exact or approximate solutions depending on problem scale. The framework was tested on real-world datasets from Flickr comprising roughly 58,000 images of Dubrovnik, 150,000 images of Rome, and 250,000 images of Venice using up to 496 compute cores.
The experimental evaluation yielded several key findings. First, the system successfully reconstructed city models containing tens of thousands of registered images, processing the 150,000-image Rome dataset in under 21 total hours—effectively reconstructing the city in less than a day. Second, intelligent match proposals combined with skeletal set extraction reduced the necessary matching comparisons from billions of potential pairs down to millions, eliminating over 99% of unproductive pairwise comparisons. Third, the custom sparse bundle adjustment implementation operated up to an order of magnitude faster and required significantly less memory than leading public software. Finally, reconstruction runtime was heavily influenced by scene geometry rather than photograph count alone; Dubrovnik required 16.5 hours of reconstruction despite having only 57,845 images because its intricate, narrow alleys created a single complex connected model, whereas Rome's larger corpus comprised disjoint landmark clusters that solved rapidly.
These results establish that large-scale computer vision tasks can be shifted into cost-effective cloud and cluster environments to produce massive cultural and urban 3D maps within practical operational timelines. By overcoming serialization bottlenecks and memory limits, the framework makes planetary-scale 3D mapping viable without requiring specialized survey aircraft or camera-mounted vehicles. Stakeholders seeking to deploy city-scale photogrammetry pipelines should adopt distributed, windowed scheduling to maximize processor utilization while exploiting dataset redundancy via skeletal set algorithms.
For future development, the authors note that while matching is highly parallelized, geometric reconstruction of large connected components remains a processing bottleneck that requires deeper parallelization. Initial image placement across nodes should also be enhanced by leveraging user metadata, text tags, and location coordinates to better anticipate match affinity. Additionally, transitioning the current batch-processing model into an incremental system that can ingest newly uploaded images over time is recommended before deploying live, continuous city modeling applications.
- Paper: Structure-from-Motion Revisited, Johannes L. Schönberger et al. (2016). Reviewing this comprehensive structure-from-motion pipeline provides the essential algorithmic foundation for incremental multi-image reconstruction used to build city models.
- Paper: Automatic Panoramic Image Stitching using Invariant Features, Matthew A. Brown et al. (2007). Understanding this foundational work on feature-based image matching and bundle adjustment illuminates the core pairwise comparison strategies relied upon at city scale.
- Paper: A volumetric method for building complex models from range images, B. Curless et al. (1996). This volumetric surface integration method establishes the underlying principles for turning aligned depth and range data into seamless 3D models.
- Paper: NeRF in the Wild: Neural Radiance Fields for Unconstrained Photo Collections, Ricardo Martin-Brualla et al. (2021). This work extends traditional multi-view geometry by leveraging neural radiance fields to handle unconstrained internet photo collections with variable lighting and transient objects.
- Paper: 3D Gaussian Splatting for Real-Time Radiance Field Rendering, Bernhard Kerbl et al. (2023). This paper advances large-scale scene rendering by replacing traditional slow representations with real-time 3D Gaussian splatting initialized from calibrated camera points.
- Paper: Pixelwise View Selection for Unstructured Multi-View Stereo, Johannes L. Schönberger et al. (2016). This study builds upon unstructured multi-view stereo techniques to introduce pixelwise view selection priors that enhance reconstruction accuracy and completeness.
