如何进行均值图像减法?

首先说明,我是机器学习/计算机视觉领域的新手,目前正在使用Caffe训练一个自定义的卷积神经网络。

我对均值图像减法很感兴趣,希望通过这种方法对我的训练图像进行基本的数据归一化。然而,我对均值减法的工作原理以及它的具体优势感到困惑。

我知道可以从训练集中计算出一个“均值图像”,然后从训练、验证和测试集中减去这个均值图像,以使网络对不同的背景和光照条件不那么敏感。

这是否涉及计算每张图像中所有像素的均值,并对这些均值进行平均?还是说,是将每个像素坐标的值在所有图像中进行平均(例如,所有图像中位置(1,1)的像素的平均值)?这可能需要所有图像大小相同…

另外,对于彩色图像(3通道),每个通道的值是否单独进行平均?

任何澄清都会被感激的接受。


回答:

在深度学习中,实际上有不同的实践方法来进行均值图像减法。

减去均值图像

第一种方法是像@***描述的那样减去均值图像。但如果你的数据集图像大小不同,就会有问题。在使用这种方法之前,你需要确保所有数据集图像大小相同(例如,调整原始图像大小并从原始图像中裁剪出相同大小的区域)。这种方法在原始ResNet论文中使用,参见此处参考

减去每通道均值

第二种方法是从原始图像中减去每通道的均值,这种方法更为流行。使用这种方法,你不需要调整或裁剪原始图像。你可以直接从训练集中计算每通道的均值。这种方法在深度学习中被广泛使用,例如,Caffe:此处此处。Keras:此处。PyTorch:此处。(PyTorch还将每通道的值除以标准差。)

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注