https://github.com/idiap/gafar
Geometry-aware Face Reconstruction
https://github.com/idiap/gafar
3d-face biometrics face face-recognition face-reconstruction gafar geometry-aware nerf neural-radiance-fields privacy security template-inversion vulnerability
Last synced: about 1 year ago
JSON representation
Geometry-aware Face Reconstruction
- Host: GitHub
- URL: https://github.com/idiap/gafar
- Owner: idiap
- License: bsd-3-clause
- Created: 2023-11-22T12:48:28.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-24T09:02:25.000Z (almost 2 years ago)
- Last Synced: 2025-03-23T01:01:44.960Z (about 1 year ago)
- Topics: 3d-face, biometrics, face, face-recognition, face-reconstruction, gafar, geometry-aware, nerf, neural-radiance-fields, privacy, security, template-inversion, vulnerability
- Language: Python
- Homepage: https://www.idiap.ch/paper/gafar/
- Size: 673 KB
- Stars: 11
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# GaFaR: Geometry-aware Face Reconstruction
[Project page](https://www.idiap.ch/paper/gafar/)

## Installation
You can use the following command to create and activate your Python environment:
```sh
conda env create -f environment.yml
conda activate gafar
```
## Training face reconstruction model
We use [EG3D](https://github.com/NVlabs/eg3d) as a pretrained face generator network based on generative neural radiance fields (GNeRF). Therefore, you need to clone its git repository and download [available pretrained model](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/research/models/eg3d):
```sh
$ git clone https://github.com/NVlabs/eg3d.git
```
We use `ffhqrebalanced512-128.pkl` [checkpoint](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/research/models/eg3d/files) in our experiments.
To train the face reconstruction model, you can use `train.py`. For example, for blackbox attack against `ElasticFace` using `ArcFace` in loss function, you can use the following commands:
```sh
python train.py --path_eg3d_repo --path_eg3d_checkpoint \
--FR_system ElasticFace --FR_loss ArcFace --path_ffhq_dataset \
```
## Pre-trained models (GaFaR Mapping Network)
[Checkpoints](https://www.idiap.ch/paper/gafar/static/files/checkpoints.zip) of trained models of the mapping network for whitebox and blackbox attacks are available in the [project page](https://www.idiap.ch/paper/gafar/).
## Evaluation
For evaluation script and also access to the dataset of presentation attack using the reconstructed face images, please check the [project page](https://www.idiap.ch/paper/gafar/).
## Citation
```bibtex
@article{tpami2023ti3d,
author = {Hatef Otroshi Shahreza and S{\'e}bastien Marcel},
title = {Comprehensive Vulnerability Evaluation of Face Recognition Systems to Template Inversion Attacks Via 3D Face Reconstruction},
journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence},
year = {2023},
volume = {45},
number = {12},
pages = {14248-14265},
doi = {10.1109/TPAMI.2023.3312123}
}
@inproceedings{iccv2023ti3d,
author = {Hatef Otroshi Shahreza and S{\'e}bastien Marcel},
title = {Template Inversion Attack against Face Recognition Systems using 3D Face Reconstruction},
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
pages = {19662--19672},
month = {October},
year = {2023}
}
```