标定

在本节中,我们将讨论多相机标定。

多相机设置示例

在不同位置配置相机

为了获得最佳性能,应将相机安装在刚性机构上,最重要的是将相机固定在其相对位置的机构的刚性。 出于演示目的,可以使用三脚架固定相机,但请注意,如果将相机移出其标定位置,则需要重新标定。

在本文中,我们将重点介绍一种简单的两机设置。

展示具有重叠的FOV的多相机标定设置

将标定对象放在所有相机的重叠视野内

这里有一些注意事项。

  1. 每个相机都必须可拍摄到完整的标定对象。

  2. 我们必须获得标定对象的高质量数据。

关于标定板(棋盘格)放置的考量 :color: light

考虑当我们想要将相机固定为成夹角互为180度这种情况时,换句话说,相机彼此相对。如果我们将 标定对象 在 FOV 中间,我们将得到以下场景:

当多个相机直接面对面放置时,标定对象不在FOV中

幸运的是,可以通过将标定对象移动到FOV的一侧来减少角度限制。这样,即使标定对象与两个相机的ZY平面对齐(180度场景),仍然可以看到标定对象。

多台相机彼此正对时FOV中的标定对象

但实际上即使棋盘格在视野中,也可能无法检测到它。在如此陡峭的角度下,棋盘格上覆盖的像素较少,导致它有一个较差的分辨率。因此在实际情况中角度限制可能小于180度。

我们可以将此概念扩展到两个以上的相机。考虑以下使用案例:

  • 三个相机

  • 彼此成120度角

  • 垂直安装(共享YZ平面)

三个相机安装为共享yz平面的位置 可视化当相机共享yz平面时捕获的对象

在这种情况下,棋盘格具备可进行标定的角度。

我们假设从水平方向倾斜所有相机以获得更大的水平FOV。

  • 三个相机

  • 彼此成120度角

  • 水平安装(共享XZ平面)

安装三个相机以共享xz平面 可视化当相机共享xz平面时捕获的对象

FOV比率使得我们需要将标定对象移动到更靠近公共平面的位置。因此,相机和标定对象之间的角度会更加陡峭。如果因为棋盘格的分辨率太低或者点云质量不够好导致无法进行标定,请参考 多步标定

标定对象必须在重叠的FOV中可见

目前Zivid使用标定板进行标定。这是一个棋盘格,您可以从 Zivid WebShop 购买或自己打印(查看 标定对象 获取更多的信息)。该对象只能从一侧进行观测,在 如何优化标定对象的放置 涵盖了对该限制的解决办法。

我们必须获得标定对象的高质量数据

我们首先必须控制环境,才能捕获良好的点云。两个最重要的考虑因素是:

  1. 将标定对象放置于相机的最佳拍照范围内(请查看 工作距离和相机定位 了解更多细节)。

  2. 限制环境光的数量(请查 看 处理强环境光 了解更多细节)。

查看 如何获得Zivid标定板的高质量数据

执行标定

标定本身仅涉及运行我们的标定软件。

小技巧

建议在运行多相机标定之前 预热 相机和运行 现场标定 。如需进一步降低与温度相关的性能因素的影响,请启用 Thermal Stabilization(热稳定功能)

  1. 使用所有相机捕获标定对象的点云。

  2. 执行标定。

  3. 输出变换矩阵。

这由 Multi-camera calibration sample application 进行处理, 在 Multi-camera calibration programming tutorial 中有详细的说明。

现在你可以 学习如何利用多相机标定的输出来拼接点云。或者, 了解多相机标定的理论.