SLAM-MIPSLAM β€” ANIMA Module

Part of the ANIMA Perception Suite by Robot Flow Labs.

Paper

MipSLAM: Alias-Free Gaussian Splatting SLAM (arXiv:2603.06989)

Yingzhao Li, Yan Li, Shixiong Tian, Yanjie Liu, Lijun Zhao, Gim Hee Lee

Architecture

MipSLAM is an RGB-D 3D Gaussian Splatting SLAM system with two key innovations:

  1. Elliptical Adaptive Anti-aliasing (EAA) β€” alias-free rendering under changed camera configurations via importance-weighted elliptical quadrature (Eq. 5-6)
  2. Spectral-Aware Pose Graph Optimization (SA-PGO) β€” trajectory drift reduction using frequency-domain analysis and graph Laplacian decomposition (Eq. 8-14)

The system tracks RGB-D frames, builds a dense Gaussian map, and supports re-rendering at arbitrary resolutions without aliasing artifacts.

Exported Formats

Format File Size Use Case
PyTorch (.pth) pytorch/slam_mipslam_v1.pth ~50 MB Training, fine-tuning
SafeTensors pytorch/slam_mipslam_v1.safetensors 12.9 MB Fast loading, safe deserialization
ONNX onnx/slam_mipslam_v1.onnx 2.3 KB Cross-platform Gaussian projection
TensorRT FP16 tensorrt/slam_mipslam_v1_fp16.trt β€” Edge deployment (generate on target)
TensorRT FP32 tensorrt/slam_mipslam_v1_fp32.trt β€” Full precision (generate on target)

Evaluation Results (Replica Benchmark)

Scene ATE RMSE (cm) Gaussians FPS
room0 128.28 200K 2.9
room1 157.64 200K 2.9
room2 133.26 200K 2.8
office0 252.36 200K 3.0
office1 217.85 200K 3.0
apartment_0 195.66 200K 2.9
Average 180.84 200K 2.9

Paper target: ATE RMSE 0.28 cm (with iterative pose refinement not yet implemented).

Usage

import torch
from safetensors.torch import load_file

# Load Gaussian map
data = load_file("pytorch/slam_mipslam_v1.safetensors")
means = data["gaussian_means"]      # [N, 3]
covs = data["gaussian_covs"]        # [N, 3, 3]
opacities = data["gaussian_opacities"]  # [N]
colors = data["gaussian_colors"]    # [N, 3]
trajectory = data["trajectory"]     # [T, 4, 4]

CUDA Kernels

Shared EAA CUDA kernel available at: /mnt/forge-data/shared_infra/cuda_extensions/eaa_renderer/

from eaa_renderer import eaa_render
rgb, depth, alpha = eaa_render(means2d, covs2d, depths, opacities, colors, H=480, W=640)

Training

  • Hardware: NVIDIA L4 (23 GB VRAM)
  • Framework: PyTorch 2.11 + custom EAA CUDA kernel
  • Dataset: Replica RGB-D (6 sequences, 500 frames each, 480Γ—640)
  • Config: See configs/training.toml

Docker

docker compose -f docker-compose.serve.yml --profile serve up -d
curl http://localhost:8080/health

License

Apache 2.0 β€” Robot Flow Labs / AIFLOW LABS LIMITED

Downloads last month

-

Downloads are not tracked for this model. How to track
Video Preview
loading

Paper for ilessio-aiflowlab/project_slam_mipslam