Upload folder using huggingface_hub
Browse files- README.md +88 -0
- checkpoints/best.pth +3 -0
- configs/training.toml +53 -0
- logs/training_history.json +0 -0
- onnx/freya_depth_v1.onnx +3 -0
- onnx/freya_depth_v1.onnx.data +0 -0
- pytorch/freya_v1.pth +3 -0
- pytorch/freya_v1.safetensors +3 -0
- tensorrt/freya_depth_v1_fp16.engine +0 -0
- tensorrt/freya_depth_v1_fp32.engine +0 -0
README.md
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
tags:
|
| 3 |
+
- robotics
|
| 4 |
+
- anima
|
| 5 |
+
- freya
|
| 6 |
+
- gaussian-splatting
|
| 7 |
+
- slam
|
| 8 |
+
- lidar
|
| 9 |
+
- 3d-reconstruction
|
| 10 |
+
- sensor-fusion
|
| 11 |
+
- robot-flow-labs
|
| 12 |
+
library_name: pytorch
|
| 13 |
+
pipeline_tag: robotics
|
| 14 |
+
license: apache-2.0
|
| 15 |
+
---
|
| 16 |
+
|
| 17 |
+
# FREYA — Gaussian-LIC2 SLAM (ANIMA Module)
|
| 18 |
+
|
| 19 |
+
Part of the [ANIMA Perception Suite](https://github.com/RobotFlow-Labs) by Robot Flow Labs.
|
| 20 |
+
|
| 21 |
+
## Paper
|
| 22 |
+
|
| 23 |
+
**Gaussian-LIC2: LiDAR-Inertial-Camera Gaussian Splatting SLAM** (arXiv:2507.04004)
|
| 24 |
+
|
| 25 |
+
Xiaolei Lang, Jiajun Lv, Kai Tang, Laijian Li, Jianxin Huang, Lina Liu, Yong Liu, Xingxing Zuo
|
| 26 |
+
|
| 27 |
+
## Architecture
|
| 28 |
+
|
| 29 |
+
Tightly-coupled LiDAR+Inertial+Camera Gaussian Splatting SLAM:
|
| 30 |
+
- Continuous-time B-spline SE(3) trajectory optimization
|
| 31 |
+
- Incremental 3D Gaussian map with SH lighting (degree 3)
|
| 32 |
+
- Zero-shot depth completion for LiDAR-blind areas
|
| 33 |
+
- CUDA-accelerated tile-based rendering
|
| 34 |
+
- Per-scene optimization (not batch training)
|
| 35 |
+
|
| 36 |
+
## Exported Formats
|
| 37 |
+
|
| 38 |
+
| Format | File | Use Case |
|
| 39 |
+
|--------|------|----------|
|
| 40 |
+
| PyTorch (.pth) | `pytorch/freya_v1.pth` | Training, fine-tuning |
|
| 41 |
+
| SafeTensors | `pytorch/freya_v1.safetensors` | Fast loading, safe |
|
| 42 |
+
| ONNX | `onnx/freya_depth_v1.onnx` | Cross-platform depth inference |
|
| 43 |
+
| TensorRT FP16 | `tensorrt/freya_depth_v1_fp16.engine` | Edge deployment (Jetson/L4) |
|
| 44 |
+
| TensorRT FP32 | `tensorrt/freya_depth_v1_fp32.engine` | Full precision inference |
|
| 45 |
+
| Checkpoint | `checkpoints/best.pth` | Resume SLAM optimization |
|
| 46 |
+
| Config | `configs/training.toml` | Reproducibility |
|
| 47 |
+
| Logs | `logs/training_history.json` | Loss curves, metrics |
|
| 48 |
+
|
| 49 |
+
## Training Details
|
| 50 |
+
|
| 51 |
+
| Parameter | Value |
|
| 52 |
+
|-----------|-------|
|
| 53 |
+
| Hardware | NVIDIA L4 (23GB VRAM) |
|
| 54 |
+
| Dataset | TUM VI Benchmark (room1, 2821 frames) |
|
| 55 |
+
| Gaussians | 12.2M pre-allocated, 500K active |
|
| 56 |
+
| Optimizer | Adam (per-param, foreach=False) |
|
| 57 |
+
| Mixed Precision | bf16 |
|
| 58 |
+
| Best Loss | 0.0010 |
|
| 59 |
+
| VRAM Usage | 17.8GB (77%) |
|
| 60 |
+
|
| 61 |
+
## Usage
|
| 62 |
+
|
| 63 |
+
```python
|
| 64 |
+
import torch
|
| 65 |
+
|
| 66 |
+
state = torch.load("pytorch/freya_v1.pth", weights_only=False)
|
| 67 |
+
gaussian_map = state["gaussian_map"]
|
| 68 |
+
trajectory = state["trajectory"]
|
| 69 |
+
|
| 70 |
+
# SafeTensors
|
| 71 |
+
from safetensors.torch import load_file
|
| 72 |
+
tensors = load_file("pytorch/freya_v1.safetensors")
|
| 73 |
+
```
|
| 74 |
+
|
| 75 |
+
## Citation
|
| 76 |
+
|
| 77 |
+
```bibtex
|
| 78 |
+
@article{lang2025gaussianlic2,
|
| 79 |
+
title={Gaussian-LIC2: LiDAR-Inertial-Camera Gaussian Splatting SLAM},
|
| 80 |
+
author={Lang, Xiaolei and Lv, Jiajun and Tang, Kai and Li, Laijian and Huang, Jianxin and Liu, Lina and Liu, Yong and Zuo, Xingxing},
|
| 81 |
+
year={2025},
|
| 82 |
+
journal={arXiv preprint arXiv:2507.04004}
|
| 83 |
+
}
|
| 84 |
+
```
|
| 85 |
+
|
| 86 |
+
## License
|
| 87 |
+
|
| 88 |
+
Apache 2.0 — Robot Flow Labs / AIFLOW LABS LIMITED
|
checkpoints/best.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:76b369ff2a2d531a71fea3c3672d0b46014e7e79dbb4b23fe4870b97cc6685e2
|
| 3 |
+
size 147247
|
configs/training.toml
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# TUM VI Benchmark configuration for FREYA SLAM pipeline
|
| 2 |
+
# Sequences: dataset-room1_512_16, dataset-room2_512_16, dataset-corridor1_512_16
|
| 3 |
+
|
| 4 |
+
[freya]
|
| 5 |
+
device = "cuda:0"
|
| 6 |
+
batch_size = 1
|
| 7 |
+
log_level = "INFO"
|
| 8 |
+
|
| 9 |
+
[freya.trajectory]
|
| 10 |
+
bspline_knot_spacing = 0.1
|
| 11 |
+
bspline_order = 4
|
| 12 |
+
bundle_adj_max_iter = 30 # Paper: N_t = 30
|
| 13 |
+
|
| 14 |
+
[freya.gaussian]
|
| 15 |
+
max_gaussians = 23000000 # 23M gaussians → ~18.8GB params+Adam on L4 (23GB)
|
| 16 |
+
target_vram_gb = 20.0 # auto-size if set; overrides max_gaussians
|
| 17 |
+
prune_opacity_threshold = 0.005
|
| 18 |
+
sh_degree = 3
|
| 19 |
+
|
| 20 |
+
[freya.depth]
|
| 21 |
+
model = "depth_anything_v2_small"
|
| 22 |
+
model_path = "/mnt/forge-data/models/depth-anything--Depth-Anything-V2-Small"
|
| 23 |
+
|
| 24 |
+
[freya.rendering]
|
| 25 |
+
width = 512 # TUM VI resolution
|
| 26 |
+
height = 512
|
| 27 |
+
tile_size = 16
|
| 28 |
+
|
| 29 |
+
[freya.sensors]
|
| 30 |
+
sync_tolerance_ms = 50.0
|
| 31 |
+
lidar_rate_hz = 0.0 # No LiDAR in TUM VI — pseudo-LiDAR from stereo
|
| 32 |
+
camera_rate_hz = 20.0 # TUM VI cam rate
|
| 33 |
+
imu_rate_hz = 200.0 # TUM VI IMU rate
|
| 34 |
+
|
| 35 |
+
[freya.paths]
|
| 36 |
+
dataset_root = "/mnt/forge-data/datasets/tum"
|
| 37 |
+
calibration_dir = "configs/calibration"
|
| 38 |
+
results_dir = "/mnt/artifacts-datai/reports/project_freya"
|
| 39 |
+
checkpoint_dir = "/mnt/artifacts-datai/checkpoints/project_freya"
|
| 40 |
+
log_dir = "/mnt/artifacts-datai/logs/project_freya"
|
| 41 |
+
tensorboard_dir = "/mnt/artifacts-datai/tensorboard/project_freya"
|
| 42 |
+
export_dir = "/mnt/artifacts-datai/exports/project_freya"
|
| 43 |
+
model_dir = "/mnt/forge-data/models"
|
| 44 |
+
|
| 45 |
+
[freya.paper]
|
| 46 |
+
# Paper hyperparameters (Section X-A)
|
| 47 |
+
N_t = 30 # Camera pose optimization steps
|
| 48 |
+
loss_lambda = 0.2 # Loss weighting
|
| 49 |
+
xi = 0.005 # Pruning threshold
|
| 50 |
+
tau = 0.99 # Map expansion threshold
|
| 51 |
+
K = 100 # Selected keyframes
|
| 52 |
+
epsilon_1 = 0.1 # Depth regularization min (meters)
|
| 53 |
+
epsilon_2 = 50.0 # Depth regularization max (meters)
|
logs/training_history.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
onnx/freya_depth_v1.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ff5e95e22c28d8cbffe3d223c5d099a0c4acd662d4a270d6837c95483a1f20c3
|
| 3 |
+
size 1114
|
onnx/freya_depth_v1.onnx.data
ADDED
|
Binary file (5.76 kB). View file
|
|
|
pytorch/freya_v1.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:48e91f151633cd2f67c373d1b35e229221ca64561d5876202b35cde0d93bdc1e
|
| 3 |
+
size 135769
|
pytorch/freya_v1.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cbc519d61e4175ce7635aa805d0e9e2d2017f4338a105cf3cdbc78a6843e6687
|
| 3 |
+
size 58392
|
tensorrt/freya_depth_v1_fp16.engine
ADDED
|
Binary file (37.3 kB). View file
|
|
|
tensorrt/freya_depth_v1_fp32.engine
ADDED
|
Binary file (42.2 kB). View file
|
|
|