예제 #1
0
from visualize_cls_salience import visualize

# load net model
caffe.set_mode_gpu()
net = caffe.Net('./data/deploy2.prototxt',
                './data/bvlc_reference_caffenet.caffemodel', caffe.TEST)

# net surgery
"""
net.params['score'][0].data[...] = np.zeros(net.params['score'][0].data.shape)
net.params['score'][1].data[...] = np.zeros(net.params['score'][1].data.shape)
net.params['score'][0].data[:,:,:,label] = 1
"""

# visual instance
vis_ml = visualize(iter=1000, lambda_=0.001, nu=0.05)

# read image
im = caffe.io.load_image('./data/cat.jpg')

transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape})
transformer.set_mean('data',
                     np.load('./data/ilsvrc_2012_mean.npy').mean(1).mean(1))
transformer.set_channel_swap('data', [2, 1, 0])
transformer.set_raw_scale('data', 255)
transformer.set_transpose('data', [2, 0, 1])

#transform image to net input
input_img = transformer.preprocess('data', im)
input_img = input_img.reshape([1] + [input_img.shape[i] for i in range(3)])
예제 #2
0
#class label=281 is cat
label = 281

# load net model
caffe.set_mode_gpu()
net = caffe.Net('./data/deploy.prototxt',
                './data/bvlc_reference_caffenet.caffemodel', caffe.TEST)

# net surgery
net.params['score'][0].data[...] = np.zeros(net.params['score'][0].data.shape)
net.params['score'][1].data[...] = np.zeros(net.params['score'][1].data.shape)
net.params['score'][0].data[:, :, :, label] = 1

# visual instance
vis_ml = visualize()

# read image
im = caffe.io.load_image('./data/cat.jpg')

transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape})
transformer.set_mean('data',
                     np.load('./data/ilsvrc_2012_mean.npy').mean(1).mean(1))
transformer.set_channel_swap('data', [2, 1, 0])
transformer.set_raw_scale('data', 255)
transformer.set_transpose('data', [2, 0, 1])
#transform image to net input
input_img = transformer.preprocess('data', im)
input_img = input_img.reshape([1] + [input_img.shape[i] for i in range(3)])

# get salience map
예제 #3
0
from visualize_cls_salience import visualize

#class label=99 is goose
label = 99

# load net model
caffe.set_mode_gpu()
net = caffe.Net('./data/deploy.prototxt','./data/bvlc_reference_caffenet.caffemodel',caffe.TEST)

# net surgery
net.params['score'][0].data[...] = np.zeros(net.params['score'][0].data.shape)
net.params['score'][1].data[...] = np.zeros(net.params['score'][1].data.shape)
net.params['score'][0].data[:,:,:,label] = 1

# visual instance
vis_ml = visualize(iter=1000,lambda_=0.001,nu=1)
#initial image
I = np.random.random(net.blobs['data'].data.shape)*10
#I = np.ones(net.blobs['data'].data.shape)*10

#calculate class visual image
cls_img,s = vis_ml.calc_cls_model(net,I,verbose=True)

#save cls_img
cls_img_name = './result/goose.png'
print 'save classification image of goose to {}'.format(cls_img_name)
imsave(cls_img_name,cls_img)

# show result
plt.figure(1)
plt.imshow(cls_img)
from visualize_cls_salience import visualize

#class label=281 is cat
label = 281

# load net model
caffe.set_mode_gpu()
net = caffe.Net('./data/deploy.prototxt','./data/bvlc_reference_caffenet.caffemodel',caffe.TEST)

# net surgery
net.params['score'][0].data[...] = np.zeros(net.params['score'][0].data.shape)
net.params['score'][1].data[...] = np.zeros(net.params['score'][1].data.shape)
net.params['score'][0].data[:,:,:,label] = 1

# visual instance
vis_ml = visualize()

# read image
im = caffe.io.load_image('./data/cat.jpg')

transformer = caffe.io.Transformer({'data':net.blobs['data'].data.shape})
transformer.set_mean('data',np.load('./data/ilsvrc_2012_mean.npy').mean(1).mean(1))
transformer.set_channel_swap('data',[2,1,0])
transformer.set_raw_scale('data',255)
transformer.set_transpose('data',[2,0,1])
#transform image to net input
input_img = transformer.preprocess('data',im)
input_img = input_img.reshape([1] + [input_img.shape[i] for i in range(3)])

# get salience map
salience_map,s = vis_ml.calc_cls_saliency(net,input_img)