带有 OpenCV 的增强现实 SDK [关闭]

Posted

技术标签:

【中文标题】带有 OpenCV 的增强现实 SDK [关闭]【英文标题】:Augmented Reality SDK with OpenCV [closed] 【发布时间】:2012-08-30 07:19:10 【问题描述】:

我正在 OpenCV 上开发增强现实 SDK。我在查找有关该主题的教程时遇到了一些问题,包括要遵循的步骤、可能的算法、快速高效的实时性能编码等。

到目前为止,我已经收集了下一个信息和有用的链接。

OpenCV 安装

下载latest release version。

您可以找到安装指南here(平台:linux、mac、windows、java、androidios)。

在线documentation.

增强现实

对于初学者here 是 OpenCV 中的一个简单的增强现实代码。这是一个好的开始。

对于任何寻找设计良好、最先进的 SDK 的人,我发现了一些通用步骤,每个基于标记跟踪的增强现实都应该具备,考虑到 OpenCV 功能。

    主程序:创建所有类,初始化,capture视频帧。

    AR_Engine 类:控制增强现实应用程序的各个部分。应该有2个主要状态:

    检测:尝试检测场景中的标记 跟踪:一旦检测到,使用较低的计算技术来跟踪即将到来的帧中的标记。

还应该有一些算法可以在每一帧中找到相机的位置和方向。这是通过检测场景中检测到的标记与我们离线处理的标记的 2D 图像之间的单应变换来实现的。这个方法的解释here(第18页)。姿势估计的主要步骤是:

    加载相机内部参数。之前通过校准离线提取。

    加载要跟踪的图案(标记):这是我们要跟踪的平面标记的图像。有必要为此模式提取特征并生成描述符(keypoints),以便稍后我们可以与场景中的特征进行比较。此任务的算法:

    SIFT FAST SURF

    对于每帧更新,运行检测算法以从场景中提取特征并生成描述符。同样,我们有几个选择。

    筛选 快速 冲浪 FREAK: 一种新方法 (2012) 被认为是最快的。 ORB

    在模式和场景描述符之间找到匹配

    FLANN matcher

    从这些匹配中找到Homography 矩阵。之前可以使用 RANSAC 来查找匹配集中的异常值/异常值。

    从单应性中提取Camera Pose

    Pose from Homography 上的示例代码。 Homography from Pose 上的示例代码。

完整示例:

aruco Mastering OpenCV samples

【问题讨论】:

很遗憾,这是“不具建设性的”,您是在寻找建议吗? 关于安装任务,现在OpenCV已经迁移到GIT,所以下载源代码需要做一个“git clone git://code.opencv.org/opencv.git”。 47 票由于愚蠢的规则而关闭。 【参考方案1】:

由于 AR 应用程序通常在移动设备上运行,您还可以考虑使用其他功能检测器/描述符:

FREAK ORB

【讨论】:

谢谢!还有一个“快速”版本的 FAST 可以在手机中实时运行,它是金字塔形的,并且 SIFT 描述符减少了 我使用 ORB 得到了几乎完美的结果 实际上,阅读有关 ORB 的文章说它是金字塔中的 FAST Freak 是在 AR 上处理描述符的最后一种算法。比 FAST 更快。【参考方案2】:

通常,如果您可以选择标记,您首先使用边缘检测器检测方形目标,然后使用霍夫或简单的轮廓 - 然后从内部设计中识别特定标记。而不是使用通用的点匹配器。

查看Aruco 以获得编写良好的示例代码。

【讨论】:

是的,基准方法是最简单的,但不是最新的。我认为现在应该指向纹理标记。谢谢。这个例子很有趣,因为它解释得很好。 如果想知道位姿,需要将标记特征的3D位置与对应的图像坐标进行匹配。规则形状的目标使这更容易,但它们不需要是平面的 但如果它们不是平面的,则需要 3d 模型或 CAD 模型,否则从 2d 到 3d 的单应性不再是有效的方法,是吗?我的意思是 findhomography 中使用的直接线性变换 是的,如果你有一个 3d 标记,你需要知道真正的 3d 形状(来自 cad,或测量它),但它确实提供了更好的解决方案

以上是关于带有 OpenCV 的增强现实 SDK [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

是否有任何适用于 android 的开源增强现实 sdk? [关闭]

基于位置的增强现实 Android SDK [关闭]

iPhone 中带有文本检测功能的增强现实引擎

OpenCV-Python实战(12)——一文详解AR增强现实

OpenCV-Python实战(番外篇)——利用增强现实制作美颜挂件,让你的照片与众不同

增强现实背后的技术