---
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.
## 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}
}
```