【TF】06 使用MobileNet模型进行物体识别

2019-04-155327
AI 快速预览详细 收起
本教程介绍了如何使用MobileNet模型进行物体识别。首先,加载预训练的MobileNet模型和权重文件,然后在背景中添加不同的小动物图片,并通过代码实现物体识别。通过谷歌翻译插件将英文分类名称翻译成中文。最终效果是能够识别背景中的小动物。适合家长与孩子共同学习,激发孩子对AI的兴趣。


使用MobileNet模型进行物体识别

小喵黑科技,越来越厉害。
本文获得作者CCFIVE授权转发
教程制作的这么详细,讲解通俗易懂,真是优质资源。
原文地址:http://learn.kittenbot.cn/zh_CN/latest/Tensorflow/06MobileNetModel.html
感谢小喵科技,让小朋友也能感受机器学习。

上一节:
【TF】05 MNIST 模型的保存和加载
下一节:【TF】07使用MobileNet模型进行任意物体识别——剪刀石头布..
https://mc.dfrobot.com.cn/thread-276370-1-1.html

我们上一讲介绍如何加载已经训练好的模型和权重,其实这就给大家开了一扇无限大的门。我们可以使用别人已经训练好的模型做各种有趣的项目。

这里我们就使用大名鼎鼎的MobileNet识别物体

6.1. 加载MobileNet模型

MobileNet是一个轻量化的神经网络模型,所谓轻量化就是可以在一般的家用pc和手机上跑起来的模型。一般我们人工智能的在线服务后端很可能是一个有几千层,还有n个模型相互嵌套的引擎,并且还有伴随着很多人工的优化和结果处理。而MobileNet全部细分层加起来也只有88个,最后结果输出1000个常见物品的分类。

下图是mobilenet的拓扑结构

【TF】06 使用MobileNet模型进行物体识别图1

我们新建一个项目,并且记得先新建一个model变量保存模型的名字。

之后我们需要mobilenet的模型和训练权重,这两个文件可以在我们github仓库找到

本节需要下载这三个文件

【TF】06 使用MobileNet模型进行物体识别图2

下载方式需要注意,很容易犯错,CC喵就中招了。下载这三个文件的时候需要点进去(如下图),这里以mobilenet.json为例,点进去后,右键另存为下载。

【TF】06 使用MobileNet模型进行物体识别图3

拖入如下的加载代码

【TF】06 使用MobileNet模型进行物体识别图4

第二个方块是加载模型的输出结果名称,因为机器输出的是0~999这样的数字,我们需要将这些数字转换成名字。其中224label.csv这个文件就保存了我们需要的名称。其中item是一个list变量,加载之后我们可以看看item的内容:

【TF】06 使用MobileNet模型进行物体识别图5


6.2. 添加图片

我们这个示例项目的思路是在背景中加入不同的小动物图片,切换这些图片的过程中识别背景中的动物。

【TF】06 使用MobileNet模型进行物体识别图6

删除白背景,添加动物图(动物图需要自己上传添加,可以自己网上随意找,尽量找背景是白色的,保证识别的准确度。)

【TF】06 使用MobileNet模型进行物体识别图7

【TF】06 使用MobileNet模型进行物体识别图8

猫咪精灵的代码如下(从背景编辑状态切回到精灵状态,需要鼠标点击一下喵咪精灵)

【TF】06 使用MobileNet模型进行物体识别图9

这里用到谷歌翻译插件,因为分类命名是英文的,我们用谷歌翻译成中文(电脑需要联网)

【TF】06 使用MobileNet模型进行物体识别图10

我们设计的猫咪精灵的程序汇总,识别的过程中将猫咪隐藏,防止干扰识别结果。

最后效果如下~可能你做出来的实验结果跟我的不一样,大致分类是对的,但是可能归类到别的大类去。这是正常的,毕竟这个模型还是需要提高精确度。

【TF】06 使用MobileNet模型进行物体识别图11

下一节我们讲解如何改造MobileNet让它识别我们需要的分类,例如剪刀石头布:



截图201904300853101751.png (277.09 KB, 下载次数: 4161)

STEM教育 · 使用MobileNet模型进行物体识别_image_3.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
gada888
gada888
图形化编程这是要逆天呀
蓝色天空1
蓝色天空1
加油,大佬加油
- 没有更多了 -