世界上最简单的人脸识别 API
更新于 2026-06-25 · 创建于 2017-03
← 返回汇总几行 Python 代码搞定人脸检测、定位、识别
基于 dlib 的深度学习人脸识别库,提供 Python 和命令行两种调用方式。在 Labeled Faces in the Wild 基准上准确率 99.38%——达到工业级。API 设计极简:找脸、找五官、算编码、比人脸,四个函数覆盖绝大多数场景。还能结合 OpenCV 做实时摄像头识别。是 Python 人脸识别领域最经典的入门项目,文档完善、示例丰富、跨平台部署(含树莓派/Jetson Nano)。
MIT 许可证 · 基于 dlib · 树莓派/Jetson Nano/Docker/VM 全覆盖
import face_recognition # ① 找人脸位置 image = face_recognition.load_image_file("photo.jpg") locations = face_recognition.face_locations(image) # ② 找五官轮廓(眼/鼻/嘴/下巴) landmarks = face_recognition.face_landmarks(image) # ③ 把脸编码成 128 维向量 encodings = face_recognition.face_encodings(image) # ④ 比较两张脸是否同一人 known = face_recognition.load_image_file("biden.jpg") unknown = face_recognition.load_image_file("unknown.jpg") known_enc = face_recognition.face_encodings(known)[0] unknown_enc = face_recognition.face_encodings(unknown)[0] results = face_recognition.compare_faces([known_enc], unknown_enc)
# 命令行对一整个文件夹的图片做人脸识别 face_recognition ./pictures_of_people_i_know/ ./unknown_pictures/ # 输出示例 unknown_pictures/unknown1.jpg,unknown_person unknown_pictures/unknown2.jpg,unknown_person unknown_pictures/unknown3.jpg,biden # 只想找脸在哪(不识别是谁) face_recognition_face_locations ./unknown_pictures/
装完即用,把已知人脸放一文件夹,未知图放另一文件夹,命令一行出结果。
结合 cv2(OpenCV),可做实时摄像头人脸识别——每帧抓脸、编码、与已知库比对、画框标名。
examples/ 目录含大量现成示例,复制即用。
用 dlib 的 ResNet 模型把每张脸压成 128 维向量。同一个人的脸向量距离近,不同人远。这是现代人脸识别的通用范式。
compare_faces() 用阈值判断;face_distance() 返回精确距离,可排序找最像的。调阈值平衡误识率与拒识率。
dlib 用 HOG + CNN 两种检测器:HOG 快(CPU 可用),CNN 精但需 GPU。
官方支持,pip 装 dlib 后即用。
Pi 2+ 有专门安装指南,边缘部署。
NVIDIA 边缘 AI 板,有 $150 搭硬件识别系统的教程。
预配置 Docker 镜像 + VM image,免环境折腾。
Windows 非官方支持,但有社区安装指南。FreeBSD 亦有 pkg。
# 1. 先装 dlib(macOS 示例) # 见 gist.github.com/ageitgey/629d75c1baac34dfa5ca2a1928a7aeaf # 2. 装 cmake brew install cmake # 3. pip 装 pip3 install face_recognition # 立即可用 face_recognition ./known/ ./unknown/
| face_recognition | Faceswap | |
|---|---|---|
| 核心任务 | 识别(这是谁) | 生成(把脸换成另一个) |
| 技术 | 检测 + 编码 + 比对 | 训练生成模型 + 转换 |
| 模型 | dlib 预训练(开箱即用) | 需自己训练 12-48 小时 |
| 硬件 | CPU 可用(HOG 模型) | GPU 几乎必须 |
| 伦理敏感度 | 中(生物特征隐私) | 高(deepfake 滥用) |
| 许可证 | MIT(宽松) | GPL-3.0(传染) |
Python 人脸识别的「Hello World」——极简 API + 99.38% 准确率 + 海量示例,是无数开发者入门 CV 的第一站。但项目近年维护放缓,技术栈(dlib)相对固定,新一代方案(insightface、facenet-pytorch、MediaPipe)在精度与速度上有超越。作为学习样本、快速原型、低规模应用,依然是最佳起点之一。