使用SIFT增强现实

Leo*_*eda 3 java algorithm android sift augmented-reality

我遇到了很多AR库/ SDK/API,所有这些都是基于标记的,直到我发现这个视频,从描述和评论中,看起来他正在使用SIFT来检测对象并跟随它.

我需要为Android做到这一点,所以我需要在纯Java中完全实现SIFT.

我愿意这样做,但我需要先了解SIFT如何用于增强现实.

我可以利用你提供的任何信息.

alk*_*kar 10

在我看来,试图为便携式设备实现SIFT是疯狂的.SIFT是一种图像特征提取算法,包括复杂的数学运算,当然需要大量的计算能力.SIFT也获得专利.

不过,如果你确实想要完成这项任务,你应该先做一些研究.您需要检查以下内容:

  • SIFT的任何变体都可以提高性能,包括各种算法
  • 我建议调查SURF,它非常强大且速度更快(但仍然是那些可怕的算法之一)
  • Android NDK(我稍后会解释)
  • 很多很多的出版物

为何选择Android NDK?因为通过在Java应用程序使用的C库中实现该算法,您可能会获得更显着的性能提升.

在开始任何事情之前,请确保你做了那项研究,因为半途而废的图像特征提取算法对Android手机来说太过分了.实现这样一种算法可以提供良好的结果并在可接受的时间内运行,更不用说使用它来创建AR应用程序了.

正如你如何将它用于AR,我猜你在图像上运行算法得到的描述符必须与保存在中央数据库中的数据相匹配.然后可以向用户显示结果.从SURF收集的图像的特征应该描述它,例如它可以使用那些来识别.我在这方面并不是很有经验,但网上总是有资源.你可能想要从像对象识别这样的通用东西开始.

祝你好运:)