如何改进 Aruco 标记姿势估计?

bar*_*lgz 2 computer-vision pose-estimation aruco

我很难用相机估计 Aruco 标记的位置。在我使用 DICT_6X6_250 字典和上面有 4 个 20x20 厘米标记的板进行测试时,我测量了 6 米,误差为 20-30 厘米。我需要更精确的测量。

这个错误率正常吗?我可以做什么来提高准确性?

小智 5

一般来说,Aruco 存在歧义问题,您可以在这里找到。

我正在对基准标记进行一些研究,这个错误率非常正常。标记的姿势估计在 x 和 y 旋转以及 z 平移方面往往存在误差。

然而,有一些因素会影响 Aruco Pose 估计的准确性。以下几点有助于提高姿势估计的准确性,您应该考虑这些:

  • 第一个是使用高分辨率的Camara。如果图像平面中的标记很小,则姿态估计将不那么准确。
  • cv2.aruco.estimatePoseSingleMarkers()
    其次,我建议使用而不是使用cv2.SolvePnP(),因为它允许您使用不同的透视 N 点算法来计算姿势。您可以在此处阅读有关 SolvePnP 的更多信息以及此处的不同方法
  • 对于 Aruco 检测,cv2.detectMarkers()请使用子像素角细化方法。
  • 最后,您可以使用姿势细化方法来改进估计的姿势(此处)。此方法减少了估计姿势的重投影误差,因此您应该获得更好的姿势估计精度。