用Inception-V3模型进行图像分类

Inception-V3模型简介



本例使用预训练好的深度神经网络Inception-v3模型来进行图像分类。Inception-v3模型在一台配有 8 Tesla K40 GPUs,大概价值$30,000的野兽级计算机上训练了几个星期,因此不可能在一台普通的PC上训练。我们将会下载预训练好的Inception模型,然后用它来做图像分类。


Inception-v3模型大约有2500万个参数,分类一张图像就用了50亿的乘加指令。在一台没有GPU的现代PC上,分类一张图像转眼就能完成。



ImageNet数据集简介



ImageNet数据集包含1500万张图片,22000个类别。其子集对应的是目前最权威的图片分类竞赛LSVRC,包含100万张图片和1000个类别。


谷歌在大型图像数据库ImageNet上训练好了一个Inception-v3模型,这个模型可以直接用来进行图像分类。


输入:一张图片;


输出:与输入图相匹配的库内图片名及匹配分数。




工程文件



工程文件如下:


用Inception-V3模型进行图像分类_第1张图片


1.  文件:就是训练好的Inception-v3模型;


2.  文件:为类别文件,共包含2万多种类别,内容如下:


用Inception-V3模型进行图像分类_第2张图片


3.  :为进行分类的代码;


4.  :为分类的输入图;


5.  :为镜像文件;


6. 


用Inception-V3模型进行图像分类_第3张图片



运行



1. 点击“开始”——选择“Anaconda Prompt”,如下所示;


用Inception-V3模型进行图像分类_第4张图片

2. 由于工程文件存放在E盘下,首先,需要修改目录路径,进入E盘;然后,再使用cd 进入各目录,如下所示:




3. 最后,使用python 文件名,运行即可,如下图所示:


用Inception-V3模型进行图像分类_第5张图片



结果


1. 输入为猫时,例图如下:


用Inception-V3模型进行图像分类_第6张图片

运行,获得库内分数最高的前5个(即获得输入图的类别),结果如下:





修改目标图为熊猫




1. 如果将目标图改为熊猫,例图为:



打开Classify.py文件,代码做如下修改:


用Inception-V3模型进行图像分类_第7张图片

运行结果如下:


用Inception-V3模型进行图像分类_第8张图片


2. 在 文件内,查找panda,即可找到所有panda:


用Inception-V3模型进行图像分类_第9张图片



修改目标图为鹦鹉




1. 如果将目标图修改为鹦鹉,例图为:


用Inception-V3模型进行图像分类_第10张图片


代码修改为:


用Inception-V3模型进行图像分类_第11张图片

2. 在Anaconda Prompt内输入python Classify.py,运行结果如下:


用Inception-V3模型进行图像分类_第12张图片


3. 由于Inception模型适用于299 * 299像素的输入图像。例子中的鹦鹉图像为320 * 785像素的图像,因此它将由Inception模型自动缩放。


4. 手动裁剪鹦鹉图像为299 * 299像素大小,然后输入到Inception模型中,例图如下:


用Inception-V3模型进行图像分类_第13张图片

代码修改为:


用Inception-V3模型进行图像分类_第14张图片

运行结果如下:


用Inception-V3模型进行图像分类_第15张图片

5. 修改鹦鹉图,只保留尾部,例图如下:


用Inception-V3模型进行图像分类_第16张图片

代码修改为:


用Inception-V3模型进行图像分类_第17张图片

运行结果为:


用Inception-V3模型进行图像分类_第18张图片








你可能感兴趣的:(TensorFlow,Inception-V3,图像分类)