使用训练好的caffe模型识别图片

这里记录如何用训练好的caffe模型来对测试图片进行识别。

下载训练好的caffemodel

首先需要一个训练好的caffemodel,这里我选用的是caffe官方提供的caffemodel,该模型拥有较多标签,经过大量的数据训练得到的。
下载地址:http://dl.caffe.berkeleyvision.org/bvlc_reference_caffenet.caffemodel
下载完成后,将caffemodel文件放到caffe根目录下的model/bvl_reference_caffenet/文件夹下面(不是必须的)。

下载均值文件

均值文件是用来对待测图片进行预处理的,我们可以通过如下方式下载。
运行caffe自带的脚本:# sudo sh ./data/ilsvrc12/get_ilsvrc_aux.sh
下载的均值文件会被放到/build/examples/cpp_classification/ 下面。
同时也下载好了一个synset_words.txt文件。
(为什么要使用均值文件?其中的一个原因是训练过程中训练数据减去了这个均值,所以检测的时候也需要用到均值文件。)

下载验证图片

随便到网上下载一张jpg图片,放到任意目录下,我存放目录是caffe_root/data/ilsvrc12/synset_words.txt examples/images/
图片如下:
在这里插入图片描述

验证模型

在caffe根目录下的 example/cpp-classfication/文件夹下面,有个classification.cpp文件,这个文件就是用来分类的。编译后在/build/examoles/cpp_classification/下面。
直接运行下面命令:

sudo ./build/examples/cpp_classification/classification.bin models/bvlc_reference_caffenet/deploy.prototxt models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel data/ilsvrc12/imagenet_mean.binaryproto data/ilsvrc12/synset_words.txt examples/images/shake.jpg

输出结果

0.9586 - "n01484850 great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias"
0.0369 - "n01491361 tiger shark, Galeocerdo cuvieri"
0.0014 - "n02071294 killer whale, killer, orca, grampus, sea wolf, Orcinus orca"
0.0010 - "n02074367 dugong, Dugong dugon"
0.0009 - "n01494475 hammerhead, hammerhead shark"

大白鲨的可能性是百分之95.86。
可以看到检测结果有点偏差,但从某个角度来讲还是比较准确的。

猜你喜欢

转载自blog.csdn.net/HUXINY/article/details/83447780