Other
retrieval
cross-view
geo-localizaiton
File size: 2,762 Bytes
a81a5d5
 
3589e02
6536df8
 
 
 
 
 
a81a5d5
3589e02
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
---
license: mit
pipeline_tag: other
datasets:
- MVRL/SeqGeo-VL
tags:
- retrieval
- cross-view
- geo-localizaiton
---

# TrajLoc: Trajectory-aware Cross-view Geo-localization with Sequential Observations

[๐Ÿ  Project Page](https://humblegamer.github.io/trajloc/) | [๐Ÿ“– Paper](https://arxiv.org/abs/2607.15491) | [๐Ÿ’ป GitHub](https://github.com/mvrl/TrajLoc) | [๐Ÿ“Š SeqGeo-VL Dataset](https://huggingface.co/datasets/jiayulin/SeqGeo-VL)

This repository contains the pre-trained weights for **TrajLoc**, presented at ECCV 2026. 

TrajLoc is a unified framework for cross-view geo-localization that localizes a *trajectory* instead of a single ground image. Given a street-view video sequence, a natural-language route description, or both, it retrieves the matching geo-tagged satellite tile.

<p align="center">
  <img src="https://raw.githubusercontent.com/mvrl/TrajLoc/main/assets/teaser.png" width="85%" alt="TrajLoc concept teaser"/>
</p>

## Highlights
- **Unified Multi-modal Query**: Supports querying with video frames, plain-language route descriptions, or a blend of both.
- **Spatially-grounded Embeddings**: Integrates **TrajMod**, a lightweight module that maps route geometry to modulate query embeddings for spatially-aware representations.
- **Agentic Tool Interface**: Includes a function-calling tool interface so multimodal agents can easily localize routes as part of broader spatial reasoning.

---

## Quickstart & Usage

Please refer to the official [TrajLoc GitHub repository](https://github.com/mvrl/TrajLoc) for installation instructions and dependencies.

### Python API Example

You can use the model as a tool for trajectory localization:

```python
from trajloc_tool import TrajLocTool

# Initialize the tool with the pretrained checkpoint
tool = TrajLocTool(
    checkpoint_path="checkpoints/trajloc_full.pth",
    gallery_manifest="gallery.json",       # satellite tiles to search over
    gallery_cache="gallery_features.pt",   # features cached here after the first run
)

# Localize a trajectory using a text-based route description
result = tool.localize_trajectory(
    query_mode="text",
    text="The route heads east along a tree-lined street, then turns right at the church.",
    traj_coords=[[38.6488, -90.3108], [38.6495, -90.3089]],
    traj_headings=[91.0, 92.5],
    top_k=5,
)
print(result)
```

---

## Citation

If you find TrajLoc or the SeqGeo-VL dataset useful in your research, please cite our paper:

```bibtex
@inproceedings{gao2026trajloc,
  title     = {Trajectory-aware Cross-view Geo-localization with Sequential Observations},
  author    = {Gao, Tianyi and Lin, Jiayu and Beaulieu, Danielle and Jacobs, Nathan},
  booktitle = {European Conference on Computer Vision},
  year      = {2026}
}
```