【问题标题】:Subtract mean from image从图像中减去平均值
【发布时间】:2015-06-26 22:06:15
【问题描述】:

我正在使用 Theano 实现 CNN。在论文中,我必须在训练 CNN 之前做这个图像预处理

We extracted RGB patches of 61x61 dimensions associated with each poselet activation, subtracted the mean and used this data to train the convnet model shown in Table 1

你能告诉我“减去均值”是什么意思吗?告诉我这些步骤是否正确(这是我的理解) 1) 计算整个图像的红色通道、绿色通道和蓝色通道的平均值 2) 对于每个像素,从红色值中减去红色通道的平均值,从绿色值中减去绿色通道的平均值,蓝色通道的平均值相同 3)有负值是正确的还是我使用了abs?

谢谢大家!!

【问题讨论】:

    标签: python image-processing machine-learning neural-network


    【解决方案1】:

    你应该仔细阅读论文,但最有可能的是它们的意思是块的平均值,所以你有N矩阵61x61像素,相当于一个向量长度61^2(如果有三个通道则3*61^2)。他们所做的 - 他们简单地计算每个维度的平均值,因此他们计算这些 N 向量相对于每个 3*61^2 维度的平均值。结果,他们获得了一个长度为3*61^2(或平均矩阵/平均补丁,如果您愿意)的平均向量,然后将其减去所有这些N 补丁。生成的补丁会有负值,这很好,你不应该取 abs 值,神经网络更喜欢这种数据。

    【讨论】:

    • 论文是这个arxiv.org/pdf/1407.0717v1.pdf我有600万张图像,我不认为提到的意思是关于补丁,而是关于单个图像。当然有可能是你的想法
    【解决方案2】:

    我会假设论文中提到的平均值是训练集中使用的所有图像的平均值(为每个通道单独计算)。

    几个适应症:

    这当然只是间接证据,因为我无法解释为什么会发生这种情况。事实上,我在试图弄清楚这一点时偶然发现了这个问题。

    //编辑:

    与此同时,我发现source 确认我的声明(我添加的突出显示):

    对数据矩阵 X [...] 进行三种常见的数据预处理形式

    均值减法是最常见的预处理形式。它 包括减去每个特征中的平均值 数据,并具有居中云的几何解释 沿每个维度的原点周围的数据。在numpy中,这个操作 将被实现为:X -= np.mean(X, axis = 0)。有图像 具体来说,为方便起见,通常会减去一个 所有像素的值(例如 X -= np.mean(X)),或单独执行 跨越三个颜色通道。

    如我们所见,整个数据用于计算均值。

    【讨论】:

    • 对训练集中的所有图像使用均值有意义吗?我们应该对任何单个图像的 RGB 值的每个像素执行此操作。
    • 我提供了一个链接和一个引文,说明在我的编辑中使用整个数据集的意义。
    猜你喜欢
    • 2019-04-02
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 2011-05-19
    • 2020-07-06
    • 2019-03-05
    相关资源
    最近更新 更多