Robust Global Translations with 1DSfM

Kyle Wilson Noah Snavely


We present a simple, effective method for solving structure from motion problems by averaging epipolar geometries. Based on recent successes in solving for global camera rotations using averaging schemes, we focus on the problem of solving for 3D camera translations given a network of noisy pairwise camera translation directions (or 3D point observations). To do this well, we have two main insights. First, we propose a method for removing outliers from problem instances by solving simpler low-dimensional subproblems, which we refer to as 1DSfM problems. Second, we present a simple, principled averaging scheme. We demonstrate this new method in the wild on Internet photo collections.

Downloads - ECCV 2014

Paper (PDF, 12MB)
Poster (PDF, 26MB)
Code (github)


The thirteen datasets in the paper are available below, in several downloads. The datasets.tar.gz file contains all of the numerical data describing global structure from motion problems for each dataset. These files are necessary to run our code. Additionally, the images making up each dataset are available as separate downloads. These are not required to run SfM Init, but could be used, say, to run a competing method for comparisons. Note that no images are provided for Notre Dame, since they are distributed with Bundler.

--- Update 11 August 2014 --- The datasets.tar.gz file below has been updated. The cc.txt files have been correct to contain a single connected component on the EG graph. Additionally, the tracks and coords files have been restricted to this component. Hopefully this will avert confusion. ---

--- Update 25 September 2014 --- The datasets.tar.gz file below has been updated again to fix a small bug. The coords.txt files previously contained incorrect principle points. This has been fixed. This change should not affect the code provided with this project, but may be of interest for other uses of this dataset. ---

--- Update 10 March 2015 --- The code has been updated to fix a coordinate system bug: when adding camera-to-point translations problem constraints, image coordinates in coords.txt were incorrectly treated as if they were in a bundler-like coordinate system, rather than a SIFT-like one. This has been corrected, resulting in a mild performance increase. Also, the documentation has been improved to be more explicit about coordinate system choices, and some examples have been added. ---

--- Update 12 March 2015 --- Corrected a typo in datasets.tar.gz: the name "Trafalgar" was misspelled in a filepath. ---

--- Update 30 March 2015 --- By request, we have added an additional dataset: Gendarmenmarkt, the failure case reported in the paper. The datasets file has been updated and the new images are linked below. ---

Datasets (tar.gz, 642 MB)
Alamo images (tar, 2.0 GB)
Ellis Island images (tar, 1.6 GB)
Madrid Metropolis images (tar, 0.7 GB)
Montreal Notre Dame images (tar, 1.6 GB)
NYC_Library images (tar, 1.6 GB)
Piazza del Popolo images (tar, 1.5 GB)
Piccadilly images (tar, 3.7 GB)
Roman Forum images (tar, 1.5 GB)
Tower of London images (tar, 1.1 GB)
Trafalgar images (tar, 8.5 GB)
Union Square images (tar, 3.6 GB)
Vienna Cathedral images (tar, 3.3 GB)
Yorkminster images (tar, 2.2 GB)
Gendarmenmarkt images (tar, 1.0 GB)

BibTeX entry

   Title = {Robust Global Translations with 1DSfM},
   Author = {Kyle Wilson and Noah Snavely},
   booktitle = {Proceedings of the European Conference on Computer Vision ({ECCV})},
   Year = {2014},


This work was funded in part by NSF grants IIS-1149393 and IIS-0964027, and by support from the Intel Science and Technology Center for Visual Computing. We would also like to thank David Williamson and Robert Kleinberg for their valuable help.