从本地应用程序进行特定对象/图像检测,无需互联网



我的要求是扫描一个固定的物体。认识到这一点后,我想突出显示对象并相应地显示相应的预馈送参数,如高度、宽度、周长等。

这一切,我想做,没有互联网,只使用相机。

请让我知道是否有任何解决方案/建议。

我看过CraftAR SDK。它似乎按照我的要求工作,以便识别对象,但它使用其服务器来存储我不想要的图像。正如我希望静态图像存储在应用程序本身中一样。

尝试使用 TensorFlow Object Detection API。链接:TensorFlow Object Detection API

然后,您可以相应地自定义您的整体应用程序行为,管理您的所有要求(例如,在成功检测到对象后使用 Tensoflow 对象检测 API 时收到某种回调后,显示一个弹出窗口,其中包含正在检测到的对象的所有详细信息)以及我相信您可以根据需要自定义 TensorFlow 对象检测场景部分(在这里, 我说的是与 UI 相关的部分,特别是如果您希望您的应用程序如何以图形方式检测对象)。

要回答有关离线工作方式以及由此产生的整体APK大小等详细信息,可以从下面给出的链接中更好地理解:

1] 分步 TensorFlow 对象检测 API 教程 — 第 1 部分:选择模型

2] 如何使用 TensorFlow 的对象检测器 API 训练自己的对象检测器

作为概述,要离线检测对象,您必须使用自己的一组数据/对象来限制(只是为了减小您的APK大小)(正如您提到的,您有一个固定的检测对象,这很好),然后您必须使用SSD-Mobilenet模型训练(可以在本地和云上训练)这组对象。然后,您将拥有自己训练的模型(更简单的话)这些对象集,这将为您提供一个 retrained_graph.pb 文件(该文件进入您的 android 项目的 assets 文件夹),这是最终结果,其中包括实时检测和分类相机帧的技巧(更简单的话),从而根据提供的信息(或数据/对象集)显示结果(或对象详细信息);无需任何类型的互联网连接。例如,TF Detect可以实时跟踪相机预览中的对象(来自80个类别)。

如需进一步参考,请点击以下链接:

1] 谷歌盗梦空间模型

2] 张量流对象检测 API 模型

3] 现代卷积目标检测器的速度/精度权衡

您也可以优化(或压缩)retrained_graph.pb 到 optimized_graph.pb,因为这是唯一会增加 APK 文件大小的主要内容。很久以前,当我尝试检测 5 个不同的对象(使用 TF Classify)时,每个对象的文件夹都有大约 650 张照片,所有 5 个文件夹(加在一起)的整体大小约为 230 mb,我的 retrained_graph.pb 大小仅为 5.5 mb(可以进一步优化为 optimized_graph.pb 进一步减小其大小)。

为了从初学者的水平开始学习它,我建议您浏览这些Codelab链接并了解这两个项目的工作原理,因为我也是这样做的。

1] 诗人的张量流

2] TensorFlow for Poets 2:针对移动设备进行优化

祝你好运。

以下指向TensorFlow GitHub(Master)的链接几乎包含了所有内容:

https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android

相关内容

  • 没有找到相关文章

最新更新