Skip to content

Official Pytorch Implementation of Progressive Face Super-Resolution (BMVC 2019 Accepted)

Notifications You must be signed in to change notification settings

DeokyunKim/Progressive-Face-Super-Resolution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Progressive Face Super-Resolution

Deokyun Kim*, Minseon Kim*, Gihyun Kwon*, and Dae-shik Kim, Progressive Face Super-Resolution via Attention to Facial Landmark, The British Machine Vision Conference 2019 (BMVC 2019)

*The authors have equally contributed.

Overview

our structure

Progressive Face Super-Resolution via Attention to Facial Landmark
Deokyun Kim (KAIST), Minseon Kim (KAIST), Gihyun Kwon (KAIST), et al.
Abstract: Face Super-Resolution (SR) is a subfield of the SR domain that specifically targets the reconstruction of face images. The main challenge of face SR is to restore essential facial features without distortion. We propose a novel face SR method that generates photo-realistic 8× super-resolved face images with fully retained facial details. To that end, we adopt a progressive training method, which allows stable training by splitting the network into successive steps, each producing output with a progressively higher resolution. We also propose a novel facial attention loss and apply it at each step to focus on restoring facial attributes in greater details by multiplying the pixel difference and heatmap values. Lastly, we propose a compressed version of the state-of-the-art face alignment network (FAN) for landmark heatmap extraction. With the proposed FAN, we can extract the heatmaps suitable for face SR and also reduce the overall training time. Experimental results verify that our method outperforms state-of-the-art methods in both qualitative and quantitative measurements, especially in perceptual quality.

Prerequisites

  • Python 3.6
  • Pytorch 1.0.0
  • CUDA 9.0 or higher

This code support NVIDIA apex-Distributed Training in Pytorch, please follow description. Also, we refered state-of-the-art Face Alignment Network in order to get face SR-oriented facial landmark heatmap.

Data Preparation

create a folder:

 mkdir dataset

and then, download dataset. Anno & Img.

Demonstration

  • Single face image demonstartion
$ python demo.py --image-path ./figure/eval_target_image.jpeg --checkpoint-path 'CHECKPOINT_PATH/generator_checkpoint_singleGPU.ckpt' --output-path './OUTPUT_PATH/OUTPUT_NAME.jpeg'

Test model

  • Test trained model
$ python eval.py --data-path './dataset' --checkpoint-path 'CHECKPOINT_PATH/generator_checkpoint_singleGPU.ckpt'
  • Test distributed trained model
$ python -m torch.distributed.launch --nproc_per_node=number_of_used_GPUs eval.py \
                                                 --distributed \
                                                 --data-path './dataset' \
                                                 --checkpoint-path 'CHECKPOINT_PATH/generator_checkpoint.ckpt'

Citation

@inproceedings{progressive-face-sr,
    author    = {Deokyun Kim, Minseon Kim, Gihyun Kwon, Dae-Shik Kim}, 
    title     = {Progressive Face Super-Resolution via Attention to Facial Landmark}, 
    booktitle = {Proceedings of the 30th British Machine Vision Conference (BMVC)},
    year  = {2019}
}

About

Official Pytorch Implementation of Progressive Face Super-Resolution (BMVC 2019 Accepted)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages