Orvex
Data pipeline for autonomous rover dataset collection, processing and perception
- Status
- Research
- Version
- 0.1.0
- Platform
- Desktop app
- License
- Not specified
Turning raw consumer-camera and phone recordings into calibrated, synchronized, labeled datasets for rover perception involves many separate tools; Orvex brings those steps into one pipeline with shared logic.
How it is put together.
Orvex covers the lifecycle of multi-sensor rover data, from raw GoPro, Insta360 and Android Sensor Logger recordings through telemetry extraction, calibration, synchronization, dataset assembly, auto-labeling, training, 3D reconstruction, SLAM validation and edge export. It has two front ends, a PyQt6 desktop app and a FastAPI + React web app, both built on the same core/ package of business logic. The README states it is built for Indian road conditions.
- 1
Ingest and audit
Session manager, file auditor, GoPro / Insta360 / Sensor Logger extractors
core/ - 2
Sync and calibration
Multi-device synchronizer and 4-step calibration pipeline
core/calibration.py - 3
Dataset builder
EuRoC, ROS bag and HDF5 assembly with manifest
core/dataset_builder.py - 4
Perception and training
Auto-label, segmentation, depth, lanes, tracking, occupancy, trainer, edge exporter
core/ - 5
Desktop app
PyQt6 main window with stacked panels and QThread workers
desktop/ - 6
Web app
FastAPI backend with route modules and WebSocket task progress; React + Vite frontend
web/
Specification.
- Input devices
- GoPro Hero 11 (GPMF, 200 Hz IMU, GPS5), Insta360 X4 (.insv), Android Sensor Logger (CSV/JSON)
- Synchronization
- GPS time anchor, IMU cross-correlation, or manual offset
- Calibration
- 4-step: IMU Allan deviation, camera intrinsics (OpenCV), camera-IMU extrinsics (OpenImuCameraCalibrator), validation
- Dataset formats
- EuRoC, ROS 2 bag (rosbag2 sqlite3), HDF5; nanosecond integer timestamps
- Perception models
- YOLOv8 auto-label (13 classes), SegFormer segmentation, Depth-Anything-v2 depth, classical/UFLD lanes, ByteTrack tracking, BEV occupancy grid
- Mapping and validation
- COLMAP SfM reconstruction; ORBSLAM3 runs scored with ATE/RPE via evo
- Training and MLOps
- YOLOv8 training subprocess, Albumentations augmentation, MLflow tracking, Git + DVC dataset versioning
- Edge export
- PyTorch to ONNX to TensorRT for NVIDIA Jetson
- Runs on
- Primary entry point is a PyQt6 desktop app (roverdatakit = desktop.main:main in pyproject.toml); the optional web app needs a FastAPI backend, and AI features recommend a CUDA GPU
More systems.
A data engine for autonomous driving, built for Indian roads
Data and labeling · LiveEDGE-DATAAn Android app that records driving data and labels it on the device
Next systemPhase 1 - Autonomy PerceptionADAS perception stack in Python: object detection, lane tracking and driver monitoring