几何校准方法

    几何校准方法

    博客

    与现有几何校准方法的比较

    引言

    GEOCAL 是一种 Camera 校准工具,它利用激光技术投射光斑网格,从而实现精确的几何校准,而无需传统 Test Charts。几何校准提高了 Camera 在汽车和安防等行业的精度。

    在 GEOCAL 的产品开发阶段,我们已经与使用其他标准几何校准方法来开发产品或提供服务的客户进行了合作。这些方法已成熟并被证明有效。在本论文/技术说明中,我们将比较这些方法的结果与使用 GEOCAL V1.4 软件执行的几何校准结果。1.4 版本是迈向更高灵活性、可靠性和准确性的重要一步。

    Camera 1

    PhaseOne 为参与例如地理空间成像的客户提供其 Camera 的几何校准,这些客户需要其捕获的数据具有高精度。他们非常友好地为我们提供了一个 PhaseOne Camera 及其当前校准结果以供比较。

    以下数据是该 Camera 以及所应用的硬件和软件。

    • Camera: PhaseOne iXM-RS150F-RS

    • 焦距:50 mm

    • Pixel 间距:3.76 µm

    • 传感器 Resolution:14204 px * 10652 px

    • 使用的 GEOCAL:GEOCAL XL

    • GEOCAL Software:V1.4.0

    • 应用的 Distortion 模型:Even_Brown_Model

    尽管 GEOCAL 仅需要一张图像进行几何校准,我们仍使用 GEOCAL 软件分析了三张图像,以确保重复性。焦距以 pixel 为单位提供,并通过应用 pixel 间距转换为 mm。方法之间的偏差基于这三个测量值的平均值。

    结果

    由于 Phase One 声明了去畸变函数的系数,我们无法直接比较 GEOCAL Software 计算的 Distortion 系数。不过,我们可以比较获得的焦距和主点。以下是两种方法的比较。

    我们可以看到,两种方法在焦距和主点方面的差异很小。此外,均方根误差 (RMSE) 值仅为 pixel 的一小部分,这表明重投影网格与实际检测到的网格非常接近。RMSE 代表检测点到重投影点在 pixel 中的平均偏移量,是衡量良好几何特性最显著的指标。

    Camera 2

    一家汽车客户提供了一个带有已知参考数据的金标 Camera 用于此比较。

    以下数据为该 Camera 以及所应用的硬件和软件。

    • Camera: Leopard Imaging

    • 视角:约 120°

    • 传感器 Resolution:3840 px * 2160 px

    • 使用的 GEOCAL:GEOCAL XL

    • GEOCAL 软件:V1.4.0

    • 应用的 Distortion 模型:自定义

    • 变异系数数量:4

    结果

    我们拍摄了四张图像,使用我们的 GEOCAL 软件进行分析,发现焦点和焦距也显示出很小的偏差。同样,方法之间的偏差是基于所有四个 GEOCAL 测量值的平均值。

    通过校正焦距和主点,我们获得了内参 Camera 矩阵所需的一切,这对于有效的去畸变至关重要。当时开发阶段的 Distortion 系数尚无法比较。

    Camera 3 - 棋盘格与 GEOCAL

    我们还将 GEOCAL 校准与基于 TE251 Distortion chart 分析的知名 OpenCV 棋盘格校准进行了比较,以更好地了解其性能。

    以下数据为该 Camera 以及所应用的硬件和软件。

    • Camera: Canon Powershot G5 X

    • 焦距:9 mm

    • 传感器 Resolution:5536px * 3693 px

    • 使用的 GEOCAL:GEOCAL XL (SN: GC-10004)

    • GEOCAL 软件:V1.4.1

    • 应用的 Distortion 模型:Even_Brown_Model

    • 用于验证的 Test Chart:TE251

    • 分析 Software:iQ-Analyzer-X 1.9

    第一步是拍摄 GEOCAL XL 的照片。为了确保光点清晰可见,我们尽可能缩短曝光时间,将 ISO 设置为最低,并将光圈设置为 11。然后,通过将图像中心处的 0 阶最亮点与 Camera 水平放置并使用水平仪,确保旋转尽可能小。

    图像似乎曝光不足,但这是光点尺寸较小的结果,这是预期中的。我们使用 GEOCAL Software 1.4.1 按照以下配置对其进行了分析。

    • Distortion 模型:Even_Brown_Model

    • 径向系数数量:3

    • 切向系数数量:0(这在离心或未对准的 lens 情况下更适用)

    下一步是执行 OpenCV 棋盘格校准。

    要开始棋盘格校准,我们需要至少十张来自具有定义方格数量的方形棋盘格图案的图像。这些是我们使用的图像:

    我们使用 OpenCV 文档中的一个示例脚本进行棋盘格校准。

    OpenCV 正确检测了所有点。校准在同一 PC 上使用 GEOCAL 软件大约需要 5 秒,使用 OpenCV 代码需要 95 秒。

    两种校准后,内参参数和 Distortion 系数如下:

    这些参数是我们需要对 TE251 图像进行去畸变所需的一切。我们使用 Python 中的 OpenCV undistort() 函数,结合 GEOCAL 和棋盘格参数进行了去畸变。这是我们的输入图像:

    应用去畸变后的图像。

    使用棋盘格方法去畸变的图像
    使用棋盘格方法去畸变的图像
    使用 GEOCAL 方法去畸变的图像
    使用 GEOCAL 方法去畸变的图像

    视觉上,角落处有轻微差异。通过使用 iQ-Analyzer-X 测量这些去畸变图像中剩余的 Distortion,我们可以更好地了解其性能。

    两种方法都显示,Local Geometric Distortion(LGD) 在高达 70% 的视场范围内接近于零;超过 70% 时,GEOCAL 的性能更优。上图中的线代表特定半径/视场的平均 LGD。想象一下,它是 TE251 中所有具有相同半径的检测到的十字交叉点的 LGD。要了解更多关于 LGD 计算的信息,这是 ISO17850 的一部分,请访问我们的网站库 - Distortion

    2D 图像提供了整个图像视场 Distortion 分布的良好概览。然而,Camera 和 Chart 之间的对准是这两个图像外观的一个重要因素。

    棋盘格方法的测试结果
    棋盘格方法的测试结果
    GEOCAL 方法的测试结果
    GEOCAL 方法的测试结果

    请注意,在 GEOCAL 校准中我们没有使用切向系数,而棋盘格校准应用了它们。我们发现,在这种情况下,省略切向系数会带来更好的结果,无论是视觉上还是客观上。

    总结

    在前两个示例中,GEOCAL 校准在寻找焦距和主点方面表现出相当高的精度,它们是 Camera 内参矩阵的关键参数。当使用 OpenCV 的去畸变算法时,棋盘格与 GEOCAL 的比较显示出与 OpenCV 棋盘格校准相似的结果。它在易用性方面表现更优,因为它不需要捕获那么多图像。一张适当曝光和对齐的图像就足够了。此外,它对设置空间的要求也少得多。然而,要使用 GEOCAL 校准,Camera 必须能够对焦到无穷远或至少接近无穷远,以提供清晰的点。还应该能够调整曝光,以避免点饱和。GEOCAL 的校准时间大大缩短,这使得它对于需要速度、高吞吐量和精度的应用非常有吸引力。

    有关 GEOCAL 的更多信息,请联系我们