尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

InsightFace 人脸检测与人脸识别教程:本地 1:1 比对如何快速跑通

InsightFace 人脸检测与人脸识别教程:本地 1:1 比对如何快速跑通 InsightFace 人脸检测与人脸识别教程本地 1:1 比对如何快速跑通【免费下载链接】insightfaceState-of-the-art 2D and 3D Face Analysis Project项目地址: https://gitcode.com/GitHub_Trending/in/insightface给 InsightFace 一张图片它会一次性返回人脸框、5/106 点关键点、性别年龄以及用于身份比对的 embedding 向量可理解为这张脸的“数字指纹”。它是 pip 可安装的人脸分析库不用训练首次运行自动下载预训练模型包约 326MB几行代码就能完成本地人脸比对。适合照片身份核验、批量人脸检测这类需要数据留在自己机器上的场景。它解决什么问题身份核验与批量人脸检测的 3 个痛点照片里两个人是不是同一人但不想把图片上传到云端 API。InsightFace 全程本地推理比对就是两个 embedding 向量的点积运算图片不出你的机器。一张图里十几张脸要逐一框出来供裁剪、打码或重建。一次app.get()调用返回全部人脸的框和关键点。仓库示例图 t1.jpg 里有 6 张脸人脸交换示例直接用assert len(faces)6来验证检出数量见 examples/in_swapper/inswapper_main.py。不想自己训模型。检测SCRFD、识别ArcFace、106 点对齐、性别年龄都被打包成 buffalo_l 等模型包一个FaceAnalysis对象调完整条链路。最短路径上手 InsightFace安装命令与最小示例前置条件Python 3.x推理后端是 onnxruntime只用 CPU 装onnxruntime即可要 GPU 必须手动装onnxruntime-gpu见 python-package/README.md。pip install -U insightface然后用仓库自带的示例图跑最小脚本import cv2 from insightface.app import FaceAnalysis app FaceAnalysis(namebuffalo_l); app.prepare(ctx_id-1) # -1 为 CPU faces app.get(cv2.imread(python-package/insightface/data/images/t1.jpg))首次运行会自动把默认的 buffalo_l 模型包326MB唯一支持自动下载的包下载到~/.insightface/models/。返回的faces是 Face 对象列表每个对象直接带bbox人脸框、kps5 点关键点、det_score置信度、gender/age和embedding比对向量再调app.draw_on(img, faces)就能画出框和关键点。核心能力拆解检测、比对、属性各一次调用批量人脸检测一张图拿到全部人脸框与关键点场景裁剪、打码、3D 重建之前先定位人脸。调用app.get(img)。产出每张脸一个 Face 对象。注意 v1.0 起prepare()默认 Auto 检测尺寸——分别在 128×128 和 640×640 两档跑 SCRFD 再统一 NMS见 python-package/insightface/app/face_analysis.py大小脸都有检出机会。本地 1:1 人脸比对用 embedding 算余弦相似度场景身份核验、照片查重。取两张照片的face.embedding点积并除以各自模长得到相似度分数与阈值比大小即判断是否同一人。仓库示例默认阈值 0.65并明确提醒按你的业务自行调整一图多人时要自己选定比哪张脸示例取第一张检出的见 examples/face_recognition/insightface_app.py。属性与关键点性别、年龄、106 点随包附带场景展示“男28 岁”或给下游对齐用高精度关键点。无需额外代码Face 对象上直接有字段。默认 buffalo_l 含 2d106 和 3d68 关键点模型加 GenderAge 模型见 model_zoo/README.md。人脸交换单行调用进阶场景把图里所有脸换成目标人身份。加载inswapper_128.onnx后对每张脸调swapper.get()输入输出分辨率 128×128。注意身份 embedding 必须来自 buffalo_l 的 ArcFace否则结果不正常该示例已不再维护作者指向官方商业产品见 examples/in_swapper/README.md。关键指标一览检测精度与推理耗时SCRFD 型号EasyMediumHard参数量(M)推理(ms)SCRFD-0.5GF90.5788.1268.510.573.6SCRFD-2.5GF93.7892.1677.870.674.2SCRFD-10GF95.1693.8783.053.864.9SCRFD-34GF96.0694.9285.299.8011.7mAP 为 VGA640×480分辨率单尺度测试数据来源 detection/scrfd/README.md。模型包检测模型识别模型体积MR-ALLLFWIJB-C(E4)buffalo_l默认SCRFD-10GFResNet50WebFace600K326MB91.2599.8397.25buffalo_sSCRFD-500MFMBFWebFace600K159MB71.8799.7095.02识别精度数据来源 python-package/README.md 与 model_zoo/README.md。选型与排错模型包、阈值与 Licensebuffalo_l、buffalo_s、buffalo_sc 怎么选追求精度用默认 buffalo_l326MB端侧或低配机器用 buffalo_s159MB只要检测和识别、不要对齐和属性16MB 的 buffalo_sc 最省。注意只有 buffalo_l 支持库自动下载其余包要手动下 zip 并解压到~/.insightface/models/。小脸容易漏检怎么办先别换模型默认 Auto 模式已经用 128×128 和 640×640 双尺寸加统一 NMS。只有追求速度时才显式传det_size改成固定尺寸代价是小脸召回下降。GPU 推理怎么开onnxruntime只含 CPU 后端。要用 CUDA 需自行pip install onnxruntime-gpu并给FaceAnalysis传providers[CUDAExecutionProvider]、ctx_id由 -1 改为 0。比对阈值设多少合适0.65 只是示例默认值调低会增加误认调高会增加漏认建议用业务里的真实坏例来回调。桌面 GUI 做相册聚类时用的是另一套默认值DBSCAN 余弦相似度阈值 0.48见 python-package/README.md。License 边界在哪代码是 MIT 协议学术与商用均不受限。但全部预训练模型buffalo 系列、inswapper 等仅限非商业研究使用——无论手动下载还是 python 库自动下载都适用此政策商用需另行获取授权README.md 里列了三类模型的授权联系邮箱。继续深入文档、源码与进阶方向官方文档python-package/README.md安装、模型包列表、调用自定义 ONNX 模型的方法。model_zoo/README.md检测/识别/对齐/属性全部预训练模型清单与精度。server/README.md容器化自建人脸搜索服务Web UI 29 个 REST 接口单张 RTX 5090 支撑 50M 图片检索。源码模块detection/scrfd/SCRFD 训练代码与 WIDERFace 数据准备、评测脚本。recognition/ArcFace 的 PyTorch/MXNet/Paddle 多实现与 Partial FC。examples/检测、识别、人脸交换的最小可运行示例。进阶方向reconstruction/3D 人脸重建、视线估计、纹理补全。alignment/106 点关键点的训练与推理管线。python-package/insightface/gui/1.0 版桌面 GUI 源码pip install insightface[gui]后可用insightface-gui启动支持本地比对、相册聚类、评测报告。跑通路径很短装库、app.get出一张图、比 embedding。下一步建议如果你有“人脸库”式的 1:N 检索需求直接看 server/ 的自建方案想提升检测精度则从 detection/scrfd/ 的训练代码入手。【免费下载链接】insightfaceState-of-the-art 2D and 3D Face Analysis Project项目地址: https://gitcode.com/GitHub_Trending/in/insightface创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表