Min*_*ink 2 image machine-learning computer-vision caffe conv-neural-network
首先,我是ML / CV领域的新手,并且目前正在使用Caffe训练自定义转换网络。
我对平均图像减法感兴趣,以在我的训练图像上实现基本数据标准化。但是,我对均值减法的工作原理及其确切好处感到困惑。
我知道可以从训练集中计算出“平均图像”,然后从训练,验证和测试集中减去“平均图像”,以使网络对不同的背景和光照条件不太敏感。
这是否涉及计算每个图像中所有像素的平均值,并将其取平均值?或者,是否将每个像素坐标的值在集合中的所有图像上平均(即,所有图像在位置(1,1)处的像素平均值)?这可能要求所有图像的大小均相同...
另外,对于彩色图像(3通道),每个通道的值是否单独平均?
任何清晰度将不胜感激。
平均图像是其中 i,j,c 像素是所有图像中 i,j,c 像素的平均值的图像。所以你对每个位置和每个颜色通道分别取一个平均值。当然,它要求所有图像具有相同的大小,否则不定义。此外,这并不是真正要降低对不同条件的敏感度 - 它与此无关,实际上只是将初始激活保持在合理范围内,没有别的。
在深度学习中,实际上存在关于如何减去均值图像的不同实践。
第一种方法是减去平均图像,如@lejlot所述。但是,如果您的数据集图像大小不一样,则会出现问题。在使用此方法之前,您需要确保所有数据集图像的大小都相同(例如,调整原始图像的大小和与原始图像大小相同的裁切补丁)。它在ResNet原始论文中使用,请参见此处的参考。
第二种方法是从原始图像中减去每个通道的均值,这种方法比较流行。这样,您无需调整大小或裁剪原始图像。您只需从训练集中计算每个通道的平均值即可。这在深度学习中被广泛使用,例如Caffe:here and here。凯拉斯:在这里。PyTorch:在这里。(PyTorch还将每个通道的值除以标准偏差。)