Giter Site home page Giter Site logo

turtlezhong / camera_lidar_calibration Goto Github PK

View Code? Open in Web Editor NEW
70.0 5.0 21.0 51.38 MB

A tool used for calibrate the extrinsic between 2D laser range finder (LRF) and camera. ROS Version: https://github.com/TurtleZhong/camera_lidar_calibration_v2

CMake 6.90% C++ 93.10%
camera-calibration lidar laser hokuyo lidar-camera-calibration

camera_lidar_calibration's Introduction

Camera Lidar Calibration Tool.

building star

Author:xinliangzhong([email protected])

demo0

demo

1.Description

The package is used to calibrate a 2D LiDAR or laser range finder (LRF) with a monocular camera. Specficially, Hokuyo UTM-30LX have been suscessfully calibrated against a mono camera.

But this approach is really a naive way, in a word, it just 3D-2D optimization problem. So we decide to develop the new approach to calibrate the extrinsic

2.Prerequisites

We have tested the library in 16.04, but it should be easy to compile in other platforms.

OpenCV

We use OpenCV to manipulate images and features. Dowload and install instructions can be found at: http://opencv.org. Required at leat 2.4.3. Tested with OpenCV 3.3.

Eigen3

Download and install instructions can be found at: http://eigen.tuxfamily.org. Required at least 3.1.0.

Ceres

Download and install instructions can be found at: http://www.ceres-solver.org/installation.html.

3.How to build

mkdir build
cd build
cmake ..
make

4.How to Prepare the calibration data

We need the 3d points in laser coordination and the same points in the image. The 3D points (actually z=0) you can put in the data/laser_points.txt; The 2D points in the image you can put in the data/image_points.txt; We combine the data in data.txt with 4 cols which represents x y u v respectively.

So how to fine the 3D-2D pairs correctly? Here we provide a simple way: Suppose your laser in the horizontal plane, and we just need to measure the height of the laser. Actually the red point in the following picture is the flag that we tested in our setups. flag

For the x and y, you can use the rviz (2D nav goal) tool to measure. The result will be show in the terminal. For the u and v in the image, we provide a simple tool to detect corners in the rectangle your mouse selected. and the data will automatically saved in data/image_points.txt. corner_detect

5.Key Algorithm

Actually it just a least square problem.

6.Show the reprojection results

Tcl: which takes a vector from laser to camera.

reprojection

reprojection

7.Good luck to you!

camera_lidar_calibration's People

Contributors

turtlezhong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

camera_lidar_calibration's Issues

关于项目improvement的问题

嗨, 谢谢开源此项目。在readme内, 你提到了关于这方法十分naive,请问有相关new approach的信息吗?

But this approach is really a naive way, in a word, it just 3D-2D optimization problem. So we decide to develop the new approach to calibrate the extrinsic

Using with HLS-LFOM1 from hitachi

Hello! I was wondering if your calibration solution can work with any kind of lidar sensor? I'm planning on getting a HLS-LFOM1 sensor from hitachi. But in the end I want to have a colored pointcloud, so I'm exploring calibration techniques.

points number

Hi,

  1. how many laser points in your projects for calibration R T ?
  2. can I use this method to calibrate radar and camera ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.