【计算机视觉】 相机姿态估计之标记检测-Aruco模块常见问题解答 6
Aruco模块常见问题解答原文来源 opencv http://docs.opencv.org/master/d1/dcb/tutorial_aruco_faq.html这是一个编译的问题可能是有用的对于那些想要使用aruco模块。我只想标签一些对象,我应该使用什么?在这种情况下,您只需要单一ArUco标记。 您可以将一个或多个标记不同的id在每个对象的识别。
Aruco模块常见问题解答
原文来源 opencv http://docs.opencv.org/master/d1/dcb/tutorial_aruco_faq.html
这是一个编译的问题可能是有用的对于那些想要使用aruco模块。
- 我只想标签一些对象,我应该使用什么?
在这种情况下,您只需要单一ArUco标记。 您可以将一个或多个标记不同的id在每个对象的识别。
- 算法用于标记检测吗?
aruco模块是基于原始aruco字块。 一个完整的描述的检测过程中可以发现:
S. Garrido-Jurado, R. Muñoz-Salinas, F. J. Madrid-Cuevas, and M. J. Marín-Jiménez. 2014. "Automatic generation and detection of highly reliable fiducial markers under occlusion". Pattern Recogn. 47, 6 (June 2014), 2280-2292. DOI=10.1016/j.patcog.2014.01.005
- 我的正确标记不被发现,我能做什么?
可能有很多因素,避免标记的正确检测。 你可能需要调整一些参数 DetectorParameters对象。 你可以做的第一件事就是检查如果你标记作为拒绝候选人的返回 detectMarkers()函数。 根据这一点,你应该试着修改不同的参数。
如果您使用的是ArUco板,你也可以尝试 refineDetectedMarkers()函数。
- ArUco标识板的好处是什么? 缺点是什么?
使用的标记可以获得相机的姿势从一组标记,而不是一个。 这种方式,检测是能够处理遮挡部分的观点,因为只有一个标记获取姿势是必要的。
此外,在大多数情况下,您正在使用更多的角落姿势估计,这将是更精确的比使用一个标记。
标识板的主要缺点是不像一个通用的标记。
- 的好处是什么ChArUco标识板ArUco板? 和缺点?
ChArUco板结合了棋盘和ArUco标识板。 谢谢,ChArUco标识板提供的角落提供更精确的比ArUco标识板(或单标记)。
的主要缺点是ChArUco标识板不像ArUco多才多艺的标识板。 例如,ChArUco板是一种平面板与特定标记布局而ArUco标识板可以拥有任意布局,甚至在3 d。 此外,标记ChArUco标识板通常是更小、更难以检测。
- 我不需要姿态估计,我应该用ChArUco板吗?
不。 ChArUco标识板的主要目的是提供高精确的角落的姿势估计或照相机校准。
- 都应该标记在一个ArUco被放置在相同的飞机吗?
不,标记在一个角落ArUco标识板可以放置在其三维坐标系统。
- 都应该标记在一个ChArUco被放置在相同的飞机吗?
是的,所有的标记ChArUco标识板需要在同一个平面上,棋盘布局是固定的形状。
- 之间的区别是什么
标识板对象和一个GridBoard对象?
的 GridBoard类是继承自一个特定类型标识板类。 一个 GridBoard对象是一个标识板的标记放置在同一个平面上,在网格布局。
- 钻石标记是什么?
钻石标记非常类似于ChArUco 3 x3委员会广场。 然而,相反ChArUco标识板,钻石的检测是基于相对位置的标记。 他们是有用的,当你想提供一个概念意义的任何(或者全部)标记的钻石。 一个例子是使用一个标记来提供钻石规模。
- 我需要检测标记板检测之前,ChArUco板检测或钻石检测吗?
是的,单一标记的检测是一个基本工具aruco模块。 它是使用完成的 detectMarkers()函数。 其余的函数从这个函数接收检测到标记的列表。
- 我想调整我的相机,我可以用这个模块吗?
是的,aruco模块提供的函数来校准相机使用,aruco标识板和ChArUco标识板。
- 我应该使用ChArUco校准板或ArUco板吗?
强烈建议使用ChArUco校准板由于精度高。
- 我应该使用一个预定义的字典或生成自己的字典吗?
一般来说,更容易使用一个预定义的字典。 然而,如果你需要一个更大的字典(的标记或数量的比特数)你应该生成自己的字典。 字典一代也很有用,如果你想最大化inter-marker距离达到一个更好的纠错过程中识别的步骤。
- 我创造我自己的字典,但花费的时间太长了
字典代初只应做一次你的应用程序,应该采取一些秒。 如果你是生成的词典在每个迭代检测循环,你做错了。
此外,它是值得推荐的字典保存到文件,阅读每个执行,所以你不需要生成它。
- 我想用一些标记的原始ArUco库,我已经打印出来,我可以使用它们吗?
是的,一个预定义的字典 DICT_ARUCO_ORIGINAL检测到标记的原始ArUco库相同的标识符。
- 我可以用板配置文件的原始ArUco字块这个模块吗?
没有直接的联系,您将需要调整的信息ArUco ArUco模块板格式文件。
- 我可以使用这个模块来检测其他基于二进制基准标记库的标记吗?
可能是的,但你需要端口字典原始库aruco模块的格式。
- 我需要字典信息存储在一个文件,所以我可以使用它在不同的执行?
如果您正在使用一个预定义的字典,它不是必要的。 否则,它是值得推荐的,你将其保存到文件中。
- 我需要的信息存储在一个文件,所以我可以使用它在不同的执行?
如果您使用的是 GridBoard或者一个 ChArUco板只需要存储板提供给的测量 GridBoard:create()或 ChArUco:create()函数。 如果您手动修改标记id的标识板,或如果你使用一种不同类型的板,你应该保存你的标识板对象文件。
- aruco模块提供的函数将字典或标识板保存到文件?
不是现在。 但是字典和板类的数据成员都是公开的,可以很容易地存储。
- 好吧,但是我怎么能呈现一个3 d模型创建一个增强现实应用程序?
为此,您将需要使用一个外部的渲染引擎库,比如OpenGL。 aruco模块只提供函数获得相机姿势,即旋转和traslation向量,有必要创建增强现实的效果。 然而,你需要适应OpenCV的旋转和traslation矢量格式的格式接受你的3 d渲染库。 原ArUco库包含的例子为OpenGL和Ogre3D怎么做。
- 我有使用这个模块在我的研究工作,我怎么能引用吗?
您可以引用原始ArUco库:
S. Garrido-Jurado, R. Muñoz-Salinas, F. J. Madrid-Cuevas, and M. J. Marín-Jiménez. 2014. "Automatic generation and detection of highly reliable fiducial markers under occlusion". Pattern Recogn. 47, 6 (June 2014), 2280-2292. DOI=10.1016/j.patcog.2014.01.005
更多推荐
所有评论(0)