koide3 / direct_visual_lidar_calibration

A toolbox for target-less LiDAR-camera calibration [ROS1/ROS2]
https://koide3.github.io/direct_visual_lidar_calibration/
763 stars 118 forks source link

An error accured when try to calibrate kitti bag. #50

Open Huleyun opened 1 year ago

Huleyun commented 1 year ago

If the issue is about calibration procedure and results:

Describe the bug This work is quite wonderful which makes me want to validate in kitti dataset. However, an error accured when I run the prepropress command.

图片

To Reproduce Steps to reproduce the behavior:

  1. download kitti dataset: https://drive.google.com/drive/folders/1uFpFjxIBtGPnJbl5NnbUPtcEyx-cpufU?usp=drive_link I have use [kitti2bag]() to transform the kitti data into a rosbag.
  2. then manually calibrate the bag this is the command I used: ''' rosrun direct_visual_lidar_calibration preprocess kitti_bag kitti_bag_preprocessed \ --image_topic /kitti/camera_color_left/image_raw \ --points_topic /kitti/velo/pointcloud \ --camera_model plumb_bob \ --camera_intrinsics 767.5834,768.4421,200.9368,130.4244 \ --camera_distortion_coeffs -0.0059,-2.4245e-04,-0.4068,0.5534,-8.4002

'''

  1. another problem, if I want to calibrate based on a pair of lidar point cloud and image, what should I do. I found that this code need to record at least 2 frames of lidar and camera message for calibrate.
koide3 commented 1 year ago

Possibly points msgs in your bag do not have intensity channels as the error on the console states. Can you check if fields in your point msgs contain a field named intensity?

Huleyun commented 1 year ago

Oh, thanks. I just realized that the MI could not calculate if the intensity channel lost. What should I do to only obtain the initial parameters without intensity channel?

koide3 commented 1 year ago

Possibly you can feed dummy intensity data and use the manual initial guess UI to align the image with the point cloud by hand.