abhi1kumar / LUVLi

[CVPR 2020] Re-hosting of the LUVLi Face Alignment codebase. Please download the codebase from the original MERL website by agreeing to all terms and conditions. By using this code, you agree to MERL's research-only licensing terms.
https://github.com/merlresearch/LUVLi
37 stars 2 forks source link
cvpr cvpr2020 face-alignment face-landmarks facial-landmarks luvli-face-alignment occlusion uglli-face-alignment

LUVLi and UGLLI Face Alignment

The code is officially available here

LUVLi Face Alignment: Estimating Landmarks' Location, Uncertainty, and Visibility Likelihood, CVPR 2020

[slides], [1min_talk], [supp],[demo]

UGLLI Face Alignment: Estimating Uncertainty with Gaussian Log-Likelihood Loss, ICCV Workshops on Statistical Deep Learning in Computer Vision 2019

[slides], [poster], [news], [Best Oral Presentation Award]

References

Please cite the following papers if you find this repository useful:

@inproceedings{kumar2020luvli,
  title={LUVLi Face Alignment: Estimating Landmarks' Location, Uncertainty, and Visibility Likelihood},
  author={Kumar, Abhinav and Marks, Tim K. and Mou, Wenxuan and Wang, Ye and Jones, Michael and Cherian, Anoop and Koike-Akino, Toshiaki and Liu, Xiaoming and Feng, Chen},
  booktitle={IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
  year={2020}
}

@inproceedings{kumar2019uglli,
  title={UGLLI Face Alignment: Estimating Uncertainty with Gaussian Log-Likelihood Loss},
  author={Kumar, Abhinav and Marks, Tim K and Mou, Wenxuan and Feng, Chen and Liu, Xiaoming},
  booktitle={ICCV Workshops on Statistical Deep Learning in Computer Vision},
  year={2019}
}

Evaluation of our pre-trained models

Split Name Directory LUVLi UGLLI
1 300-W Split 1 run_108 lr-0.00002-49.pth.tar -
2 300-W Split 2 run_109 lr-0.00002-49.pth.tar -
3 AFLW-19 run_507 lr-0.00002-49.pth.tar -
4 WFLW run_1005 lr-0.00002-49.pth.tar -
5 MERL-RAV (AFLW_ours) run_5004 lr-0.00002-49.pth.tar -
1 300-W Split 1 run_924 - lr-0.00002-39.pth.tar
2 300-W Split 2 run_940 - lr-0.00002-39.pth.tar

Copy the pre-trained models to the abhinav_model_dir first. The directory structure should look like this:

./FaceAlignmentUncertainty/
|--- abhinav_model_dir/
|           |--- run_108
|           |       |--lr-0.00002-49.pth.tar
|           |
|           |--- run_109
|           |       |--lr-0.00002-49.pth.tar
|           |
|           |--- run_507
|           |       |--lr-0.00002-49.pth.tar
|           |
|           |--- run_1005
|           |       |--lr-0.00002-49.pth.tar
|           |
|           |--- run_5004
|           |       |--lr-0.00002-49.pth.tar
|  ...

Next type the following:

./scripts_evaluation.sh

In case you want to get our qualitative plots and also the transformed figures, type:

python plot/show_300W_images_overlaid_with_uncertainties.py --exp_id abhinav_model_dir/run_109_evaluate/ --laplacian
python plot/plot_uncertainties_in_transformed_space.py          -i run_109_evaluate/300W_test --laplacian
python plot/plot_residual_covariance_vs_predicted_covariance.py -i run_109_evaluate --laplacian
python plot/plot_histogram_smallest_eigen_value.py              -i run_109_evaluate --laplacian