ilessio-aiflowlab commited on
Commit
9433df4
·
verified ·
1 Parent(s): e61270c

Upload folder using huggingface_hub

Browse files
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