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

本教程旨在介绍如何获取 Zivid calibration board 的高质量点云以进行手眼标定。这是使手眼校准算法发挥作用并达到所需精度的关键步骤。我们的目标是通过配置相机设置,使得无论标定板放置在工作空间中的哪个位置都可以获得高质量的点云。

假设您已经指定了要拍摄标定板图像的机器人位姿。在下一篇文章中,您将学习如何选择合适的位姿进行手眼标定。

备注

使用 Zivid calibration board 进行校准时,请确保整个板(包括基准标记)对于每个位姿都是完全可见的。

我们将讨论两种位姿:”近端”位姿和”远端”位姿。 “近端”位姿是指相机和棋盘格之间的成像距离最小的机器人位姿。在eye-in-hand系统中,这是机器人安装的相机最接近棋盘格的位姿。在eye-to-hand系统中,则是机器人将棋盘格放置在最靠近固定相机的机器人位姿。

Eye-in-hand系统中用于捕获 `Zivid calibration board`_ 的机器人近端位姿

Eye-to-hand系统中用于捕获 `Zivid calibration board`_ 的机器人近端位姿

Eye-in-hand robot pose for a close capture of Zivid calibration board

Eye-to-hand robot pose for a close capture of Zivid calibration board

“远端”位姿是指相机与棋盘格之间成像距离最大的机器人位姿。在eye-in-hand系统中,是机器人上安装的相机距离棋盘格最远的机器人位姿。在eye-to-hand系统中,则是机器人将棋盘格放置在最远离固定相机的机器人位姿。

Eye-in-hand系统中用于捕获 `Zivid calibration board`_ 的机器人最远位姿

Eye-to-hand系统中用于捕获 `Zivid calibration board`_ 的机器人近端位姿

Eye-in-hand robot pose for a close capture of Zivid calibration board

Eye-to-hand robot pose for the farthest capture of Zivid calibration board

小技巧

尝试使用 标定板预设设置 在最近和最远的位姿进行成像。如果您获得了良好的结果,您可以跳过本教程的其余部分并继续使用这些设置。

预期结果如下图所示:

../../../_images/how-to-get-good-quality-calibration-board-final-result.png

获取用于手眼标定的优秀点云的分步过程如下。

可能的情况

在下面的教程中,我们将使用 SNR 图来检查黑白像素的信号质量。随着 SNR 值的增加,颜色指示器从红色变为深蓝色。下面,您将找到 SNR 范围以及您在本教程中可能遇到的所有可能情况。

../../../_images/how-to-get-good-quality-calibration-board-horizontal-SNR-scale.png

黑色区域曝光不足,白色区域的质量不佳。

黑色区域的质量不好,而白色区域的质量令人满意。

黑色区域的质量令人满意,白色区域的质量最佳。

黑色区域的质量最佳,白色区域曝光过度。

黑色和白色区域曝光过度。

The black areas are underexposed, and the quality of the white areas is not good.

The quality of the black areas is not good and the white areas have a satisfactory quality.

The quality of the black areas is satisfactory and the white areas have an optimal quality.

The quality of the black areas is optimal and the white areas are overexposed.

The black and white areas are overexposed.

基本设置

首先,我们将定义本教程的基本设置。

  1. 将机器人移至”近端”位姿

  2. 启动 Zivid Studio 并连接到相机

  3. Vision Engine 设置为phase

  4. Sampling, Color 设置为 rgb。

  5. Sampling, Pixel 设置为all。

  6. Exposure Time 设置为 10000μs(对于 50Hz 电网频率)或 8333μs(对于 60Hz 电网频率)

  7. 使用 焦深计算器 来设置 f-值

    • 最小焦深(毫米):最远工作距离 - 最近工作距离

    • 最近工作距离(mm):是相机与棋盘格之间的最近距离

    • 最远工作距离(mm):是相机与棋盘格之间的最远距离

    • 可接受的模糊半径(像素):1

  8. Projector Brightness(投影仪亮度) 设置为最大值

  9. Gain(增益) 设置为 1

  10. Noise Filter(噪声过滤器) 设置为 5

  11. Outlier Filter(离群值过滤器) 设置为 10

  12. Reflection Filter(反射过滤器) 设置为 global

关闭所有其它过滤器并将所有其它设置保留为其默认值。

优化”近端”位姿的相机设置

对”近端”的白色区域进行微调(Acquisition 1)

在此阶段,忽略黑色格子区域并专注于白色格子区域。捕获并分析 Zivid calibration board 的白色区域。对白色区域进行微调时,请使用以下图像作为示例。

白色区域的质量最佳,黑色区域可以忽略(SNR 图)。

白色区域的质量是最佳的,黑色区域可以忽略(深度图)。

The quality of the the white areas is optimal, the black areas can be ignored (SNR map).

The quality of the the white areas is optimal, the black areas can be ignored (Depth map).

