9 Jan 2018
照相机的传统标定的经验之谈:前提、步骤、注意
目录
标定的前提条件
标定方法
张正友提出的相机标定法:使用平面棋盘格标定板。
相机
- 根据需求,选择合适相机+镜头
- 调节摄像机(相机+镜头)
- 调整镜头的焦距后,就固定焦距
- 针对应用,将相机对焦到特定的物距处
- 此时,根据景深和光圈的数学关系(见搜索引擎的结果)来调节光圈的F数,得到需要的景深。调节时,要特别注意相机的景深(能清晰成像的物距范围),特别是景深小的时候,依经验应当使标定模板工作在相机的聚焦范围内;
- 计算此刻成像系统是否符合小孔成像模型?最优情况下,光圈大小应该至少<光圈和像面间距离的1/100。
Optimally, the size of the aperture should be 1/100 or less of the distance between it and the projected image.
引自小孔模型
- 保持摄像机的一切不再变动,相机之后完全变成定焦的;
- 注意相机的曝光问题,对于程序控制曝光时间的相机,应该在程序中调节相机曝光时间使图像亮度正常或者使用自动曝光;图像的亮度主要受相机的三个因素影响:ISO(成像传感器对光的敏感度)、光圈、快门(曝光时间)。对于无法手动调节曝光时间的情况下,一般推荐首先尝试使用自动曝光。
标定板
- 标定板要足够的平整和清晰,将标定纸平整地贴在标定板上。一般要注意标定板的强度问题、标定纸的受潮问题、标定纸的一比一打印、标定纸的颜色和边界清晰。
- 采集标定的图像
- 足够的图像,10幅以上,覆盖相机的图片中上下左右中五个位置和绕3轴小于45°的倾斜姿态;
- 图像要清晰,不能看出有运动模糊。
注意:
- 由于相机硬件本身或者驱动程序的原因导致数据采集帧率比较慢(例如10fps)时,特别注意这时采集图像很容易发生运动模糊,进而很可能导致标定结果很差。很差的意思就是说:不同组的输入数据得到的标定结果会波动很大,不能保证每组输入数据得到的结果都在准确值附近。
- 浅景深的相机(例如某些做视觉伺服的相机,某些对焦可变的相机),在景深范围外成像是模糊的,用景深范围外的图片经实验确实会很影响相机标定的结果。
- 所以针对1,2中提到的一些特殊的相机,最好采集标定用图像后再人工筛选一遍,一定要保证标定用的图片是清晰的!
- 注意拍摄的标定板过程中,重复的姿态对标定过程没有帮助,在图像过少是(大约<5),还可能造成求解过程奇异。
标定步骤
我根据经验总结出了这里的大概步骤,更加详细的步骤的主要来源可以参考Calibration examples of Camera Calibration Toolbox for Matlab。
- 保证所有前提条件满足,剔除不符合要求的图像
- 先用径向+切向扭曲参数,分析平均重投影误差大的图像,剔除其中引起最大的误差的这些图像。
- 对部分质量差的相机(由于图像传感器芯片的加工工艺进步,现在这种相机很少了),如果标定的重投影误差降不下来,最后可加入斜交参数,再尝试标定并再分析重投影误差。
Tags: