如何验证相机校准是否正确?(或如何估计重投影的错误)

Ale*_*mer 8 computer-vision camera-calibration

校准质量是通过重投影误差来测量的(有替代吗?),这需要一些3d点的知识世界坐标.

有没有一种简单的方法来产生这样的已知点?有没有办法以其他方式验证校准(例如,张的校准方法只要求校准对象是平面的,系统的几何形状不需要知道)

lnm*_*nmx 6

用于生成固有校准的图像也可用于验证它.一个很好的例子是移动机器人编程工具包(MRPT)中的相机校准工具.

Per Zhang的方法,MRPT校准过程如下:

  1. 处理输入图像:

    • 1A.找到校准目标(提取棋盘角)
    • 1B.假设目标是具有已知交叉点数量的平面棋盘,估计相机相对于目标的姿势.
    • 1C.将图像上的点分配给相对3D坐标中的校准目标的模型.
  2. 找到最能解释1b/c中生成的所有模型的内在校准.

生成内在校准后,我们​​可以返回源图像.

对于每个图像,将估计的相机姿态与固有校准相乘,然后将其应用于在1c中导出的每个点.

这会将目标模型的相对3D点映射回2D校准源图像.原始图像特征(棋盘角)和重新投影点之间的差异是校准误差.

MRPT对所有输入图像执行此测试,并将给出聚合重投影错误.

如果您想验证一个完整的系统,包括相机内在函数和相机到世界的变换,您可能需要构建一个将相机和目标放置在已知配置中的夹具,然后根据实际情况测试计算出的3D点数世界测量.


Fra*_*ari 6

您可以独立于姿势验证估计的非线性镜头失真参数的准确性.捕获跨越视野的直边(例如铅垂线或平面上的激光条纹)的图像(跨越FOV的简单方法是旋转相机,保持铅垂线固定,然后添加所有图像) .在所述线图像上拾取点,不改变它们的坐标,拟合数学线,计算误差.

对于线性部件,您还可以以已知的相对姿势捕获多个平面钻机的图像,或者使用可重复/精确的装备(例如转盘)移动一个平面目标,或者以彼此已知的角度安装多个平面目标(例如,三个平面彼此成90度).

与往常一样,在准确度要求和预算之间需要妥协.有了足够的钱和附近友好的机械店,你可以让你的幻想与钻机几何形状一起狂野.我曾经有一个十二面体大小的葡萄柚大小,用白色塑料加工到1/20毫米规格.用它来校准机器人手臂末端执行器上的摄像机姿势,将其移动到固定点周围的球体上.十二面体在遮挡角方面具有非常好的性质.不用说,它都是专利的.