Skip to content

ArcFace

Implementation of ArcFace1 in PyTorch by InsightFace.

Pre-trained models

mozuma.models.arcface.pretrained.torch_arcface_insightface

ArcFace model pre-trained by InsightFace

Parameters:

Name Type Description Default
device torch.device

Torch device to initialise the model weights

required
remove_bad_faces bool

Whether to remove the faces with bad quality from the output. This will replace features of bad faces with float("nan"). Defaults to False.

required
bad_faces_threshold float

The cosine similarity distance to reference faces for which we consider the face is of bad quality.

required

Returns:

Type Description
TorchArcFaceModule

Pre-trained ArcFace

Base models

The MagFace model is an implementation of a TorchModel.

mozuma.models.arcface.modules.TorchArcFaceModule

Creates face embeddings from MTCNN output

Attributes:

Name Type Description
device torch.device

Torch device to initialise the model weights

remove_bad_faces bool

Whether to remove the faces with bad quality from the output. This will replace features of bad faces with float("nan"). Defaults to False.

bad_faces_threshold float

The cosine similarity distance to reference faces for which we consider the face is of bad quality.

Provider store

See the stores documentation for usage.

mozuma.models.arcface.stores.ArcFaceStore

Gets the pretrained state dir from OneDrive

URL: https://github.com/TreB1eN/InsightFace_Pytorch#2-pretrained-models--performance Model: IR-SE50


  1. Jiankang Deng, Jia Guo, Xue Niannan, and Stefanos Zafeiriou. Arcface: additive angular margin loss for deep face recognition. In CVPR. 2019.