Calibration of RGB Camera With Velodyne LiDAR阅读笔记
优点:
- 只需要一帧数据;
- 提出一种投影误差用以评估标定精确度。
挑战: - 处理传感器标定上较大未配准问题
- 针对特定场景的最小化需求
DBR09:
利用基于激光雷达数据和单目彩色相机数据融合的3D分类器对场景的语义信息进行建模。
HLT13:
融合后的相机和激光雷达后得到的彩色点云在自动驾驶和车辆跟踪中的速度预测问题上效果较好。
NMV10,BJCK11
融合后的信息用于三维建图、3D建模
LT13
证明了边沿信息能够被相机和激光雷达鲁棒检测,本文扩展了此方法。
本文方法的有点是采用了两阶段标定方法:
1、传感器位置的大范围偏差是通过3D标志点检测进行自动标定,获取初值;
2、在标定参数的小范围子集中进行小范围密集搜索。
假定标定场景的前景和背景在相机和激光雷达坐标系中能够被轻易分开,3D点云投影到图像上的图像分割的模块后计算出来的误标定误差被计算,也就是说,自己定义了一个评价标定效果的标准,自行进行对比。
3 标定过程
3.1 标定算法介绍
假定激光雷达相对相机的平移参数比旋转参数影响更大
Step 1 粗标定
1、在相机和雷达坐标系下实现边沿检测;
2 、3D 标志点检测(包含圆心坐标和半径)
- 相机坐标下,使用YPIK90(Hough transform)的方法
- 雷达坐标系下,用本文基于RANSAC方法
3、估计两个传感器在3D空间的变换矩阵
Step 2 标定参数优化
1、用上述方法计算出来的标定参数进行初始化;
2、在标定参数的小范围扩展空间进行密集搜索
- 将检测出来的点云边沿投影到图像上
- 在图像上实现边沿检测,反向计算距离
- 交叉配对两个图像
3、基于提出来的cross correlation criteria选择较好的标定参数
3.2 传感器描述
传感器自身得到标定,
利用ROS工具提供相机内参数作为辅助工具
3.3 粗标定部分(Coarse Calibration)
3.3.1 标志点描述
标定中使用标志点(marker)的缺点在于需要从多个视角获取标志点数据,因此本文实验设置的重点是只采集一帧数据,目标边沿在两种传感器较容易被检测到。
3.3.2 点云下的检测
由于深度信息不连续,可以通过检测同一线下相邻点之间的深度差实现边沿检测。
认定实际标定板上目标的尺寸,数量,位置是已知的,接下来需要进行detection, verification 和pointcloud pruning。
1、将拟合成平面的内点进行保留,外点去除,以下将对内点进行处理;
2、利用RANSAC方法针对提前给定的目标(四个圆,形成方形,半径,点距离),提取圆心
3、对检测的结果进行verification ,通过则结束,没通过则进行下一步;
4、如果提取不出来,就需要对点云进行处理,pointcloud pruning。设定规则对想提取出的点进行提取(个人感觉这个和采集的数据太有关了,鲁棒性会很好吗?)
3.3.3 相机中的检测
利用Levinson and Thrun [LT13]提供的检测器,利用Sobel算子,对边沿进行提取,再利用Hough transform提取圆形边界 [YPIK90]。
3.3.4 计算初始的平移误差
通过下式计算tz,r3D表示点云检测出的半径,r2D表示图像检测出来的半径,Z表示图像检测出的圆心的深度坐标,f表示焦距,感觉可能是我的理解有点问题,
X,Y,Z表示激光雷达下的点坐标,x,y表示图像坐标系下的坐标,ox,oy表示主点偏差
未完待续。。。。。。