gpt4 book ai didi

android - 使用 ORB 逐步进行对象检测

转载 作者:太空狗 更新时间:2023-10-29 16:16:08 27 4
gpt4 key购买 nike

我必须创建一个 Android 应用程序来识别来自相机的某些对象(汽车方向盘、车轮)。我尝试使用 Haar 分类器但没有成功,而且时间不多了(这是一个学校项目)。所以我决定寻找另一种方式。我为我的目标找到了一些其他方法 - ORB。我在 this answer 中找到了我应该做什么.我的问题是我脑子里乱七八糟。您能否逐步回答我如何实现我提供的链接中问题的答案:

从提取特征点到训练 KD 树并将其用于相机的每一帧。

奖励问题:你能给出特征点的定义吗?这是我无法完全理解的事情。使用 ORB 检测速度会慢吗?我知道 OpenCV 可以在原生 android 中使用,这不会让事情变得更快吗?

我需要尽快创建这个应用程序。请帮忙!

最佳答案

我目前正在开发一个类似的应用程序。出于以下几个原因,我建议首先使用单个引用图像进行处理:

  1. 如果您刚开始,它会更容易执行和理解,您可以稍后进行更改。
  2. 对于 Android 应用程序,您的处理能力有限,因此更多图像 = 更低 fps。

你应该看看 OpenCV tutorials这很有帮助。一旦您完成了“Android SDK 的 OpenCV”部分并理解了这三个教程,您就可以很容易地添加允许您分析视频源的功能。

我在制作应用程序时建议遵循的基本逻辑路径是:

  1. 读入引用图像。
  2. 创建并使用您的 FeatureDetector、DescriptorExtractor 和 DescriptorMatcher。
  3. 使用上面的方法检测关键点,然后描述关键点(前两个,不要忘记将其转换为垫子,然后再转换为灰度)。
  4. 每次从相机中获取一帧图像时,在其上重复步骤 3.,然后比较图像中的关键点(与 2. 的第三部分)。
  5. 使用结果来确定是否存在匹配项(如果存在则在其周围绘制一个框或其他内容)。
  6. 换一个新相框。

尝试让它适用于单个对象,然后再添加其他对象。您可以添加的另一件事是在开始时有一个屏幕,允许用户选择他们想要搜索的内容。

ORB 也相当快,尤其是与 SIFT 和 SURF 相比。我在 HTC One 上使用单个引用图像获得大约 3fps。

关于android - 使用 ORB 逐步进行对象检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27306641/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com