Pytorch InsightFace
August 4, 2019 ยท View on GitHub
Pretrained ResNet models from deepinsight/insightface ported to pytorch.
| Model | LFW(%) | CFP-FP(%) | AgeDB-30(%) | MegaFace(%) |
|---|---|---|---|---|
| iresnet34 | 99.65 | 92.12 | 97.70 | 96.70 |
| iresnet50 | 99.80 | 92.74 | 97.76 | 97.64 |
| iresnet100 | 99.77 | 98.27 | 98.28 | 98.47 |
Installation
pip install git+https://github.com/nizhib/pytorch-insightface
Usage
import torch
from imageio import imread
from torchvision import transforms
import insightface
embedder = insightface.iresnet100(pretrained=True)
embedder.eval()
mean = [0.5] * 3
std = [0.5 * 256 / 255] * 3
preprocess = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize(mean, std)
])
face = imread('resource/sample.jpg')
tensor = preprocess(face)
with torch.no_grad():
features = embedder(tensor.unsqueeze(0))[0]
print(features[:5])
Recreating the weights locally
Download the original insightface zoo weights and place *.params and *.json files to resource/{model}.
Run python scripts/convert.py to convert and test pytorch weights.