InsightFace人脸识别三步跑通指南
【免费下载链接】insightfaceState-of-the-art 2D and 3D Face Analysis Project项目地址: https://gitcode.com/GitHub_Trending/in/insightface
InsightFace是一个开源2D/3D人脸分析工具箱:人脸检测、识别、对齐、性别年龄属性,一条链路搞定。本文带你从 pip 安装到跑通检测与特征比对,并讲清5档模型包怎么选、动手前有哪些坑。
⚡ InsightFace三步跑通:从安装到出检测结果
结论先说:一行 pip 装完,三行代码出结果,默认模型包自动下载,不用自己找权重。
pip install -U insightface:装包即带 onnxruntime,CPU 直接能跑FaceAnalysis()初始化,默认加载 buffalo_l 包,权重自动下载app.get(img)返回图中所有人脸:边界框、关键点、特征向量、性别和年龄
import cv2 import insightface from insightface.app import FaceAnalysis app = FaceAnalysis() # 默认 buffalo_l 包,自动下载 app.prepare(ctx_id=0) img = cv2.imread('t1.jpg') faces = app.get(img) # 框、关键点、特征向量、性别/年龄 sim = faces[0].normed_embedding @ faces[1].normed_embedding最后一步就是比对:两个归一化特征向量做点积即相似度。画检测框也是一行:app.draw_on(img, faces),返回带框、关键点和属性标注的图。
📦 InsightFace模型包怎么挑:5档一表对比
模型包的区别是"检测模型+识别模型"的组合不同,都按名字加载,差异在体积和精度:
| 模型包 | 检测 | 识别 | 体积 | LFW | 什么情况选它 |
|---|---|---|---|---|---|
| antelopev2 | SCRFD-10GF | ResNet100@Glint360K | 407MB | — | 追求最高精度 |
| buffalo_l(默认) | SCRFD-10GF | ResNet50@WebFace600K | 326MB | 99.83% | 通用场景,唯一自动下载 |
| buffalo_m | SCRFD-2.5GF | ResNet50@WebFace600K | 313MB | 同buffalo_l | 识别同档、检测更省 |
| buffalo_s | SCRFD-500MF | MobileFaceNet | 159MB | 99.70% | 资源受限的边缘设备 |
| buffalo_sc | SCRFD-500MF | MobileFaceNet | 16MB | 同buffalo_s | 只要最轻量,无对齐和属性 |
一句话建议:日常项目用默认的 buffalo_l,边缘设备用 buffalo_s,精度优先上 antelopev2。
🎨 少见的两个亮点:3D人脸重建与自托管检索服务
亮点一:单目3D人脸重建。reconstruction 目录下的 PBIDR 从单张照片恢复三维形状与法向图:对遮挡人脸生成完整高保真纹理图,并自监督地把纹理分解成漫反射反照率与漫反射/高光着色,做虚拟形象、试妆类应用是现成底子。同目录的 JMLR 方法拿过 ECCV-2022 WCPA 单目3D人脸重建挑战赛第一名。
亮点二:自托管 InsightFace Server。起一个容器就能拿到 Web 界面、snake_case 风格的 REST API 和 Python 客户端,支持人脸注册、比对与 1:N 检索;嵌入做 INT8 量化还保精度,单张 RTX 5090 可支撑 5000 万级图片检索,不用自己搭一套服务端框架。
🛠 动手前心里有数:依赖、授权与缓存位置
- 推理后端是 onnxruntime;想用 GPU 需单独装 onnxruntime-gpu,否则自动落 CPU
- 权重默认放
~/.insightface/models/,FaceAnalysis()初始化时自动下载(0.3.3 起) - 用自己的权重:把 ONNX 模型放进该目录下的新文件夹,再
FaceAnalysis(name='your_zoo')按名加载 - 授权边界:代码是 MIT 协议随便用;预训练模型和带标注数据仅限非商业研究,商用要联系官方拿授权
- 不想写代码:
pip install "insightface[gui]"装桌面 GUI,比对、聚类、报告导出都能点鼠标 - C++ 侧有跨平台 InspireFace SDK,覆盖 Android、iOS、CUDA、TensorRT 部署
做人脸检测、识别或属性分析,又想要一个经过大规模基准验证的开源基线,InsightFace值得排进第一选项;要对外提供检索服务,直接看 server 子项目。延伸阅读:模型包说明、Python库文档。
【免费下载链接】insightfaceState-of-the-art 2D and 3D Face Analysis Project项目地址: https://gitcode.com/GitHub_Trending/in/insightface
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考