激光雷达和相机联合标定 之 开源代码和软件汇总 (2004-2021)

https://zhuanlan.zhihu.com/p/404762012

 1. target-based方法

一般就是使用标定板,可以是一块普通的矩形板,可以添加视觉效果(比如棋盘格,ArUco),可以在矩形板上镂空出特定形状。

1.0 CamLaserCalibraTool (2004c)

1.2 cam_lidar_calib (2010c)

来自密歇根大学,ROS / C++实现。

第二种方法是基于3D-3D correspondence,与方法一主要区别是图像中特征的提取。通过采用ArUco二维码,可直接计算出角点在相机坐标系的3D坐标,然后利用ICP求解外参。

该方法的3D角点提取方式比较独特。基于点云反射强度和chessboard颜色模式的相关性,利用一个chessboard model来拟合(匹配)分割的点云,从而利用chessboard model的角点位置表示chessboard点云中角点位置。

1.6 Matlab Lidar Toolbox (2018m)

target-based方法,使用了chessboard, 理论上采集一个pose就可以求解。特征提取分别自动提取chessboard在相机和激光雷达坐标系的平面和边缘信息,利用line correspondence (direction constraint + point to line constraint)和plane correspondence (normal constraint + point to plane constraint)进行标定。

该开源代码也实现了Matlab Lidar Toolbox (2018m)参考论文中点云边缘提取的方法:

1)先ransac拟合平面

2)找到每条scanline的端点(边缘点)

3)将标定板点云投影到拟合平面

4)拟合每条scan line

5)将边缘点投影到拟合的scan line

6)用ransac拟合边缘,去除边缘点粗差

1.8 livox_camera_lidar_calibration(2020c)

Livox官方提供的Lidar-Camera标定代码,图像和点云都是手动标点。

1.9 ACSC (2020p)

来自北航,python实现,针对固态激光雷达Livox.

提出多帧点云集成精化算法(temporal-spatial-based geometric feature refinement)和基于反射强度分布的角点估计方法(reflectance intensity distribution-based 3D corner estimation )。自动提取2D和3D角点,然后用基于Ransac的PnP求解。

1.11 autoware

采用标定板的方法 (calibration_tookit, autoware1.10之后没有)

最新版只有autoware_camera_lidar_calibrator, 直接手动选点的方法,在下文介绍。

使用标定板结果更准确一些,但是操作不方便。

1)需要手动grab多个关键帧

2)使用glviewer显示点云,不好调整视角

3)需要手动选择平面点云

 2. targetless方法

2.1 apollo

是基于自然场景的targetless方法,不需要手动标记,但是需要较准确初值。

2.4 livox camera calib (2020c)

来自香港大学。分别提取点云和图像中的边缘特征,然后匹配特征,最后优化求解最佳外参来更好地对齐点云边缘和图像边缘。

文章知识点与官方知识档案匹配,可进一步学习相关知识OpenCV技能树OpenCV中的深度学习图像分类11187 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月26日
下一篇 2021年7月26日

相关推荐