PJLab-ADG/SensorsCalibration项目:激光雷达与相机标定技术详解
项目概述
PJLab-ADG/SensorsCalibration项目中的lidar2camera模块提供了一套完整的激光雷达(LiDAR)与相机标定解决方案,包含手动标定和自动标定两种方法。该工具能够精确计算激光雷达与相机之间的外参(旋转矩阵R和平移向量t),是多传感器融合系统中不可或缺的基础组件。
技术背景
在自动驾驶、机器人导航等领域,激光雷达和相机是最常用的传感器组合。激光雷达提供精确的三维距离信息,而相机则提供丰富的纹理和颜色信息。要将这两种数据源有效融合,必须首先解决传感器间的标定问题,即确定它们之间的相对位置和姿态关系。
环境准备
使用本标定工具前,需要确保系统已安装以下依赖:
- Cmake:3.0及以上版本
- OpenCV:2.4版本(用于图像处理)
- Eigen3:线性代数运算库
- PCL:1.9版本(点云处理库)
- Pangolin:3D可视化工具
编译指南
项目采用标准的CMake编译流程:
mkdir -p build && cd build
cmake .. && make
编译完成后,可执行文件将生成在bin目录下。
手动标定工具详解
输入文件说明
手动标定需要准备四个关键文件:
- 相机图像:标定场景的RGB图像
- 激光雷达点云:同一场景的PCD格式点云数据
- 相机内参:JSON格式的相机内参矩阵
- 初始外参:JSON格式的传感器间初始外参估计
操作流程
- 启动标定工具:
./bin/run_lidar2camera data/0.png data/0.pcd data/intrinsic.json data/extrinsic.json
- 标定界面分为两部分:
- 左侧控制面板:提供参数调整按钮和键盘快捷键
- 右侧投影图像:显示点云投影到图像平面的效果
核心功能解析
外参调整
提供6自由度调整能力,每个自由度对应特定键盘快捷键:
| 参数调整 | 增加快捷键 | 减少快捷键 | |------------|-----------|-----------| | X轴旋转 | q | a | | Y轴旋转 | w | s | | Z轴旋转 | e | d | | X轴平移 | r | f | | Y轴平移 | t | g | | Z轴平移 | y | h |
内参调整
支持焦距参数的微调: | 参数调整 | 增加快捷键 | 减少快捷键 | |---------|-----------|-----------| | fy | i | k | | fx | u | j |
高级功能
- 强度着色:将点云按反射强度值着色,便于检查车道线对齐
- 重叠过滤:去除0.4m深度内的重叠点
- 步长设置:可调整旋转(deg step)、平移(t step)和焦距(fxfy scale)的调整步长
- 点云大小:控制投影点的显示大小
结果保存
标定完成后,工具会输出以下信息:
- 外参矩阵(旋转矩阵R和平移向量t)
- 内参矩阵
- 畸变系数
- JSON格式的参数文件
自动标定工具解析
技术原理
自动标定工具基于道路场景中的线特征(如车道线、电线杆等)进行标定,其核心流程包括:
- 从图像中提取线特征(需预先处理)
- 从点云中提取线特征
- 通过特征匹配优化外参
使用说明
-
准备输入文件:
- 特征提取后的图像(mask)
- 激光雷达点云
- 相机内参
- 初始外参估计
-
执行自动标定:
./bin/run_lidar2camera data/mask.jpg data/calib.pcd data/intrinsic.json data/extrinsic.json
技术优势
相比手动标定,自动标定具有以下特点:
- 减少人为干预,提高标定效率
- 基于线特征匹配,精度可靠
- 特别适合道路场景应用
学术参考
本项目的自动标定算法基于以下研究:
@misc{2103.04558,
Author = {Tao Ma et al.},
Title = {CRLF: Automatic Calibration and Refinement based on Line Feature for LiDAR and Camera in Road Scenes},
Year = {2021},
}
进阶功能
项目还提供了自动标定工具v2.0版本,该版本在特征提取和优化算法上做了进一步改进,适合对精度要求更高的应用场景。
应用建议
- 初始标定:建议先使用自动标定获得初步结果
- 精细调整:对于特殊场景,可结合手动标定进行微调
- 验证环节:通过强度着色模式检查车道线对齐情况
- 批量处理:对于多组数据,建议开发自动化脚本流程
通过本工具,工程师可以高效完成激光雷达与相机的标定工作,为后续的多传感器融合算法奠定坚实基础。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考