如何用RGB通道完成卷积?

问题描述 投票:11回答:3

假设我们有一个单一频道图像(5x5)

A = [ 1 2 3 4 5
      6 7 8 9 2
      1 4 5 6 3
      4 5 6 7 4
      3 4 5 6 2 ]

和过滤器K(2x2)

K = [ 1 1
      1 1 ]

应用卷积的一个例子(让我们从A中取出第一个2x2)将是

1*1 + 2*1 + 6*1 + 7*1 = 16

这非常简单。但是,让我们向矩阵A引入深度因子,即在深网络中具有3个通道或甚至转换层的RGB图像(可能深度= 512)。如何使用相同的滤波器完成卷积运算?类似的工作对于RGB情况非常有帮助。

rgb matrix-multiplication convolution dot-product
3个回答
6
投票

它们与您对单通道图像的处理方式相同,只是您将获得三个矩阵而不是一个。 This是关于CNN基础知识的讲义,我认为这可能对你有所帮助。


5
投票

对于类似RGB的输入,滤波器实际上是2 * 2 * 3,每个滤波器对应一个颜色通道,产生三个滤波器响应。这三个加起来就是偏向和激活。最后,这是输出映射中的一个像素。


3
投票

假设我们有一个由某些矩阵A给出的3通道(RGB)图像


    A = [[[198 218 227]
          [196 216 225]
          [196 214 224]
          ...
          ...
          [185 201 217]
          [176 192 208]
          [162 178 194]]

和模糊内核


    K = [[0.1111, 0.1111, 0.1111],
         [0.1111, 0.1111, 0.1111],
         [0.1111, 0.1111, 0.1111]]

    #which is actually 0.111 ~= 1/9

卷积可以表示为convolution of RGB channel下面的图像

正如您在图像中看到的那样,每个通道都是单独的卷积,然后组合成一个像素。

© www.soinside.com 2019 - 2024. All rights reserved.