3D激光雷达和相机融合

标定

相机内参标定

主要看重投影误差,cv的标定识别率也太低了。。。原因是找到了,相机给的曝光时间5ms,增大曝光时间成功率大大提升,但曝光时间给打了,影响实时性,头疼。。

livox_lidar_camera_calibration外参标定

主要是3D-2D的标定

采集标定数据

参照以下采集标定数据和处理标定数据,pcd角点选取和图像角点选取:

https://zhaohailong.blog.csdn.net/article/details/125736088?spm=1001.2014.3001.5502

遇到livox_lidar_camera_calibration无法批处理转pcd:

原因查出来是src/pcdTransfer.cpp 60多行不正常,无法运行这个for循环,读不到数据存出来的数据为空,可能是ubuntu20+ros melodic不好使

for (const rosbag::MessageInstance &m : view) { //todo:这句存在问题,无法读取ros数据

最后通过livox_camera_calib里的包使用bag_to_pcd.launch一个个转的,非常不友好。

uptdate:

vector<string> types;

//types.push_back(string("livox_ros_driver/CustomMsg"));

//std::cout << "lidar_topic: " << lidar_topic << std::endl;

types.push_back(string("sensor_msgs/PointCloud2"));

rosbag::View view(bag, rosbag::TypeQuery(types));

最后发现是因为rosbag::TypeQuery输入的是数据类型,而不是话题名。。。

题外话:我使用360度的激光雷达,使用livox_camera_calib这个包会有视角问题(投影三维点到相机),效果不好,果断放弃,还是通过标定板来操作。

遇到livox_lidar_camera_calibration的第二个坑就是src/corner_photo.cpp,看代码是要手动标注选去畸变后的图片像素,但是相片太大,通过resizeWindow或者nameWindow都无法缩小显示对话框,不知道是不是ubuntu 20还是cv4.2版本,是真坑。。。最后在代码里把去畸变后的图片保存下来,放到windows上使用[画图]软件一个像素一个像素描,真心尼吗的坑。。。

遇到 livox_lidar_camera_calibration第三个坑是要求一行大于10,因为我是手动量的图片像素,一行不够10个,所以最后在图片像素加上小数点后几位即可。

标定

getExt1.launch

计算结果

标定精度对比

livox_camera_calib

据说要采集多个场景比较好,我在室内采集多个场景,效果比较差,室外没法供电,暂时没测;

推荐用楼梯间这种,可是没有楼梯间。。。

livox_lidar_camera_calibration

误差:2个像素,我自己测出来外参重投影误差3-4个像素,上色结果比较差

livox_lidar_camera_calibration学习--标定外参求解_qq_38650944的博客-CSDN博客

Autoware

我是在尝试livox_lidar_camera_calibration和livox_camera_calib两个标定包后,再使用autoware标定包,使用比之前好很多,精度也高不少,有人给出精度是1cm,我的标定数据如下:

 附上我改写的开发包和标定中遇到的一些问题和解决办法:

传送门:autoware标定包使用_妄想出头的工业炼药师的博客-CSDN博客

autoware的问题是标着玩可以,但是易用性很低,需要采集很多照片才行,希望是一张图片一个pcd就能解决问题;

lidar_camera_calibration

还不知道精度怎么样,gitlab打星比较多

3D雷达与相机的标定方法详细教程_敢敢のwings的博客-CSDN博客_标定找相机yaw pitch roll

比较自动的标定流程

附录

比较全的标定汇总:

雷达与相机的时空标定工具 - 知乎

静态上色

https://zhaohailong.blog.csdn.net/article/details/125737021?spm=1001.2014.3001.5502

动态上色

GitHub - johannes-graeter/limo: Lidar-Monocular Visual Odometry

使用标定直接使用最新图片着色

Livox Lidar+海康Camera实时生成彩色点云_lucky li的博客-CSDN博客

GitHub - Deephome/Awesome-LiDAR-Camera-Calibration: A Collection of LiDAR-Camera-Calibration Papers, Toolboxes and Notes 

  • 0
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
结合多传感设备以实现高级的感知能力是自动驾驶汽车导航的关键要求。传感器融合用于获取有关周围环境的丰富信息。摄像头和激光雷达传感器的融合可获取精确的范围信息,该信息可以投影到可视图像数据上。这样可以对场景有一个高层次的认识,可以用来启用基于上下文的算法,例如避免碰撞更好的导航。组合这些传感器时的主要挑战是将数据对齐到一个公共域中。由于照相机的内部校准中的误差,照相机激光雷达之间的外部校准以及平台运动导致的误差,因此这可能很困难。在本文中,我们研究了为激光雷达传感器提供运动校正所需的算法。由于不可能完全消除由于激光雷达的测量值投影到同一里程计框架中而导致的误差,因此,在融合两个不同的传感器时,必须考虑该投影的不确定性。这项工作提出了一个新的框架,用于预测投影到移动平台图像帧(2D)中的激光雷达测量值(3D)的不确定性。所提出的方法将运动校正的不确定性与外部和内部校准中的误差所导致的不确定性相融合。通过合并投影误差的主要成分,可以更好地表示估计过程的不确定性。我们的运动校正算法和提出的扩展不确定性模型的实验结果通过在电动汽车上收集的真实数据进行了演示,该电动汽车配备了可覆盖180度视野的广角摄像头和16线扫描激光雷达
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值