Skip to content

[WACV 2025] πŸŒπŸš— SpaGBOL: Spatial-Graph-Based Orientated Localisation πŸ“‘πŸ—ΊοΈ

License

Notifications You must be signed in to change notification settings

tavisshore/SpaGBOL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŒπŸš— SpaGBOL: Spatial-Graph-Based Orientated Localisation πŸ“‘πŸ—ΊοΈ

Tavis Shore Oscar Mendez Simon Hadfield

Centre for Vision, Speech, and Signal Processing (CVSSP)

University of Surrey, Guildford, GU2 7XH, United Kingdom

arxiv Conference Project Page License Visits Badge

PWC PWC PWC

new_neural spagbol_diagram

πŸ““ Description

Cross-View Geo-Localisation within urban regions is challenging in part due to the lack of geo-spatial structuring within current datasets and techniques. We propose utilising graph representations to model sequences of local observations and the connectivity of the target location. Modelling as a graph enables generating previously unseen sequences by sampling with new parameter configurations. To leverage this newly available information, we propose a GNN-based architecture, producing spatially strong embeddings and improving discriminability over isolated image embeddings.

We release 🍝 SpaGBOL 🍝, the first graph-based CVGL dataset, consisting of 10 city centre graph networks across the globe. This densely sampled structured dataset will progress the CVGL field towards real-world viability.

πŸ’Ύ SpaGBOL: Graph-Based CVGL Dataset

SpaGBOL contains 98,855 panoramic streetview images across different seasons, and 19,771 corresponding satellite images from 10 mostly densely populated international cities. This translates to 5 panoramic images and one satellite image per graph node. Downloading instructions below.

The map below shows the cities contained in SpaGBOL v1, with the breadth and density being increased in subsequent versions.

πŸ“ City Locations πŸ‡¬πŸ‡§πŸ‡§πŸ‡ͺπŸ‡ΊπŸ‡ΈπŸ‡­πŸ‡°πŸ‡ΈπŸ‡¬πŸ‡―πŸ‡΅

plot_world

🧬 City Graph Representations

Here are a few of the city centre graph networks, where nodes represent road junctions, and edges represent the roads between junctions.

London Graph Manhattan Graph Tokyo Graph
City of London Manhattan Centre Tokyo Centre

πŸ“Έ Image Pair Examples

At each graph node, streetview and satellite images are collected at a ratio of 5:1 to improve training generalisation, here are some examples from across the globe.

🚢 Exhaustive / Random Depth-First Walk Generation

Graph Walk

Graph networks can be traversed using Breadth-First Search (BFS) or Depth-First Search (DFS). BFS explores level by level, visiting all neighbors of a node before moving deeper, using a queue. DFS dives into a branch fully before backtracking, often using a stack or recursion. BFS is ideal for shortest paths, while DFS suits tasks like cycle detection or exploring all paths.

Vehicle Walk

DFS relates to a vehicle’s movement by mimicking how a vehicle explores routes sequentially. This approach is useful for navigating unmapped areas or exploring all possible routes systematically. Reference sets contain exhaustive sampling of each node, retrieving any one of these random walks is deemed correct.


🧰 SpaGBOL: Benchmarking

🚧 Code still being polished...

🐍 Environment Setup

conda env create -f requirements.yaml

🏭 Data Download

To download the SpaGBOL dataset, set the desired arguments at the bottom of src/utils/data.py and run the file.

python src/utils/data.py

πŸ‘Ÿ SpaGBOL Training

To complete training, simply execute run.py with desired arguments, for example:

python run.py --data 'datapath' --fov 360 --walk 4 

πŸ“Š SpaGBOL: Benchmark Results

FOV 360Β° 180Β° 90Β°
Model Top-1 Top-5 Top-10 Top-1% Top-1 Top-5 Top-10 Top-1% Top-1 Top-5 Top-10 Top-1%
CVM 2.87 12.96 21.51 28.33 2.68 9.83 15.12 20.23 1.02 5.87 10.15 14.81
CVFT 4.02 13.02 20.29 27.19 2.49 8.74 14.61 19.91 1.21 5.74 10.02 13.53
DSM 5.82 10.21 14.13 18.62 3.33 9.74 14.66 21.48 1.59 5.87 10.11 16.24
L2LTR 11.23 31.27 42.50 49.52 5.94 18.32 28.53 35.23 6.13 18.70 27.95 34.08
GeoDTR+ 17.49 40.27 52.01 59.41 9.06 25.46 35.67 43.33 5.55 17.04 24.31 31.78
SAIG-D 25.65 51.44 62.29 68.22 15.12 35.55 45.63 53.10 7.40 21.76 31.14 37.14
Sample4Geo 50.80 74.22 79.96 82.32 37.52 64.52 71.92 76.39 6.51 20.61 30.31 36.12
SpaGBOL 56.48 77.47 83.85 87.24 40.88 63.79 72.88 78.28 18.63 43.20 54.05 61.20
SpaGBOL+B 64.01 86.54 92.09 94.64 52.01 82.20 89.47 93.62 - - -
SpaGBOL+YB 76.13 95.21 97.96 98.98 66.82 92.69 96.38 97.30 - - - -

βœ’οΈ Citation

If you find SpaGBOL useful for your work please cite:

@InProceedings{Shore_2025_WACV,
    author    = {Shore, Tavis and Mendez, Oscar and Hadfield, Simon},
    title     = {SpaGBOL: Spatial-Graph-Based Orientated Localisation},
    booktitle = {Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (WACV)},
    month     = {February},
    year      = {2025}
}

πŸ“— Related Works

Β Β Β Β Β  arxiv Conference Project Page GitHub License

Β Β Β Β Β  arxiv Conference Project Page GitHub License

⭐ Star History

Star History Chart

About

[WACV 2025] πŸŒπŸš— SpaGBOL: Spatial-Graph-Based Orientated Localisation πŸ“‘πŸ—ΊοΈ

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages