Downloads · 30 days
0
ilessio-aiflowlab/project_eir
project_eir is a robotics model from ilessio-aiflowlab. Use it for the robotics task on the model card, and read the license before you ship it in a product. It is set up for pytorch. The card lists the license as apache-2.0.
Part of the ANIMA Perception Suite by Robot Flow Labs.
Downloads · 30 days
0
Access
Public
Updated Apr 1, 2026
Repo size
5.2 MB
Likes
0
Public
Click a slice to open those files.
.pth3.2 MB · 46%
From the Hugging Face model README
Part of the ANIMA Perception Suite by Robot Flow Labs.
D-SLAMSpoof: Novel Adversarial Attack on LiDAR-SLAM Systems and Practical Defense via Inertial Dead Reckoning (arXiv:2603.11365, March 2026)
Rokuto Nagata, Kenji Koide, Kazuma Ikeda, Ozora Sako, Kentaro Yoshioka
EIR detects adversarial spoofing attacks on LiDAR-based SLAM systems using only standard IMU sensors. The core insight: LiDAR scans can be spoofed, but IMU-based inertial dead reckoning cannot (within short horizons). When injected fake points cause scan-matching to report fictitious pose changes, the IMU residual spikes — triggering immediate detection.
Key innovation: Requires NO additional hardware beyond standard onboard IMU sensors.
Learned Anomaly Detector (MLP + Bidirectional GRU, 131K parameters):
Input (18-dim per frame):
delta_lidar (6) + delta_imu (6) + accel (3) + gyro (3)
|
Feature Extractor: Linear(18->128->64->32) + LayerNorm + GELU + Dropout(0.3)
|
Temporal Encoder: Bidirectional GRU (hidden=64, 2 layers)
|
Classification Head -> [benign, spoofed] per frame
Anomaly Score Head -> continuous score >= 0
| Metric | Mean | Std |
|---|---|---|
| Accuracy | 96.8% | 0.22% |
| Precision | 94.9% | 0.53% |
| Recall / Detection Rate | 84.0% | 1.48% |
| F1 Score | 89.1% | 0.82% |
| False Positive Rate | 0.84% | 0.10% |
Best fold: F1=90.4%, Detection Rate=85.9%, FPR=0.77%
| Format | File | Size | Use Case |
|---|---|---|---|
| PyTorch (.pth) | pytorch/eir_v2.pth | 1.5 MB | Training, fine-tuning |
| SafeTensors | pytorch/eir_v2.safetensors | 0.5 MB | Fast loading, safe |
| ONNX | onnx/eir_v2.onnx | 0.5 MB | Cross-platform inference |
| TensorRT FP32 | tensorrt/eir_v2_fp32.trt | 1.4 MB | Full precision (L4/A100) |
| TensorRT FP16 | tensorrt/eir_v2_fp16.trt | 1.1 MB | Edge deployment (Jetson) |
import torch
from anima_eir.training.model import AnomalyNet
# Load model
model = AnomalyNet(input_dim=18, hidden_dims=[128, 64, 32], dropout=0.3,
use_temporal=True, gru_hidden=64, gru_layers=2)
ckpt = torch.load("pytorch/eir_v2.pth", map_location="cpu")
model.load_state_dict(ckpt["model_state_dict"])
model.eval()
# Inference (batch=1, seq_len=32)
result = model.predict(delta_lidar, delta_imu, accel, gyro)
# result["predictions"]: per-frame 0/1
# result["scores"]: continuous anomaly score
See configs/training.yaml for full configuration.
See TRAINING_REPORT.md for per-fold metrics.
EIR sits between THOR (point cloud filtering) and BALDUR (loop closure) in the ANIMA SLAM security stack:
LiDAR Input -> THOR (filter) -> EIR (anomaly detect) -> SLAM Frontend -> BALDUR (verify)
/anima/eir/health, /anima/eir/spoof_detectionApache 2.0 -- Robot Flow Labs / AIFLOW LABS LIMITED