您的位置:首页 > Web前端

caffe识别手写数字

2016-10-11 16:52 639 查看
网上很多教程指导建立caffe中的mnist手写数字识别模型(比如http://www.cnblogs.com/aaa-YK/p/5537329.html),运行后可以得到一个分类文件lenet_iter_10000.caffemodel。

做为一个linux+python小白,尝试使用C++进行手写数字识别。

classification.bin是caffe进行C++分类的接口。示例用法如下:

./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/cat.jpg //待识别的图片

(1)网络参数deploy.prototxt 文件时按照教程http://www.cnblogs.com/carle-09/p/5779555.html生成的。

(2)模型是lenet_iter_10000.caffemodel文件。

(3)图像均值文件是使用compute_image_mean.bin生成的。具体命令如下:

Projects/caffe/distribute/bin/compute_image_mean.bin Projects/caffe/examples/mnist/mnist_train_lmdb Projects/caffe/examples/images/mean.binaryprot

(4)分类名称的synset_words.txt内容为0-9的十个数字,一个数字一行。

(5)最后一行是待识别的图像地址。

回车之后可以得到:

cnn@cnn-X9DAi:~$ Projects/caffe/distribute/bin/classification.bin Projects/caffe/examples/images/deploy.prototxt Projects/caffe/examples/images/lenet_iter_10000.caffemodel Projects/caffe/examples/images/mean.binaryproto Projects/caffe/examples/images/synset_words.txt
Projects/caffe/examples/images/figure/4/12.bmp

---------- Prediction for Projects/caffe/examples/images/figure/4/12.bmp ----------

1.0000 - "4"

0.0000 - "5"

0.0000 - "3"

0.0000 - "6"

0.0000 - "1"

识别结束!

识别图片



ps.开始用的识别图片是白底黑字的,识别结果总是不对。后来下载了mnist的图片库,发现图片库里的图片都是黑底白字的。改了图片后识别结果就正确了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  caffe 数字 识别