Tensorflow中的模拟Caffe图像预处理

时间:2019-04-30 05:52:45

标签: opencv tensorflow image-processing caffe

我正在使用mmdnncaffe-tensorflow项目进行caffe Tensorflow转换。

我可以看到每层输出中的巨大偏差。我对Caffe和Tensorflow之间的图像预处理程序有一些疑问。基本上想模仿张量流中的caffe图像预处理。因此,我可以逐层评估输出。

Caffe图像预处理步骤:

image = caffe.io.load_image(image_path)
transformer = caffe.io.Transformer({'data':
net.blobs['data'].data.shape})
transformer.set_transpose('data', (2,0,1))
transformer.set_channel_swap('data', (2,1,0)) # the reference model has channels in BGR order instead of RGB
transformer.set_raw_scale('data', 255.0) # the reference model operates on images in [0,255] range instead of [0,1]
image = np.asarray([transformer.preprocess('data', image)])
net.blobs['data'].data[...] = image

在这里,它读取图像并将RGB转换为BGR格式,然后将图像从[-1,1]缩放为[0,255]。

Tensorflow图像预处理步骤:

image = cv2.imread(image_path)
image = cv2.resize(image, dsize=(227, 227))
# Tensorflow accepts RGB Format. So, No RGB to BGR Conversion.
image = image/255 # the reference model operates on images in [0,255] range instead of [0,1]
image = image[np.newaxis, ...] # Add one batch size

请纠正我,如果我在这里做错了什么?

0 个答案:

没有答案