手眼标定的残差

为了评估手眼标定的性能,通常需要一种方法来检查残差。接下来将解释手眼标定残差的含义,并给出其计算示例。

对于数据集中的每个 标定对象 点云,都会提取一定数量的特征点。我们将这些特征点的集合称为特征点集。

../../../../_images/hand-eye-calibration-board-to-feature-points.png

可以通过手眼标定的结果来计算坐标变换。该坐标变换可以将特征点集从相机坐标系转换到机器人基坐标系。假设机器人系统的每个元素(即相机、机器人和手眼标定算法)都是完美的,则任意一个转换集中的特征点与数据集里其它转换集中对应的点的坐标是相同的。视觉效果来看就是3D空间中的所有特征点集都是重叠的。 但是实际情况并非如此,而是总会有一些残差。所以实际视觉效果是不同集合的相同特征点不会完全重叠,如下图所示,这是一个手眼标定实验的特征点集的示意图。

../../../../_images/hand-eye-calibration-residuals-visualized.png

现在我们将解释在使用 Zivid 标定板时,Zivid 软件如何计算残差。

可以在数据集中的特征点集中找到一组代表其它所有特征点集的算术平均值的参考特征点。这意味着参考集的每个特征点都具有坐标,从而使与其他集的中对应的特征点的欧几里得距离之和最小化。这由放大视图中的黑色放大球体表示。 然后Zivid 软件会估计每个特征点集的位姿,包括参考集的。最后将计算出平移和旋转残差,即参考特征点集与所有其他特征点集之间的相对位置和方向。平移残差由表征两个特征点集的参考系之间的欧几里德距离计算得出。旋转残差由两个参考系之间的 angle-axis representation 的角度计算得出。

关于手眼标定理论的文章到此结束。有关如何使用 Zivid 软件进行手眼标定的实用教程,请继续阅读 如何选择 Zivid 标定对象