FaceImageQuality
FaceImageQuality 是一个专注于人脸图像质量评估的开源项目,核心实现了 CVPR 2020 提出的 SER-FIQ 算法。它的主要任务是自动判断一张人脸图片是否适合用于人脸识别系统,从而帮助筛选出高质量样本,提升整体识别准确率。
传统方法通常依赖人工标注或特定规则来定义图像质量,但这往往存在主观误差且难以适配不同的识别模型。FaceImageQuality 创新性地提出了一种无监督解决方案:它直接利用人脸识别模型本身的特性,通过随机子网络生成的嵌入向量变化(即随机嵌入鲁棒性)来衡量图像质量。这意味着无需额外的训练数据或人工标签,就能让质量评估标准与具体的识别系统完美对齐。
该工具特别适合人工智能研究人员和系统开发者使用,尤其是那些正在构建或优化人脸识别流水线的团队。其独特的技术亮点在于“无监督”与“高兼容性”:只要底层识别网络在训练时使用了 Dropout 技术,FaceImageQuality 就能通过极小的计算开销(仅增加约 10% 的计算量)快速输出归一化的质量评分。这种设计不仅避免了繁琐的训练阶段,还能轻松集成到现有的 ArcFace 等主流识别系统中,为工业界和学术界提供了一种高效、稳定的质量评估新范式。
使用场景
某安防科技公司正在升级其园区人脸门禁系统,旨在从海量监控抓拍库中筛选出高质量人脸底图,以提升夜间和动态场景下的识别通过率。
没有 FaceImageQuality 时
- 依赖人工或模糊规则:团队只能依靠图像清晰度、亮度等传统图像处理指标进行筛选,无法判断图片是否真正适合深度学习模型识别。
- 标注成本高昂且不准:若采用监督学习方法,需要耗费大量人力对数万张人脸进行质量打分,且人工标准与算法模型的“喜好”往往不一致。
- 误拦与漏放频发:由于缺乏针对特定识别模型的质量评估,系统常拒绝清晰但角度稍偏的有效人脸,却放行了看似清晰但特征模糊的低质图片。
- 模型适配性差:通用的质量评估方案无法捕捉公司部署的 ArcFace 模型特有的决策模式,导致整体识别性能瓶颈难以突破。
使用 FaceImageQuality 后
- 实现无监督精准评估:利用 SER-FIQ 技术直接基于现有的 ArcFace 识别模型生成质量分,无需任何人工标注,自动量化每张图的“可识别度”。
- 捕捉模型特有特征:通过随机子网络的嵌入变异性分析,FaceImageQuality 能精准识别出那些让当前识别模型感到“困惑”的低鲁棒性样本。
- 筛选效率与准确率双升:系统自动过滤掉低质量抓拍,仅保留高鲁棒性底图,使得门禁系统在侧脸、暗光等复杂场景下的识别准确率显著提升。
- 零训练成本集成:无需重新训练额外的质量评估网络,直接复用现有模型架构(配合 Dropout),以极小的计算开销(仅增加约 10%)完成实时质量估算。
FaceImageQuality 通过将质量评估与识别模型深度绑定,用无监督方式解决了传统方法标注难、适配差的痛点,让门禁系统只“看”最靠谱的人脸。
运行环境要求
- 未说明
需要 NVIDIA GPU(依赖 mxnet-cuXYZ),具体显存大小未说明,CUDA 版本需根据安装的 mxnet-cuXYZ 包匹配
未说明

快速开始
人脸图像质量评估
2020年5月15日 新增了SER-FIQ (CVPR2020)。
2020年5月18日 新增了关于FIQ中的偏见 (IJCB2020)。
2021年8月13日 实现现在输出归一化的质量值。
2021年11月30日 增加了相关工作部分
SER-FIQ:基于随机嵌入鲁棒性的无监督人脸图像质量估计
IEEE/CVF计算机视觉与模式识别会议(CVPR)2020
目录
摘要
人脸图像质量是实现高性能人脸识别系统的重要因素。人脸质量评估旨在估计一张人脸图像对于识别任务的适用性。以往的工作提出了需要人工或自动标注质量值的有监督解决方案。然而,这两种标注方式都容易出错,因为它们并不依赖于对质量的明确定义,也可能不了解所使用的人脸识别系统的最佳特征。为了避免使用不准确的质量标签,我们提出了一种基于任意人脸识别模型来衡量人脸质量的新概念。通过确定由人脸模型的随机子网络生成的嵌入变化,可以估计样本表示的鲁棒性,从而得出其质量。实验在三个公开可用的数据集上进行了跨库评估。我们将提出的方案与学术界和工业界的六种最先进方法进行了比较。结果表明,在大多数情况下,我们的无监督方案优于所有其他方法。与之前的工作不同,该方案在所有场景中都表现出稳定的性能。利用已部署的人脸识别模型来进行质量评估,完全避免了训练阶段,并且以较大优势超越了所有基线方法。我们的方案可以轻松集成到当前的人脸识别系统中,并可被修改用于人脸识别之外的其他任务。
要点
- 使用SER-FIQ进行质量评估时,最有效的方式是以已部署的人脸识别网络为基础来计算质量指标,也就是说,质量估计和识别应在同一网络上进行。这样,质量估计就能捕捉到与人脸识别系统相同的决策模式。如果您在研究中使用本GitHub上的模型,请务必将其标记为“SER-FIQ (on ArcFace)”,因为这是其底层的识别模型。
- 为了获得准确的质量估计,SER-FIQ所使用的底层人脸识别网络应使用dropout进行训练。这是因为我们的方案将对抗dropout变化的鲁棒性作为质量指标。
- 提供的代码仅用于演示如何使用SER-FIQ。SER-FIQ的主要贡献在于其测量人脸图像质量的新概念。
- 如果最后一层包含dropout,只需对该层重复进行随机前向传播即可。这会显著减少计算时间,使其缩短至生成人脸模板所需的时间。在ResNet-100上,创建一个嵌入需要24.2 GFLOPS,而估计质量仅需额外增加10%,即26.8 GFLOPS。
结果
下面展示了LFW(左)和Adience(右)上的人脸图像质量评估结果。SER-FIQ(同模型)基于ArcFace,用红色表示。图表显示了在
FMR下的FNMR,这是欧洲边境与海岸警卫局Frontex推荐的最佳实践指南中的标准。更多详细信息和结果,请参阅论文。

