实操

相机标定失败怎么办:重投影误差太大、检测不到角点、结果不稳定的排查

按症状排查相机标定问题:检测不到角点、重投影误差偏大、两次结果差异大、焦距明显不对、畸变方向反了、双目外参翻转、去畸变后边缘仍弯。每个症状给出最可能的原因和对应处理。

要点

  • 先查输入,再查模型:参数填错(方格尺寸、行列数、字典)和采集问题占了大多数故障。
  • 角点检测不到,多数是图案参数不一致、模糊或反光;误差偏大,多数是运动模糊、板不平或覆盖不足。
  • 结果每次都不一样,通常是数据退化(姿态单一)或模型参数过多,而不是软件有问题。
  • 解决后用独立数据验证,不要只看一个 RMS 数字。

症状一:检测不到角点或标记

最常见的原因,按检查顺序排列:

  1. 图案参数与实物不一致:行列数数的是方格还是内角点;ChArUco 的字典、方格尺寸、标记尺寸;AprilGrid 的 tag 家族、间距比。
  2. 图像太模糊或太暗:对焦不在标定板上,曝光时间太长造成运动模糊。
  3. 反光:板面出现亮斑,遮住了局部图案。调整光源角度或使用偏振片。
  4. 板被遮挡或出画:普通棋盘格和圆点阵列要求整板可见,改用 ChArUco 或 AprilGrid 可以容忍。
  5. 倾斜过大:超过约 60° 时方格被严重压缩,减小角度。

症状二:重投影误差偏大

  • 运动模糊或离焦:逐图误差里个别图特别高,多半是这种图,见采集最佳实践。
  • 标定板不平或尺寸不准:在标定板坐标系里看残差,各图出现相同规律,说明板本身有问题。
  • 模型不够用:残差在图像坐标里呈径向或旋涡状,换用更合适的模型,见相机模型怎么选。
  • 卷帘快门:拍摄瞬间板在运动。
  • 误检:个别角点编号错位,用鲁棒核或剔除离群点。

症状三:两次标定结果差别很大

先看参数标准差和相关性。若 k1、k2、k3 之间相关系数接近 ±1,说明单个畸变系数不可信,但投影结果可能仍然一致。改善办法:增加倾斜姿态,固定约束不住的高阶参数,或换更简单的模型。

症状四:焦距明显不对

fx 应接近“镜头焦距 ÷ 像元尺寸”。如果差很多:检查是否填错了像元尺寸、是否改过分辨率或 binning、标定图像是否几乎都正对相机(焦距和距离无法区分)。

症状五:畸变方向反了、去畸变后边缘还是弯

  • 广角镜头常见桶形畸变,对应 k1 为负;符号反了先检查模型定义和参数顺序。
  • 去畸变后边缘仍弯,通常是边缘处没有标定数据,补拍画面四角和边缘。
  • 导出到其他软件时,确认畸变模型和参数顺序一致(OpenCV 与 HALCON 的定义不同)。

症状六:双目外参翻转或基线不对

  • 使用了对称图案(对称圆点、偶数×偶数棋盘格),两台相机的编号不一致。改用 ChArUco、AprilGrid 或奇数行非对称圆点。
  • 两台相机没有同步,标定板在曝光间隙内移动了。
  • 共视图像太少或姿态单一。

详见双目与多相机标定要点。

排查之后

处理完问题重新标定,按看懂标定结果的顺序检查,并用未参与标定的图像做验证。

需要帮您选标定板?

把相机分辨率、像元尺寸、焦距、工作距离和应用场景告诉我们,我们给出图案、尺寸与基材建议。