hyp-oc / README.md
kartiknarayan's picture
Update README.md
f0ba831 verified
---
license: mit
language:
- en
---
# Hyp-OC Model Card
<div align="center">
[**Project Page**](https://kartik-3004.github.io/hyp-oc/) **|** [**Paper (ArXiv)**](https://arxiv.org/pdf/2404.14406.pdf) **|** [**Code**](https://github.com/Kartik-3004/hyp-oc)
</div>
## Introduction
Hyp-OC, is the first work exploring hyperbolic embeddings for one-class face anti-spoofing (OC-FAS).
We show that using hyperbolic space helps learn a better decision boundary than the Euclidean counterpart,
boosting one-class face anti-spoofing performance.
<div align="center">
<img src='assets/visual_abstract.png' height="50%" width="50%">
</div>
## Training Framework
<div align="center">
<img src='assets/framework.png'>
</div>
Overview of the proposed pipeline: Hyp-OC. The encoder extracts facial features which are used to estimate the mean of Gaussian
distribution utilized to sample pseudo-negative points. The real features and pseudo-negative features are then concatenated
and passed to FCNN for dimensionality reduction. The low-dimension features are mapped to Poincaré Ball using *exponential map*.
The training objective is to minimize the summation of the proposed loss functions Hyp-PC} and Hyp-CE. The result is a separating
*gyroplane* beneficial for one-class face anti-spoofing.
## Usage
The pre-trained weights can be downloaded directly from this repository or using python:
```python
from huggingface_hub import hf_hub_download
hf_hub_download(repo_id="kartiknarayan/hyp-oc", filename="pretrained_weights/vgg_face_dag.pth", local_dir="./")
hf_hub_download(repo_id="kartiknarayan/hyp-oc", filename="weights/CASIA_MFSD/casia_mfsd/best_epoch.pth", local_dir="./")
hf_hub_download(repo_id="kartiknarayan/hyp-oc", filename="weights/OULU_NPU/oulu_npu/best_epoch.pth", local_dir="./")
hf_hub_download(repo_id="kartiknarayan/hyp-oc", filename="weights/ROSEYoutu/rose_youtu/best_epoch.pth", local_dir="./")
hf_hub_download(repo_id="kartiknarayan/hyp-oc", filename="weights/ReplayAttack/replayattack/best_epoch.pth", local_dir="./")
hf_hub_download(repo_id="kartiknarayan/hyp-oc", filename="weights/ICM/icm/best_epoch.pth", local_dir="./")
hf_hub_download(repo_id="kartiknarayan/hyp-oc", filename="weights/OCI/oci/best_epoch.pth", local_dir="./")
hf_hub_download(repo_id="kartiknarayan/hyp-oc", filename="weights/OCM/ocm/best_epoch.pth", local_dir="./")
hf_hub_download(repo_id="kartiknarayan/hyp-oc", filename="weights/OMI/omi/best_epoch.pth", local_dir="./")
```
## Citation
```bibtex
@inproceedings{narayan2024hyp,
title={Hyp-oc: Hyperbolic one class classification for face anti-spoofing},
author={Narayan, Kartik and Patel, Vishal M},
booktitle={2024 IEEE 18th International Conference on Automatic Face and Gesture Recognition (FG)},
pages={1--10},
year={2024},
organization={IEEE}
}
```
Please check our [GitHub repository](https://github.com/Kartik-3004/hyp-oc) for complete instructions.