> micro:bit
查看: 458|回复: 2

[高级教程] 【TF】06 使用MobileNet模型进行物体识别

[复制链接]
本帖最后由 rzyzzxw 于 2019-4-30 08:55 编辑

使用MobileNet模型进行物体识别

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

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

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

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

6.1. 加载MobileNet模型

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

下图是mobilenet的拓扑结构

c6_01.png

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

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

本节需要下载这三个文件

c6_07.png

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

c6_08.png

拖入如下的加载代码

c6_03 (1).png

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

c6_04.png


6.2. 添加图片

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

c6_09.png

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

c6_10.png

c6_05.png

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

c6_06.png

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

c6_11.png

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

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

c6_07.gif

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



截图201904300853101751.png

蓝色天空1  见习技师

发表于 2019-4-24 13:20:25

加油,大佬加油

回复 支持 反对

使用道具 举报

gada888  版主

发表于 2019-4-29 22:09:31

图形化编程这是要逆天呀
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail