
InsightFace MFR-Ongoing 人脸识别评测详解Masked / Children / Multi-Racial 测试集、评估协议与在线提交指南【免费下载链接】insightfaceState-of-the-art 2D and 3D Face Analysis Project项目地址: https://gitcode.com/GitHub_Trending/in/insightfaceMFR-OngoingInsightFace Recognition Test简称 IFRT是 InsightFace 团队在 ICCV-2021 Masked Face Recognition Challenge WorkshopMFR基础上持续运营的人脸识别在线评测服务用于评估算法在口罩遮挡人脸、儿童人脸与全球化多族裔人脸三类高难度场景下的 1:1 识别精度。本文基于仓库中的 challenges/mfr/README.md 整理并结合仓库内评测工具与训练脚本源码完整说明各测试集的构成、评估指标与计分公式、官方基线成绩、参赛规则以及 ONNX 模型在线提交的完整流程帮助读者理解这套评测体系并准备合规的参赛模型。MFR-Ongoing 是什么从 ICCV-2021 MFR 到常驻评测服务MFR-Ongoing 是 ICCV-2021 Masked Face Recognition Challenge WorkshopMFR 的延续版本即 ongoing 版本。该挑战赛由 InsightFace 主办与 ICCV 2021 会议同期举行比赛在 challenges/iccv21-mfr/README.md 中有完整记录包括两个子赛道Sub-Track A 使用 MS1M-V3 训练集、Sub-Track B 使用 Glint360K、奖金分配Sub-Track A/B 第一名各 30%与时间线等。MFR-Ongoing 在延续 ICCV-2021 挑战赛测试集的基础上进一步扩展了公开流行的基准数据集口罩/非口罩人脸之间的识别精度儿童2~16 岁人脸识别精度全球化多族裔multi-racial基准的识别精度以及 IJBC在 FARe-5 与 FARe-4 条件下、LFW、CFPFP、AgeDB-30 等公开 1:1 验证基准。其中 IJBC、LFW、CFPFP、AgeDB 等为公开可获取的流行基准会一并纳入 MFR-Ongoing 的评测。需要注意的是文档中出现的IFRTInsightFace Recognition Test与 MFR-Ongoing 是同一评测体系的不同称呼。MFR 测试集由非名人non-celebrities构成从而保证与公开人脸识别训练集如 MS1M、CASIA这些训练集大多从网络名人照片收集几乎没有重叠因此可以更公平地评估不同算法的真实泛化性能。说明根据仓库文档由于 GPU 资源限制该在线评测服务当前暂时下线官方正寻找有兴趣托管该服务的公司或个人相关沟通邮箱为guojia AT insightface.ai评测相关问题可邮件insightface.challenge AT gmail.com。测试集构成Mask、Children 与 Multi-RacialMRMFR-Ongoing 的测试集分为三大部分均由非名人数据构建保证与公开训练集无重叠。Mask 测试集口罩遮挡识别6,964 个身份identities6,964 张戴口罩图像 13,928 张未戴口罩图像共 13,928 个正样本对positive pairs与 96,983,824 个负样本对negative pairs该测试集专门评测口罩 vs 非口罩mask-to-nonmask的 1:1 识别能力即算法需要在同一个人戴口罩与不戴口罩的两张照片之间正确判定身份。Children 测试集儿童人脸识别14,344 个身份157,280 张图像共 1,773,428 个正样本对与 24,735,067,692 个负样本对儿童人脸因年龄跨度2~16 岁带来的外观变化大、训练数据稀少是人脸识别中公认的困难场景。该测试集用于评测算法在儿童人群上的精度。Multi-Racial 测试集MR全球化多族裔识别全球化的多族裔测试集包含 242,143 个身份与 1,624,305 张图像细分为四个族裔子集Race-SetIdentitiesImagesPositive PairsNegative PairsAfrican43,874298,010870,09188,808,791,999Caucasian103,293697,2452,024,609486,147,868,171Indian35,086237,080688,25956,206,001,061Asian59,890391,9701,106,078153,638,982,852ALL242,1431,624,3054,689,0372,638,360,419,683从负样本对数量可以看出多族裔测试集构成了一个规模极大的检索空间对算法在低误报率下的精度提出了非常苛刻的要求。官方在 challenges/mfr/README.md 中提供过打码的样本图展示为保护隐私人工模糊仓库内未附带这些样本图片。评估指标与计分公式MFR-Ongoing 采用 TARTrue Acceptance Rate真实接受率 给定 FARFalse Acceptance Rate误接受率作为核心指标不同测试集使用不同的 1:1 协议Mask 测试集TAR 在 mask-to-nonmask 1:1 协议下测量FAR 0.0001e-4Children 测试集TAR 在 all-to-all 1:1 协议下测量FAR 0.0001e-4多族裔测试集TAR 在 all-to-all 1:1 协议下测量FAR 0.000001e-6——比 Mask/Children 严格两个数量级这是多族裔负样本对数量巨大的直接体现IJBC 与 1:1 验证测试集LFW、CFPFP、AgeDB-30使用最通用的公开评测协议。排行榜总排名公式参赛者按两个数据集的最高得分排序即score 0.25 * TARMask 0.75 * TARMR-All这一公式在 challenges/mfr/README.md 与 challenges/iccv21-mfr/README.md 中一致使用多族裔成绩占 75% 权重口罩成绩占 25% 权重说明评测重心放在全球化多族裔识别能力上。官方基线成绩与模型参考challenges/mfr/README.md 给出了官方基线Baselines成绩表覆盖不同骨干网络R18/R34/R50/R100、不同训练集Casia、MS1MV2、MS1MV3、Glint360K与 ArcFace 方法以及一个私有训练数据的 FRVT 参考模型insightface-000 of frvtBackboneDatasetMethodMaskChildrenAfricanCaucasianSouth AsianEast AsianAllsize(mb)infer(ms)R100CasiaArcFace26.62330.35939.66653.93347.80721.57242.735248.9047.073R100MS1MV2ArcFace65.76760.49679.11787.17685.50155.80780.725248.9047.028R18MS1MV3ArcFace47.85341.04762.61375.12570.21343.85968.32691.6581.856R34MS1MV3ArcFace58.72355.83471.64483.29180.08453.71277.365130.2453.054R50MS1MV3ArcFace63.85060.45775.48886.11584.30557.35280.533166.3054.262R100MS1MV3ArcFace69.09166.86481.08389.04088.08262.19384.312248.5907.031R18Glint360KArcFace53.31748.11368.23080.57575.85247.83172.07491.6582.013R34Glint360KArcFace65.10665.45479.90788.62086.81560.60483.015130.2453.044R50Glint360KArcFace70.23369.95285.27291.61790.54166.81387.077166.3054.340R100Glint360KArcFace75.56775.20289.48894.28593.43472.52890.659248.5907.038-Privateinsightface-000 of frvt97.76093.35898.85099.37299.05887.69497.481--基线成绩揭示的规律非常清晰训练集规模与质量直接决定成绩同样的 R100 骨干从 CasiaMask 26.623 / MR-All 42.735到 MS1MV369.091 / 84.312再到 Glint360K75.567 / 90.659稳步提升East Asian 子集是所有族裔中得分最低的即使是 FRVT 私有模型也只有 87.694是普遍难点表中 MS1M-V2 指 MS1M-ArcFaceMS1M-V3 指 MS1M-RetinaFace即用 RetinaFace 检测器对齐后的版本推理时间在 Tesla V100 GPU 上使用 onnxruntime-gpu1.6 评估。各基线模型的下载链接见原文档。若需要自己复现同类基线仓库提供完整的 ArcFace 训练实现recognition/arcface_torchPyTorch Partial-FC、recognition/arcface_mxnetMXNet、recognition/arcface_oneflowOneFlow以及 Glint360K 数据集的解包脚本 recognition/partial_fc/unpack_glint360k.py。参赛规则提交模型的关键约束challenges/mfr/README.md 明确列出的参赛规则是准备模型时必须逐条对照的清单评测分为academic学术与unconstrained无约束两个 track禁止使用乱码或随机字符注册账号用户名与组织名均不可学术赛道建议将用户名设为论文/方法名称且不允许隐藏组织名否则成绩会被封禁但可将提交设为私有一个账号对应一种方法也可创建多个账号当前仅支持112x112 输入提交模型必须接受[*, 3, 112, 112]形状、RGB 顺序的输入若需要其他输入分辨率必须在模型第一层加入插值interpolate算子参与者提交ONNX 模型由官方在线评测打分测试图像不可见匹配分数用余弦相似度cosine similarity衡量在线评测服务器环境为onnxruntime-gpu1.8、cuda11.1、cudnn8.0.5GPU 为 RTX3090禁止 float-16 模型权重否则会导致模型大小估算错误提交前务必用onnx_helper.py校验模型是否合规排行榜按0.25 * TARMask 0.75 * TARMR-All排序。相比 ICCV-2021 时期的规则当时要求 onnxruntime-gpu1.6、cuda10.2、cudnn8.0.5且对特征维度、推理时长有限制MFR-Ongoing 对 track 的划分与硬件环境做了调整提交前应以 challenges/mfr/README.md 为准。模型合规性校验onnx_helper.py 源码解析仓库提供了配套的模型校验工具 challenges/iccv21-mfr/onnx_helper.py。该脚本按不同 track 设定硬性约束见ArcFaceORT.checkms1mtrack模型大小 1024MB、特征维度 512、推理耗时 10msglinttrack模型大小 1024MB、特征维度 1024、推理耗时 20mscfattrack模型大小 1024MB、特征维度 512、推理耗时 15msunconstrainedtrack模型大小 1024MB、特征维度 1024、推理耗时 30ms。校验流程覆盖的关键点包括输入形状输入必须是 4 维且第 0 维被改写为字符串None以支持批量推理若导出的模型第 0 维是固定数值脚本会自动用 ONNX 重写为dim_paramNone并另存为zzzzrefined.onnx输入尺寸默认要求输入为 112x112cfattrack 可通过目录下的crop.txt6 行4 个裁剪坐标 宽高声明自定义输入尺寸输出节点输出节点必须恰好 1 个图规模ONNX 图中节点数不得少于 8 个防止提交空壳图模型大小以文件实际字节数计算MB超过上限返回错误预处理一致性默认按 MXNet ArcFace 风格推断前 8 个节点含Sub/_minus与Mul/_mul/Div时为 mean0.0、std1.0否则 mean127.5、std127.5cfattrack 也可通过pixel_norm.txt2 行mean 与 std显式声明权重类型遍历所有 initializer若权重类型itemsize 4即 float16 等直接判定无效——这正是规则中禁止 float-16 权重的落地检查批量推理正确性用同一张图构造 32 个 batch 运行若输出含 NaN/Inf 则拒绝特征维度与推理耗时特征维度超过上限、或单次推理50 次取第 5 快超过时间上限均判定失败。命令行用法为python onnx_helper.py submitted_work_dir --track cfat校验通过后会打印模型大小、特征维度、推理耗时与预处理 mean/std 等统计信息。提交指南ONNX 打包与在线提交按 challenges/mfr/README.md 的 Submission Guide提交流程为打包必须将 onnx 模型打包提交命令为zip xxx.zip model.onnx频次限制每个参赛者每天最多提交 3 次注册信息请使用真实组织名注册可在系统中隐藏组织名学术赛道不允许公开成绩点击 Set Public 按钮决定哪个提交显示在排行榜上登录状态若发现未登录请先在提交服务器上点击 sign-in。从训练到 ONNX 的完整链路结合仓库源码一套完整的参赛流程是第一步训练模型。使用 recognition/arcface_torch 训练 ArcFace 模型。PyTorch 教程见 challenges/iccv21-mfr/tutorial_pytorch_cn.md其中给出了 4 卡/8 卡/多机分布式训练命令与混合精度config.fp16True加速建议arcface_torch 训练保存的 checkpoint 目录中包含backbone.onnx提交用、backbone.pth以及各 rank 的 softmax 权重文件。第二步转换与导出。若使用 MXNet 训练可参考 challenges/iccv21-mfr/mxnet_to_ort.py该脚本加载 MXNet checkpoint要求 mxnet1.8、onnx1.2.1将权重置为 float32 并做小值清零eps阈值默认 1e-8通过mxnet.contrib.onnx.export_model导出 opset 11 的 ONNX然后修复 PReLU 的 gamma 参数形状、移除多余的图输入并将 batch 维改写为None以支持批量推理。这也是提交模型输入形状为 [*,3,112,112]在实现层面的保证。第三步校验。运行onnx_helper.py检查输入形状、特征维度、模型大小与推理耗时。第四步打包提交。zip xxx.zip model.onnx后上传等待在线评测打分。进阶技巧口罩数据增强Mask Augmentation由于 Mask 测试集是 MFR 的核心赛道之一官方提供了完整的口罩数据增强方案可在训练阶段让模型见到大量戴口罩的人脸显著提升 Mask 集成绩。相关教程见 challenges/iccv21-mfr/tutorial_pytorch_mask_aug.md核心实现在 challenges/iccv21-mfr/dataset_mask.py 与 python-package/insightface/app/mask_renderer.py。三步准备下载 antelope 模型包bash insightface-cli model.download antelope位于~/.insightface/models/antelope生成BFM.mat与BFM_UV.mat因 license 原因需自行生成见仓库 recognition 工具的数据准备说明生成带 mask 参数的新 rec 数据集bash insightface-cli rec.addmaskparam /data/ms1m-retinaface-t1 /data/ms1m-retinaface-t1mask该命令由 python-package/insightface/commands/rec_add_mask_param.py 实现内部调用MaskRenderer对每张图计算人脸 mask 参数并写入新 rec要求 mxnet 环境随后即可被数据加载器读取。独立的渲染示例如 recognition/tools/mask_renderer.py 所示。一行接入 MaskAugmentationfrom insightface.app import MaskAugmentation transform_list.append( MaskAugmentation( mask_names[mask_white, mask_blue, mask_black, mask_green], mask_probs[0.4, 0.4, 0.1, 0.1], h_low0.33, h_high0.4, p0.1) )参数含义结合 python-package/insightface/app/mask_renderer.py 的MaskAugmentation实现mask_names/mask_probs可选口罩贴图名称与对应概率白色 0.4、蓝色 0.4、黑色 0.1、绿色 0.1h_low/h_high口罩垂直位置h_pos的均匀采样区间用于模拟口罩佩戴位置差异p应用增强的概率。运行时MaskAugmentation会读取数据样本头部携带的 237 维含 mask 参数或 235 维 label用MaskRenderer.decode_params解码出人脸 3D 参数再调用render_mask(image, mask_name, mask_params, input_is_rgbTrue, positions[0.1, h_pos, 0.9, 0.7])把口罩渲染到人脸上整个过程作为 albumentations 的ImageOnlyTransform集成在训练 pipeline 中。challenges/iccv21-mfr/dataset_mask.py 中的MXFaceDataset展示了完整的数据增强编排通过aug_modesbrightness0.1mask0.1之类的字符串配置亮度RandomBrightnessContrast、模糊ImageCompression/MedianBlur/MotionBlur与口罩增强的概率最后接水平翻转、Normalize(mean[0.5,0.5,0.5], std[0.5,0.5,0.5])与ToTensorV2。该文件可直接替换 arcface_torch 的dataset.py来启用口罩增强官方教程明确建议了这一用法。常见问题与注意事项输入格式务必保证模型输入为[*,3,112,112]且为 RGB 顺序onnx_helper 会实际运行模型校验任何形状或预处理不一致都会在提交前被拦截。禁止隐式 batch 推理ICCV-2021 规则中曾明确禁止通过在图里插入数据相关 OP 实现自动 flip-test之类的隐式批量推理以保证公平准备模型时应保持图的纯粹性。float-16 权重会被直接拒绝onnx_helper 会检查所有 initializer 的字节宽度导出时请使用 float32。模型大小以文件字节计算超过 1GB 上限会被拒绝。排行榜规则最终名次按0.25 * TARMask 0.75 * TARMR-All排序多族裔成绩是拉开差距的关键训练时应重视跨族裔泛化例如东亚子集普遍是短板。总结MFR-Ongoing 是 InsightFace 提供的一套面向真实困难场景的常驻人脸识别评测体系以 Mask、Children、Multi-Racial 三类非名人测试集为核心辅以 IJBC、LFW、CFPFP、AgeDB 等公开基准用0.25 * TARMask 0.75 * TARMR-All的总分公式排序。参与者需要导出符合[*,3,112,112]输入约束、float32 权重、单输出节点的 ONNX 模型并通过onnx_helper.py自检后在线提交。仓库内的 challenges/mfr/README.md 提供了完整规则与基线成绩challenges/iccv21-mfr 目录则沉淀了 ONNX 校验、MXNet 转换、口罩增强数据集等全套参赛工具链可作为准备该类评测的直接参考。【免费下载链接】insightfaceState-of-the-art 2D and 3D Face Analysis Project项目地址: https://gitcode.com/GitHub_Trending/in/insightface创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考