【免费教学】在 Android 中使用 TensorFlow Lite

640?wx_fmt=jpeg

如上图,通过本篇课程的学习你可以开发一款自己的人工智能APP。

第一期课程中,我们分享了 TensorFlow Lite 的一些基本知识,还有它的模型结构,解析器及使用方法。今天我与大家分享下Android 平台上的一些 TensorFlow Lite 应用,先来一起看看视频吧:


TF Lite 在 Android 中的展示

视频中的 App 展示了它如何对物体进行分类。打开 App,并将摄像头对准物品,尝试上下左右移动手机,你会发现屏幕的下方给出了一些关于 App 所看到的物品的判断。但是它具体是怎么判断的呢。

在 App 背后是一个叫 MobileNet 的模型。这个模型的特点就是体积小、速度快(延迟低)、能耗低。并且它专门为了一些移动设备常见应用场景而特殊设计:

  • 目标识别(地图 App 和 Google Lens 可能会用到)

  • 脸部追踪(相机和美颜应用)

  • 精细分类

  • 路标识别

视频中提到的可以在 TensorFlow Lite 使用的模型在以下链接中可以找到:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lite/g3doc/models.md

在上述链接下载一个 MobileNet 0.75 128 Float 的模型包,里面包括了:

  • labels.txt 标识文件(模型训练的标识)

  • mobilenet_v1_0.75_224.tflite 文件(直接在 TF Lite 运行即可)

具体开发

声明依赖

要使用 TF Lite,第一步就是在项目的 Gradle 文件中加入 org.tensorflow:tensorflow-lite:+ 这样一个依赖。

引入解释器

然后,在你的代码中需要引入解释器:

import org.tensorflow.lite.Interpreter;

解释器可以装载和运行模型,你可以定义输入,运行 TensorFlow Lite,然后得到输出结果。

使用 App Assets 来加载模型

App assets 是存储模型的好地方,你的程序代码会从这里载入模型。虽然你可以从任何地方来完成,但是我们更推荐你用这种方式。

手把手教学的免费课程

我把之前做的课程总结如下,包括在手机上运用已有模型进行物体识别和训练新的模型流程:

物体识别:

模型训练:

总结和建议

 App 的运行过程中,它会先从照相机读取每一帧, 并且把他们变成图片,然后用这些图片作为这个模型的输入。输出是一个指引,这个指引指向一个标识和对应到标识的可能性。我们选了前两个,把他们显示在屏幕上。

为了能够更直观了解到整个过程,我们建议你在代码中加入适当的断点。当  App 尝试使用模型来分析时,会在你的断点处中断。合适的断点能帮助你看到此时模型对当前输入的图像的判断。

赶紧去试一试吧,把你的 App 分享出来,把你的经验也分享出来吧!

轻轻一扫  欢迎关注~

640?wx_fmt=jpeg

640?wx_fmt=gif

猜你喜欢

转载自blog.csdn.net/p23onzq/article/details/80730102