深度学习中图像预处理为什么要减去均值?

目录

 

深度学习中图像预处理为什么要减去均值?

Notes

一些其他的图像预处理操作

截断标准差

从一个尺度空间,缩放(线性映射)到另一个尺度空间

参考


 

深度学习中图像预处理为什么要减去均值?

最近在看一些keras 代码的时候发现在图像的预处理过程中,总是会有类似于下面的这种操作:

# Subtract mean pixel and multiple by scaling constant 

im[:,:,0] = (im[:,:,0] - 103.94) * 0.017
im[:,:,1] = (im[:,:,1] - 116.78) * 0.017
im[:,:,2] = (im[:,:,2] - 123.68) * 0.017

这其中的参数是作者给出的,

Notes

Due to compatibility reasons, several modifications have been made:

  • BGR mean values [103.94,116.78,123.68] are subtracted

  • scale: 0.017 is used, instead of the original std values for image preprocessing

  • ceil_mode: false is used in the first pooling layers ('pool1')

 

作者的数据集使用的是 ImageNet , 这里的 [103.94,116.78,123.68]  指的是 imagenet 里面所有训练集数据的平均像素值,

三个值 对应图像的 BGR,

 

那为什么要做这样的一种操作呢?

我在网上看了很多资料, 大体上可以总结为两种 :

1  、去均值是为了对图像进行标准化,可以移除图像的平均亮度值 (intensity)。很多情况下我们对图像的照度并不感兴趣,而更多地关注其内容,比如在对象识别任务中,图像的整体明亮程度并不会影响图像中存在的是什么物体。这时对每个数据点移除像素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值