📈 GH Trending Explorer 🎲 Surprise me

← all repos

cocel-postech / genz-lio

git clone https://github.com/cocel-postech/genz-lio.git

GenZ-LIO: SOTA robust LiDAR-inertial odometry (IEEE T-FR 2026)

+2
stars, 24h · #5,576
+~14
stars, 7 days · #6,318
+128
stars, 30 days · #3,874
133
★ total · +12% this week
17
forks · 0 open issues

Star history (as recorded here)

2026-10-20 · 126 ★ 2026-10-22 · 133 ★
LanguageC++
LicenseGPL-2.0
Created2026-09-23 (29d ago)
Last push2d ago
Watchers0
OwnerOrganization

GitHub topics

Links

README excerpt
# GenZ-LIO
**Generalizable LiDAR-Inertial Odometry Beyond Confined–Open Boundaries**
Youtube
   •   
Bilibili
   •   
Paper
   •   
Dataset
   •   
Install
   •   
Python
   •   
ROS
 (October 7, 2026) pip installation is now live:
GenZ-LIO is designed for robust and computationally efficient LiDAR-inertial odometry across confined spaces, open environments, and transitions between them.
## Python support
Process recorded data with an optional visualizer; no ROS installation is needed.
 Install and run (Linux x86-64, Python 3.8–3.12) 
### 1. Prepare the environment
Use Linux x86-64 with Python 3.8–3.12. Ubuntu 20.04, 22.04, and 24.04 provide
Python 3.8, 3.10, and 3.12, respectively.
 [code] 
### 2. Install
Install all optional readers (rosbag and Ouster PCAP) and the visualizer:
 [code] 
The published wheels include the compiled C++ extension; no local C++ build or
ROS installation is required. Plain `pip install genz-lio` installs the core and
CLI.
### 3. Prepare configurations
The `experiments/` YAMLs provide the sequence-specific configurations for
reproducing the benchmark experiments in the paper. The `default/` YAMLs are
sensor templates for your own recordings.
Export all bundled YAMLs once, preserving their `default/` and `experiments/`
subdirectories under `configs/`:
 [code] 
Run this in the directory where you will run the examples below. This copies all
36 YAMLs unchanged and works with both source and wheel installations. Keep this
folder for subsequent runs; there is no need to export again per sequence.
Exported YAMLs are editable. Re-running the export will not overwrite existing
files or your changes.
### 4. Run
**1) For reproducing benchmark experiments (e.g., NarrowWide Handheld-A-01)**
Use the experiment YAML prepared above with the
NarrowWide Handheld-A-01 recording:
 [code] 
The experiment YAML already contains the benchmark sensor
topics and calibration. Obtain the dataset separately.
The optional `--image-topic` displays the camera images recorded in this bag;
omit it to run without the camera panel.
Press **SPACE** to start. For rosbag2, pass the recording directory instead of a
`.bag` file. The exported YAMLs also work outside the source checkout.
 ▶️ All benchmark sequences: downloads and Python commands (42 sequences) 
The commands use `configs/experiments/` exported in the preparation step and
write each sequence's trajectory to a separate output directory. All enable
`--visualize`; `--image-topic` is included where the recording contains a camera
stream. Omit that option to disable the preview. Camera streams are display-only.
Download the full recordings with images when using the camera options below.
Bag filename labels in braces identify the sequence, not the official download
filename. Substitute the actual downloaded or prepared filename; no file renaming
is required. Labels ending in `_pointcloud` or `_merged` refer to the prepared
inputs described below.
 GEODE (7 sequences) 
Dataset · Download.
Use the Alpha