65.9K
CodeProject 正在变化。 阅读更多。
Home

深度学习和 TensorFlow 在 Android 上的实时闪电检测:入门

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2020 年 11 月 11 日

CPOL

3分钟阅读

viewsIcon

8806

downloadIcon

627

在本系列文章中,我们将演示如何使用人工智能来确定实时视频流中发生的情况,方法是构建一个在 Android 设备上实时运行的闪电探测器。

引言

互联网上到处都是关于检测图像中物体的教程。但是你能将相同的概念应用于实时视频流吗?

是的,你可以!在本系列文章中,我们将演示如何使用人工智能来确定实时视频流中发生的情况,方法是构建一个在 Android 设备上实时运行的闪电探测器。

该系列的标题——“实时闪电检测……”——听起来太情绪化了。诗歌?电影?还是营销手段?让我们将“情感”解析为技术术语。实时 = 在构成视频的一组连续帧中;闪电检测 = 不过是物体检测,使用深度学习 (DL) 和 Tensorflow (TF) 在运行于 Android 操作系统上的应用程序中实现。听起来更符合你的口味?那么让我们开始吧。

深度学习

术语“人工智能”本质上代表植入机器中的自然(人类)智能。我们如何使机器像人一样思考?我们可以训练我们的机器像人脑一样高效——学习和采用事物——使用神经网络作为机器学习 (ML) 的一部分。ML 能够通过非监督、非结构化、未标记的数据自行学习。DL 是 ML 的一个子集。它以与 ML 相同的方式执行大多数事情,在数据的深度层次结构中使用人工神经网络。

“没有什么像人工智能,这只是一种展示计算机可以变得多么聪明的方式。” – Stephen Gary (Steve) Wozniak (沃兹)。

数据集

为了实现我们的目标——在视频中检测实时闪电——我们必须让 DL 模型像人脑一样“思考”才能学习、适应、执行和重复。反过来,这要求我们在好的数据上训练我们的模型 - 在这种情况下,我们需要清晰、非模糊的闪电图像。让我们从收集训练模型所需的图像开始。我做了一个简单的 Google 搜索,得到了大约 300 张图片作为起点。你可以通过这种方式创建自己的数据集。或者,你可以参考任何开源或付费平台上的可用数据集——例如 这个

Teachable Machine

我们将使用 Teachable Machine 在组装的数据集上训练我们的模型。看看教程,了解训练是如何完成的。还有一段视频可能会对你有所帮助。

如果您熟悉 TF 框架,欢迎您使用带有 Python 的神经网络创建自己的模型。

Android Studio

在这个项目中,我们的目标是 Android 操作系统,以展示我们经过 DL 训练的 TF 模型转换为 TFLite。我们将使用 Android Studio 来开发我们的应用程序,该应用程序将托管或引用所有必要的库。

下载 Android Studio。如果您在设置 IDE 时遇到错误,您可以求助于许多在线资源来获得指导,例如讨论论坛和 Android Dev sub-Reddit

预期结果

作为这个项目的结果,我们将拥有一个能够检测相机实时流中的闪电的模型。您将看到 DL 如何基于图像神经网络的概念,在实际中实时工作。您还将学习如何开发一个 Android 应用程序来展示 TF 模型的运行。

后续步骤

下一篇文章中,我们将介绍训练和导出我们的模型所需的步骤。敬请关注!

© . All rights reserved.