互联网上充满了关于图像中检测物体的教程。但是,能将相同的概念应用到实时视频流中吗?当然可以!在本系列文章中,将展示如何使用人工智能来确定实时视频流中发生的事情,通过构建一个在安卓设备上实时运行的闪电探测器。
本系列的标题——“实时闪电检测...”听起来情感过于丰富。是诗歌?电影?还是营销手段?让将“情感”解析为技术术语。实时 = 构成视频的一系列连续帧;闪电检测 = 仅使用深度学习(DL)和Tensorflow(TF)实现的对象检测,应用在运行在安卓操作系统上的应用程序。听起来更符合兴趣?那么让开始吧。
“人工智能”这个术语本质上代表了植入机器中的自然(人类)智能。如何让机器像人类一样思考?可以通过使用机器学习(ML)中的神经网络来训练机器,使其像人脑一样高效——学习并适应事物。ML能够从无监督、无结构、非标记的数据中自学习。DL是ML的一个子集。它以与ML相同的方式做大部分事情,使用数据的深层层次结构中的人工神经网络。
“没有什么像人工智能,它只是展示了计算机可以有多聪明。”——史蒂芬·加里(史蒂夫)·沃兹尼亚克(Woz)。
为了达到目标——检测实时视频中的闪电——必须让DL模型“思考”像人脑一样学习、适应、执行和重复。这反过来又要求用好的数据训练模型——在这种情况下,想要清晰的、不模糊的闪电图像。让从收集训练模型所需的图像开始。通过简单的谷歌搜索获得了大约300张图像作为开始。可以用这种方式创建自己的数据集。或者,可以引用任何开源或付费平台的现有数据集——例如这个。
将使用可教机器在组装数据集上训练模型。看看教程,看看训练是如何进行的。还有一个视频可能会帮助。
如果对TF框架感到舒适,欢迎使用Python创建自己的模型,使用神经网络。
在这个项目中,针对安卓操作系统来展示DL训练的TF模型转换为TFLite。将使用安卓工作室来开发应用程序,它将托管或引用所有必要的库。
下载安卓工作室。如果在设置IDE时遇到错误,有很多在线资源可以为提供指导,例如讨论论坛和安卓开发子Reddit。