您的位置:首页 > 其它

使用官方FCN模型测试自己的图片

2018-02-26 09:39 204 查看

用官方FCN模型测试自己的图片

官方模型

下载好模型文件后,修改为自己需要的参数,具体如何修改可参考 博客 将文件根目录下的
infer.py
换成如下代码


import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
import caffe

# load image, switch to BGR, subtract mean, and make dims C x H x W for Caffe
im = Image.open('../data/che.jpg')
in_ = np.array(im, dtype=np.float32)
in_ = in_[:,:,::-1]
in_ -= np.array((104.00698793,116.66876762,122.67891434))
in_ = in_.transpose((2,0,1))

# load net
net = caffe.Net('deploy1.prototxt', 'siftflow-fcn8s-heavy.caffemodel', caffe.TEST)
# shape for input (data blob is N x C x H x W), set data
net.blobs['data'].reshape(1, *in_.shape)
net.blobs['data'].data[...] = in_
# run net and take argmax for prediction
net.forward()
out = net.blobs['score_geo'].data[0].argmax(axis=0)
# 注意此处的`score_geo`根据需要修改为合适的字符,例如`score`
# 将输出转换到512x512大小
out2 = out.resize(512,512)
for i=2:512:
for j = 2:512:
if out2(i,j) != out2(i-1,j-1)
im(i,j)=128
else:
continue
plt.imshow(im)
plt.axis('off')
plt.savefig("test.png")
plt.show()


至此,我们就可以测试自己的图片了。注意测试的图片类别必须是训练集包含的类别,不然可能出现随机值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: