Learning to Localize Reference Trajectories in Image-Space for Visual Navigation
Paper • 2602.18803 • Published
🤖 Demo | 📝 Paper | 🏠 Project Page | 💻 GitHub
LoTIS is a model for visual navigation that provides robot-agnostic image-space guidance by localizing a reference RGB trajectory in the robot's current view. Given a reference trajectory (a sequence of RGB images) and a query image from the robot's current viewpoint, LoTIS predicts the 2D image-space coordinates, visibility, and relative distance of each trajectory pose as it would appear in the query view.
To use the model programmatically, first clone the GitHub repository and follow the installation instructions to setup the environment and download the required DINOv3 backbone weights.
from lotis import TrajectoryLocalizer
localizer = TrajectoryLocalizer.from_checkpoint(
checkpoint_path="final_model.pth",
config_path="final_config.yaml",
dinov3_weights="/path/to/dinov3_vitb16_pretrain.pth",
)
# Encode a trajectory — do this once and reuse
encoding = localizer.encode_trajectory("path/to/trajectory.mp4")
# Localize a query image
result = localizer.localize("query.jpg", encoding)
print(f"Closest trajectory frame: {result.closest_frame()}")
print(f"Visible frames: {result.visible_indices()}")
# Save and reload the trajectory encoding
import torch
torch.save(encoding.to_dict(), "encoding.pt")
encoding = TrajectoryEncoding.from_dict(torch.load("encoding.pt"))
If you find LoTIS useful in your research, please cite our work:
@misc{busch2026learninglocalizereferencetrajectories,
title={Learning to Localize Reference Trajectories in Image-Space for Visual Navigation},
author={Finn Lukas Busch and Matti Vahs and Quantao Yang and Jesús Gerardo Ortega Peimbert and Yixi Cai and Jana Tumova and Olov Andersson},
year={2026},
eprint={2602.18803},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={https://arxiv.org/abs/2602.18803},
}