I am asking this question for a better understanding of the concept of channels in images.
I am aware that a convolutional layer generates feature maps from a given image. We can adjust the size of the output feature map by proper padding and regulating strides.
But I am not sure whether there exist kernels for a single convolution layer that are capable of changing an {RGBA, RGB, Grayscale, binary}
image into (any) another {RGBA, RGB, Grayscale, binary}
image?
For example, I have a binary image of a cat, is it capable to convert it into an RGBA image of a cat? If no, can it at least convert a binary cat image into an RGBA image?
I am asking only from a theoretical perspective.
in_channels
,out_channels
. What is the purpose of them? Example shows 16 input channels and 33 output channels. I am aware about images with 1 channel, 3 channels and 4 channels. @nbro $\endgroup$in_channels == 1
orin_channels == 3
. However, in hidden layers of CNNs, you can havein_channels == K
for $K > 1$, because this corresponds to the depth of the feature map that you produced in the previous convolutional layer, which corresponds to the number of kernels that you applied to the input of the previous layer (I'm assuming a 2d convolution). $\endgroup$