Skip to content
← All writing

My first paper

· 3 min read

  • research
  • computer vision

My first ever paper, which I co-first authored with my girlfriend, was just accepted to the NeurIPS 2026 main track as a poster. It's about Pinpoint, a worldwide image geolocation model we trained that ended up setting a new state of the art on the standard benchmarks. You can read the whole thing on OpenReview, but it's 21 pages long so here's the TLDR.

Worldwide image geolocation is the task of figuring out where in the world a photo was taken. Its main applications are in open-source intelligence and law enforcement, but we first got introduced to the problem through the hit game GeoGuessr, where you're placed somewhere on Earth in Google Street View and have to guess where. The problem we worked on is pretty similar, except the images aren't restricted to Google Street View; they can be any photo on the internet.

That makes things a lot trickier since you can't use the same tricks that pro GeoGuessr players use, like noticing camera artifacts or memorizing street-view specific quirks. Internet photos are much more diverse, with ambiguous, multi-scale geographic cues. For the past couple years, the best methods have leaned on multimodal LLMs and their world knowledge to deal with this ambiguity. That works, but it's slow, hard to reproduce, and involves handing your data to a third-party API for good performance. Pinpoint is completely self-contained and doesn't use an LLM at all, which makes it much faster, private, and deterministic. And it turns out you don't really need one to get state-of-the-art performance. Here's how it compares to the best prior results on IM2GPS3k:

IM2GPS3k<1 km<25 km<200 km<750 km<2500 km
Best prior result18.8%45.0%61.5%76.3%89.3%
Pinpoint20.5%47.4%63.5%79.0%90.2%
Percentage of photos located within each distance of the true location. Best prior result is the highest previously published number at each distance.

It also did well on OSV-5M, a newer street-view benchmark that's a better test of generalization since none of its test images are within 1 km of the training data. This dataset contains Mapillary street-view images so it's also a pretty good test of how well Pinpoint would do at GeoGuessr:

OSV-5MGeoScoreMean error (km)CityRegionCountry
Best prior result396386123.3%55.0%82.9%
Pinpoint411474326.0%59.1%84.8%
OSV-5M's official metrics. GeoScore averages a GeoGuessr-style score of up to 5000 points per image, and City, Region, and Country are the percentage of photos placed in the correct one. Lower mean error is better.

How it works

Overview of the Pinpoint pipeline

Previous works treated ordinary internet photos and street-view imagery as two separate problems, with separate models trained on separate data. But they are complementary: internet photos look more like the pictures people actually take, while street-view imagery covers the world much more densely and consistently. So, Pinpoint trains on both. It works in two stages. First, a contrastive model embeds images and GPS coordinates into a shared space and retrieves a shortlist of candidate locations. Then, a small Transformer reranks those candidates, looking not just at each candidate but also at nearby images from the other source. For an internet photo, that's a bit like how a human might guess a location and then hop into Google Street View to check whether the surroundings actually match.