图片均值

JLU-IPVR

听笙

首先说一下计算均值有什么用。在模型进行训练和测试的过程中,当图片减去均值后,会提高速度和精度,因此,一般在各种模型中都会有去均值的这么一个操作。

这里需要注意,将计算出的均值文件保存为一个均值文件,一般都是在训练集上来计算均值。在网络训练的过程中,测试集和训练集都减去这么一个均值。

本文要讲解的是两种去均值的操作。

一:二进制格式的均值计算

caffe中使用的均值数据格式是binaryproto格式的,在caffe的源码中提供了一个cpp文件compute_image_mean.cpp,经过编译之后会在E:\caffe\caffe-master\Build\x64\Release文件夹下有compute_image_mean.exe文件,我们可以直接使用这个可执行文件对数据进行均值的计算。

使用批处理文件bat.

compute_image_mean.exe--backend="leveldb" D:\Caffe\caffe-master\data\mnist\mnist_test_leveldbD:\Caffe\caffe-master\data\mnist\val_mean.binaryproto

二:python格式的均值计算

如果我们要使用python接口,或者我们要进行特征可视化,可能就要用到python格式的均值文件了。首先,我们用levedb/lmdb格式的数据,计算出二进制格式的均值,然后,再转换成python格式的均值。

 

 

import numpy as np

import sys,caffe

 

if len(sys.argv)!=3:

    print"Usage: python convert_mean.py mean.binaryproto mean.npy"

   sys.exit()

 

blob = caffe.proto.caffe_pb2.BlobProto()

bin_mean = open( sys.argv[1] , 'rb' ).read()

blob.ParseFromString(bin_mean)

arr = np.array( caffe.io.blobproto_to_array(blob))

npy_mean = arr[0]

np.save( sys.argv[2] , npy_mean )

将这个脚本保存为convert_pythonmean.py。

使用方式为:

C:\Users\LJL\Desktop\windows-caffe\convert_pythonmean.pyC:\Users\LJL\Desktop\windows-caffe\train_mean.binaryproto C:\Users\LJL\Desktop\windows-caffe\mean.npy

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值