MORS face recognition datasets
Preprocessed benchmark trees used in Face Recognition via Synthetic Data and Turbocharged Two-Stage Contrastive Fine-Tuning (MORS 2026).
Code & supplementary figures: GitHub — FR-via-SynData-and-TC-2SCFT
Each folder is a complete mirror of the local benchmark tree used in our experiments: training images (originals + synthetics), official test/eval splits, protocol .mat files, and feature caches where present. Nothing is stripped for upload.
Repository layout
| Path | Benchmark | Contents |
|---|---|---|
tinyface/ | TinyFace | Full preprocessed tree (~2 GB) |
QMUL/ | QMUL-SurvFace | Full preprocessed tree (~20 GB) |
xqlfw4mors_testsplit/ | XQ-LFW testsplit v2 | Paper 80/20 split (~1.1 GB) |
checkpoints/ | Pretrained backbone | inception_resnet_v1_vggface2_raw.pt (~107 MB) |
tinyface/ — complete tree
Training_Set/— per-ID folders with originals + mods 1–5 syntheticsTesting_Set/—Gallery_Match/,Gallery_Distractor/,Probe/images + protocol.matpair filesFace_Identification_Evaluation/— eval protocol.matfiles andfeatures/cachefeatures/— additional gallery/probe/distractor.matfeature blocksreadme.txt— official TinyFace notes
QMUL/ — complete tree
training_set/— per-ID folders with originals + mods 1–5 syntheticsFace_Identification_Test_Set/—gallery/,mated_probe/,unmated_probe/+ protocol.matfilesFace_Verification_Test_Set/— verification images +positive_pairs_names.mat,negative_pairs_names.mat,features_verification.matFace_Identification_Evaluation/— eval.matfiles,features/, andfeatures_export_baseline/Face_Verification_Evaluation/— verification eval assetsreadme.txt— official SurvFace notes
xqlfw4mors_testsplit/ — paper cohort
Training_Set/— 1,318 train IDs / 6,855 images (originals + synthetics)Testing_Set/— 330 held-out eval IDs / 2,185 imagesmetadata/—identity_map_train.csv,identity_map_test.csv,xqlfw_pairs_resolved.csv(623 verification pairs)SPLIT_README.md— split definition (80/20, seed 1337, ≥2 originals per train ID)
Synthetics (mods 1–5: LR, distance, HR, POSE3D, passport) live under each benchmark's training layout.
Raw backbone checkpoint
checkpoints/inception_resnet_v1_vggface2_raw.pt — unfine-tuned Inception-ResNet-V1 (vggface2, 512-D). Used for the paper raw baseline and cold-start ft_ogsyn.
import torch
from facenet_pytorch import InceptionResnetV1
ckpt = torch.load("inception_resnet_v1_vggface2_raw.pt", map_location="cpu", weights_only=False)
state = ckpt["state_dict"] if "state_dict" in ckpt else ckpt
model = InceptionResnetV1(pretrained=None)
model.load_state_dict(state, strict=True)
model.eval()
Download
pip install huggingface_hub
huggingface-cli download afro-chai/FR-via-SynData-and-TC-2SCFT --repo-type dataset --local-dir ./mors_data
Or download individual folders from the dataset repo file browser.
Usage with MORS runners
Point runners at the downloaded trees (see GitHub README):
# TinyFace
python model_training/MORS/run_tinyface.py --config experiments/mods_1_5/rebaseline_60_mods15.yaml \
--tiny_root ./mors_data/tinyface
# QMUL
python model_training/MORS/run_qmul.py --config experiments/mods_1_5/3_ctrl_baseline_60_mods15_qmul.yaml \
--qmul_root ./mors_data/QMUL
# XQ-LFW paper testsplit
python model_training/MORS/run_xqlfw_testsplit.py --config experiments/xqlfw_testsplit/mods_1_5/rebaseline_60_mods15_testsplit.yaml \
--xqlfw_root ./mors_data/xqlfw4mors_testsplit
Regenerate locally
Layouts can be rebuilt from official benchmark releases using scripts in the GitHub repo (data/preprocessing_cleaning/, data/IS_pipeline/). The backbone checkpoint can be regenerated with bash data/huggingface/export_raw_backbone.sh.