SRCNN - how to get a color image output training only with luminance I'm quite new to convolutional neural network, applied to super-resolution. I read this review article, itself based on this paper as an attempt to understand it better.

In the review, the author says :


  where c is [the] number of channels of the image [...].
  In this case, c=1 [...]


But the example shows a color image. So, first, I asked myself "How a color image could have only 1 channel ?".

Then I read the following in the paper : 


  The majority of SR algorithms [...] focus on gray-scale or single-channel
  image super-resolution. For color images, the aforementioned
  methods first transform the problem to a different
  color space (YCbCr or YUV), and SR is applied
  only on the luminance channel.


Ok, so the network only works with luminance. Therefore how can it generate a color image as an output ? Converting a full color system to only luminance, a part of the information on the color is lost. How does the network get it back in the process ?
The authors use the Y-channel as luminance channel since their images are in the YCbCr color space. The other two channels are upscaled by bicubic interpolation. Later in the paper, they write:


  Specifically, we first transform the color images into the YCbCr space. The SR algorithms are only applied on the Y channel, while the Cb, Cr channels are upscaled by bicubic interpolation.


In their paper, the authors also compare this method to other learning strategies, e.g. training on all three channels or first training the Y-channel and then fine-tune the network with all three channels. The results are on page 11. The section ends with:


  It is also worth noting that the improvement compared with the single-channel network is not that significant (i.e., 0.07 dB). This indicates that the Cb, Cr channels barely help in improving the performance.