---
license: mit
language:
- en
---
# Hyp-OC Model Card
[**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)
## 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.
## Training Framework
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="./")
```
## Citation
```bibtex
@article{narayan2024hyp,
title={Hyp-OC: Hyperbolic One Class Classification for Face Anti-Spoofing},
author={Narayan, Kartik and Patel, Vishal M},
journal={arXiv preprint arXiv:2404.14406},
year={2024}
}
```
Please check our [GitHub repository](https://github.com/Kartik-3004/hyp-oc) for complete instructions.