Kalibr相机标定验收快速检验清单
文章目录
- 总则
- 第一部分 单相机内参标定验收(每路相机单独标定)
- 1. 重投影误差指标(核心一票否决项)
- 2. 内参数值合理性判定
- 3. 畸变系数 & 模型校验
- 4. 采集样本质量校验(PDF图表)
- 5. 单相机产出文件交付标准
- 第二部分 多相机联合标定验收(四路cam0~cam3全局优化)
- 1. 全局联合重投影误差
- 2. 视场重叠校验
- 3. 相机间外参T_cn_c0(旋转R+平移t)物理合理性(四路水平横向摆放)
- 4. 多相机产出文件交付标准
- 第三部分 鱼眼畸变矫正程序交付规范(对接全景拼接节点)
- 一、程序交付物清单
- 二、数据接口标准(强制)
- 1. 参数文件读取接口
- 2. ROS图像话题接口
- 3. 矫正核心逻辑接口约束
- 三、矫正程序验收功能标准
- 第四部分 整体验收通过判定规则
- 第五部分 验收不合格整改触发条件
文档摘要:本文档详细规定了四路等距鱼眼相机标定与矫正验收的全流程标准,涵盖单相机内参标定、多相机联合外参标定、鱼眼畸变矫正程序交付三大核心环节。验收核心指标包括重投影误差(RMS<1.0px)、参数物理合理性、视场重叠校验及程序接口规范性。最终交付物需包含标定报告、参数文件、可执行程序及完整文档,确保全景拼接质量与系统稳定性。
总则
适用:四路等距鱼眼相机(equidistant)、单内参标定 + 多相机联合外参标定,用于横向全景拼接项目
验收产出:标定PDF报告、yaml参数文件、鱼眼矫正可执行/ROS节点、配套使用文档
第一部分 单相机内参标定验收(每路相机单独标定)
1. 重投影误差指标(核心一票否决项)
| 检验项 | 合格标准 | 不合格现象(全景风险) |
|---|---|---|
| 全局RMS重投影误差均值 | 优秀:<0.5px 合格:0.5~1.0px 拒收:>1.0px | 矫正后直线弯曲、拼接边缘错位、融合重影 |
| 最大单点重投影误差 | ≤2.0px | 画面局部严重畸变,拼接缝扭曲 |
| 图像平面误差散点分布 | 全画面均匀分布,四角/边缘无大片红色高误差聚集 | 镜头边缘矫正失真,全景左右两端画面变形 |
| 鱼眼极角误差(polar error) | 0°~85°全角度误差平缓无陡增 | 广角边缘畸变模型拟合失效,画面桶形严重 |
2. 内参数值合理性判定
以分辨率[1920,1200]、fx≈750 为例
| 参数 | 判定标准 |
|---|---|
| fx / fy | 1. 数值区间600~1000; 2. |
| cx / cy | 1. cx ≈ 图像宽/2(960),偏差<5px; 2. cy ≈ 图像高/2(600),偏差<5px |
| 不确定性±后缀 | fx/fy误差<焦距1%;cx/cy误差<2px;畸变系数不确定性远小于系数本身 |
3. 畸变系数 & 模型校验
| 检验项 | 合格标准 |
|---|---|
| distortion_model | 必须为equidistant(鱼眼专用),禁止radtan |
| distortion_coeffs [k1,k2,k3,k4] | k1 为正数(典型鱼眼桶形畸变);全部系数不能无限趋近0 |
4. 采集样本质量校验(PDF图表)
- 标定板姿态:均匀铺满画面中心、四角、四边边缘,远近、倾斜角度丰富;
- 样本数量:有效图像≥30张;无模糊、过曝、标定板不完全入帧的无效样本;
- 无单侧缺失:左右/上下边缘不能缺少标定板采样。
5. 单相机产出文件交付标准
- 标定报告:
camX_calib_report.pdf,完整包含误差图、极角误差、参数统计表; - 参数文件:
camX.yaml,严格kalibr标准格式,字段完整无缺失; - 配套截图:标定采样可视化截图备查。
第二部分 多相机联合标定验收(四路cam0~cam3全局优化)
1. 全局联合重投影误差
- 四路统一BA优化后全局RMS <1.0px;
- 单路相机误差不得显著高于其他三路(差值>0.3px判定不合格)。
2. 视场重叠校验
- yaml
cam_overlaps数组非空,相邻相机存在重叠索引(cam0-cam1、cam1-cam2、cam2-cam3); - PDF可视化图可见相邻相机存在公共重叠区域,无完全隔离画面。
3. 相机间外参T_cn_c0(旋转R+平移t)物理合理性(四路水平横向摆放)
| 分量 | 判定标准 |
|---|---|
| 旋转矩阵R | 1. 行列式≈1; 2. 主旋转为Y轴水平偏转,X/Z旋转角极小; 3. 旋转角度匹配实际安装夹角 |
| 平移向量t | 1. X轴为主偏移量,数值和相机物理间距接近; 2. Y、Z轴平移量远小于X,无大幅上下/前后偏移; 3. 无米级离谱异常数值 |
4. 多相机产出文件交付标准
- 全局标定报告:
multi_cam_chain_report.pdf; - 多目联合参数文件:
cam-camchain.yaml,包含全部cam0~cam3内参、畸变、外参变换矩阵; - 外参变换对照表:文档写明cam1→cam0、cam2→cam0、cam3→cam0旋转平移数值。
第三部分 鱼眼畸变矫正程序交付规范(对接全景拼接节点)
一、程序交付物清单
- ROS C++矫正源码包(catkin标准包);
- 预编译可执行文件;
.launch启动文件,支持单路/四路批量启动;- 接口说明文档 + 参数读取示例代码;
- 预计算矫正映射表可选(优化嵌入式RK3588性能)。
二、数据接口标准(强制)
1. 参数文件读取接口
- 输入:kalibr原生
cam-camchain.yaml,无需二次转换格式; - 读取字段:自动解析
intrinsics、distortion_coeffs、resolution、T_cn_c0外参; - 支持外部arg传入yaml路径,启动命令示例:
roslaunch panorama.launch config_path:=xxx/cam-camchain.yaml
2. ROS图像话题接口
输入(四路原始画面):/cam0/image_raw、/cam1/image_raw、/cam2/image_raw、/cam3/image_raw
输出(单路矫正完成全景大图):/panorama/image_raw
3. 矫正核心逻辑接口约束
- 使用OpenCV
cv::fisheye专用API,禁止普通radtan矫正函数; - 启动时一次性预计算
map1/map2矫正表,不逐帧重复计算; - 支持自定义输出全景画布分辨率;
- 提供帧同步逻辑:按ROS时间戳对齐四路图像,输出同步全景帧。
三、矫正程序验收功能标准
- 单路矫正画面:边缘无扭曲、直线恢复平直;
- 四路拼接输出:相邻画面重叠区域对齐无明显偏移、无黑缝/亮缝;
- 性能指标(RK3588):1920×1200四路矫正+拼接 ≥20fps;
- 异常容错:相机断流、yaml参数缺失打印明确报错日志,不崩溃。
第四部分 整体验收通过判定规则
- 全部单相机重投影误差、参数不确定性达标;
- 多相机全局误差、重叠视场、外参物理逻辑全部合格;
- 矫正程序可正常读取kalibr yaml,输入输出ROS话题符合约定标准;
- 全套标定报告、参数文件、源码、说明文档完整交付,无缺失。
第五部分 验收不合格整改触发条件
出现任意一条,判定标定作废,重新采集标定数据:
- 单相机RMS重投影误差>1.0px;
- 鱼眼极角误差在镜头边缘陡增;
- 畸变模型错误使用radtan;
- 多相机无相邻视场重叠,无法生成有效外参;
- 外参平移/旋转数值与硬件安装逻辑严重不符;
- 矫正程序无法直接加载kalibr原始yaml、需手动修改参数格式。
