小编典典

使用SIFT增强现实

algorithm

我遇到过许多AR库/ SDK /
API,所有这些库都是基于标记的,直到从说明和评论中找到此视频之前,似乎他正在使用SIFT来检测对象并跟踪它。

我需要针对Android执行此操作,因此我需要使用纯Java完整实现SIFT。

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

我可以利用您提供的任何信息。


阅读 278

收藏
2020-07-28

共1个答案

小编典典

我认为,尝试为便携式设备实施SIFT是疯狂的。SIFT是一种图像特征提取算法,它包含复杂的数学运算,当然需要大量的计算能力。SIFT也获得了专利。

不过,如果您确实想执行此任务,则首先应该进行一些研究。您需要检查以下内容:

  • SIFT的任何可增强性能的变体,包括各种算法
  • 我建议研究一下SURF,它非常健壮且速度更快(但仍然是那些令人恐惧的算法之一)
  • Android NDK(我将在后面说明)
  • 很多出版物

为什么要使用Android NDK?因为通过在Java应用程序正在使用的C库中实现该算法,您可能会获得更大的性能提升。

在开始任何事情之前,请确保您进行了研究,因为半途半熟地意识到图像特征提取算法对于Android手机来说实在太多了。实现这种算法本身是一项认真的工作,该算法可提供良好的结果并在可接受的时间内运行,更不用说使用它来创建AR应用程序了。

就像您将其用于AR一样,我想您必须对在图像上运行算法获得的描述符与中央数据库中保存的数据进行匹配。然后,结果可以显示给用户。从SURF收集的图像的特征应该进行描述,以便随后可以使用这些特征进行识别。我这样做的经验不是很丰富,但是网络上总是有资源。您可能想从诸如对象识别之类的通用内容开始。

祝你好运:)

2020-07-28