3875| 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模型进行任意物体识别——剪刀石头布.. https://mc.dfrobot.com.cn/thread-276370-1-1.html 我们上一讲介绍如何加载已经训练好的模型和权重,其实这就给大家开了一扇无限大的门。我们可以使用别人已经训练好的模型做各种有趣的项目。 这里我们就使用大名鼎鼎的MobileNet识别物体 6.1. 加载MobileNet模型MobileNet是一个轻量化的神经网络模型,所谓轻量化就是可以在一般的家用pc和手机上跑起来的模型。一般我们人工智能的在线服务后端很可能是一个有几千层,还有n个模型相互嵌套的引擎,并且还有伴随着很多人工的优化和结果处理。而MobileNet全部细分层加起来也只有88个,最后结果输出1000个常见物品的分类。 下图是mobilenet的拓扑结构 我们新建一个项目,并且记得先新建一个model变量保存模型的名字。 之后我们需要mobilenet的模型和训练权重,这两个文件可以在我们github仓库找到 本节需要下载这三个文件 下载方式需要注意,很容易犯错,CC喵就中招了。下载这三个文件的时候需要点进去(如下图),这里以mobilenet.json为例,点进去后,右键另存为下载。 拖入如下的加载代码 第二个方块是加载模型的输出结果名称,因为机器输出的是0~999这样的数字,我们需要将这些数字转换成名字。其中224label.csv这个文件就保存了我们需要的名称。其中item是一个list变量,加载之后我们可以看看item的内容: 6.2. 添加图片 我们这个示例项目的思路是在背景中加入不同的小动物图片,切换这些图片的过程中识别背景中的动物。 删除白背景,添加动物图(动物图需要自己上传添加,可以自己网上随意找,尽量找背景是白色的,保证识别的准确度。) 猫咪精灵的代码如下(从背景编辑状态切回到精灵状态,需要鼠标点击一下喵咪精灵) 这里用到谷歌翻译插件,因为分类命名是英文的,我们用谷歌翻译成中文(电脑需要联网) 我们设计的猫咪精灵的程序汇总,识别的过程中将猫咪隐藏,防止干扰识别结果。 最后效果如下~可能你做出来的实验结果跟我的不一样,大致分类是对的,但是可能归类到别的大类去。这是正常的,毕竟这个模型还是需要提高精确度。 下一节我们讲解如何改造MobileNet让它识别我们需要的分类,例如剪刀石头布: |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed