In this work, we design a single portrait relighting algorithm. We first apply a physically-based portrait relighting method to generate a large scale, high quality, "in the wild" portrait relighting dataset (DPR). A deep Convolutional Neural Network (CNN) is then trained using this dataset to generate a relighted portrait image by using a source image and a target lighting as input. Our trained network can relight portrait images with resolutions as high as 1024 X 1024.


Dataset [Download]

Fig 1: Example images in our DPR dataset.

We applied ratio image to generate 138,135 relit images. Some examples are shown in Fig 1.

Network Sturcture

Fig 2: Network structure.
Our network is designed to have a Hourglass network structure as shown in Fig 2. It takes a portrait image and a target lighting condition as input and generates a new portrait image under the target ligting condition.


We show some relit images for CelebA dataset, images with occlusion and images with non-frontal images. Videos can be downloaded from [Download].


We publish testing code with pre-trained model (DOWNLOAD HERE) and the code for data preparation (DOWNLOAD HERE)


[Paper ] | [Supplement ] | [Bibtex] | [Poster] | [Dataset] [Testing Code] [Data Preparation Code] [Videos]