使用 OpenCV 的增强现实 SDK [英] Augmented Reality SDK with OpenCV

查看:31
本文介绍了使用 OpenCV 的增强现实 SDK的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

OpenCV 安装

下载)这种模式,以便稍后我们可以与场景中的特征进行比较.此任务的算法:

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

    • 筛选
    • 快速
    • 冲浪
    • FREAK:一种新方法 (2012)成为最快的.
    • ORB
  • 查找模式和场景描述符之间的匹配.

  • 从这些匹配项中查找 Homography 矩阵.之前可以使用 RANSAC 来查找匹配集中的内部值/异常值.

  • 从单应性中提取相机姿势.

  • 完整示例:

    解决方案

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

    I am developing an Augmented Reality SDK on OpenCV. I had some problems to find tutorials on the topic, which steps to follow, possible algorithms, fast and efficient coding for real-time performance etc.

    So far I have gathered the next information and useful links.

    OpenCV installation

    Download latest release version.

    You can find installation guides here (platforms: linux, mac, windows, java, android, iOS).

    Online documentation.

    Augmented Reality

    For begginers here is a simple augmented reality code in OpenCV. It is a good start.

    For anyone searching for a well designed state-of-the-art SDK I found some general steps that every augmented-reality based on marker tracking should have, considering OpenCV functions.

    1. Main program: creates all classes, initialization, capture frames from video.

    2. AR_Engine class: Controls the parts of an augmented reality application. There should be 2 main states:

      • detection: tries to detect the marker in the scene
      • tracking: once it is detected, uses lower computational techniques for traking the marker in upcoming frames.

    Also there should be some algorithms for finding the position and orientation of the camera in every frame. This is achieve by detecting the homography transformation between the marker detected in the scene, and a 2D image of the marker we have processed offline. The explanation of this method here (page 18). The main steps for Pose Estimations are:

    1. Load camera Intrinsic Parameters. Previously extracted offline through calibration.

    2. Load the pattern (marker) to track: It is an image of the planar marker we are going to track. It is necessary to extract features and generate descriptors (keypoints) for this pattern so later we can compare with features from the scene. Algorithms for this task:

    3. For every frame update, run a detection algorithm for extracting features from the scene and generate descriptors. Again we have several options.

      • SIFT
      • FAST
      • SURF
      • FREAK: A new method (2012) supossed to be the fastest.
      • ORB
    4. Find matches between pattern and the scene descriptors.

    5. Find Homography matrix from those matches. RANSAC can be used before to find inliers/outliers in the set of matches.

    6. Extract Camera Pose from homography.

    Complete examples:

    解决方案

    Since AR applications often run on mobile devices, you could consider also other features detector/descriptor:

    这篇关于使用 OpenCV 的增强现实 SDK的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