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

最近在看代码,发现很多实验中,在图片进行训练前,都要将图像减去imagenet的均值,为什么要有这一步呢?查阅了很多网上的资料,发现去均值是为了对图像进行标准化,可以移除图像的平均亮度值 (intensity)。很多情况下我们对图像的照度并不感兴趣,而更多地关注其内容,比如在对象识别任务中,图像的整体明亮程度并不会影响图像中存在的是什么物体。这时对每个数据点移除像素的均值是有意义的[1]。而另一个资料显示在每个样本上减去数据的统计平均值可以移除共同的部分,凸显个体差异。其效果如下所示:

 

可以看到天空的纹理被移除了,凸显了汽车和高楼等主要特征。[2]

另外,正如该博客作者所说,我们在计算图像均值时,应该只需针对于训练集进行计算,而非使用测试集,验证集和其他以外的数据集进行计算,否则否则就违背了深度学习的原则:模型训练过程仅能从训练模型中获取信息。所以imagenet的均值我们不应该使用。但是只要对比实验中使用同样的方式处理,也是可以的。

后面发现更加官方的解释来更新,先锻炼去了。


[1]

【数据预处理】:图像去均值:image mean 和 pixel mean - Jack_Kuo的博客 - CSDN博客
https://blog.csdn.net/weixin_37251044/article/details/81157344#fn:2


[2]

深度学习理论——数据预处理(逐样本减去均值)

https://blog.csdn.net/Miss_yuki/article/details/80662017 

原文地址:https://www.cnblogs.com/Jerry-home/p/10109460.html