在 Windows 10 上使用 AprilTag python 库?

Posted

技术标签:

【中文标题】在 Windows 10 上使用 AprilTag python 库?【英文标题】:Using AprilTag python library on Windows 10? 【发布时间】:2021-12-31 20:20:47 【问题描述】:

我需要一个用于漫游车项目的基准标记,因为它的主要控制是用于在车道上行驶的图像处理,当它到达终点时,我需要它去一个精确的位置。

我打算使用 ArUco 标签,但我的 OpenCV 版本的 OpenVino 框架不支持它。然后我尝试使用 AprilTags,但我无法将它安装在我的 Windows 10 机器上,后来发现它在该操作系统上不受支持。虽然我的机器人使用 RaspPi,但我绝对需要我的桌面环境来进行开发和调试。

有人获得了为 Windows Python 3 编译的 AprilTag 库吗?如果没有,是否有人知道类似的替代标签库(不是 ArUco)?我在这里不需要任何花哨的东西 - 只需打印在 4" x 4" (ish) 纸上的东西,我的图像处理管道可以轻松地从图像中挑选出来,然后我可以导航到它。我什至不需要在上面编码数据 - 只需要锁定一些独特的东西。

非常感谢!

【问题讨论】:

需要 openvino吗?不能使用opencv的aruco东西会很遗憾。 -- 随意添加openvino,并将python-3.x 标签替换为python 以获得更多影响 不幸的是,我确实需要打开 vino,这样我就可以在 USB 记忆棒上运行我的 DNN,因为它在树莓派上太慢了。你能说更多关于替换 ptthon3 标签 - 不知道你的意思是什么 那里,刚刚编辑了您的帖子以更改标签。特定于版本的标签观看的人要少得多。标签有限制(最多 5 个标签)。你应该标记openvino 以获得曝光,但是你必须牺牲另一个标记。或保持原样。我也一样。 【参考方案1】:

英特尔® Distribution of OpenVINO™ Toolkit 也可以通过 PyPI 存储库安装,而不是安装已编译 OpenCV 社区版本的二进制包。

Runtime package 带有推理引​​擎。 Developer package 包括作为依赖项的运行时包、模型优化器、准确性检查器和训练后优化工具。

接下来,您可以获取包含在 opencv-contrib-python 包中的 ArUco 库,您可以通过以下方式安装:

pip install opencv-contrib-python

【讨论】:

这成功了!我的困惑是我认为英特尔发行版附带的 OpenCV 版本是 OpenVino 工作所必需的——事实并非如此。看来 OpenVino 根本不依赖 OpenCV。【参考方案2】:

对于仍然需要适用于 Windows 10/11 的 AprilTag Python 3 库的任何人,我的团队使用了 Chen Feng 和 Ruoyu Wang 创建的 pyAprilTag 库。这是 Github 仓库的链接:

https://github.com/ai4ce/pyAprilTag

即使您会在 PyPI 上看到它,您也无法再使用“pip install pyAprilTag”或“pip3 install pyAprilTag”命令安装它。您需要按照 repo 本身的说明进行安装。此外,您将在 repo 中看到安装它的最简单方法是使用 pip(或 pip3)和 conda 的组合。如果这对任何人造成破坏,我很抱歉。

额外说明: repo 说你可以通过从源代码编译将它安装在 MacOS 上,但我们的团队还不能做到这一点。这并不意味着不可能,也就是说,我们很快就放弃了,因为我们已经有了另一个适用于 MacOS 的 Python 库:

https://github.com/swatbotics/apriltag

为了与所有操作系统兼容,我们最终只进行了条件导入:

https://github.com/cornell-cup/cs-reminibot/blob/vision_doc_updated_gui_interpolation/vision/apriltag-py/python/detector.py

最后,我们的团队最终在我们下载“opencv_py37_conda-forge.txt”文件的同一目录中运行了第 1 步(“尝试创建并激活新的 conda 环境”)命令。最初的步骤对我们不起作用,但这可能只是我们当时使用的计算机的问题。

无论如何,祝你工作顺利!

【讨论】:

以上是关于在 Windows 10 上使用 AprilTag python 库?的主要内容,如果未能解决你的问题,请参考以下文章

两个对于Apriltag图片处理问题讨论

旋转Apriltag角度检测

使用Python,Opencv检测AprilTag

不同分辨率下Apriltag识别精度测试

旋转的Apriltag码

利用棋盘格重新校正摄像头,求取Apriltag取向