如上图,通过本篇课程的学习你可以开发一款自己的人工智能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 分享出来,把你的经验也分享出来吧!
轻轻一扫 欢迎关注~