Automatic Extrinsic Calibration for Lidar-Stereo Vehicle Sensor Setups
paper
ros_code
特点:
1、用于低分辨率的传感器和特定的pose
2、引入了一种新的标定结果量化评估方法
3 标定方法:
3.1 数据输入:
- 16线激光雷达点云信息
- 立体相机的灰度图
- 深度图:深度图保证每一个像素点都有xyz信息,通过Semi-Global Matching (SGM)方法获取到,该方法在深度估计上比较有效
标定主要是探索两组点云之间的关系信息,由于两组点云是在各自的坐标系中,因此可以由此得出传感器之间的参数关系;
圆的边界定位的方法并不会影响标定的精度,因为圆是通过点的强度值得到的。
3.2 目标分割
目标分割主要用于找到平面上的点云
- 使用常见的RANSAC方法获取平面;
- 在平面上找到边缘上的点,这些点属于传感器:利用点云序列化的条件,将同一线上相邻的点距离做差值,差值超过阈值的,视为找到了边缘上的点(下文方法);
立体视觉上利用Sobel滤波器根据图像上的反射值,提取图像平面的边界;
J. Levinson and S. Thrun, “Automatic Online Calibration of Camerasand Lasers,” inRobotics: Science and Systems, 2013
3. 此步骤用于提取圆心上的点,圆的中心点作为用于匹配两个传感器的关键点
针对激光雷达点云:为了提高圆心提取的准确度,实施了一种滤波过程
要点:由于在此阶段点云存在不连续性,因此要去除的离群值主要来自校准目标的外边界。
针对相机点云:圆心的提取和边缘线提取的估计方法有关系,且需要根据圆的朝向,标定样式(calibration pattern)的维度,来计算圆心位置(具体不知道咋算的呀)
结论:方法对边界的提取比较鲁棒
通过旋转,使得XY平面一致,并调整Z坐标,将圆的半径视为常量,并将圆心之间的实际距离与标定距离作为考量,获取到圆心位置
- 怎么获取的感觉没有说清楚,待考察
优点:此方法在二维平面上展开,对圆心点的要求数量较少,因此三个圆就够了,文章中采用四个圆
采集使用了多帧数据,并保持目标静止
- 开始标定:
第一步---->>>>
利用两个传感器坐标系下的圆心点,建立方程,通过最小二乘法得到平移向量三个参数的初值;
第二步---->>>>
利用ICP算法通过最小化两个圆心之间的距离之和。
4 实验测试
和下面两篇文章作对比:
- M. Velas, M. Spanel, Z. Materna, and A. Herout, “Calibration of RGBCamera With Velodyne LiDAR,” inComm. Papers Proc. InternationalConference on Computer Graphics, Visualization and Computer Vision(WSCG), 2014, pp. 135–144
- A. Geiger, F. Moosmann, ̈O. Car, and B. Schuster, “Automatic Cameraand Range Sensor Calibration using a single Shot,” inProc. IEEEInternational Conference on Robotics and Automation (ICRA), 2012,pp. 3936–3943
网络工具箱:http://www.cvlibs.net/software/calibration/
个人总结(仅仅是个人观点):
- 重点可以学习一下如何获取到圆心点的坐标,因为普通的获取方法并不会产生较好的精度,标定的第四步优化过程属于普遍的方法;
- 算法对比不足,缺乏从理论上分析优势,仅做数据分析;