Repolode
serengil

serengil/deepface

Python 人脸识别与面部属性分析库,支持年龄、性别、情绪和种族识别,可切换多种模型与检测器。

Star
23,653
Fork
3,210
未关闭 Issue
4
最近提交
前天

这是什么?

DeepFace 是一个 Python 人脸识别与面部属性分析框架。它封装了 VGG-Face、FaceNet、ArcFace、OpenFace、SFace 等多种人脸识别模型,以及 OpenCV、RetinaFace、MTCNN、MediaPipe、YOLO 等人脸检测器。开发者通过 verify、find、analyze、represent 等函数即可完成调用,检测、对齐、归一化和向量比对等步骤由库在后台处理。

除了一对一验证和文件夹检索,DeepFace 还支持将人脸向量注册到 PostgreSQL、pgvector、MongoDB、Redis、Qdrant 等数据库中进行检索,并可选用近似最近邻搜索。它同时提供摄像头实时分析、活体检测,以及可直接运行或通过 Docker 部署的 REST 和 gRPC 接口。默认推理引擎为 ONNX Runtime,也可选装 TensorFlow 或 PyTorch。

核心功能

  • 01支持人脸验证,以及在文件夹或数据库中进行一对多检索。
  • 02可分析年龄、性别、情绪和种族等面部属性。
  • 03多种识别模型和检测器可通过参数切换。
  • 04支持摄像头实时识别与属性分析。
  • 05可选的活体检测,用于识别伪造人脸。
  • 06提供 REST 和 gRPC 接口,并支持 Docker 部署。

适用场景

  • 在 Python 应用中实现人脸登录或身份核验功能。
  • 在照片库中检索特定人物。
  • 将人脸分析部署为微服务,供网页或移动应用调用。
  • 为需要人脸向量的计算机视觉项目快速搭建原型。

快速上手

  1. 1

    从 PyPI 安装库(默认使用 ONNX Runtime 后端)

    pip install deepface
  2. 2

    在 Python 中导入库

    from deepface import DeepFace
  3. 3

    验证两张人脸图片是否为同一人

    result: dict = DeepFace.verify(img1_path = "img1.jpg", img2_path = "img2.jpg")

使用前须知

  • 人脸识别和属性分析涉及隐私与伦理问题,部署前请确认当地法律规定。
  • 若使用完整的 TensorFlow 或 PyTorch 后端,会额外增加数 GB 的依赖。

收录于专题

标签

常见问题

deepface 是什么?
Python 人脸识别与面部属性分析库,支持年龄、性别、情绪和种族识别,可切换多种模型与检测器。 DeepFace 是一个 Python 人脸识别与面部属性分析框架。它封装了 VGG-Face、FaceNet、ArcFace、OpenFace、SFace 等多种人脸识别模型,以及 OpenCV、RetinaFace、MTCNN、MediaPipe、YOLO 等人脸检测器。开发者通过 verify、find、analyze、represent 等函数即可完成调用,检测、对齐、归一化和向量比对等步骤由库在后台处理。
deepface 可以免费使用吗?用的什么许可证?
deepface 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
deepface 还在维护吗?
活跃维护中。deepface 最近一次提交是在 2026年11月5日。
deepface 适合用来做什么?
在 Python 应用中实现人脸登录或身份核验功能。 在照片库中检索特定人物。 将人脸分析部署为微服务,供网页或移动应用调用。 为需要人脸向量的计算机视觉项目快速搭建原型。
deepface 怎么安装和运行?
从 PyPI 安装库(默认使用 ONNX Runtime 后端): pip install deepface 在 Python 中导入库: from deepface import DeepFace 验证两张人脸图片是否为同一人: result: dict = DeepFace.verify(img1_path = "img1.jpg", img2_path = "img2.jpg")
在哪里获取 deepface?
源代码和安装说明在 GitHub 上:https://github.com/serengil/deepface

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目