图像曝光不足(白色像素太暗)
  1. 增加 Exposure Time(曝光时间)

以 10000μs [50Hz] 或 8333μs [60Hz] 为增量增加曝光时间,直到白色方格上有良好的数据。

  1. 降低 f-number(f-值)

图像曝光过度(白色像素饱和)
  1. 减少 Exposure Time(曝光时间)

    减少曝光时间可能会导致点云上出现波纹现象,这是 环境光干扰 (来自电网)导致的。如果没有波纹现象,请继续减少曝光时间,直到在白色方格上获得良好的点云数据。

    如果达到曝光时间限制,并且数据仍不够好或点云呈波浪状,请执行下一个选项。

  2. 增大 f-number(f-值)

  3. 降低 Projector Brightness(投影仪亮度)

此时,四个采集项之一(”Acquisition 1”)即调整完成。

对”近端”的黑色区域进行微调(Acquisition 2)

关闭”Acquisition 1”并克隆它。当前的”Acquisition 2”需要进行调整,以便在 Zivid calibration board 的黑色棋盘格区域获得良好的数据。因此,预计白色方格会出现曝光过度的情况。以下图为例,由于白色像素曝光过度,我们没有棋盘格中白色部分的数据:

白色像素曝光过度,黑色像素数据良好(SNR 图)。

白色像素曝光过度,黑色像素数据良好(深度图)。

White pixels overexposed and good data on the black pixels (SNR map).

White pixels overexposed and good data on the black pixels (Depth map).

较暗的表面需要较高的曝光。

图像曝光不足(黑色像素太暗)
  1. 增大 Projector Brightness(投影仪亮度)

  2. 增加 Exposure Time(曝光时间)

    以 10000μs [50Hz] 或 8333μs [60Hz] 为增量增加曝光时间,直到 Zivid calibration board 的黑色方格上有良好的数据。如果已达到曝光限制且数据还不够好,请执行下一步选项。

  3. 减少 f-number(f-值)

  4. 增加 Gain(增益)

优化”远端”位姿的相机设置

对”远端”的白色区域进行微调(Acquisition 3)

关闭”Acquisition 2”并克隆”Acquisition 1”。让我们再次忽略黑色方格,只关注白色方格。捕获并分析 Zivid calibration board 的白色区域。

图像曝光不足(白色像素太暗)
  1. 增大 Projector Brightness(投影仪亮度)

  2. 增加 Exposure Time(曝光时间)

    以 10000μs [50Hz] 或 8333μs [60Hz] 为增量增加曝光时间,直到 Zivid calibration board 的黑色方格上有良好的数据。如果已达到曝光限制且数据还不够好,请执行下一步选项。

  3. 减少 f-number(f-值)

图像曝光过度(白色像素饱和)
  1. 减少 Exposure Time(曝光时间)

    减少曝光时间可能会导致点云上出现波纹现象,这是 环境光干扰 (来自电网)导致的。如果没有波纹现象,请继续减少曝光时间,直到在白色方格上获得良好的点云数据。

    如果达到曝光时间限制,并且数据仍不够好或点云呈波浪状,请执行下一个选项。

  2. 增大 f-number(f-值)

  3. 降低 Projector Brightness(投影仪亮度)

对”远端”的黑色区域进行微调(Acquisition 4)

关闭”Acquisition 3”并克隆”Acquisition 2”。

当前的”Acquisition 4”需要进行调整,以便在 Zivid calibration board 的黑色棋盘格区域获得良好的数据。因此,预计白色方格会出现曝光过度的情况。

较暗的表面需要较高的曝光。

图像曝光不足(黑色像素太暗)
  1. 增大 Projector Brightness(投影仪亮度)

  2. 增加 Exposure Time(曝光时间)

    以 10000μs [50Hz] 或 8333μs [60Hz] 为增量增加曝光时间,直到 Zivid calibration board 的黑色方格上有良好的数据。如果已达到曝光限制且数据还不够好,请执行下一步选项。

  3. 减少 f-number(f-值)

  4. 增加 Gain(增益)

至此,四次采集的设置已配置完毕。现在只是缺少添加最终的过滤器设置。

优化过滤器

  1. Gaussian Smoothing(高斯平滑) 设置为 5

  2. Contrast Distortion, Correction(对比度失真、校正) 设置为 0.4

  3. Contrast Distortion, Removal (对比度失真、移除) 设置为 0.5

现在您的点云应该类似于教程顶部显示的 点云

备注

在大多数情况下,两次采集(一次针对”近端”位姿进行优化,另一次针对”远端”位姿进行优化)将在棋盘上提供高质量的数据。确定正确成像设置的另一个选项是使用Capture Assistant(捕获助手)。然而,它目前仅提供整个场景的最佳设置,而不是专门针对棋盘格。虽然捕获助手对于此目的仍然有效,但建议使用上述方法,因为它始终会产生良好的结果。

让我们看看如何实现 手眼标定的流程.