What do Keras convolution layers do with color channels?
<p>Bellow is a piece of example code from the documentation in Keras. It looks like the first convolution accepts a 256x256 image with 3 color channels.  It has 64 output filters (I think these are the same as feature maps which I have read about elsewhere can someone confirm this for me).  What confuses me is that the output size is (None, 64, 256, 256).  I would expect it to be (None, 64 * 3, 256, 256) since it would need to do convolutions for each of the color channels.  What I am wondering is how does Keras handel the color channels.  Do the values get averaged together (converted to grey scale) before passing though the convolution?</p>

<pre><code>   # apply a 3x3 convolution with 64 output filters on a 256x256 image:
model = Sequential()
model.add(Convolution2D(64, 3, 3, border_mode='same', input_shape=(3, 256, 256)))
# now model.output_shape == (None, 64, 256, 256)

# add a 3x3 convolution on top, with 32 output filters:
model.add(Convolution2D(32, 3, 3, border_mode='same'))
# now model.output_shape == (None, 32, 256, 256)
</code></pre>