Building Rome in a day

Sameer AgarwalNoah SnavelyIan SimonSteven M. SeitzRichard Szeliski

article2009ICCV2,562 citationsIEEE PAMI Helmholtz Prize

Demonstrates a highly parallel structure-from-motion pipeline that reconstructs city-scale 3D models from 150,000 Internet photos in under a day.

Listen

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 hourseffectively 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.

Cover for Building Rome in a day

Abstract

We present a system that can match and reconstruct 3D scenes from extremely large collections of photographs such as those found by searching for a given city (e.g., Rome) on Internet photo sharing sites. Our system uses a collection of novel parallel distributed matching and reconstruction algorithms, designed to maximize parallelism at each stage in the pipeline and minimize serialization bottlenecks. It is designed to scale gracefully with both the size of the problem and the amount of available computation. We have experimented with a variety of alternative algorithms at each stage of the pipeline and report on which ones work best in a parallel computing environment. Our experimental results demonstrate that it is now possible to reconstruct cities consisting of 150K images in less than a day on a cluster with 500 compute cores.

Table of Contents

  • Education
  • Work Experience
  • Teaching Experience
  • Professional Activities
  • Journal Articles
  • Refereed Conference Papers
  • Book Chapters
  • Unrefereed Articles

Knowls

  1. Knowl 1 — Curriculum Vitae and Research Profile of Sameer Agarwal

    data/table

    The document presents the Curriculum Vitae and academic record of computer vision and optimization researcher Sameer Agarwal:

    • Education: Ph.D. in Computer Science and Engineering from the University of California, San Diego (2000–2006; Dissertation: Learning from Higher Order Relations, advised by Serge Belongie); M.Sc. in Mathematics and Scientific Computing from the Indian Institute of Technology Kanpur (1995–2000).
    • Academic and Industry Appointments: Software Engineer at Google Inc. (2010–present); Affiliate Professor (2011–present), Acting Assistant Professor (2009), and Postdoctoral Research Associate (2006–2009) at the University of Washington Department of Computer Science and Engineering.
    • Major Honors and Awards: IEEE PAMI Mark Everingham Prize (ICCV 2023) for Ceres Solver; IEEE PAMI Helmholtz Prize (ICCV 2019) for Building Rome in a Day; David Marr Prize Honorable Mention (ICCV 2007) for Globally Convergent Algorithms for Affine and Metric Upgrades in Stratified Autocalibration; Fast Breaking Paper award (2004) for the NSGA-II algorithm (IEEE Transactions on Evolutionary Computation, 2002).
    • Key Research Topics: Large-scale 3D computer vision and bundle adjustment, algebraic and global optimization methods for multiview geometry, camera autocalibration, and multi-objective evolutionary algorithms.

Coverage note — The document is a Curriculum Vitae listing biographical, professional, and bibliographic records rather than a technical research paper presenting original scientific models, proofs, or experimental datasets.

Citation

MLA
Agarwal, S., et al. “Building Rome in a Day”. Communications of the ACM, vol. 54, no. 10, 2011, pp. 105–12, https://doi.org/10.1145/2001269.2001293.
APA
Agarwal, S., Furukawa, Y., Snavely, N., Simon, I., Curless, B., Seitz, S. M., & Szeliski, R. (2011). Building Rome in a day. Communications of the ACM, 54(10), 105–112. https://doi.org/10.1145/2001269.2001293
Chicago
Agarwal, S., Y. Furukawa, N. Snavely, et al. 2011. “Building Rome in a Day”. Communications of the ACM 54 (10): 105–12. https://doi.org/10.1145/2001269.2001293.
Harvard
Agarwal, S. et al. (2011) “Building Rome in a day”, Communications of the ACM, 54(10), pp. 105–112. Available at: https://doi.org/10.1145/2001269.2001293.
Vancouver
1. Agarwal S, Furukawa Y, Snavely N, Simon I, Curless B, Seitz SM, Szeliski R (2011) Building Rome in a day. Communications of the ACM 54:105–112

BibTeX

@article{Agarwal_2011, title={Building Rome in a day}, volume={54}, ISSN={1557-7317}, url={http://dx.doi.org/10.1145/2001269.2001293}, DOI={10.1145/2001269.2001293}, number={10}, journal={Communications of the ACM}, publisher={Association for Computing Machinery (ACM)}, author={Agarwal, Sameer and Furukawa, Yasutaka and Snavely, Noah and Simon, Ian and Curless, Brian and Seitz, Steven M. and Szeliski, Richard}, year={2011}, month=Oct, pages={105–112} }
Metadata:Crossref

Source Code

This paper has an official code repository available. Click below to access the source code.

View Repository

Access the Paper

This paper is available from its original source. Click below to access the PDF.

Open PDF

License: IEEE