Project THOR is ANIMA Wave-6's Tier-1 Foundation SLAM module, implementing the
Symmetric Two-view Association (STA) frontend from the ViSTA-SLAM paper.
Paper
Title: ViSTA-SLAM: Visual SLAM with Symmetric Two-view Association
Authors: Ganlin Zhang, Shenhan Qian, Xi Wang, Daniel Cremers
1import onnxruntime as ort
2import numpy as np
34sess = ort.InferenceSession(5"onnx/thor_sta_v1.onnx",6 providers=["CUDAExecutionProvider","CPUExecutionProvider"],7)89img_a = np.random.randn(1,3,224,224).astype(np.float32)10img_b = np.random.randn(1,3,224,224).astype(np.float32)1112quaternion, translation, pointmap = sess.run(13None,{"img_a": img_a,"img_b": img_b}14)
TensorRT inference
python
1import tensorrt as trt
2import pycuda.driver as cuda
3import pycuda.autoinit
4import numpy as np
56TRT_LOGGER = trt.Logger(trt.Logger.WARNING)7runtime = trt.Runtime(TRT_LOGGER)89withopen("tensorrt/thor_sta_v1_fp16.trt","rb")as f:10 engine = runtime.deserialize_cuda_engine(f.read())1112context = engine.create_execution_context()13context.set_input_shape("img_a",(1,3,224,224))14context.set_input_shape("img_b",(1,3,224,224))15# ... allocate buffers and run inference
Downstream Contracts (ANIMA Wave-6)
Module
Dependency
Topic
BALDUR
Semantic mapping
Pointmap → voxel grid
HEIMDALL
Hierarchical planning
Pose stream @ 30 Hz
HERMOD
Exploration
Coverage map
Files
README.md # This file
paper.pdf # ViSTA-SLAM paper (arXiv:2509.01584)
TRAINING_REPORT.md # Full training report with metrics
anima_module.yaml # ANIMA module manifest
pytorch/thor_sta_v1.pth # PyTorch state dict
pytorch/thor_sta_v1.safetensors # SafeTensors
onnx/thor_sta_v1.onnx # ONNX opset 17
tensorrt/thor_sta_v1_fp16.trt # TensorRT FP16
tensorrt/thor_sta_v1_fp32.trt # TensorRT FP32
checkpoints/best.pth # Best checkpoint (resume training)
configs/training.toml # Training configuration
logs/training_history.json # Epoch-by-epoch metrics (200 epochs)
Training
Hardware: NVIDIA L4 (23GB VRAM)
Framework: PyTorch 2.10 + CUDA 12.8
Config: See configs/training.toml
Report: See TRAINING_REPORT.md
Citation
bibtex
1@article{zhang2025vistaslam,
2 title = {ViSTA-SLAM: Visual SLAM with Symmetric Two-view Association},
3 author = {Zhang, Ganlin and Qian, Shenhan and Wang, Xi and Cremers, Daniel},
4 journal = {arXiv preprint arXiv:2509.01584},
5 year = {2025},
6}