探索如何将 Android Things 与 Tensorflow 集成起来,以及如何应用机器学习到物联网系统上。学习如何在装有 Android Things 的树莓派上使用 Tensorflow 进行图片分类。
-- Francesco Azzola
致谢
编译自 |
https://www.survivingwithandroid.com/2018/03/apply-machine-learning-iot-using-android-things-tensorflow.html
作者 | Francesco Azzola
译者 | qhwdw 共计翻译:140篇 贡献时间:270 天
探索如何将 Android Things 与 Tensorflow 集成起来,以及如何应用机器学习到物联网系统上。学习如何在装有 Android Things 的树莓派上使用 Tensorflow 进行图片分类。
这个项目探索了如何将机器学习应用到物联网上。具体来说,物联网平台我们将使用Android Things,而机器学习引擎我们将使用Google TensorFlow。
现如今,Android Things 处于名为 Android Things 1.0 的稳定版本,已经可以用在生产系统中了。如你可能已经知道的,树莓派是一个可以支持 Android Things 1.0 做开发和原型设计的平台。本教程将使用 Android Things 1.0 和树莓派,当然,你可以无需修改代码就能换到其它所支持的平台上。这个教程是关于如何将机器学习应用到物联网的,这个物联网平台就是 Android Things Raspberry Pi。
物联网上的机器学习是最热门的话题之一。要给机器学习一个最简单的定义,可能就是维基百科上的定义
[1]
:
机器学习是计算机科学中,让计算机不需要显式编程就能去“学习”(即,逐步提升在特定任务上的性能)使用数据的一个领域。
换句话说就是,经过训练之后,那怕是它没有针对它们进行特定的编程,这个系统也能够预测结果。另一方面,我们都知道物联网和联网设备的概念。其中前景最看好的领域之一就是如何在物联网上应用机器学习,构建专家系统,这样就能够去开发一个能够“学习”的系统。此外,还可以使用这些知识去控制和管理物理对象。在深入了解 Android Things 的细节之前,你应该先将其安装在你的设备上。如果你是第一次使用 Android Things,你可以阅读一下这篇如何在你的设备上安装 Android Things
[2]
的教程。
这里有几个应用机器学习和物联网产生重要价值的领域,以下仅提到了几个有趣的领域,它们是:
◈ 在工业物联网(IIoT)中的预见性维护
◈ 消费物联网中,机器学习可以让设备更智能,它通过调整使设备更适应我们的习惯
在本教程中,我们希望去探索如何使用 Android Things 和 TensorFlow 在物联网上应用机器学习。这个 Adnroid Things 物联网项目的基本想法是,探索如何去构建一个能够识别前方道路上基本形状(比如箭头)并控制其道路方向的无人驾驶汽车。我们已经介绍了如何使用 Android Things 去构建一个无人驾驶汽车
[3]
,因此,在开始这个项目之前,我们建议你去阅读那个教程。
这个机器学习和物联网项目包含如下的主题:
◈ 如何使用 Docker 配置 TensorFlow 环境
◈ 如何训练 TensorFlow 系统
◈ 如何使用 Android Things 去集成 TensorFlow
◈ 如何使用 TensorFlow 的成果去控制无人驾驶汽车
这个项目起源于Android Things TensorFlow 图像分类器
[4]
。
我们开始吧!
如何使用 Tensorflow 图像识别
在开始之前,需要安装和配置 TensorFlow 环境。我不是机器学习方面的专家,因此,我需要找到一些快速而能用的东西,以便我们可以构建 TensorFlow 图像识别器。为此,我们使用 Docker 去运行一个 TensorFlow 镜像。以下是操作步骤:
1、 克隆 TensorFlow 仓库:
2、 创建一个目录(),它将用于保存这个项目中使用的所有文件。
3、 运行 Docker:
使用这个命令,我们运行一个交互式 TensorFlow 环境,可以挂载一些在使用项目期间使用的目录。
如何训练 TensorFlow 去识别图像
在 Android Things 系统能够识别图像之前,我们需要去训练 TensorFlow 引擎,以使它能够构建它的模型。为此,我们需要去收集一些图像。正如前面所言,我们需要使用箭头来控制 Android Things 无人驾驶汽车,因此,我们至少要收集四种类型的箭头:
◈ 向上的箭头
◈ 向下的箭头
◈ 向左的箭头
◈ 向右的箭头
为训练这个系统,需要使用这四类不同的图像去创建一个“知识库”。在 目录下创建一个名为 的目录,然后在它下面创建如下名字的四个子目录:
◈
◈
◈
◈
现在,我们去找图片。我使用的是 Google 图片搜索,你也可以使用其它的方法。为了简化图片下载过程,你可以安装一个 Chrome 下载插件,这样你只需要点击就可以下载选定的图片。别忘了多下载一些图片,这样训练效果更好,当然,这样创建模型的时间也会相应增加。
领取专属 10元无门槛券
私享最新 技术干货