  Casually-taken portrait photographs often suffer from unflattering lighting
and shadowing because of suboptimal conditions in the environment. Aesthetic
qualities such as the position and softness of shadows and the lighting ratio
between the bright and dark parts of the face are frequently determined by the
constraints of the environment rather than by the photographer. Professionals
address this issue by adding light shaping tools such as scrims, bounce cards,
and flashes. In this paper, we present a computational approach that gives
casual photographers some of this control, thereby allowing poorly-lit
portraits to be relit post-capture in a realistic and easily-controllable way.
Our approach relies on a pair of neural networks---one to remove foreign
shadows cast by external objects, and another to soften facial shadows cast by
the features of the subject and to add a synthetic fill light to improve the
lighting ratio. To train our first network we construct a dataset of real-world
portraits wherein synthetic foreign shadows are rendered onto the face, and we
show that our network learns to remove those unwanted shadows. To train our
second network we use a dataset of Light Stage scans of human subjects to
construct input/output pairs of input images harshly lit by a small light
source, and variably softened and fill-lit output images of each face. We
propose a way to explicitly encode facial symmetry and show that our dataset
and training procedure enable the model to generalize to images taken in the
wild. Together, these networks enable the realistic and aesthetically pleasing
enhancement of shadows and lights in real-world portrait images
