自然标记增强现实实施

发布于 2024-10-30 22:33:37 字数 378 浏览 6 评论 0原文

在发现 OpenCV 的强大功能后,我决定使用该库来开发我现在正在开发的自然标记跟踪引擎。但我的问题是我不知道实现此类跟踪器的正确方法。

我设计了以下计划:

  1. 使用一种对象跟踪算法(例如 SIFT、SURF 等)来描述并从实时摄像机源中提取关键点。
  2. 根据提取的关键点,将其转换为直方图,并将直方图与存储的标记的直方图进行比较。
  3. 找到匹配项后,转换这些位置信息并将其传递给负责渲染 3D 对象的引擎。

我尝试了 SIFT 和 SURF 算法来描述和提取关键点,最终结果是两种算法的 fps 都超低(即小于 0 fps)。我注意到 SIFT 和 SURF 的计算量相当大,它是否适合在实时摄像机馈送上进行此类跟踪?

谢谢。

After discovering the power of OpenCV, I decided to use that library to develop the natural marker tracking engine that I am working on now. But my problem is I have no idea of a proper approach to the implementation of such tracker.

I have devised the following plan:

  1. Use one of the object tracking algorithm (e.g. SIFT, SURF etc.) to describe and extract keypoints from a live camera feed.
  2. Based on the extracted keypoints, convert them to histogram and compare the histogram with histograms of stored markers.
  3. Once a match is found, convert those position information and pass it to the engine responsible for rendering the 3d objects.

I tried the SIFT and SURF algorithm in describing and extracting key points and the end result is super low fps for both algorithm (i.e. less than 0 fps). I notice that SIFT and SURF are quite computationally expensive and will it be suitable for such tracking on a live camera feed?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

宁愿没拥抱 2024-11-06 22:33:37

开发这样的标记需要您对图像处理、3D 成像、跟踪等有深入的了解。这不像开发一个简单的应用程序。

最好使用已开发的 ;)

FERNS 比 SIFT 更高效且更简单。你可以使用它。它是由 EPFL 的研究人员开发的。如果您阅读 AR/跟踪论文,您会发现这些人是行业/领域的领导者。它也在 OpenCV 的更高版本中实现(我想是在 2.1 或 2.2 中?)

否则你总是可以从这里获取该算法的源代码:
蕨类植物:平面物体检测

编辑:

基本算法就像 FERNS 会告诉你位置/旋转等(这是由称为单应性的矩阵表示的变化)某个表面将参考另一个框架。此单应性是 3D 渲染所需的一切;)

使用 OpenGL 或类似的 3D 库,您可以使用计算出的单应性绘制对象。如果您对每一帧重复此过程,您将拥有一个简单的 AR 应用程序。

理论书籍:图像处理3D成像

要了解 AR,请阅读:ARToolKit 论文

有关 FERNS 的更多信息:oezuysal'site

Developing such a markers requires you to have a deep knowledge of Image Processing, 3D Imaging, Tracking, etc. Is not like developing a simple application.

Is better to use developed ones ;)

FERNS is a much efficient and simpler than SIFT. You can use it. It was developed by researches at EPFL. If you read AR/Tracking papers you will see these guys are the leaders of the industry/field. It is also implemented in later Versions of OpenCV (I think in 2.1 or 2.2?)

Otherwise you can always get the source code for that algorithm from here:
Ferns: Planar Object Detection

EDIT:

Basically algorithms like FERNS will tell you the position/rotation,etc (this is changes are represented by a matrix called Homography) a certain surface will take with reference to another frame. This Homography is everything you need for 3D rendering ;)

Using OpenGL or alike 3D libraries you draw the object using the calculated Homography. If you repeat this process for each frame you will have a simple AR Application.

Theory Books on: Image Processing and 3D Imaging

For understanding AR read: ARToolKit paper

More on FERNS: oezuysal'site

森林散布 2024-11-06 22:33:37

SIFT 是一个很好的算法,但你无法从中获得最佳速度。有些方法使用 FAST 进行检测,然后构建检测到的点的简化 SIFT 描述符(而不是它们使用的 128 个值,例如 32)。 FAST 的金字塔方法也被开发出来(你有 ORB,但它的描述符不够好)。

现在 OpenCV 刚刚发布了 FREAK,他们承诺它是最快、最强大的,所以我很快就会尝试一下。您可以查看这种 OpenCV 增强现实教程

SIFT is a nice algorithm but you cannot get the best spped from it. There are methods that use FAST for detection and then build a reduced SIFT descriptor of the points detected (instead of 128 values they use, for example, 32). Also pyramidal approaches for FAST were developed (you have ORB, but its descriptors are not good enough).

Now OpenCV has just released FREAK and they promise it is the fastest and robust, so I will try it soon. You can have a look to this kind of tutorial for augmented reality on OpenCV.

虫児飞 2024-11-06 22:33:37

SIFT 和 SURF 是成功的视觉特征,并且可能是正确的方法(尽管存在计算速度更快的特征)。
SIFT 可以在 GPU 上高效计算。请参阅siftGPU

SIFT and SURF are successful visual features and are probably the right approach (though features faster to compute exist).
SIFT can be computed efficiently on GPU. See siftGPU.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文