Search
Technical

How GeoPin Works

GeoPin uses a three-stage pipeline to determine where a photo was taken in the Netherlands: deep visual embeddings, approximate nearest-neighbor search and geometric verification.

<30s End-to-end
3 Stages Pipeline
512-dim Embedding
Input
Query
Stage 1
Embedding
Stage 2
Vector Search
Stage 3
Verification
01
Stage 1 — Feature Extraction

Visual Embedding Engine

Every image, both the query and the millions of reference images in our database, is processed by GeoPin's visual embedding engine, a specialised deep learning model for place recognition. It transforms each image into a compact 512-dimensional embedding vector that captures its geographic visual identity.

Unlike classification models that predict discrete locations, our model learns a continuous embedding space where visually similar places cluster closely together. Two photos of the same street corner, taken at different times and from different angles, produce vectors that lie close together in this space.

technical specifications
model GeoPin Embedding v2 (deep learning backbone, trained on geo-tagged imagery)
output 512-dimensional L2-normalised embedding vector
latency ~15ms per image on GPU
Input image
GeoPin Embed
512-dim vector
02
Stage 2 — Retrieval

Vector Similarity Search

The query embedding is compared against our full database of geo-tagged reference embeddings via approximate nearest-neighbor (ANN) search. This retrieves the most likely locations where the query image was taken.

Our index is built on HNSW (Hierarchical Navigable Small World) graphs, enabling sub-millisecond search across millions of vectors. The top-k candidates (typically k=100) are retrieved with their associated GPS coordinates and reference images.

technical specifications
index HNSW graph with product quantisation
database Millions of geo-tagged street-level image embeddings
latency ~5ms for top-100 retrieval
Embedding space
03
Stage 3 — Verification

Geometric Verification

Vector similarity alone can produce false positives: different locations that happen to look alike. To eliminate these, GeoPin applies geometric verification using local feature matching.

GeoPin's verification engine extracts robust local features from both the query image and each candidate reference image. A specialised feature matcher then matches these features with a lightweight attention-based architecture, finding correspondences that satisfy the geometric constraints of a true scene match.

Only candidates with sufficient geometrically consistent feature matches pass verification. The final result includes GPS coordinates, a confidence score and the matched reference images.

technical specifications
keypoints Learned keypoint detector + descriptor
matcher Attention-based feature matcher
validation RANSAC-based geometric consistency check
Query
Reference
5/5 geometrically consistent
Feature correspondence
Data Sources

Multi-source reference database

GeoPin's accuracy depends on comprehensive coverage. We index street-level imagery from multiple open and commercial sources across the Netherlands.

Mapillary

The largest source of crowdsourced street-level imagery. Millions of geo-tagged photos contributed by community mappers across all Dutch provinces.

25.2M images

KartaView

OpenStreetMap-affiliated street-level imagery platform. Provides supplementary coverage of Dutch roads, intersections and rural areas.

5.4M images

Panoramax

Open-source panoramic imagery initiative. Growing coverage of French and Dutch streets with high-resolution panoramic captures.

1.5M images

Mapilio

AI-powered street-level imagery platform. Contributes additional imagery from Dutch urban and suburban areas with precise GPS coordinates.

1.4M images

Amsterdam Open Panorama

Official open data from the Municipality of Amsterdam. Complete panoramic street-level imagery of all public roads within the municipality.

2.5M images

Other

Additional sources including municipal open data, regional panorama sets and other open street-level imagery platforms.

3.0M images

See it in action

Upload any photo taken in the Netherlands and watch the pipeline at work. Results in seconds, not hours.