Encoder-Decoder Convolution Neural Networks can do more
An encoder-decoder convolution neural network or sometimes also referenced as hour-glass-network because of its shape like an hour-glass can do other interesting things than classic image segmentation
With the right loss function and training material you can make them do other things as well, here we trained them to generate surface normals on faces
Left to Right source image, normal map (encoded in unsigned 8bit), two different lambertian lit with different light directionLeft to Right source image, normal map (encoded in unsigned 8bit), two different lambertian lit with different light directionLeft to Right source image, normal map (encoded in unsigned 8bit), two different lambertian lit with different light directionLeft to Right source image, normal map (encoded in unsigned 8bit), two different lambertian lit with different light directionLeft to Right source image, normal map (encoded in unsigned 8bit), two different lambertian lit with different light directionLeft to Right source image, normal map (encoded in unsigned 8bit), two different lambertian lit with different light direction
And all these examples were generated using a trained network that has only been trained with normal maps that had 7bit precission for encoding the normals and a training set of 13k images. The loss function is not optimal yet either we are losing a bit of sharpness here obviously.