FaceFound - 基于 InsightFace 的人脸识别一键工具
项目介绍
最近开发了一个基于 InsightFace 的人脸识别工具 FaceFound,支持图片和视频分析,提供图形界面和命令行两种使用方式。
项目地址:https://github.com/Enco-shark/facefound
功能特点
- 图片人脸识别 — 自动检测并标注人脸姓名
- 视频人脸识别 — 逐帧分析视频,输出带标注的结果视频
- 图形界面 — 简单易用的 Tkinter GUI
- 命令行支持 — 适合批量处理和自动化脚本
- GPU 加速 — 自动尝试 DirectML 加速,回退到 CPU
- 中文标注 — 支持在图片上绘制中文姓名
技术架构
1 | 用户输入 (图片/视频) |
快速开始
环境要求
- Python 3.8+
- Windows / Linux / macOS
安装依赖
1 | pip install -r requirements.txt |
主要依赖:
insightface— 人脸检测与识别onnxruntime— ONNX 模型推理引擎opencv-python— 图像/视频处理numpy— 数值计算Pillow— 图片绘制(中文支持)tqdm— 进度条
下载模型
从 InsightFace 官方 Release 下载 buffalo_l 模型:
1 | # 方式一:自动下载(首次运行会自动下载) |
生成人脸特征缓存
准备一批人物照片(每张照片以人物姓名命名),然后运行:
1 | # 扫描当前目录所有图片,生成 cache.npz |
照片命名规则:
张三.jpg→ 识别结果为 “张三”李四.png→ 识别结果为 “李四”
运行人脸识别
图形界面版(推荐)
1 | python face_tool.py |
操作步骤:
- 点击 “浏览…” 选择
template_cache.npz文件 - 点击 “选择文件…” 选择要分析的图片或视频
- 点击 “▶ 开始分析” 开始处理
处理结果保存在 output/ 目录。
命令行版
1 | # 处理视频 |
打包为独立 EXE
使用 PyInstaller 打包为 Windows 可执行文件,无需 Python 环境即可运行:
1 | pip install pyinstaller |
打包完成后,exe 文件在 dist/人脸识别工具.exe。
配置文件
在 face_tool.py 顶部可修改以下配置:
1 | THRESHOLD = 0.35 # 人脸识别相似度阈值(越低越严格) |
项目文件说明
| 文件 | 说明 |
|---|---|
face_tool.py |
主程序 — 图形界面版,一键图片/视频分析 |
make_cache_npz.py |
模板生成工具 — 扫描照片文件夹,生成人脸特征缓存 |
only_npz.py |
命令行版 — 纯命令行视频处理,支持多线程加速 |
template_cache.npz |
人脸特征缓存文件 |
buffalo_l/ |
InsightFace 模型文件夹 |
常见问题
Q: 启动后提示 “找不到模型目录”
A: 确保 models/buffalo_l/ 文件夹存在且包含 .onnx 模型文件。
Q: 识别准确率不高
A: 可以调低 THRESHOLD 值(如 0.3),或确保模板照片清晰、正面、光照良好。
Q: 视频处理很慢
A: 默认使用 CPU 推理。如果有 NVIDIA GPU,可以安装 onnxruntime-gpu 获得加速。
总结
FaceFound 是一个开箱即用的人脸识别工具,适合:
- 快速分析图片或视频中的人脸
- 批量处理视频素材
- 学习和研究人脸识别技术
欢迎 Star 和 PR!🌟
- 标题: FaceFound - 基于 InsightFace 的人脸识别一键工具
- 作者: Enco
- 创建于 : 2026-05-10 10:00:00
- 更新于 : 2026-05-22 13:02:12
- 链接: https://enco-shark.github.io/2026/05/10/FaceFound人脸识别一键工具/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。