[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-TreB1eN--InsightFace_Pytorch":3,"tool-TreB1eN--InsightFace_Pytorch":64},[4,18,26,35,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},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,2,"2026-04-06T11:32:50",[14,15,13],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[43,15,13,14],"语言模型",{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,52],"视频",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85013,"2026-04-06T11:09:19",[15,16,52,61,13,62,43,14,63],"插件","其他","音频",{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":77,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":77,"owner_website":77,"owner_url":79,"languages":80,"stars":89,"forks":90,"last_commit_at":91,"license":92,"difficulty_score":10,"env_os":93,"env_gpu":94,"env_ram":93,"env_deps":95,"category_tags":103,"github_topics":77,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":104,"updated_at":105,"faqs":106,"releases":136},5448,"TreB1eN\u002FInsightFace_Pytorch","InsightFace_Pytorch","Pytorch0.4.1 codes for InsightFace","InsightFace_Pytorch 是一个基于 PyTorch 框架开源的人脸识别工具包，旨在将经典的 ArcFace 算法及 InsightFace 项目从 MXNet 平台迁移至更主流的 PyTorch 生态。它主要解决了开发者在复现顶尖人脸识别模型时面临的框架转换难题，提供了包括 IR-SE50 和轻量级 MobileFacenet 在内的多种骨干网络实现，并配套了从数据格式转换、模型训练到摄像头实时检测的全流程代码。\n\n该工具特别适合人工智能研究人员、算法工程师以及希望深入理解人脸识别技术的开发者使用。通过内置的数据处理脚本，用户可以轻松将复杂的 MXNet 记录转换为标准的图像文件夹格式，快速搭建训练环境。其独特的技术亮点在于不仅完整复现了原论文中的高精度模型，还发布了在 LFW、CFP-FP 等多个权威测试集上表现优异的预训练权重，其中 IR-SE50 模型在 LFW 数据集上的准确率高达 99.52%。无论是用于学术研究验证、自定义人脸库构建，还是开发实时人脸验证应用，InsightFace_Pytorch 都提供了一套高效、可靠且易于扩展的解决方案，帮助用户低成本地","InsightFace_Pytorch 是一个基于 PyTorch 框架开源的人脸识别工具包，旨在将经典的 ArcFace 算法及 InsightFace 项目从 MXNet 平台迁移至更主流的 PyTorch 生态。它主要解决了开发者在复现顶尖人脸识别模型时面临的框架转换难题，提供了包括 IR-SE50 和轻量级 MobileFacenet 在内的多种骨干网络实现，并配套了从数据格式转换、模型训练到摄像头实时检测的全流程代码。\n\n该工具特别适合人工智能研究人员、算法工程师以及希望深入理解人脸识别技术的开发者使用。通过内置的数据处理脚本，用户可以轻松将复杂的 MXNet 记录转换为标准的图像文件夹格式，快速搭建训练环境。其独特的技术亮点在于不仅完整复现了原论文中的高精度模型，还发布了在 LFW、CFP-FP 等多个权威测试集上表现优异的预训练权重，其中 IR-SE50 模型在 LFW 数据集上的准确率高达 99.52%。无论是用于学术研究验证、自定义人脸库构建，还是开发实时人脸验证应用，InsightFace_Pytorch 都提供了一套高效、可靠且易于扩展的解决方案，帮助用户低成本地落地高性能人脸识别功能。","# InsightFace_Pytorch\n\nPytorch0.4.1 codes for InsightFace\n\n------\n\n## 1. Intro\n\n- This repo is a reimplementation of Arcface[(paper)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1801.07698), or Insightface[(github)](https:\u002F\u002Fgithub.com\u002Fdeepinsight\u002Finsightface)\n- For models, including the pytorch implementation of the backbone modules of Arcface and MobileFacenet\n- Codes for transform MXNET data records in Insightface[(github)](https:\u002F\u002Fgithub.com\u002Fdeepinsight\u002Finsightface) to Image Datafolders are provided\n- Pretrained models are posted, include the [MobileFacenet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1804.07573) and IR-SE50 in the original paper\n\n------\n\n## 2. Pretrained Models & Performance\n\n[IR-SE50 @ BaiduNetdisk](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F12BUjjwy1uUTEF9HCx5qvoQ), [IR-SE50 @ Onedrive](https:\u002F\u002F1drv.ms\u002Fu\u002Fs!AhMqVPD44cDOhkPsOU2S_HFpY9dC)\n\n| LFW(%) | CFP-FF(%) | CFP-FP(%) | AgeDB-30(%) | calfw(%) | cplfw(%) | vgg2_fp(%) |\n| ------ | --------- | --------- | ----------- | -------- | -------- | ---------- |\n| 0.9952 | 0.9962    | 0.9504    | 0.9622      | 0.9557   | 0.9107   | 0.9386     |\n\n[Mobilefacenet @ BaiduNetDisk](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1hqNNkcAjQOSxUjofboN6qg), [Mobilefacenet @ OneDrive](https:\u002F\u002F1drv.ms\u002Fu\u002Fs!AhMqVPD44cDOhkSMHodSH4rhfb5u)\n\n| LFW(%) | CFP-FF(%) | CFP-FP(%) | AgeDB-30(%) | calfw(%) | cplfw(%) | vgg2_fp(%) |\n| ------ | --------- | --------- | ----------- | -------- | -------- | ---------- |\n| 0.9918 | 0.9891    | 0.8986    | 0.9347      | 0.9402   | 0.866    | 0.9100     |\n\n## 3. How to use\n\n- clone\n\n  ```\n  git clone https:\u002F\u002Fgithub.com\u002FTropComplique\u002Fmtcnn-pytorch.git\n  ```\n\n### 3.1 Data Preparation\n\n#### 3.1.1 Prepare Facebank (For testing over camera or video)\n\nProvide the face images your want to detect in the data\u002Fface_bank folder, and guarantee it have a structure like following:\n\n```\ndata\u002Ffacebank\u002F\n        ---> id1\u002F\n            ---> id1_1.jpg\n        ---> id2\u002F\n            ---> id2_1.jpg\n        ---> id3\u002F\n            ---> id3_1.jpg\n           ---> id3_2.jpg\n```\n\n#### 3.1.2 download the pretrained model to work_space\u002Fmodel\n\nIf more than 1 image appears in one folder, an average embedding will be calculated\n\n#### 3.2.3 Prepare Dataset ( For training)\n\ndownload the refined dataset: (emore recommended)\n\n- [emore dataset @ BaiduDrive](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1eXohwNBHbbKXh5KHyItVhQ), [emore dataset @ Dropbox](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Fwpx6tqjf0y5mf6r\u002Ffaces_ms1m-refine-v2_112x112.zip?dl=0)\n- More Dataset please refer to the [original post](https:\u002F\u002Fgithub.com\u002Fdeepinsight\u002Finsightface\u002Fwiki\u002FDataset-Zoo)\n\n**Note:** If you use the refined [MS1M](https:\u002F\u002Farxiv.org\u002Fabs\u002F1607.08221) dataset and the cropped [VGG2](https:\u002F\u002Farxiv.org\u002Fabs\u002F1710.08092) dataset, please cite the original papers.\n\n- after unzip the files to 'data' path, run :\n\n  ```\n  python prepare_data.py\n  ```\n\n  after the execution, you should find following structure:\n\n```\nfaces_emore\u002F\n            ---> agedb_30\n            ---> calfw\n            ---> cfp_ff\n            --->  cfp_fp\n            ---> cfp_fp\n            ---> cplfw\n            --->imgs\n            ---> lfw\n            ---> vgg2_fp\n```\n\n------\n\n### 3.2 detect over camera:\n\n- 1. download the desired weights to model folder:\n\n- [IR-SE50 @ BaiduNetdisk](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F12BUjjwy1uUTEF9HCx5qvoQ)\n- [IR-SE50 @ Onedrive](https:\u002F\u002F1drv.ms\u002Fu\u002Fs!AhMqVPD44cDOhkPsOU2S_HFpY9dC)\n- [Mobilefacenet @ BaiduNetDisk](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1hqNNkcAjQOSxUjofboN6qg)\n- [Mobilefacenet @ OneDrive](https:\u002F\u002F1drv.ms\u002Fu\u002Fs!AhMqVPD44cDOhkSMHodSH4rhfb5u)\n\n- 2 to take a picture, run\n\n  ```\n  python take_pic.py -n name\n  ```\n\n  press q to take a picture, it will only capture 1 highest possibility face if more than 1 person appear in the camera\n\n- 3 or you can put any preexisting photo into the facebank directory, the file structure is as following:\n\n```\n- facebank\u002F\n         name1\u002F\n             photo1.jpg\n             photo2.jpg\n             ...\n         name2\u002F\n             photo1.jpg\n             photo2.jpg\n             ...\n         .....\n    if more than 1 image appears in the directory, average embedding will be calculated\n```\n\n- 4 to start\n\n  ```\n  python face_verify.py \n  ```\n\n- - -\n\n### 3.3 detect over video:\n\n```\n​```\npython infer_on_video.py -f [video file name] -s [save file name]\n​```\n```\n\nthe video file should be inside the data\u002Fface_bank folder\n\n- Video Detection Demo [@Youtube](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=6r9RCRmxtHE)\n\n### 3.4 Training:\n\n```\n​```\npython train.py -b [batch_size] -lr [learning rate] -e [epochs]\n\n# python train.py -net mobilefacenet -b 200 -w 4\n​```\n```\n\n## 4. References \n\n- This repo is mainly inspired by [deepinsight\u002Finsightface](https:\u002F\u002Fgithub.com\u002Fdeepinsight\u002Finsightface) and [InsightFace_TF](https:\u002F\u002Fgithub.com\u002Fauroua\u002FInsightFace_TF)\n\n## PS\n\n- PRs are welcome, in case that I don't have the resource to train some large models like the 100 and 151 layers model\n- Email : treb1en@qq.com\n","# InsightFace_Pytorch\n\n用于 InsightFace 的 PyTorch 0.4.1 代码库\n\n------\n\n## 1. 简介\n\n- 本仓库是对 Arcface[(论文)](https:\u002F\u002Farxiv.org\u002Fabs\u002F1801.07698) 或 Insightface[(GitHub)](https:\u002F\u002Fgithub.com\u002Fdeepinsight\u002Finsightface) 的重新实现。\n- 包含模型，其中包括 Arcface 和 MobileFacenet 主干模块的 PyTorch 实现。\n- 提供了将 Insightface[(GitHub)](https:\u002F\u002Fgithub.com\u002Fdeepinsight\u002Finsightface) 中 MXNET 数据记录转换为图像数据文件夹的代码。\n- 已发布预训练模型，包括原始论文中的 [MobileFacenet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1804.07573) 和 IR-SE50。\n\n------\n\n## 2. 预训练模型及性能\n\n[IR-SE50 @ 百度网盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F12BUjjwy1uUTEF9HCx5qvoQ)，[IR-SE50 @ OneDrive](https:\u002F\u002F1drv.ms\u002Fu\u002Fs!AhMqVPD44cDOhkPsOU2S_HFpY9dC)\n\n| LFW(%) | CFP-FF(%) | CFP-FP(%) | AgeDB-30(%) | calfw(%) | cplfw(%) | vgg2_fp(%) |\n| ------ | --------- | --------- | ----------- | -------- | -------- | ---------- |\n| 0.9952 | 0.9962    | 0.9504    | 0.9622      | 0.9557   | 0.9107   | 0.9386     |\n\n[Mobilefacenet @ 百度网盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1hqNNkcAjQOSxUjofboN6qg)，[Mobilefacenet @ OneDrive](https:\u002F\u002F1drv.ms\u002Fu\u002Fs!AhMqVPD44cDOhkSMHodSH4rhfb5u)\n\n| LFW(%) | CFP-FF(%) | CFP-FP(%) | AgeDB-30(%) | calfw(%) | cplfw(%) | vgg2_fp(%) |\n| ------ | --------- | --------- | ----------- | -------- | -------- | ---------- |\n| 0.9918 | 0.9891    | 0.8986    | 0.9347      | 0.9402   | 0.866    | 0.9100     |\n\n## 3. 使用方法\n\n- 克隆\n\n  ```\n  git clone https:\u002F\u002Fgithub.com\u002FTropComplique\u002Fmtcnn-pytorch.git\n  ```\n\n### 3.1 数据准备\n\n#### 3.1.1 准备人脸库（用于摄像头或视频检测）\n\n将您想要检测的人脸图像放入 data\u002Fface_bank 文件夹中，并确保其结构如下：\n\n```\ndata\u002Ffacebank\u002F\n        ---> id1\u002F\n            ---> id1_1.jpg\n        ---> id2\u002F\n            ---> id2_1.jpg\n        ---> id3\u002F\n            ---> id3_1.jpg\n           ---> id3_2.jpg\n```\n\n#### 3.1.2 下载预训练模型至 work_space\u002Fmodel 目录\n\n如果一个文件夹中有多张图片，则会计算它们的平均嵌入向量。\n\n#### 3.2.3 准备数据集（用于训练）\n\n下载精炼后的数据集：（推荐使用 emore）\n\n- [emore 数据集 @ 百度网盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1eXohwNBHbbKXh5KHyItVhQ)，[emore 数据集 @ Dropbox](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Fwpx6tqjf0y5mf6r\u002Ffaces_ms1m-refine-v2_112x112.zip?dl=0)\n- 更多数据集请参考 [原帖](https:\u002F\u002Fgithub.com\u002Fdeepinsight\u002Finsightface\u002Fwiki\u002FDataset-Zoo)。\n\n**注意：** 如果您使用精炼后的 [MS1M](https:\u002F\u002Farxiv.org\u002Fabs\u002F1607.08221) 数据集和裁剪后的 [VGG2](https:\u002F\u002Farxiv.org\u002Fabs\u002F1710.08092) 数据集，请引用原始论文。\n\n- 解压文件到 'data' 路径后，运行：\n\n  ```\n  python prepare_data.py\n  ```\n\n  执行完成后，您应该会看到以下结构：\n\n```\nfaces_emore\u002F\n            ---> agedb_30\n            ---> calfw\n            ---> cfp_ff\n            --->  cfp_fp\n            ---> cplfw\n            --->imgs\n            ---> lfw\n            ---> vgg2_fp\n```\n\n------\n\n### 3.2 摄像头检测：\n\n- 1. 将所需的权重下载到 model 文件夹：\n\n- [IR-SE50 @ 百度网盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F12BUjjwy1uUTEF9HCx5qvoQ)\n- [IR-SE50 @ OneDrive](https:\u002F\u002F1drv.ms\u002Fu\u002Fs!AhMqVPD44cDOhkPsOU2S_HFpY9dC)\n- [Mobilefacenet @ 百度网盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1hqNNkcAjQOSxUjofboN6qg)\n- [Mobilefacenet @ OneDrive](https:\u002F\u002F1drv.ms\u002Fu\u002Fs!AhMqVPD44cDOhkSMHodSH4rhfb5u)\n\n- 2. 拍照时，运行\n\n  ```\n  python take_pic.py -n name\n  ```\n\n  按下 q 键拍照，如果摄像头中出现多个人物，只会捕捉可能性最高的那张人脸。\n\n- 3. 您也可以将任何现有照片放入 facebank 目录，文件结构如下：\n\n```\n- facebank\u002F\n         name1\u002F\n             photo1.jpg\n             photo2.jpg\n             ...\n         name2\u002F\n             photo1.jpg\n             photo2.jpg\n             ...\n         .....\n    如果目录中有多张图片，将会计算平均嵌入向量。\n```\n\n- 4. 开始检测\n\n  ```\n  python face_verify.py \n  ```\n\n- - -\n\n### 3.3 视频检测：\n\n```\n​```\npython infer_on_video.py -f [视频文件名] -s [保存文件名]\n​```\n```\n\n视频文件应位于 data\u002Fface_bank 文件夹内。\n\n- 视频检测演示 [@Youtube](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=6r9RCRmxtHE)\n\n### 3.4 训练：\n\n```\n​```\npython train.py -b [batch_size] -lr [学习率] -e [epochs]\n\n# python train.py -net mobilefacenet -b 200 -w 4\n​```\n```\n\n## 4. 参考文献\n\n- 本仓库主要受 [deepinsight\u002Finsightface](https:\u002F\u002Fgithub.com\u002Fdeepinsight\u002Finsightface) 和 [InsightFace_TF](https:\u002F\u002Fgithub.com\u002Fauroua\u002FInsightFace_TF) 的启发。\n\n## 补充说明\n\n- 欢迎提交 PR，以防我没有资源来训练一些大型模型，比如 100 层和 151 层的模型。\n- 邮箱：treb1en@qq.com","# InsightFace_Pytorch 快速上手指南\n\nInsightFace_Pytorch 是 ArcFace 算法的 PyTorch 复现版本，支持人脸识别、验证及模型训练。本指南基于官方 README 整理，旨在帮助开发者快速部署和使用。\n\n## 1. 环境准备\n\n*   **系统要求**：Linux \u002F macOS \u002F Windows\n*   **核心依赖**：\n    *   Python 3.x\n    *   PyTorch 0.4.1 (注意：原文指定版本较老，若使用新版 PyTorch 可能需要调整代码兼容性)\n    *   OpenCV\n    *   MTCNN (用于人脸检测)\n*   **前置操作**：\n    首先需要克隆人脸检测模块 `mtcnn-pytorch`：\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002FTropComplique\u002Fmtcnn-pytorch.git\n    ```\n\n## 2. 安装与模型配置\n\n### 2.1 下载预训练模型\n项目提供了两种骨干网络的预训练权重，推荐优先使用百度网盘下载以获取更快速度。将下载的模型文件放入 `work_space\u002Fmodel` 目录下。\n\n*   **IR-SE50 (高精度推荐)**\n    *   [百度网盘下载](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F12BUjjwy1uUTEF9HCx5qvoQ)\n    *   [OneDrive 备用](https:\u002F\u002F1drv.ms\u002Fu\u002Fs!AhMqVPD44cDOhkPsOU2S_HFpY9dC)\n    *   *性能参考*: LFW 准确率 99.52%\n\n*   **MobileFacenet (轻量级推荐)**\n    *   [百度网盘下载](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1hqNNkcAjQOSxUjofboN6qg)\n    *   [OneDrive 备用](https:\u002F\u002F1drv.ms\u002Fu\u002Fs!AhMqVPD44cDOhkSMHodSH4rhfb5u)\n    *   *性能参考*: LFW 准确率 99.18%\n\n### 2.2 准备人脸库 (Facebank)\n若需进行人脸识别或验证，需在 `data\u002Fface_bank` 目录下建立如下结构的人脸库。每个子文件夹代表一个人，文件夹内可放置多张照片，系统将自动计算平均特征向量。\n\n```text\ndata\u002Fface_bank\u002F\n        ---> zhangsan\u002F\n            ---> zhangsan_1.jpg\n            ---> zhangsan_2.jpg\n        ---> lisi\u002F\n            ---> lisi_1.jpg\n```\n\n### 2.3 准备训练数据 (可选)\n若需重新训练模型，请下载清洗后的数据集（推荐 emore）并解压至 `data` 目录，然后运行预处理脚本：\n\n*   **数据集下载**:\n    *   [百度网盘 (emore)](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1eXohwNBHbbKXh5KHyItVhQ)\n    *   [Dropbox 备用](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Fwpx6tqjf0y5mf6r\u002Ffaces_ms1m-refine-v2_112x112.zip?dl=0)\n\n*   **执行预处理**:\n    ```bash\n    python prepare_data.py\n    ```\n    执行成功后，`faces_emore` 目录下将包含 `lfw`, `cfp_fp`, `agedb_30` 等验证集及 `imgs` 训练图像。\n\n## 3. 基本使用\n\n### 3.1 摄像头实时识别\n这是最简单的使用方式，启动后会调用摄像头进行人脸检测与识别。\n\n1.  **录入人脸**（可选）：\n    运行以下命令，按 `q` 键拍摄当前画面中置信度最高的人脸并命名保存至人脸库。\n    ```bash\n    python take_pic.py -n name\n    ```\n    *或者直接将现有照片放入 `data\u002Fface_bank\u002Fname\u002F` 目录中。*\n\n2.  **启动识别**：\n    ```bash\n    python face_verify.py \n    ```\n\n### 3.2 视频文件识别\n对本地视频文件进行人脸检测并保存结果：\n\n```bash\npython infer_on_video.py -f [video_file_name] -s [save_file_name]\n```\n*注意：视频文件需位于 `data\u002Fface_bank` 文件夹内或提供正确相对路径。*\n\n### 3.3 模型训练\n使用自定义数据集训练模型，支持指定网络结构、批次大小和学习率：\n\n```bash\npython train.py -b [batch_size] -lr [learning_rate] -e [epochs]\n\n# 示例：使用 mobilefacenet 网络，批次大小 200，4 个 worker\npython train.py -net mobilefacenet -b 200 -w 4\n```","某智慧园区安保团队需要升级门禁系统，实现员工在无感通行时的精准人脸识别与身份核验。\n\n### 没有 InsightFace_Pytorch 时\n- **识别准确率不足**：传统算法在侧脸、光照变化或遮挡场景下误识率高，导致员工频繁被拒之门外，需人工介入核实。\n- **开发门槛极高**：团队缺乏复现顶级论文（如 ArcFace）的能力，从零训练高精度模型耗时数月且难以收敛。\n- **部署灵活性差**：现有方案多依赖特定框架或闭源 SDK，难以适配团队现有的 PyTorch 技术栈，集成成本高昂。\n- **数据预处理繁琐**：缺乏自动化工具将原始人脸数据转换为标准训练格式，数据清洗占用大量研发时间。\n\n### 使用 InsightFace_Pytorch 后\n- **精度显著提升**：直接加载预训练的 IR-SE50 模型，在 LFW 等测试集上准确率超 99.5%，轻松应对复杂光线和角度挑战。\n- **快速落地应用**：利用成熟的 PyTorch 代码库，团队仅需数天即可完成从数据准备（facebank 构建）到摄像头实时检测的全流程部署。\n- **无缝技术集成**：原生支持 PyTorch 框架，完美契合现有后端架构，并提供 MobileFacenet 等轻量模型供边缘设备选择。\n- **流程自动化**：内置脚本一键完成 MXNET 数据转换及数据集整理，大幅缩短模型训练前的准备周期。\n\nInsightFace_Pytorch 通过提供工业级精度的预训练模型与完整的 PyTorch 复现方案，让高精度人脸识别系统的构建从“科研难题”变为“即插即用”的工程实践。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTreB1eN_InsightFace_Pytorch_623f9343.png","TreB1eN",null,"https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FTreB1eN_794d7b08.png","https:\u002F\u002Fgithub.com\u002FTreB1eN",[81,85],{"name":82,"color":83,"percentage":84},"Jupyter Notebook","#DA5B0B",98.8,{"name":86,"color":87,"percentage":88},"Python","#3572A5",1.2,1886,427,"2026-04-07T05:29:24","MIT","未说明","未说明（基于 PyTorch 0.4.1，通常建议配备支持 CUDA 的 NVIDIA GPU 以进行训练和实时推理）",{"notes":96,"python":97,"dependencies":98},"该项目是较旧的复现版本（基于 PyTorch 0.4.1），主要依赖 MXNet 格式的数据集转换工具。使用前需克隆 mtcnn-pytorch 仓库。提供的人脸识别模型包括 MobileFacenet 和 IR-SE50，需手动下载预训练权重至指定目录。若使用 MS1M 或 VGG2 数据集需遵循原始论文引用规范。","未说明（兼容 PyTorch 0.4.1，推测为 Python 2.7 或 Python 3.6）",[99,100,101,102],"torch==0.4.1","mxnet (用于数据记录转换)","opencv-python (推测用于摄像头和视频处理)","mtcnn-pytorch (人脸检测依赖)",[15],"2026-03-27T02:49:30.150509","2026-04-08T17:34:39.723612",[107,112,117,122,127,132],{"id":108,"question_zh":109,"answer_zh":110,"source_url":111},24728,"MobileFaceNet 的训练参数（学习率衰减点、批次大小等）和预期准确率是多少？","推荐的训练参数如下：\n- 训练轮数 (Epoch): 16\n- 学习率衰减点 (Milestones): [8, 12, 14]\n- 批次大小 (Batch Size): 256\n\n在此配置下，预期的测试集准确率为：\n- AgeDB-30: 95.90%\n- CFP-FP: 92.10%\n- LFW: 99.43%\n\n注意：如果复现结果略低（如 LFW 99.31%），可能与 GPU 数量或随机种子有关。预训练模型可参考相关开源仓库。","https:\u002F\u002Fgithub.com\u002FTreB1eN\u002FInsightFace_Pytorch\u002Fissues\u002F12",{"id":113,"question_zh":114,"answer_zh":115,"source_url":116},24729,"训练过程中损失值（Loss）卡在 15-20 不下降且批次准确率（batch_acc）为 0，该如何解决？","这通常是由学习率设置不当引起的。建议尝试降低学习率（Learning Rate）。此外，也可以尝试增大批次大小（Batch Size）或延长训练时间观察是否收敛。在某些情况下，检查代码中的掩码逻辑（如 `cond_mask` 的计算条件）是否因数据分布问题导致全为 True 也有助于排查。","https:\u002F\u002Fgithub.com\u002FTreB1eN\u002FInsightFace_Pytorch\u002Fissues\u002F6",{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},24730,"使用 conda 安装 requirements.txt 时出现 'PackagesNotFoundError' 错误怎么办？","该错误通常是因为指定的包版本（如 mxnet==1.2.1, torch==0.4.0 等）在当前配置的 Anaconda 通道中已不存在或不再支持。由于原项目代码较老，依赖包版本过旧，建议：\n1. 不要直接使用旧的 requirements.txt。\n2. 手动创建一个新环境，安装较新版本的 PyTorch 和 MXNet（如果必须）。\n3. 根据报错提示，移除或替换无法安装的特定版本包，尝试安装兼容的更高版本。\n4. 对于视频推理等功能，需确保 OpenCV 能正确读取视频流并分帧处理。","https:\u002F\u002Fgithub.com\u002FTreB1eN\u002FInsightFace_Pytorch\u002Fissues\u002F126",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},24731,"如何在自定义小数据集上微调（Fine-tune）预训练的 IR-SE50 模型？","微调策略取决于数据集大小：\n1. **固定特征提取器**：如果数据集较小，通常不重新训练骨干网络（Backbone\u002FFeature Extractor）。加载预训练权重后，冻结骨干网络参数。\n2. **训练分类头**：仅在预训练模型后添加一个新的全连接层（`nn.Linear`）作为分类头，并使用 Softmax 或 ArcFace Loss 仅对该层进行训练。\n3. **代码实现**：在 `__init__` 中加载预训练字典到 `self.backbone`，并在优化器中只传入分类头的参数。这样可以在利用大规模数据集学到的特征的同时，适应新的类别分类任务。","https:\u002F\u002Fgithub.com\u002FTreB1eN\u002FInsightFace_Pytorch\u002Fissues\u002F145",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},24732,"使用不同类别数量（身份数）的数据集重新训练或微调模型时，加载预训练权重报错 'size mismatch' 如何解决？","当新数据集的类别数（Class Num）与预训练模型不一致时，直接加载包含分类头（Head\u002FFC layer）的权重会报维度不匹配错误（例如 `[512, 25]` vs `[512, 41]`）。\n解决方法：\n1. **只加载骨干网络权重**：加载预训练模型时，仅提取并加载 backbone（特征提取部分）的 `state_dict`，忽略分类头部分的权重。\n2. **重新初始化分类头**：根据新数据集的类别数量，重新实例化分类头层（Linear Layer）。\n3. **代码调整**：在加载逻辑中过滤掉 key 中包含 'head' 或 'fc' 的参数，只加载 'backbone' 相关的参数。","https:\u002F\u002Fgithub.com\u002FTreB1eN\u002FInsightFace_Pytorch\u002Fissues\u002F115",{"id":133,"question_zh":134,"answer_zh":135,"source_url":126},24733,"微调后的模型是否只能识别训练集中的人脸？如何识别数据集之外的人？","是的，如果在微调时添加了特定类别的分类头（Softmax 分类器），该模型通常只能对训练集中已有的身份进行分类。\n要识别训练集之外的人（开放集识别），应采用以下架构：\n1. **特征提取**：使用微调后或预训练的特征提取器（Backbone）输出人脸特征向量（Embedding）。\n2. **相似度比对**：不使用分类头进行直接分类，而是计算输入人脸特征与数据库中已知人脸特征的余弦相似度或欧氏距离。\n3. **阈值判断**：如果相似度高于设定阈值，则判定为同一人；否则判定为未知人员。这种方法允许动态添加新用户而无需重新训练模型。",[]]