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

本教程旨在介绍如何获取 Zivid棋盘格 的高质量点云以用于手眼标定。这是保证手眼标定算法能正常工作并达到所需精度的关键步骤。我们的目标是通过配置一个Zivid HDR设置,不论观察到Zivid标定板的位置在工作空间中的任何地方,都能获得高质量的点云。

假设您已经指定了要拍摄 Zivid 棋盘格图像的机器人位姿。查看如何为手眼标定选择合适的位姿。

备注

使用 Zivid calibration board 时,整个标定板(包括基准标记)在每个位姿都必须可见。

我们将讨论两个特定的位姿,”近端”位姿和”远端”位姿。 “近端”位姿是相机和棋盘格之间成像距离最小时的机器人位姿。对于eye-in-hand方式,是机器人上安装的相机最接近棋盘格的机器人位姿; 对于eye-to-hand方式,则是机器人将棋盘格放置在最靠近固定相机的机器人位姿。

标定中的两个机器人的草图,一个用于eye-in-hand,一个用于eye-to-hand。

“远端”位姿是相机和棋盘格之间成像距离最大时的机器人位姿。 对于eye-in-hand方式,是机器人上安装的相机距离棋盘格最远的机器人位姿; 对于eye-to-hand方式,则是机器人将棋盘格放置在最远离固定相机的机器人位姿。

两个机器人处于最远标定位姿的示意图,一个用于eye-in-hand ,另一种用于eye-to-hand。

根据您用于多相机标定所使用的的标定对象的类型,确保获得最佳质量点云的过程会有所不同。对于带有基准标记的标定对象,可导入设置参数以确保能够在范围内的所有角度和距离下工作。 对于白-灰色标定对象,请查看下文中的步骤1了解获取高质量点云的过程。

  • 导入 配置 文件,使用 Zivid 黑色标定对象获得最佳结果。

    备注

    使用黑色标定对象捕获的图像将具有较高的点移除率,这是为了防止由于对比度失真导致的错误。因此使用这种棋盘格时预计会得到更少的点。

如之前所描述,我们的目标是配置一个Zivid HDR设置,该设置包含了适合”近端”姿态的最佳设置和适合”远端”姿态的最佳设置。 下面将一步步地介绍获取用于手眼标定的高质量点云的步骤。

优化”近端”位姿的Zivid设置。

  • 将机器人移动到”近端”位姿。

  • 启动 Zivid Studio 并连接相机。

    • 对于白-灰色标定对象,可使用以下设置获得最佳的检测效果:

      • 曝光时间(Exposure time): 20000 us (50Hz 电网频率) 或16667us (60Hz 电网频率)

      • 光圈 (\(f\)-值):

        • Zivid One+ Small: 11

        • Zivid One+ Medium: 8

        • Zivid One+ Large: 5.66

        • Zivid Two: 8

      • 亮度:

        • Zivid One+ Small and Medium: 1

        • Zivid One+ Large: 1.8

        • Zivid Two: 1

      • 将所有其他设置保持为默认值

    • 捕获单次采集。

    • 打开直方图(histogram )并选择对数视图(Logarithmic view)。

现在根据以下说明进行参数设置,目的是使点云看起来和下图相似,即构成标定板的所有像素都位于直方图的最右侧(最后两段数值为64~256之间的区域)。

  • 如果您的图像曝光过度(白色像素饱和),请增加 \(f\)-值直到白色棋盘格不会过度曝光。然后,您可以微调投影仪亮度,使棋盘格的像素都位于直方图中的正确区域。

  • 如果您的图像曝光不足(白色像素太暗),请以 10000 (50Hz) 或 8333 (60Hz) 为增量增加曝光时间。这会将棋盘格像素移向直方图的右侧。在设置完曝光时间之后,下一个要微调的参数是投影仪亮度。

    小心

    注意不要过度曝光图像。

