Home

Awesome

AdaptiveWingLoss

arXiv

Pytorch Implementation of Adaptive Wing Loss for Robust Face Alignment via Heatmap Regression.

<img src='images/wflw.png' width="1000px">

Update Logs:

October 28, 2019

Installation

Note: Code was originally developed under Python2.X and Pytorch 0.4. This released version was revisioned from original code and was tested on Python3.5.7 and Pytorch 1.3.0.

Install system requirements:

sudo apt-get install python3-dev python3-pip python3-tk libglib2.0-0

Install python dependencies:

pip3 install -r requirements.txt

Run Evaluation on WFLW dataset

  1. Download and process WFLW dataset

    • Download WFLW dataset and annotation from Here.
    • Unzip WFLW dataset and annotations and move files into ./dataset directory. Your directory should look like this:
      AdaptiveWingLoss
      └───dataset
         │
         └───WFLW_annotations
         │   └───list_98pt_rect_attr_train_test
         │   │
         │   └───list_98pt_test
         │
         └───WFLW_images
             └───0--Parade
             │
             └───...
      
    • Inside ./dataset directory, run:
      python convert_WFLW.py
      
      A new directory ./dataset/WFLW_test should be generated with 2500 processed testing images and corresponding landmarks.
  2. Download pretrained model from Google Drive and put it in ./ckpt directory.

  3. Within ./Scripts directory, run following command:

    sh eval_wflw.sh
    
    <img src='images/wflw_table.png' width="800px"> *GTBbox indicates the ground truth landmarks are used as bounding box to crop faces.

Future Plans

Citation

If you find this useful for your research, please cite the following paper.

@InProceedings{Wang_2019_ICCV,
author = {Wang, Xinyao and Bo, Liefeng and Fuxin, Li},
title = {Adaptive Wing Loss for Robust Face Alignment via Heatmap Regression},
booktitle = {The IEEE International Conference on Computer Vision (ICCV)},
month = {October},
year = {2019}
}

Acknowledgments

This repository borrows or partially modifies hourglass model and data processing code from face alignment and pose-hg-train.