采集标定图像的最佳实践:角度、覆盖、对焦与曝光
标定结果的好坏在采集阶段就已基本决定。本文给出一套可执行的采集方法:图像数量、±30–45° 倾斜、覆盖画面四角与边缘、远近变化、锁定对焦与光圈、照明与曝光、避免运动模糊,以及双目同步采集要点和检查清单。
要点
- 先锁定相机状态:对焦、光圈、变焦、分辨率与实际使用时完全一致,关闭自动对焦和各类图像增强。
- 单台相机通常采集 15–30 张有效图像(经验值),关键在于姿态多样,而不是数量多。
- 标定板要绕两个轴各倾斜约 30–45°,特征点要覆盖画面四角和边缘,拍摄距离也要有远近变化。
- 图像要清晰、不过曝、没有运动模糊;标定板保持平整、静止。
- 双目和多相机必须同步采集,并使用方向唯一的标定板。
开拍之前:把相机“锁死”
标定得到的是“这台相机在这一组设置下”的参数。凡是会改变成像几何的设置,都应在标定前调到最终状态并固定:
- 对焦:在实际工作距离上对焦,然后锁紧对焦环,必要时用胶固定;关闭自动对焦。
- 光圈和变焦:调到使用状态后锁定。光圈还决定景深,要先确认标定板倾斜时整块板都清晰。
- 分辨率、binning、ROI:与实际应用保持一致。裁剪 ROI 会改变主点坐标,binning 会改变以像素计的焦距。
- 图像处理:关闭相机或驱动中的畸变校正、电子防抖、HDR、锐化和强降噪,它们会改变像素的几何位置或边缘形状。
- 图像格式:保存为 PNG、TIFF、BMP 等无损格式,避免高压缩比的 JPEG。
- 热稳定:让相机通电工作一段时间、温度稳定后再采集。精度要求高时,相机发热带来的参数漂移是可以测出来的。
需要拍多少张?
对单台相机、常规畸变模型而言,15–30 张姿态各异的有效图像通常就够了(经验值)。以下情况需要更多:
- 使用 8 参数有理模型、薄棱镜模型或鱼眼模型;
- 双目和多相机,既要保证每台相机自身的覆盖,又要有足够的共视图像;
- 视场大而标定板相对较小,单张图的覆盖范围有限。
判断标准不是张数,而是每张新图是否带来了新信息:新的倾斜方向、新的画面位置或新的拍摄距离。几乎重复的图像没有帮助,还会让结果偏向某一区域。
为什么一定要倾斜标定板?
如果标定板始终正对相机,图像之间只有平移和缩放的差别,焦距与拍摄距离就分不开:焦距大一点、距离远一点,得到的图像几乎一样。倾斜带来的透视变化,正是确定焦距和主点的关键。
具体建议:
- 绕水平轴和竖直轴分别倾斜,常用范围约 ±30–45°,另外包含几张接近正对的图像;
- 倾斜超过约 60° 后,方格在图像上被严重压缩,检测难度和误差都会增加;
- 在板面内转动标定板(如 0°、45°、90°)也有帮助,可以让特征的边缘方向更多样;
- 倾斜时检查景深:板的近端和远端都必须清晰。
怎样保证画面四角和边缘都有覆盖?
镜头畸变在画面边缘和四角最大,那里最需要数据。如果所有图像都集中在中央,边缘的畸变只能靠模型外推,误差可能达到数个像素。
一个简单的做法是把画面想象成 3×3 的九宫格,确保每一格,尤其是四个角,都在多张图像中出现过特征点,而且这些图像的倾斜方向各不相同。
ChArUco 和 AprilGrid 允许部分可见,可以把板的一部分移出画面,让角点贴近图像边缘。普通棋盘格和圆点阵列要求整板可见,只能用更小的板或更远的距离来照顾边角。
拍摄距离要不要变化?
要。在景深允许的范围内改变拍摄距离(例如工作距离前后各 10–20%,经验值),能进一步把焦距、畸变和位姿区分开。如果实际应用有一个距离范围,标定数据也应覆盖这个范围。
如果现场条件只允许在比工作距离更近的地方摆放标定板,要特别确认:在对焦锁定的前提下板仍然清晰。为了让近处的板变清楚而重新对焦是不行的,因为对焦改变后,焦距和畸变也会随之改变。
一个可以照着做的拍摄顺序
以单台相机、20 张左右为例,可以按下面的顺序拍摄,再根据覆盖情况补拍:
- 中央 4 张:板位于画面中央,分别向上、向下、向左、向右倾斜约 30–40°;
- 四角和四边 8 张:把板依次移到画面的四个角和四条边的中部,尽量贴近图像边缘,每个位置换一种倾斜方向;
- 远近 4 张:在工作距离的近端和远端各拍 2 张,同样带有倾斜;
- 旋转 4 张:把板在自身平面内旋转约 45° 或 90°,放在前面覆盖较少的区域;
- 检查补拍:叠加所有特征点,哪里稀疏就在哪里补拍几张。
每张图的板都应占据画面相当的比例。使用 ChArUco 或 AprilGrid 时,第 2 步可以让板的一部分移出画面,使角点更贴近图像边缘。
对焦和清晰度
模糊会降低角点和圆心的定位精度,严重时直接导致检测失败。需要注意:
- 倾斜的板远近两端距离不同,要确认两端都在景深之内;
- 缩小光圈能增加景深,但衍射模糊会增加,曝光时间也要加长,需要权衡;
- 对焦一旦锁定就不再调整。为了让某张图更清楚而重新对焦,会让整组数据作废。
照明和曝光怎么设?
- 均匀、漫射的照明:大面积柔光优于点光源,也要避免操作者或机器人在板上投下阴影。
- 避开反光:出现亮斑时调整光源或标定板的角度,必要时使用偏振片。
- 不要过曝:白色区域不应饱和(8 位图像中要明显低于 255),黑色区域也不要被压到 0。看一下直方图,黑白两个峰应清楚分开,且都没有贴边。
- 固定曝光和增益:建议使用手动设置,让各张图的亮度和噪声水平一致。
运动模糊与快门
运动模糊的大小可以粗略估算:
模糊量(px)≈ 运动速度(mm/s)× 曝光时间(s)× 物方分辨率(px/mm)
例如物方分辨率 8.7 px/mm、曝光 10 ms 时,即使标定板只以 5 mm/s 的速度轻微晃动,也会产生约 0.4 px 的模糊,已经超过高质量标定所追求的精度。因此:
- 最好把标定板放在支架上,静止后再拍;手持时要缩短曝光、加强照明;
- 卷帘快门(rolling shutter)相机拍摄运动物体会产生形变,拍摄瞬间必须完全静止;
- 照明不足时,优先增加光源亮度,而不是延长曝光或大幅提高增益。
移动标定板,还是移动相机?
对单台相机的内参标定来说,两者在数学上等价:求解时只关心标定板与相机之间的相对位姿。实际操作中按方便和稳定来选:
- 相机已经安装在设备上,通常移动标定板,放在可调角度的支架上逐个姿态拍摄;
- 相机装在机器人末端时,可以固定标定板,由机器人带着相机走过一系列姿态,重复性好,还可以顺便采集手眼标定的数据;
- 多相机系统一般固定相机、移动标定板,否则各相机之间的相对位置可能在搬动中改变。
无论哪种方式,都要保证拍摄瞬间完全静止,并且照明条件不随位置剧烈变化。
标定板要平整、稳定
- 用支架或夹具固定,大尺寸板要多点支撑,不要捏着一角悬空晃动;
- 不要用手指遮挡标记或角点,也不要触摸图案表面;
- 从库房或车上取出的标定板,先在现场放置一段时间,温度平衡后再用。
双目与多相机:同步和共视
- 同步:优先用硬件触发;无法硬件同步时,每次拍摄前让标定板完全静止。
- 共视:要有足够多的帧让标定板同时出现在相关相机中,这些共视帧本身也要满足倾斜、覆盖和远近变化的要求。
- 兼顾单机覆盖:只有一台相机看到的图像同样有价值,可以补充这台相机画面边缘的覆盖。
- 方向唯一:使用 ChArUco、AprilGrid、带标记棋盘格或奇数行非对称圆点,避免对称图案造成编号歧义。
更多内容见双目与多相机标定要点。
采集之后:先检查再计算
- 逐张查看检测结果,剔除模糊、过曝、检测错误的图像;
- 把所有检测到的特征点叠加到一张图上,检查四角和边缘是否都有覆盖,缺哪里补拍哪里;
- 标定后查看逐图误差,对明显偏高的图像先找原因,而不是简单删除。
如何解读结果,见看懂标定结果。
采集检查清单
- 对焦、光圈、变焦已锁定,自动对焦和图像增强已关闭
- 分辨率、binning、ROI 与实际应用一致
- 图像保存为无损格式
- 有效图像 15–30 张以上,姿态各不相同
- 包含绕两个轴各 ±30–45° 的倾斜
- 画面四角与边缘均有特征点覆盖
- 拍摄距离有远近变化,整块板始终在景深内
- 没有过曝、运动模糊和明显反光
- 标定板平整、静止,没有被遮挡
- 多相机:同步采集,共视帧充足,标定板方向唯一
需要经常重复标定时,可以用电动标定台让姿态变化和拍摄自动完成,提高每次采集的一致性。