1. 标定系统概述:四相机标定的应用场景、系统组成与工作流程
各位工程师朋友,欢迎来到《四相机标定系统搭建与调试实战》的第一章。
说实话,四相机标定这个方向,我接触了快十年。从最早的实验室原型,到后来量产车上的环视系统,再到VR头显里的空间定位——每一次项目都让我对“标定”这两个字有新的理解。
很多人觉得标定就是拍几张棋盘格照片,跑个算法就完事了。嗯,如果你只是做单相机内参标定,确实差不多。但四相机系统,完全是另一回事。
这一章,我们先搭个框架。把四相机标定到底在做什么、用在哪儿、由什么组成、怎么干活,理清楚。
1.1 四相机标定到底解决什么问题?
先问一个问题:为什么需要四个相机?
一个相机视野有限。两个相机能测深度,但覆盖范围还是不够。四个相机,才能做到360°无死角感知。
但四个相机不是简单拼在一起就行。每个相机有自己的内参(焦距、畸变、主点),相机之间还有外参(旋转、平移)。如果这些参数不准,拼接出来的全景图就会错位,测距就会偏差,VR里你伸手就摸不到虚拟物体。
四相机标定的核心任务就三个:
- 单相机内参标定——每个相机自身的成像模型要准
- 多相机外参标定——相机之间的相对位姿要准
- 联合优化——全局一致性,消除累积误差
一句话总结:四相机标定,就是让四个相机“说同一种语言”,在同一个坐标系下协同工作。
1.2 应用场景:你会在哪里遇到它?
我参与过的项目里,四相机标定主要出现在三个领域。每个领域的要求都不一样。
| 应用领域 | 典型场景 | 标定精度要求 | 标定频率 |
|---|---|---|---|
| VR/AR | 头显外部追踪、手柄定位 | 亚毫米级 | 出厂一次,使用中热补偿 |
| 自动驾驶环视 | 360°全景影像、自动泊车 | 厘米级 | 出厂标定 + 售后重标 |
| 工业检测 | 大尺寸工件多视角测量 | 0.1mm级 | 每次换型重标 |
拿VR头显来说。我记得2020年做一个Inside-Out追踪项目,四个鱼眼相机分布在头显四角。标定误差超过0.5mm,用户转头时虚拟场景就会“飘”。后来我们花了整整两周优化外参标定流程,才把误差压到0.2mm以内。
自动驾驶环视又是另一套逻辑。车上四个相机安装位置固定,但车身会老化、颠簸,外参会慢慢漂移。我曾经遇到一个案例,车主开了半年后环视拼接图错位了20个像素——就是因为后视摄像头支架松动。所以车厂现在都要求标定算法能支持在线自检和快速重标。
我的建议:做项目前先搞清楚精度要求。VR和工业检测对标定精度极其苛刻,自动驾驶环视反而对实时性和鲁棒性要求更高。别拿同一套流程去套所有场景。
1.3 系统组成:一套四相机标定系统需要什么?
一套完整的四相机标定系统,硬件和软件缺一不可。我按模块拆开讲。
1.3.1 硬件部分
- 相机模组:4个工业相机或车载摄像头,建议选全局快门,减少运动模糊
- 标定板:棋盘格、圆点阵或ChArUco板。尺寸要覆盖四个相机的公共视野
- 支架/工装:固定相机和标定板的机械结构。精度直接影响外参标定结果
- 采集卡/同步触发器:四相机需要硬件同步触发,保证同一时刻采集
- 计算平台:工控机或嵌入式板卡,跑标定算法
这里有个坑。我早期做项目时图省事,用软件触发四个相机。结果每帧图像之间差了10-20ms,标定出来的外参全是错的。后来换成硬件硬触发,问题立刻解决。
注意:四相机标定必须硬件同步。软件同步的时延抖动会直接毁掉外参精度。别省这个钱。
1.3.2 软件部分
- 图像采集模块:驱动相机、设置曝光/增益、触发采集
- 特征提取模块:角点检测、亚像素定位、标定板识别
- 单目标定模块:基于张正友法或直接线性变换(DLT)求解内参
- 多目标定模块:PnP求解外参、全局光束法平差(BA)优化
- 结果验证模块:重投影误差分析、拼接图可视化、测距验证
软件架构上,我个人习惯把标定流程做成离线标定 + 在线验证两条线。离线标定跑完整流程,生成参数文件;在线验证只做轻量级检查,比如拍一张图看看重投影误差是否超标。
1.4 工作流程:从零到标定完成
一个标准的四相机标定流程,我把它分成6步。每一步都有需要注意的细节。
- 准备阶段:安装相机、固定标定板、配置同步触发、设置曝光参数
- 数据采集:移动标定板覆盖不同位置和角度,每个相机采集20-30张有效图像
- 单目标定:对每个相机独立计算内参和畸变系数
- 多目标定:以其中一个相机为基准,计算其他相机到基准的外参
- 全局优化:所有相机联合BA,最小化所有观测点的重投影误差
- 验证与交付:用验证集检查精度,输出标定参数文件
这里我画了一张流程图,把整个流程串起来。
你看,整个流程是线性的,但每个步骤之间都有反馈回路。比如单目标定做完,如果重投影误差大于0.5像素,我会回头检查数据采集质量,而不是硬着头皮往下走。
1.5 标定精度怎么衡量?
衡量标定结果好不好,我一般看三个指标:
- 重投影误差(Reprojection Error):3D点投影到图像上的位置和实际检测位置的偏差。单目标定通常要求 < 0.3px,多目标定 < 0.5px
- 外参一致性:不同标定板位姿下解算出的外参标准差。标准差越小,说明标定越稳定
- 拼接图错位量:环视拼接后,相邻相机重叠区域的像素偏差。这个最直观,客户一眼就能看出来
一个小技巧:我习惯在标定完成后,用标定板放在四个相机的公共视野中心,分别投影到每个相机图像上,看投影点是否重合。如果偏差超过2个像素,说明外参还有问题,需要重新优化。
1.6 本章小结
这一章我们聊了四相机标定的应用场景、系统组成和工作流程。核心就三件事:
- 知道它用在哪儿——VR/AR、自动驾驶、工业检测
- 知道它需要什么——硬件同步、标定板、完整的软件栈
- 知道它怎么干——6步流程,每步都要验证