[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-pterhoer--FaceImageQuality":3,"tool-pterhoer--FaceImageQuality":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160015,2,"2026-04-18T11:30:52",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":76,"owner_url":77,"languages":78,"stars":83,"forks":84,"last_commit_at":85,"license":76,"difficulty_score":10,"env_os":86,"env_gpu":87,"env_ram":86,"env_deps":88,"category_tags":96,"github_topics":97,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":108,"updated_at":109,"faqs":110,"releases":141},9260,"pterhoer\u002FFaceImageQuality","FaceImageQuality","Code and information for face image quality assessment with SER-FIQ","FaceImageQuality 是一个专注于人脸图像质量评估的开源项目，核心实现了 CVPR 2020 提出的 SER-FIQ 算法。它的主要任务是自动判断一张人脸图片是否适合用于人脸识别系统，从而帮助筛选出高质量样本，提升整体识别准确率。\n\n传统方法通常依赖人工标注或特定规则来定义图像质量，但这往往存在主观误差且难以适配不同的识别模型。FaceImageQuality 创新性地提出了一种无监督解决方案：它直接利用人脸识别模型本身的特性，通过随机子网络生成的嵌入向量变化（即随机嵌入鲁棒性）来衡量图像质量。这意味着无需额外的训练数据或人工标签，就能让质量评估标准与具体的识别系统完美对齐。\n\n该工具特别适合人工智能研究人员和系统开发者使用，尤其是那些正在构建或优化人脸识别流水线的团队。其独特的技术亮点在于“无监督”与“高兼容性”：只要底层识别网络在训练时使用了 Dropout 技术，FaceImageQuality 就能通过极小的计算开销（仅增加约 10% 的计算量）快速输出归一化的质量评分。这种设计不仅避免了繁琐的训练阶段，还能轻松集成到现有的 ArcFace 等主流识别系统中，为工业","FaceImageQuality 是一个专注于人脸图像质量评估的开源项目，核心实现了 CVPR 2020 提出的 SER-FIQ 算法。它的主要任务是自动判断一张人脸图片是否适合用于人脸识别系统，从而帮助筛选出高质量样本，提升整体识别准确率。\n\n传统方法通常依赖人工标注或特定规则来定义图像质量，但这往往存在主观误差且难以适配不同的识别模型。FaceImageQuality 创新性地提出了一种无监督解决方案：它直接利用人脸识别模型本身的特性，通过随机子网络生成的嵌入向量变化（即随机嵌入鲁棒性）来衡量图像质量。这意味着无需额外的训练数据或人工标签，就能让质量评估标准与具体的识别系统完美对齐。\n\n该工具特别适合人工智能研究人员和系统开发者使用，尤其是那些正在构建或优化人脸识别流水线的团队。其独特的技术亮点在于“无监督”与“高兼容性”：只要底层识别网络在训练时使用了 Dropout 技术，FaceImageQuality 就能通过极小的计算开销（仅增加约 10% 的计算量）快速输出归一化的质量评分。这种设计不仅避免了繁琐的训练阶段，还能轻松集成到现有的 ArcFace 等主流识别系统中，为工业界和学术界提供了一种高效、稳定的质量评估新范式。","# Face Image Quality Assessment\n\n***15.05.2020*** _SER-FIQ (CVPR2020) was added._\n\n***18.05.2020*** _Bias in FIQ (IJCB2020) was added._\n\n***13.08.2021*** _The implementation now outputs normalized quality values._\n\n***30.11.2021*** _Related works section was added_\n\n\n## SER-FIQ: Unsupervised Estimation of Face Image Quality Based on Stochastic Embedding Robustness\n\n\n\nIEEE\u002FCVF Conference on Computer Vision and Pattern Recognition (CVPR) 2020\n\n* [Research Paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2003.09373)\n* [Implementation on ArcFace](face_image_quality.py)\n* [Video](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=soW_Gg4NElc)\n\n\n## Table of Contents \n\n- [Abstract](#abstract)\n- [Key Points](#key-points)\n- [Results](#results)\n- [Installation](#installation)\n- [Bias in Face Quality Assessment](#bias-in-face-quality-assessment)\n- [Related Works](#related-works)\n- [Citing](#citing)\n- [Acknowledgement](#acknowledgement)\n- [License](#license)\n\n## Abstract\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_9ca51910fffe.gif\" width=\"400\" height=\"400\" align=\"right\">\n\nFace image quality is an important factor to enable high-performance face recognition systems. Face quality assessment aims at estimating the suitability of a face image for recognition. Previous works proposed supervised solutions that require artificially or human labelled quality values. However, both labelling mechanisms are error-prone as they do not rely on a clear definition of quality and may not know the best characteristics for the utilized face recognition system. Avoiding the use of inaccurate quality labels, we proposed a novel concept to measure face quality based on an arbitrary face recognition model. By determining the embedding variations generated from random subnetworks of a face model, the robustness of a sample representation and thus, its quality is estimated. The experiments are conducted in a cross-database evaluation setting on three publicly available databases. We compare our proposed solution on two face embeddings against six state-of-the-art approaches from academia and industry. The results show that our unsupervised solution outperforms all other approaches in the majority of the investigated scenarios. In contrast to previous works, the proposed solution shows a stable performance over all scenarios. Utilizing the deployed face recognition model for our face quality assessment methodology avoids the training phase completely and further outperforms all baseline approaches by a large margin. Our solution can be easily integrated into current face recognition systems and can be modified to other tasks beyond face recognition.\n\n## Key Points\n\n- Quality assessment with SER-FIQ is most effective when the quality measure is based on the deployed face recognition network, meaning that **the quality estimation and the recognition should be performed on the same network**. This way the quality estimation captures the same decision patterns as the face recognition system. If you use this model from this GitHub for your research, please make sure to label it as \"SER-FIQ (on ArcFace)\" since this is the underlying recognition model.\n- To get accurate quality estimations, the underlying face recognition network for SER-FIQ should be **trained with dropout**. This is suggested since our solution utilizes the robustness against dropout variations as a quality indicator.\n- The provided code is only a demonstration on how SER-FIQ can be utilized. The main contribution of SER-FIQ is the novel concept of measuring face image quality.\n- If the last layer contains dropout, it is sufficient to repeat the stochastic forward passes only on this layer. This significantly reduces the computation time to a time span of a face template generation. On ResNet-100, it takes 24.2 GFLOPS for creating an embedding and only 26.8 GFLOPS (+10%) for estimating the quality.\n\n## Results\n\nFace image quality assessment results are shown below on LFW (left) and Adience (right). SER-FIQ (same model) is based on ArcFace and shown in red. The plots show the FNMR at ![\\Large 10^{-3}](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_1d1acd8b3224.png) FMR as recommended by the [best practice guidelines](https:\u002F\u002Fop.europa.eu\u002Fen\u002Fpublication-detail\u002F-\u002Fpublication\u002Fe81d082d-20a8-11e6-86d0-01aa75ed71a1) of the European Border Guard Agency Frontex. For more details and results, please take a look at the paper.\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_138912a9397e.png\" width=\"430\" >  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_91c878eb6037.png\" width=\"430\" >\n\n## Installation\n\nWe recommend using a virtual environment to install the required packages. Python 3.7 or 3.8 is recommended.\nTo install them execute\n\n```shell\npip install -r requirements.txt\n```\n\nor you can install them manually with the following command:\n\n```shell\npip install mxnet-cuXYZ scikit-image scikit-learn opencv-python\n```\n\nPlease replace mxnet-cuXYZ with your CUDA version.\nAfter the required packages have been installed, [download the model files](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F17fEWczMzTUDzRTv9qN3hFwVbkqRD7HE7\u002Fview?usp=sharing) and place them in the\n\n```\ninsightface\u002Fmodel\n```\n\nfolder.\n\nAfter extracting the model files verify that your installation is working by executing **serfiq_example.py**. The score of both images should be printed.\n\n\nThe implementation for SER-FIQ based on ArcFace can be found here: [Implementation](face_image_quality.py). \u003Cbr\u002F>\nIn the [Paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2003.09373), this is refered to _SER-FIQ (same model) based on ArcFace_. \u003Cbr\u002F>\n\n\n\n## Bias in Face Quality Assessment\n\nThe best face quality assessment performance is achieved when the quality assessment solutions build on the templates of the deployed face recognition system.\nIn our work on ([Face Quality Estimation and Its Correlation to Demographic and Non-Demographic Bias in Face Recognition](https:\u002F\u002Farxiv.org\u002Fabs\u002F2004.01019)), we showed that this lead to a bias transfer from the face recognition system to the quality assessment solution.\nOn all investigated quality assessment approaches, we observed performance differences based on on demographics and non-demographics of the face images.\n\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_a5a2a9418959.png\" width=\"270\"> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_be29120ca543.png\" width=\"270\"> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_9cfa2f03fa03.png\" width=\"270\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_b7af9e49b433.png\" width=\"270\"> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_7226cf74d2db.png\" width=\"270\"> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_f167a9ce81be.png\" width=\"270\">\n\n## Related Works\n\nYou might be also interested in some of our follow-up works:\n\n- [Pixel-Level Face Image Quality Assessment for Explainable Face Recognition](https:\u002F\u002Fgithub.com\u002Fpterhoer\u002FExplainableFaceImageQuality) - The concept of face image quality assessment is transferred to the level of single pixels with the goal to make the face recognition process understable for humans.\n- [QMagFace: Simple and Accurate Quality-Aware Face Recognition](https:\u002F\u002Fgithub.com\u002Fpterhoer\u002FQMagFace) - Face image quality information is included in the recognition process of a face recognition model trained with a magnitude-aware angular margin with the result of reaching SOTA performance on several unconstrained face recognition benchmarks.\n\n## Citing\n\nIf you use this code, please cite the following papers.\n\n\n```\n@inproceedings{DBLP:conf\u002Fcvpr\u002FTerhorstKDKK20,\n  author    = {Philipp Terh{\\\"{o}}rst and\n               Jan Niklas Kolf and\n               Naser Damer and\n               Florian Kirchbuchner and\n               Arjan Kuijper},\n  title     = {{SER-FIQ:} Unsupervised Estimation of Face Image Quality Based on\n               Stochastic Embedding Robustness},\n  booktitle = {2020 {IEEE\u002FCVF} Conference on Computer Vision and Pattern Recognition,\n               {CVPR} 2020, Seattle, WA, USA, June 13-19, 2020},\n  pages     = {5650--5659},\n  publisher = {{IEEE}},\n  year      = {2020},\n  url       = {https:\u002F\u002Fdoi.org\u002F10.1109\u002FCVPR42600.2020.00569},\n  doi       = {10.1109\u002FCVPR42600.2020.00569},\n  timestamp = {Tue, 11 Aug 2020 16:59:49 +0200},\n  biburl    = {https:\u002F\u002Fdblp.org\u002Frec\u002Fconf\u002Fcvpr\u002FTerhorstKDKK20.bib},\n  bibsource = {dblp computer science bibliography, https:\u002F\u002Fdblp.org}\n}\n```\n\n```\n@inproceedings{DBLP:conf\u002Ficb\u002FTerhorstKDKK20,\n  author    = {Philipp Terh{\\\"{o}}rst and\n               Jan Niklas Kolf and\n               Naser Damer and\n               Florian Kirchbuchner and\n               Arjan Kuijper},\n  title     = {Face Quality Estimation and Its Correlation to Demographic and Non-Demographic\n               Bias in Face Recognition},\n  booktitle = {2020 {IEEE} International Joint Conference on Biometrics, {IJCB} 2020,\n               Houston, TX, USA, September 28 - October 1, 2020},\n  pages     = {1--11},\n  publisher = {{IEEE}},\n  year      = {2020},\n  url       = {https:\u002F\u002Fdoi.org\u002F10.1109\u002FIJCB48548.2020.9304865},\n  doi       = {10.1109\u002FIJCB48548.2020.9304865},\n  timestamp = {Thu, 14 Jan 2021 15:14:18 +0100},\n  biburl    = {https:\u002F\u002Fdblp.org\u002Frec\u002Fconf\u002Ficb\u002FTerhorstKDKK20.bib},\n  bibsource = {dblp computer science bibliography, https:\u002F\u002Fdblp.org}\n}\n\n\n```\n\nIf you make use of our SER-FIQ implementation based on ArcFace, please additionally cite the original ![ArcFace module](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_e54314adc049.png).\n\n## Acknowledgement\n\nThis research work has been funded by the German Federal Ministry of Education and Research and the Hessen State Ministry for Higher Education, Research and the Arts within their joint support of the National Research Center for Applied Cybersecurity ATHENE. \n\n## License \n\nThis project is licensed under the terms of the Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.\nCopyright (c) 2020 Fraunhofer Institute for Computer Graphics Research IGD Darmstadt\n","# 人脸图像质量评估\n\n***2020年5月15日*** _新增了SER-FIQ (CVPR2020)。_\n\n***2020年5月18日*** _新增了关于FIQ中的偏见 (IJCB2020)。_\n\n***2021年8月13日*** _实现现在输出归一化的质量值。_\n\n***2021年11月30日*** _增加了相关工作部分_\n\n\n## SER-FIQ：基于随机嵌入鲁棒性的无监督人脸图像质量估计\n\n\n\nIEEE\u002FCVF计算机视觉与模式识别会议（CVPR）2020\n\n* [研究论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2003.09373)\n* [基于ArcFace的实现](face_image_quality.py)\n* [视频](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=soW_Gg4NElc)\n\n\n## 目录 \n\n- [摘要](#abstract)\n- [要点](#key-points)\n- [结果](#results)\n- [安装](#installation)\n- [人脸质量评估中的偏见](#bias-in-face-quality-assessment)\n- [相关工作](#related-works)\n- [引用](#citing)\n- [致谢](#acknowledgement)\n- [许可证](#license)\n\n## 摘要\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_9ca51910fffe.gif\" width=\"400\" height=\"400\" align=\"right\">\n\n人脸图像质量是实现高性能人脸识别系统的重要因素。人脸质量评估旨在估计一张人脸图像对于识别任务的适用性。以往的工作提出了需要人工或自动标注质量值的有监督解决方案。然而，这两种标注方式都容易出错，因为它们并不依赖于对质量的明确定义，也可能不了解所使用的人脸识别系统的最佳特征。为了避免使用不准确的质量标签，我们提出了一种基于任意人脸识别模型来衡量人脸质量的新概念。通过确定由人脸模型的随机子网络生成的嵌入变化，可以估计样本表示的鲁棒性，从而得出其质量。实验在三个公开可用的数据集上进行了跨库评估。我们将提出的方案与学术界和工业界的六种最先进方法进行了比较。结果表明，在大多数情况下，我们的无监督方案优于所有其他方法。与之前的工作不同，该方案在所有场景中都表现出稳定的性能。利用已部署的人脸识别模型来进行质量评估，完全避免了训练阶段，并且以较大优势超越了所有基线方法。我们的方案可以轻松集成到当前的人脸识别系统中，并可被修改用于人脸识别之外的其他任务。\n\n## 要点\n\n- 使用SER-FIQ进行质量评估时，最有效的方式是以已部署的人脸识别网络为基础来计算质量指标，也就是说，**质量估计和识别应在同一网络上进行**。这样，质量估计就能捕捉到与人脸识别系统相同的决策模式。如果您在研究中使用本GitHub上的模型，请务必将其标记为“SER-FIQ (on ArcFace)”，因为这是其底层的识别模型。\n- 为了获得准确的质量估计，SER-FIQ所使用的底层人脸识别网络应**使用dropout进行训练**。这是因为我们的方案将对抗dropout变化的鲁棒性作为质量指标。\n- 提供的代码仅用于演示如何使用SER-FIQ。SER-FIQ的主要贡献在于其测量人脸图像质量的新概念。\n- 如果最后一层包含dropout，只需对该层重复进行随机前向传播即可。这会显著减少计算时间，使其缩短至生成人脸模板所需的时间。在ResNet-100上，创建一个嵌入需要24.2 GFLOPS，而估计质量仅需额外增加10%，即26.8 GFLOPS。\n\n## 结果\n\n下面展示了LFW（左）和Adience（右）上的人脸图像质量评估结果。SER-FIQ（同模型）基于ArcFace，用红色表示。图表显示了在![\\Large 10^{-3}](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_1d1acd8b3224.png) FMR下的FNMR，这是欧洲边境与海岸警卫局Frontex推荐的最佳实践指南中的标准。更多详细信息和结果，请参阅论文。\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_138912a9397e.png\" width=\"430\" >  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_91c878eb6037.png\" width=\"430\" >\n\n## 安装\n\n我们建议使用虚拟环境来安装所需的软件包。推荐使用Python 3.7或3.8。\n要安装这些包，请执行以下命令：\n\n```shell\npip install -r requirements.txt\n```\n\n或者您也可以手动安装，使用以下命令：\n\n```shell\npip install mxnet-cuXYZ scikit-image scikit-learn opencv-python\n```\n\n请将mxnet-cuXYZ替换为您所使用的CUDA版本。\n在安装完所需软件包后，请[下载模型文件](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F17fEWczMzTUDzRTv9qN3hFwVbkqRD7HE7\u002Fview?usp=sharing)，并将其放置在\n\n```\ninsightface\u002Fmodel\n```\n\n文件夹中。\n\n解压模型文件后，通过运行**serfiq_example.py**来验证您的安装是否正常工作。程序应打印出两张图片的分数。\n\n\n基于ArcFace的SER-FIQ实现在此处：[实现](face_image_quality.py)。\u003Cbr\u002F>\n在[论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2003.09373)中，这被称为_基于ArcFace的SER-FIQ（同模型）_。\u003Cbr\u002F>\n\n\n\n## 人脸质量评估中的偏见\n\n最佳的人脸质量评估效果是在质量评估方案建立在已部署的人脸识别系统模板的基础上时实现的。\n在我们关于([人脸质量估计及其与人脸识别中人口统计学和非人口统计学偏见的相关性](https:\u002F\u002Farxiv.org\u002Fabs\u002F2004.01019))的研究中，我们表明，这会导致偏见从人脸识别系统传递到质量评估方案中。\n在所有我们研究的质量评估方法中，我们都观察到了基于人脸图像的人口统计学和非人口统计学特征的性能差异。\n\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_a5a2a9418959.png\" width=\"270\"> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_be29120ca543.png\" width=\"270\"> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_9cfa2f03fa03.png\" width=\"270\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_b7af9e49b433.png\" width=\"270\"> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_7226cf74d2db.png\" width=\"270\"> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_f167a9ce81be.png\" width=\"270\">\n\n## 相关工作\n\n您可能也会对我们的一些后续工作感兴趣：\n\n- [像素级人脸图像质量评估用于可解释的人脸识别](https:\u002F\u002Fgithub.com\u002Fpterhoer\u002FExplainableFaceImageQuality) - 将人脸图像质量评估的概念细化到单个像素级别，旨在使人脸识别过程对人类更加透明易懂。\n- [QMagFace：简单且准确的质量感知人脸识别](https:\u002F\u002Fgithub.com\u002Fpterhoer\u002FQMagFace) - 在基于幅度感知角度边距训练的人脸识别模型中引入图像质量信息，从而在多个非约束条件下的人脸识别基准测试中达到当前最优性能。\n\n## 引用\n\n如果您使用了本代码，请引用以下论文。\n\n\n```\n@inproceedings{DBLP:conf\u002Fcvpr\u002FTerhorstKDKK20,\n  author    = {Philipp Terh{\\\"{o}}rst and\n               Jan Niklas Kolf and\n               Naser Damer and\n               Florian Kirchbuchner and\n               Arjan Kuijper},\n  title     = {{SER-FIQ:} 基于随机嵌入鲁棒性的无监督人脸图像质量估计},\n  booktitle = {2020年IEEE\u002FCVF计算机视觉与模式识别会议，CVPR 2020，美国华盛顿州西雅图，2020年6月13日至19日},\n  pages     = {5650--5659},\n  publisher = {{IEEE}},\n  year      = {2020},\n  url       = {https:\u002F\u002Fdoi.org\u002F10.1109\u002FCVPR42600.2020.00569},\n  doi       = {10.1109\u002FCVPR42600.2020.00569},\n  timestamp = {2020年8月11日，星期二，16:59:49 +0200},\n  biburl    = {https:\u002F\u002Fdblp.org\u002Frec\u002Fconf\u002Fcvpr\u002FTerhorstKDKK20.bib},\n  bibsource = {dblp计算机科学文献库，https:\u002F\u002Fdblp.org}\n}\n```\n\n```\n@inproceedings{DBLP:conf\u002Ficb\u002FTerhorstKDKK20,\n  author    = {Philipp Terh{\\\"{o}}rst and\n               Jan Niklas Kolf and\n               Naser Damer and\n               Florian Kirchbuchner and\n               Arjan Kuijper},\n  title     = {人脸质量评估及其与人脸识别中人口统计学和非人口统计学偏见的相关性},\n  booktitle = {2020年IEEE国际生物特征联合会议，IJCB 2020，美国德克萨斯州休斯敦，2020年9月28日至10月1日},\n  pages     = {1--11},\n  publisher = {{IEEE}},\n  year      = {2020},\n  url       = {https:\u002F\u002Fdoi.org\u002F10.1109\u002FIJCB48548.2020.9304865},\n  doi       = {10.1109\u002FIJCB48548.2020.9304865},\n  timestamp = {2021年1月14日，星期四，15:14:18 +0100},\n  biburl    = {https:\u002F\u002Fdblp.org\u002Frec\u002Fconf\u002Ficb\u002FTerhorstKDKK20.bib},\n  bibsource = {dblp计算机科学文献库，https:\u002F\u002Fdblp.org}\n}\n\n\n```\n\n如果您使用了我们基于ArcFace实现的SER-FIQ，请额外引用原始的![ArcFace模块](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_readme_e54314adc049.png)。\n\n## 致谢\n\n本研究工作得到了德国联邦教育与研究部以及黑森州高等教育、研究与艺术部的支持，作为其共同资助的国家应用网络安全研究中心ATHENE的一部分。\n\n## 许可证\n\n本项目根据知识共享署名-非商业性使用-相同方式共享4.0国际许可协议（CC BY-NC-SA 4.0）授权。版权所有 © 2020 达姆施塔特弗劳恩霍夫图形研究 Institute IGD","# FaceImageQuality 快速上手指南\n\nFaceImageQuality 是一个基于 SER-FIQ 算法的人脸图像质量评估开源工具。它无需人工标注，通过计算人脸识别模型中随机子网络生成的嵌入变异性（鲁棒性）来无监督地估计人脸图像质量。该工具特别适合与现有的 ArcFace 人脸识别系统集成。\n\n## 环境准备\n\n*   **操作系统**：Linux \u002F macOS \u002F Windows\n*   **Python 版本**：推荐 Python 3.7 或 3.8\n*   **硬件要求**：建议使用支持 CUDA 的 NVIDIA GPU 以获得最佳性能（CPU 亦可运行但速度较慢）\n*   **前置依赖**：\n    *   `mxnet` (需匹配您的 CUDA 版本)\n    *   `scikit-image`\n    *   `scikit-learn`\n    *   `opencv-python`\n\n## 安装步骤\n\n### 1. 创建虚拟环境（推荐）\n```bash\npython -m venv face_quality_env\nsource face_quality_env\u002Fbin\u002Factivate  # Linux\u002FmacOS\n# 或\nface_quality_env\\Scripts\\activate     # Windows\n```\n\n### 2. 安装依赖包\n您可以直接安装 `requirements.txt` 中的依赖，或者手动安装。\n\n**方式一：自动安装**\n```bash\npip install -r requirements.txt\n```\n\n**方式二：手动安装（注意替换 CUDA 版本）**\n请将 `mxnet-cuXYZ` 中的 `XYZ` 替换为您实际的 CUDA 版本号（例如 `mxnet-cu110` 对应 CUDA 11.0）。国内用户可使用清华源加速安装：\n```bash\npip install mxnet-cuXYZ scikit-image scikit-learn opencv-python -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 3. 下载模型文件\n本项目依赖预训练的 ArcFace 模型文件。\n1.  访问 [Google Drive 链接](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F17fEWczMzTUDzRTv9qN3hFwVbkqRD7HE7\u002Fview?usp=sharing) 下载模型文件。\n    *   *注：若无法访问 Google Drive，请自行寻找对应的 InsightFace ArcFace 模型文件。*\n2.  在项目根目录下创建文件夹并将模型放入其中：\n    ```bash\n    mkdir -p insightface\u002Fmodel\n    # 将下载的模型文件移动到此目录\n    ```\n\n### 4. 验证安装\n运行示例脚本验证环境是否配置成功：\n```bash\npython serfiq_example.py\n```\n如果安装正确，终端将打印出两张测试图片的质量分数。\n\n## 基本使用\n\n核心实现代码位于 `face_image_quality.py`。以下是如何在您的项目中调用 SER-FIQ 进行质量评估的简要逻辑：\n\n1.  **导入模块**：确保引入提供的实现文件。\n2.  **加载模型**：初始化基于 ArcFace 的识别模型（需确保该模型训练时包含 Dropout 层，这是 SER-FIQ 算法的核心机制）。\n3.  **执行评估**：对输入的人脸图像进行多次随机前向传播（Stochastic Forward Passes），计算嵌入的稳定性得分。\n\n**关键注意事项：**\n*   **模型一致性**：为了获得最佳效果，质量评估应使用与您人脸识别系统**相同**的网络模型（即 \"SER-FIQ (on ArcFace)\"）。\n*   **Dropout 要求**：底层人脸识别网络必须经过 **Dropout** 训练。算法利用 Dropout 产生的变化作为质量指标。\n*   **性能优化**：如果仅在最后一层包含 Dropout，只需对该层重复随机前向传播，这将显著减少计算时间（仅比生成普通特征向量增加约 10% 的计算量）。\n\n**引用说明：**\n若在研究中使用此代码，请注明为 \"SER-FIQ (on ArcFace)\"，并引用相关的 CVPR 2020 论文及原始的 ArcFace 项目。","某安防科技公司正在升级其园区人脸门禁系统，旨在从海量监控抓拍库中筛选出高质量人脸底图，以提升夜间和动态场景下的识别通过率。\n\n### 没有 FaceImageQuality 时\n- **依赖人工或模糊规则**：团队只能依靠图像清晰度、亮度等传统图像处理指标进行筛选，无法判断图片是否真正适合深度学习模型识别。\n- **标注成本高昂且不准**：若采用监督学习方法，需要耗费大量人力对数万张人脸进行质量打分，且人工标准与算法模型的“喜好”往往不一致。\n- **误拦与漏放频发**：由于缺乏针对特定识别模型的质量评估，系统常拒绝清晰但角度稍偏的有效人脸，却放行了看似清晰但特征模糊的低质图片。\n- **模型适配性差**：通用的质量评估方案无法捕捉公司部署的 ArcFace 模型特有的决策模式，导致整体识别性能瓶颈难以突破。\n\n### 使用 FaceImageQuality 后\n- **实现无监督精准评估**：利用 SER-FIQ 技术直接基于现有的 ArcFace 识别模型生成质量分，无需任何人工标注，自动量化每张图的“可识别度”。\n- **捕捉模型特有特征**：通过随机子网络的嵌入变异性分析，FaceImageQuality 能精准识别出那些让当前识别模型感到“困惑”的低鲁棒性样本。\n- **筛选效率与准确率双升**：系统自动过滤掉低质量抓拍，仅保留高鲁棒性底图，使得门禁系统在侧脸、暗光等复杂场景下的识别准确率显著提升。\n- **零训练成本集成**：无需重新训练额外的质量评估网络，直接复用现有模型架构（配合 Dropout），以极小的计算开销（仅增加约 10%）完成实时质量估算。\n\nFaceImageQuality 通过将质量评估与识别模型深度绑定，用无监督方式解决了传统方法标注难、适配差的痛点，让门禁系统只“看”最靠谱的人脸。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fpterhoer_FaceImageQuality_9ca51910.gif","pterhoer","Philipp Terhörst","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fpterhoer_5209f16d.jpg",null,"https:\u002F\u002Fgithub.com\u002Fpterhoer",[79],{"name":80,"color":81,"percentage":82},"Python","#3572A5",100,577,92,"2026-02-17T16:39:55","未说明","需要 NVIDIA GPU（依赖 mxnet-cuXYZ），具体显存大小未说明，CUDA 版本需根据安装的 mxnet-cuXYZ 包匹配",{"notes":89,"python":90,"dependencies":91},"1. 需手动下载模型文件并放置于 insightface\u002Fmodel 目录。2. 底层人脸识别网络（如 ArcFace）必须使用 Dropout 进行训练才能准确评估质量。3. 建议在与质量评估相同的识别网络上运行以获得最佳效果。4. 许可证为 CC BY-NC-SA 4.0（非商业性使用）。","3.7 或 3.8",[92,93,94,95],"mxnet-cuXYZ","scikit-image","scikit-learn","opencv-python",[15,14],[98,99,100,101,102,103,104,105,106,107],"face","face-recognition","quality","quality-metrics","quality-estimation","quality-measures","biometrics","robustness","computer-vision","machine-learning","2026-03-27T02:49:30.150509","2026-04-19T03:05:09.873773",[111,116,121,126,131,136],{"id":112,"question_zh":113,"answer_zh":114,"source_url":115},41564,"运行代码时出现 'RuntimeError: simple_bind error' 或 'cudaMalloc retry failed: out of memory' 错误怎么办？","这通常是因为 CUDA 版本与安装的 mxnet 版本不匹配，或者显存不足。解决方案有两种：\n1. 确保环境匹配：例如，如果系统 CUDA 是 11.0，但安装的是 mxnet-cu102，需要创建一个使用 CUDA 10.2 的环境。\n2. 切换到 CPU 运行：如果显存不足，可以将代码中的上下文从 GPU 改为 CPU。具体做法是将代码第 61 行左右的 `mx.gpu(0)` 修改为 `mx.cpu(0)`。","https:\u002F\u002Fgithub.com\u002Fpterhoer\u002FFaceImageQuality\u002Fissues\u002F27",{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},41565,"SER-FIQ 预测的质量分数范围很窄（例如都在 0.79 到 0.80 之间），这是否意味着所有人脸质量都很好？如何解读这些数值？","质量分数的绝对数值范围并不重要，不同模型产生的分数范围可能差异很大（有的在 0.3-0.7，有的在 0.79-0.798）。关键在于分数的**排名（Ranking）**是否有意义，即“差”的人脸分数应始终低于“好”的人脸。如果您觉得数值范围不舒服，可以使用额外的数据训练一个归一化方法将其转换到任意范围（如 [0,1]），但这并非必须，原始分数可直接用于设定阈值以筛选低质量图像。","https:\u002F\u002Fgithub.com\u002Fpterhoer\u002FFaceImageQuality\u002Fissues\u002F5",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},41566,"为什么我的网络对姿态、遮挡和表情变化处理得很好，但 SER-FIQ 给出的质量评分却很高（没有区分出低质量）？","这是 SER-FIQ 的预期行为。如果您的识别网络能够很好地处理各种变化（如姿态、遮挡、表情），它生成的特征表示就会非常稳定。稳定的表示会导致随机嵌入（stochastic embeddings）的变化较小，从而产生高鲁棒性，最终导致 SER-FIQ 估算出较高的质量分数。如果您希望检测出这些变化作为“低质量”，建议使用一个对这些变化**不**鲁棒的网络作为基础模型。","https:\u002F\u002Fgithub.com\u002Fpterhoer\u002FFaceImageQuality\u002Fissues\u002F3",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},41567,"在计算 FNMR@FMR 指标时， impostor pairs（非同类配对）是否也像 genuine pairs（同类配对）一样根据质量分数进行了过滤？","是的。实验中通常对整个数据库（如 LFW 的 13k 张图像）进行操作。首先根据所需的质量阈值过滤掉低质量图像，然后在剩余的图像上生成所有可能的配对（包括同类和非同类）。例如，如果保留约 10k 张图像，则会生成 10,000*9,999 个配对进行评估。由于此时非同类配对数量远多于同类配对，因此不适合使用准确率（Accuracy），而应使用 FNMR@FMR 和 ROC 曲线。","https:\u002F\u002Fgithub.com\u002Fpterhoer\u002FFaceImageQuality\u002Fissues\u002F17",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},41568,"不同模型得出的质量分数范围和均值差异很大（例如模型 A 均值为 0.4，模型 B 均值为 0.8），这些差异代表什么含义？不同模型间的分数可以直接比较吗？","分数的绝对值和范围宽度主要取决于所使用的底层识别网络特性，并不直接代表跨模型的绝对质量可比性。SER-FIQ 的核心价值在于同一模型下的相对排序。如果需要在不同模型间进行比较，必须进行归一化处理。通常需要使用额外的数据集来训练一个归一化映射，将不同模型的输出映射到统一的分布或范围，否则直接比较不同模型的原始分数是没有意义的。","https:\u002F\u002Fgithub.com\u002Fpterhoer\u002FFaceImageQuality\u002Fissues\u002F21",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},41569,"如何在自己的数据集上从头开始训练 SER-FIQ 模型？","虽然 Issue 中用户询问了此问题，但维护者指出训练数据的选择至关重要。用于确定阈值和训练的数据最好来自真实生活场景（real-life data），以便捕捉到所有必要的变化（如光照、姿态、模糊等），这与通用的人脸识别系统要求一致。具体的训练脚本可能需要参考论文中的设置或自行基于提供的架构实现，因为仓库主要提供预训练模型和推理示例。","https:\u002F\u002Fgithub.com\u002Fpterhoer\u002FFaceImageQuality\u002Fissues\u002F8",[]]