Skip to content

Multi-view visual geolocation

Ten views.
One country.

GeoPoint takes ten street-level views from a single point, 36 degrees apart, and reads the country out of the pixels. Not from the coordinates you paste, not from a lookup — from road markings, signage, architecture and the shape of the light.

A Street View link, a plain lat, lng pair, or degrees and minutes. The link is read for its coordinates only — no Google imagery is fetched.

Your coordinates are used to fetch imagery and are discarded when the analysis expires. They are never stored, never logged, and never sent to the model — the model receives images, a validity mask and camera angles, and nothing else.

How it works

The coordinates you supply are used for exactly two things: fetching imagery, and — once the prediction already exists — looking up which country the point falls in so you can compare. They never reach the model.

One encoder, ten views, one answer
10 views0°36°72°108°144°180°216°252°288°324°Shared CNNidentical weightsall views, one batchView geometrysin/cos yaw, sin/cos pitchorientation only, never positionMasked attentionweighs views against each othermissing views masked outMLP headdropout + linearOnecountryno coordinates · no panorama id · no metadata · pixels and angles only

The views are not classified separately and averaged. A single set of encoder weights produces one embedding per view; the fusion step then weighs those embeddings against one another, so evidence in one view can override a misleading impression from its neighbour. Views the provider could not supply are masked out rather than filled with a black frame or a duplicate.

One panorama, many views

The provider returns a single equirectangular panorama and the server reprojects each view from it. Ten views therefore cost one request, and adding tilted views costs nothing extra.

Prediction before truth

The model commits to an answer first. Ground truth is resolved afterwards, in a separate module the inference path cannot reach, against a local boundary file rather than a geocoder.

Honest about uncertainty

Confidence is calibrated on validation data and the abstention threshold is frozen before test. Near a border the comparison is reported as ambiguous rather than scored.

What this cannot do

  • The shipped checkpoint is trained on synthetic imagery of invented countries. It has never seen a real street, so its accuracy figures describe the pipeline and nothing else.
  • Google Street View imagery is not used as a model input. Google Maps links are read for their coordinates only; no Google imagery is fetched, cached or trained on.
  • A prediction is a statement about what a place looks like. It is not evidence of any person’s location, nationality or movements.
  • Coverage is uneven by construction. Countries without adequately licensed imagery are not represented at all, and their absence is not a judgement about them.