激光雷达和相机的联合标定(Camera-LiDARCalibration)之Autoware
1 前⾔
单⼀传感器不可避免的存在局限性,为了提⾼系统的稳健性,多采取多传感器融合的⽅案,融合⼜包含不同传感器的时间同步和空间同步。
这⾥要讲的激光雷达和相机的联合标定就属于空间同步范畴。
另外,现在⽤深度学习处理点云成为热点,在标注点云时,由于点云的稀疏性,单靠点云,很难判断⽬标和类别,如果有时间同步的图像,就可以判断出来,但是为了精确标注,还需要将点云投影到图像,观察是否重合,这⾥就需要做激光雷达和相机的联合标定。
标定⼯具有很多,我计划写四篇博客,分别为:,,,,本篇为,需要⾸先安装,才能使⽤其标定⼯具。图像和点云融合,得到着⾊的点云:
激光雷达和相机的联合标定的结果是得到激光雷达相对于相机的旋转和平移,⽰意图:
图⽚来⾃:
离家的时候Velas, Spanel, Materna, Herout: Calibration of RGB Camera with Velodyne LiDAR
2 标定步骤
Camera-LiDAR标定分两步执⾏:什么心组词
1. 获取相机内参
2. 获得相机-LiDAR外参
3 相机内参标定
内参是使⽤autoware_camera_calibration脚本获得的,该脚本是官⽅ROS标定⼯具的⼀个分⽀(即)。
这部分的理论知识和标定⼯具的使⽤⽅法可参考我之前写过的⼀篇博客,。
恶语伤人3.1 启动
1.在⼀个已经source过的终端:
rosrun autoware_camera_lidar_calibrator cameracalibrator.py --square SQUARE_SIZE --size MxN image:=/image_topic
2.打开相机播放视频流,或者录制的rosbag,保证相机发布的topic与以上命令中的/image_topic⼀致。
3.在相机视野内移动棋盘,直到条形变为绿⾊。
4.按CALIBRATE按钮。
5.标定的输出和结果将显⽰在终端中。
6.按SAVE按钮。
7.⽂件将保存在home⽬录中,名称为YYYYmmdd_HHMM_autoware_camera_calibration.yaml。
此⽂件将包含⽤来纠正图像的内参。
3.2 参数
参数类型描述
SQUARE_SIZE double Defines the size of the checkerboard square in meters.
MxN string Defines the layout size of the checkerboard (inner size).
image string Topic name of the camera image source topic in raw format (color or b&w).
min_samples integer Defines the minimum number of samples required to allow calibration.
有关其他详细信息,请访问:s/wiki/camera_calibration
4 Camera-LiDAR外参标定
通过单击图像和点云中的对应点来执⾏Camera-LiDAR外参标定。
此节点分别使⽤rviz和image_view2包中的clicked_point和screenpoint。
4.1 启动
1.使⽤上述相机内参标定⼯具执⾏相机内参标定(⽣成⽂件YYYYmmdd_HHMM_autoware_camera_calibration.yaml)。
尊重老师2.在⼀个已经source过的终端:
roslaunch autoware_camera_lidar_calibrator camera_lidar_calibration.launch intrinsics_file:=/PATH/TO/YYYYmmdd_HHMM_autoware_camera_calibration .yaml image_src:=/ima
ge
3.将显⽰图像查看器
4.打开Rviz并显⽰点云和正确的纠正过的图像帧
5.同时观察图像和点云
6.在图像中找到⼀个可以匹配点云中对应点的点
7.单击图像中点的像素
8.使⽤Publish Point⼯具单击Rviz中的相应3D点
9.⽤⾄少9个不同点重复此操作
10.完成后,⽂件将保存在home⽬录中,名称为YYYYmmdd_HHMM_autoware_lidar_camera_calibration.yaml,此⽂件可与Autoware的Calibration Publisher⼀起使⽤,以发布和对齐LiDAR与相机之间的转换。该⽂件包含内参和外参。
4.2 参数
山西雁门关
Parameter Type Description
image_src string Topic name of the camera image source topic. Default: /image_raw.
camera_id string If working with more than one camera, t this to the correct camera namespace, i.e. /camera0.
intrinsics_file string Topic name of the camera image source topic in raw format (color or b&w).
古诗小儿垂钓
季羡林月是故乡明compresd_stream bool If t to true, a node to convert the image from a compresd stream to an uncompresd one will be
launched.
4.3 ⽰例
要测试标定结果,可以在Calibration Publisher中使⽤⽣成的yaml⽂件,然后在Sensing选项卡中使⽤Points Image。
我们不是只有现在吗
4.4 注意
此标定⼯具假定Velodyne安装时具有Velodyne传感器的默认坐标轴顺序。
X轴指向前⽅
Y轴指向左侧
Z轴指向上⽅