junuke/UNPG
junuke/UNPG has 34 GitHub stars and 7 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-12 04:12 UTC. Last push 2026-09-30.
Unified Negative Pair Generation toward Well-discriminative Feature Space for Face Recognition
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalUNPG
Unified Negative Pair Generation toward Well-discriminative Feature Space for Face Recognition

Data prepration
MS1MV2
MS1M-ArcFace (85K ids/5.8M images) download link
#Preprocess 'train.rec' and 'train.idx' to 'jpg'
# example
cd detection
python rec2image.py --include '{path}/face_emore' --output '{path}/MS1MV2'
K-FACE
K-FACE download link
"""
###################################################################
K-Face : Korean Facial Image AI Dataset
url : http://www.aihub.or.kr/aidata/73
Directory structure : High-ID-Accessories-Lux-Emotion
ID example : '19062421' ... '19101513' len 400
Accessories example : 'S001', 'S002' .. 'S006' len 6
Lux example : 'L1', 'L2' .. 'L30' len 30
Emotion example : 'E01', 'E02', 'E03' len 3
###################################################################
"""
# example
cd detection
python align_kfaces.py --ori_data_path '/data/FACE/KFACE/High' --detected_data_path 'kface_retina_align_112x112'
IJBB & IJBC
Please apply for permissions from NIST before your usage.
Evaluation
Performance on public benchmark datasets with ResNet-100
| Method | IJB-B (1e-5) |
IJB-B (1e-4) |
IJB-C (1e-5) |
IJB-C (1e-4) |
MegaFace (Rank-1 acc) |
LFW | Path |
|---|---|---|---|---|---|---|---|
| Circle-loss* | - | - | - | 93.95 | 98.50 | 99.73 | - |
| ArcFace* | - | 94.20 | - | 95.60 | 98.35 | 99.82 | - |
| MagFace* | 90.36 | 94.51 | 94.08 | 95.97 | - | 99.83 | - |
| CosFace | 89.38 | 94.39 | 94.42 | 96.35 | 99.08 | 99.83 | - |
| CosFace+UNPG | 90.61 | 94.99 | 94.48 | 96.39 | 99.27 | 99.81 | link |
| ArcFace | 89.99 | 94.89 | 93.93 | 96.25 | 98.56 | 99.83 | - |
| ArcFace+UNPG | 90.57 | 95.04 | 94.47 | 96.33 | 98.82 | 99.83 | link |
| MagFace | 89.03 | 93.99 | 93.30 | 95.54 | 98.51 | 99.81 | - |
| MagFace+UNPG | 90.93 | 95.21 | 94.70 | 96.38 | 98.03 | 99.81 | link |
“*” indicates results from the original paper.
Example script
cd recognition
# example
python evaluation.py --weights 'face.r100.cos.unpg.wisk1.5.pt' --data 'ijbc.yaml'
# --data (e.g., 'ijbb.yaml', 'bins.yaml')
Performance on K-FACE test datasets (Q1-Q4) with ResNet-34
| Method | Q4 (1e-5) |
Q4 (1e-4) |
Q3 (1e-5) |
Q3 (1e-4) |
Q2 (1e-5) |
Q2 (1e-4) |
Q1 (1e-3) |
Q1 (1e-2) |
Path |
|---|---|---|---|---|---|---|---|---|---|
| ArcFace | 0.05 | 0.29 | 2.06 | 4.40 | 26.56 | 41.29 | 94.00 | 100 | - |
| SN-pair | 3.50 | 7.21 | 17.67 | 21.16 | 21.93 | 33.26 | 91.80 | 97.60 | - |
| MS-loss | 5.68 | 8.70 | 15.15 | 18.74 | 38.33 | 46.64 | 94.60 | 99.20 | - |
| MixFace | 7.11 | 10.92 | 9.19 | 22.55 | 39.09 | 44.48 | 97.00 | 100 | - |
| Circle-loss | 18.08 | 25.05 | 33.56 | 41.54 | 71.38 | 77.93 | 100 | 100 | - |
| Arc+UNPG | 29.89 | 50.43 | 51.59 | 60.88 | 91.28 | 93.26 | 100 | 100 | link |
cd recognition
# example
python evaluation.py --weights 'kface.r34.arc.unpg.wisk1.0.pt' --data 'kface.yaml'
Training
Example script (FACE)
cd recognition
# example
python train.py --model 'iresnet-100' --head 'arcface' --aux 'unpg' --data 'data/face.yaml' --hyp 'data/hyp.yaml' --name 'example' --device 0,1
Example script (KFACE)
cd recognition
# example
python train.py --model 'iresnet-34' --head 'arcface' --aux 'unpg' --data 'data/kface.yaml' --hyp 'data/hyp.yaml' --name 'example' --device 0,1
License
The source code in this repository is released under the Apache License 2.0.
The Apache License 2.0 does not apply to any model weights, including:
- Pretrained UNPG models (e.g.,
face.r100.cos.unpg.wisk1.5.pt,kface.r34.arc.unpg.wisk1.0.pt). These were trained on MS1MV2 (distributed by InsightFace) and K-FACE, whose terms permit non-commercial research use only. Accordingly, these weights are provided for non-commercial research purposes only. detection/retinaface/weights/mobilenet0.25_Final.pth, a third-party model included for convenience. It is subject to its original license and training-data terms, not this repository's license.
If you wish to use the models commercially, you must obtain the appropriate permissions from the respective dataset and model rights holders.
Explore related projects
tensorflow/tensorflow
An Open Source Machine Learning Framework for Everyone
201,505 starshuggingface/transformers
🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.
168,815 starsAUTOMATIC1111/stable-diffusion-webui
Stable Diffusion web UI
165,300 starsComfy-Org/ComfyUI
The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface. The fastest local inference engine in the world.
146,472 stars