PIGEON: Predicting Image Geolocations

11 Jul 2023  ·  Lukas Haas, Michal Skreta, Silas Alberti, Chelsea Finn ·

Planet-scale image geolocalization remains a challenging problem due to the diversity of images originating from anywhere in the world. Although approaches based on vision transformers have made significant progress in geolocalization accuracy, success in prior literature is constrained to narrow distributions of images of landmarks, and performance has not generalized to unseen places. We present a new geolocalization system that combines semantic geocell creation, multi-task contrastive pretraining, and a novel loss function. Additionally, our work is the first to perform retrieval over location clusters for guess refinements. We train two models for evaluations on street-level data and general-purpose image geolocalization; the first model, PIGEON, is trained on data from the game of Geoguessr and is capable of placing over 40% of its guesses within 25 kilometers of the target location globally. We also develop a bot and deploy PIGEON in a blind experiment against humans, ranking in the top 0.01% of players. We further challenge one of the world's foremost professional Geoguessr players to a series of six matches with millions of viewers, winning all six games. Our second model, PIGEOTTO, differs in that it is trained on a dataset of images from Flickr and Wikipedia, achieving state-of-the-art results on a wide range of image geolocalization benchmarks, outperforming the previous SOTA by up to 7.7 percentage points on the city accuracy level and up to 38.8 percentage points on the country level. Our findings suggest that PIGEOTTO is the first image geolocalization model that effectively generalizes to unseen places and that our approach can pave the way for highly accurate, planet-scale image geolocalization systems. Our code is available on GitHub.

PDF Abstract
Task Dataset Model Metric Name Metric Value Global Rank Result Benchmark
Photo geolocation estimation GWS15k PIGEOTTO Street level (1 km) 0.7 # 1
City level (25 km) 9.2 # 1
Region level (200 km) 31.2 # 1
Country level (750 km) 65.7 # 1
Continent level (2500 km) 85.1 # 1
Median Error (km) 415.4 # 1
Photo geolocation estimation Im2GPS PIGEOTTO Street level (1 km) 14.8 # 4
City level (25 km) 40.9 # 2
Region level (200 km) 63.3 # 1
Country level (750 km) 82.3 # 1
Continent level (2500 km) 91.1 # 1
Training images 4.5M # 2
Reference images 4.5M # 10
Median Error (km) 70.5 # 1
Photo geolocation estimation Im2GPS3k PIGEOTTO Street level (1 km) 11.3 # 4
City level (25 km) 36.7 # 1
Region level (200 km) 53.8 # 1
Country level (750 km) 72.4 # 1
Continent level (2500 km) 85.3 # 1
Training Images 4.5M # 11
Median Error (km) 147.3 # 1
Photo geolocation estimation YFCC26k PIGEOTTO Street level (1 km) 10.5 # 2
City level (25 km) 25.8 # 1
Region level (200 km) 42.7 # 1
Country level (750 km) 63.2 # 1
Continent level (2500 km) 79.0 # 1
Training Images 4.5M # 1
Median Error (km) 333.3 # 1
Photo geolocation estimation YFCC4k PIGEOTTO Street (1 km) 10.4 # 1
Median Error (km) 383.0 # 1
City (25 km) 23.7 # 1
Region (200 km) 40.6 # 1
Country (750 km) 62.2 # 1
Continent (2500 km) 77.7 # 1

Methods