建议保持增益值为1。唯一可能需要更改它的情况是在较大的成像距离下使用Zivid Large相机的时候。同时建议设置较高的 f 值以确保焦深合适。

Zivid Studio中直方图的屏幕截图。 捕获棋盘格后Zivid Studio的屏幕截图。

这是您的棋盘格点云和直方图 不应该 的样子的示例!图像曝光过度,像素饱和,因此点云中缺少了对算法工作至关重要的点。

在一次糟糕的棋盘格捕获之后的Zivid Studio中的直方图的屏幕截图。 在一次糟糕的棋盘格捕获之后的Zivid Studio的屏幕截图。

优化”远端”位姿的参数设置

  • 将机器人移动到”近端”位姿。

  • 启动 Zivid Studio 并连接相机。

在下面的屏幕截图中,构成棋盘格的所有像素都位于直方图的最后三/四段区域中。如果您的点云看起来像这样,那么您可以使用相同的设置通过单次采集来捕获所有位姿的棋盘格图像。 这意味着当前的设置下图像的动态范围足够宽,可以覆盖任何”近端”位姿和”远端”位姿之间的位姿。

在一次良好的棋盘格捕获之后的Zivid Studio中的直方图的屏幕截图。 在一次良好的棋盘格捕获之后的Zivid Studio的屏幕截图。

在下面的捕获中,人眼几乎看不到棋盘格,且棋盘格的点云/深度图中的一些点丢失了。如果您的点云看起来像这样,那么您需要使用HDR模式。我们现在将演示如何找到第二个 HDR 采集项的设置。

在几乎不可见的棋盘格捕获后,Zivid Studio中的直方图屏幕截图。 在几乎不可见的棋盘格捕获后的Zivid Studio的屏幕截图。

在 Zivid Studio 中克隆(clone)图像帧并禁用第一个采集项(acquisition)。我们现在将调整第二个采集项(acquisition)。目的仍是在不过度曝光图像的情况下,使构成棋盘格的像素都位于直方图的最右侧的两段区域(值64-256)。请保持 \(f\)-值的设置与第一次采集相同。为了调整到合适的曝光,请以 10000 (50Hz) 或 8333 (60Hz) 的增量增加曝光时间, 在需要微调时,可调整投影仪的亮度。请仅在必要时调整增益值,例如在较大的成像距离下使用Zivid Large相机。

在第二次采集棋盘格捕获后,Zivid Studio中的直方图屏幕截图。 在第二次采集棋盘格后的Zivid Studio屏幕截图。

一旦您对第二次采集的设置感到满意,您就可以启用第一次采集并拍摄HDR图像。

在使用HDR捕获棋盘格后的Zivid Studio屏幕截图。

现在您可以将机器人移动到”近端”位姿,并使用相同的设置拍摄HDR图像:

在近距离捕获棋盘格的HDR图像后的Zivid Studio屏幕截图。

在大多数情况下,针对”近端”和”远端”位姿进行优化的两组采集设置组成的HDR图像设置,对于所有其他中间的位姿都适用。

在极端情况下,机器人位姿之间的成像距离(相机到棋盘格)存在巨大差异,您可能需要增加一个采集项(acquisition)。在这种情况下,将机器人移至”中间”位姿,并重复 此过程 以找到该位姿的最佳设置。然后,对于”近端”和”中间”位姿之间的所有位姿,使用包含了针对”近端”和”中间”位姿优化的设置来获取HDR图像,对于在”中间”位姿和”远端”位姿之间的其它位姿,使用包含了针对”中间”和”远端”位姿优化的设置来获取HDR图像

另一种获取合适的成像设置的方法是使用Capture Assistant(捕获助手)。目前版本的捕获助手会针对整个场景(最大化覆盖范围)分析最佳的曝光设置,而不仅仅对您想要的棋盘格进行设置。在大多数情况下,捕获助手都都获取很好的图像质量,因此请随意尝试,以上描述的方法通常都能很好的运行。

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