# koide3/direct_visual_lidar_calibration

A toolbox for target-less LiDAR-camera calibration [ROS1/ROS2]

Repository: https://github.com/koide3/direct_visual_lidar_calibration
Canonical: https://ross.abutalabs.com/products/direct_visual_lidar_calibration
Homepage: https://koide3.github.io/direct_visual_lidar_calibration/
Language: C++
License Family: other
Topics: calibration, camera, lidar, nid, ros, ros2
Last push: 2026-07-22T00:13:43+00:00

## Health v2 (maintenance only)
Score: 74/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 93, release rhythm 35, longevity 100
- inputs: {"age_days": 1451, "days_push": 43, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1507, forks 220 (observed 2026-08-28T04:04:55.202584+00:00)

## What it is
A C++ toolbox for target-less, single-shot extrinsic calibration between LiDAR sensors and cameras, supporting spinning and non-repetitive LiDARs and pinhole, fisheye, and omnidirectional camera models. It uses pixel-level direct LiDAR-camera registration with automatic estimation requiring no initial guess, and integrates with ROS1/ROS2.

## Use cases
- calibrate a camera to a LiDAR without a calibration target
- find the extrinsic transform between a point cloud and camera image
- calibrate fisheye or omnidirectional cameras with non-repetitive scan LiDARs
- perform single-shot LiDAR-camera calibration from one data pair
- improve calibration accuracy using multiple LiDAR-camera data pairs
- calibrate robot or vehicle sensors in a ROS1 or ROS2 pipeline

## When to choose
- you need LiDAR-camera extrinsic calibration without placing a calibration target
- your setup uses non-standard LiDAR scan patterns or fisheye/omnidirectional cameras
- you have no initial guess for the sensor transform and want an automatic process
- you work in a ROS1/ROS2 environment and want a research-backed (ICRA2023) tool

## When to avoid
- you need online, continuous calibration during operation rather than offline single-shot calibration
- you require a license other than MIT or need formal support
- you need LiDAR-inertial or multi-LiDAR calibration instead of LiDAR-camera
- you cannot build C++ dependencies like PCL, GTSAM, and Ceres

## Facets
- artifact type: library
- maturity: stable
- function: computer-vision, image-processing, math, developer-tools
- domain: robotics, autonomous-vehicles, computer-vision
- platform: cpp
- tags: lidar-camera-calibration, target-less-calibration, extrinsic-calibration, point-cloud-registration, ros1, ros2, nid, single-shot-calibration, algorithms, linux, ros, docker

## Member repositories
- koide3/direct_visual_lidar_calibration (main) score 74

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:55.202584+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:32:37.067705+00:00, confidence not recorded.
  - readme: https://github.com/koide3/direct_visual_lidar_calibration (fetched 2026-08-28T04:04:55.202584+00:00, sha d33835d2c49e)
  - homepage: https://koide3.github.io/direct_visual_lidar_calibration/ (fetched 2026-08-29T11:36:56.452948+00:00, sha 10e619d44301)
- Data as of 2026-08-30T08:39:29.467469+00:00.