安装
我们建议使用虚拟环境来安装所需的软件包。推荐使用Python 3.7或3.8。 要安装这些包,请执行以下命令:
pip install -r requirements.txt
或者您也可以手动安装,使用以下命令:
pip install mxnet-cuXYZ scikit-image scikit-learn opencv-python
请将mxnet-cuXYZ替换为您所使用的CUDA版本。 在安装完所需软件包后,请下载模型文件,并将其放置在
insightface/model
文件夹中。
解压模型文件后,通过运行serfiq_example.py来验证您的安装是否正常工作。程序应打印出两张图片的分数。
基于ArcFace的SER-FIQ实现在此处:实现。
在论文中,这被称为_基于ArcFace的SER-FIQ(同模型)_。
人脸质量评估中的偏见
最佳的人脸质量评估效果是在质量评估方案建立在已部署的人脸识别系统模板的基础上时实现的。 在我们关于(人脸质量估计及其与人脸识别中人口统计学和非人口统计学偏见的相关性)的研究中,我们表明,这会导致偏见从人脸识别系统传递到质量评估方案中。 在所有我们研究的质量评估方法中,我们都观察到了基于人脸图像的人口统计学和非人口统计学特征的性能差异。


相关工作
您可能也会对我们的一些后续工作感兴趣:
- 像素级人脸图像质量评估用于可解释的人脸识别 - 将人脸图像质量评估的概念细化到单个像素级别,旨在使人脸识别过程对人类更加透明易懂。
- QMagFace:简单且准确的质量感知人脸识别 - 在基于幅度感知角度边距训练的人脸识别模型中引入图像质量信息,从而在多个非约束条件下的人脸识别基准测试中达到当前最优性能。
引用
如果您使用了本代码,请引用以下论文。
@inproceedings{DBLP:conf/cvpr/TerhorstKDKK20,
author = {Philipp Terh{\"{o}}rst and
Jan Niklas Kolf and
Naser Damer and
Florian Kirchbuchner and
Arjan Kuijper},
title = {{SER-FIQ:} 基于随机嵌入鲁棒性的无监督人脸图像质量估计},
booktitle = {2020年IEEE/CVF计算机视觉与模式识别会议,CVPR 2020,美国华盛顿州西雅图,2020年6月13日至19日},
pages = {5650--5659},
publisher = {{IEEE}},
year = {2020},
url = {https://doi.org/10.1109/CVPR42600.2020.00569},
doi = {10.1109/CVPR42600.2020.00569},
timestamp = {2020年8月11日,星期二,16:59:49 +0200},
biburl = {https://dblp.org/rec/conf/cvpr/TerhorstKDKK20.bib},
bibsource = {dblp计算机科学文献库,https://dblp.org}
}
@inproceedings{DBLP:conf/icb/TerhorstKDKK20,
author = {Philipp Terh{\"{o}}rst and
Jan Niklas Kolf and
Naser Damer and
Florian Kirchbuchner and
Arjan Kuijper},
title = {人脸质量评估及其与人脸识别中人口统计学和非人口统计学偏见的相关性},
booktitle = {2020年IEEE国际生物特征联合会议,IJCB 2020,美国德克萨斯州休斯敦,2020年9月28日至10月1日},
pages = {1--11},
publisher = {{IEEE}},
year = {2020},
url = {https://doi.org/10.1109/IJCB48548.2020.9304865},
doi = {10.1109/IJCB48548.2020.9304865},
timestamp = {2021年1月14日,星期四,15:14:18 +0100},
biburl = {https://dblp.org/rec/conf/icb/TerhorstKDKK20.bib},
bibsource = {dblp计算机科学文献库,https://dblp.org}
}
如果您使用了我们基于ArcFace实现的SER-FIQ,请额外引用原始的
。
致谢
本研究工作得到了德国联邦教育与研究部以及黑森州高等教育、研究与艺术部的支持,作为其共同资助的国家应用网络安全研究中心ATHENE的一部分。
许可证
本项目根据知识共享署名-非商业性使用-相同方式共享4.0国际许可协议(CC BY-NC-SA 4.0)授权。版权所有 © 2020 达姆施塔特弗劳恩霍夫图形研究 Institute IGD
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器