从本地app应用特定的对象/图像检测,无需互联网

Nar*_*ngh 18 android image-recognition object-recognition

我的要求是扫描一个固定的对象.在认识到之后,我想突出显示对象并相应地显示相应的预先参数,如高度,宽度,周长等.

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

如果有任何解决方案/建议,请告诉我.

我见过CraftAR SDK.它似乎按照我的要求工作,以识别对象,但它使用其服务器来存储图像,这是我不想要的.因为我想要静态图像,存储在应用程序本身.

Nit*_*ani 14

尝试使用TensorFlow对象检测API.链接:TensorFlow对象检测API

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

要通过以下链接更好地了解离线工作原理以及生成的整体APK大小等详细信息:

1] Step by Step TensorFlow对象检测API教程 - 第1部分:选择模型

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

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

如需进一步参考,请访

1] Google Inception Model

2] Tensorflow对象检测API模型

3] 现代卷积物体探测器的速度/精度权衡

您还可以将retrained_graph.pb优化(或压缩)到optimized_graph.pb,因为这是增加APK文件大小的唯一主要因素.很久以前,当我尝试检测5个不同的对象时(使用TF Classify),每个对象的文件夹大约有650张照片,所有5个文件夹(一起)的总大小约为230 mb,我的retrained_graph.pb大小只有5.5 mb (它可以进一步优化到optimize_graph.pb,甚至更多地减小其大小).

为了从初学者的水平开始学习它,我建议你一旦完成这些代码框链接并理解这两个项目的工作,我也是这样做的.

1] TensorFlow For Poets

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

祝你好运.

以下链接到TensorFlow GitHub(Master)几乎包括所有内容:

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