Home

Awesome

DCFace: Synthetic Face Generation with Dual Condition Diffusion Model

Official repository for the paper DCFace: Synthetic Face Generation with Dual Condition Diffusion Model (CVPR 2023).

Pipepline

Demo

ID Consistent Generation

Demo

Installation

  1. one-liner : install.sh

If above fails, then

pip install -r requirements.txt
# and download model weights from the link below

Image generation

Sample Code with given example images

We provide the sample code to generate images with the pretrained weights. The sample aligned images are provided in the repository.

cd dcface/src
python synthesis.py --id_images_root sample_images/id_images/sample_57.png --style_images_root sample_images/style_images/woman

Optional

One can also generate new subject images and prepare custom style images.

1. Creating ID Images (New Subjects)

Unconditional ID image generation is done in dcface/stage1/unconditional_generation Take a look at the README.md in that directory for instructions on how to generate new ID images.

2. Creating Style Images

Any aligned images can serve as style images. We provive some sample images in sample_images/style_images directory. For anyone who wants to use their own style images, one should align the images first. Take a look at the README.md in dcface/stage1/style_bank directory for instructions on how to align images.

3. Using 1. and 2. to generate dataset

Assuming that you followed 1. and 2. you will have an id_image and style_images directory. For the sake of explaination, let's say

cd dcface/src
python synthesis.py \
        --id_images_root <Project_root>/dcface/stage1/unconditional_generation/unconditional_samples_aligned/00011.png \
        --style_images_root <Project_root>/dcface/stage1/style_bank/style_images/raw_aligned

The result will be saved at <Project_root>/dcface/generated_images/

Training generator

Dataset preparation

Download model weights

Run

cd dcface/src/
bash train.sh

Dataset Release

DCFace synthetic dataset can be downloaded from link

The format of the downloaded file is in rec format.

cd dcface/convert
python record.py --rec_path <path_to_rec_file> --save_path <path_to_save_png>
# ex
# <path_to_rec_file> : dcface_0.5m_oversample_xid/record
# <path_to_save_png> : dcface_0.5m_oversample_xid/images

Training Face Recognition Model