Example of a convolutional neural network (CNN) to predict image colors. The CNN takes the input image and estimates the red, green, blue components of the image, based on learned features extracted from the image by the convolution kernels. The square grids represent convolution kernels, which are made up of trainable weights. Each voxel in a feature map is the result of a convolution operation applied to the previous layer (illustrated by the connecting lines). An image processing CNN typically will have an encoder-decoder style architecture, which contains pooling layers followed by upsampling layers. In this didactic example, the network has 4 convolutional layers as well as a pooling layer (encoding) and an up-sampling layer (decoding). The CNN ultimately learns to synthesize a color image from a black and white image given many training pairs.