如何用UniFace 5分钟跑通第一张人脸检测:零依赖快速入门教程
【免费下载链接】unifaceUniFace: A Unified Face Analysis Library for Python | Detection, alignment, landmarks, face-mesh, recognition, parsing, gaze, attributes and anti-spoofing under one API.项目地址: https://gitcode.com/gh_mirrors/un/uniface
UniFace 是一个 Python 人脸分析库,把人脸检测、识别、关键点、 gaze(视线)、属性估计、防伪等 15 项任务统一到一套简洁的 API 下。本教程面向零基础新手,带你用 5 分钟、只需一条 pip 命令,就能在本地图片上跑通第一张人脸检测结果。全程无需配置 GPU,模型首次使用时自动下载,真正做到开箱即用。
上面这张图就是 UniFace 人脸检测的真实效果:一张 7 人合影,每一张脸都被自动标出检测框、置信度与 5 个关键点(由 SCRFD-10G 模型完成)。
环境要求:只需 Python 3.10+
开始之前,先确认两件事:
- Python 版本:3.10 – 3.14(运行
python --version查看) - 操作系统:macOS、Linux、Windows 均支持,Apple Silicon(M 系列芯片)开箱即享原生加速
💡 完整要求可参考 docs/installation.md
一键安装:一条命令搞定
打开终端,只需执行一条命令:
pip install "uniface[cpu]"有 NVIDIA 显卡想跑得更快的话,换成:
pip install "uniface[gpu]"📌小贴士:[cpu]和[gpu]两个附加包二选一,不要同时安装,否则会产生文件冲突。装完后可以简单验证:
import uniface print(uniface.__version__)能正常打印版本号,就说明安装成功了。
三步写出第一个人脸检测脚本
核心就三步:初始化检测器 → 读图 → 检测。以 RetinaFace 模型为例(源码见 uniface/detection/retinaface.py):
import cv2 from uniface.detection import RetinaFace # 第 1 步:创建检测器(模型权重首次使用自动下载) detector = RetinaFace() # 第 2 步:读取图片 image = cv2.imread("photo.jpg") # 第 3 步:开始检测 faces = detector.detect(image) for i, face in enumerate(faces, 1): print(f"Face {i}: 置信度 {face.confidence:.2f},框位置 {face.bbox}") print(f" 关键点 {len(face.landmarks)} 个")运行后你会看到类似这样的输出:
Face 1: 置信度 0.99,框位置 [120.5, 85.3, 245.8, 210.6] 关键点 5 个🎉 恭喜,第一张人脸检测已经跑通了!模型权重会在第一次调用时自动下载,并用 SHA-256 校验完整性,之后就会从本地缓存读取,速度更快。
让结果可视化:画出检测框
检测结果是数据,画出来才直观。UniFace 内置了绘图工具draw_detections,在脚本里只需加两行:
from uniface.draw import draw_detections faces = detector.detect(image) draw_detections(image=image, faces=faces, vis_threshold=0.6) cv2.imwrite("output.jpg", image)即使在复杂人群场景(上图为 29 张小人脸的街景照片,最弱置信度仍有 0.73),UniFace 的人脸检测依然稳定可靠。
常见问题快查 🛠️
| 问题 | 解决方法 |
|---|---|
ImportError: onnxruntime is not installed | 说明没装附加包,执行pip install "uniface[cpu]" |
| 模型下载失败 | 用 uniface/model_store.py 中的verify_model_weights手动触发下载 |
| Mac 上跑得慢 | 确认 Python 是 ARM64 原生版本(platform.machine()应显示arm64) |
更多排查细节见 docs/installation.md 的 Troubleshooting 章节,以及 docs/quickstart.md。
跑通之后:还能做什么?
人脸检测只是 UniFace 能力的起点。同一套 API 风格,你可以平滑扩展到:
- 人脸关键点:106 / 98 / 68 个密集点,以及 468 点 3D 网格
- 人脸识别:提取特征向量,判断两张照片是否为同一人
- 属性估计:年龄、性别、情绪
- 人脸质量评分、活体防伪、隐私打码等
📚继续学习路线:
- 完整快速入门:docs/quickstart.md
- 各模块 API 详解:docs/modules/detection.md
- 可运行的交互教程:examples/01_face_detection.ipynb
- 全部模型对比与选型指南:docs/models.md
现在,找一张你手边的人像照片,把photo.jpg换成你的文件路径,运行上面的脚本——你的第一张 UniFace 人脸检测,5 分钟就能完成。
【免费下载链接】unifaceUniFace: A Unified Face Analysis Library for Python | Detection, alignment, landmarks, face-mesh, recognition, parsing, gaze, attributes and anti-spoofing under one API.项目地址: https://gitcode.com/gh_mirrors/un/uniface
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考