你有没有想过,"看一眼你的脸"能榨出多少信息?
手机相册能把同一个人的照片归到一起。小区门禁一刷脸就开门。直播间里,你的脸被美颜瞬间"修好"。
这些事背后,都是同一类技术:人脸分析。
过去做出这样的功能,得有一支算法团队,还得有一堆昂贵的模型。现在有个叫 UniFace 的开源项目,把这些能力打包成一个 Python 工具库,装好就能用。
官方的定位是把检测、对齐、关键点、识别、解析、视线、属性和防伪,都放在同一套接口下。

一张脸,15 种"读法"
按官方 README 的说法,UniFace 覆盖 15 类任务。我把它们换成大白话,分成六组:
① 找到脸、量出脸
- 人脸检测
:先找出照片里哪儿有脸,相当于给每张脸画个框。 - 面部关键点
:在脸上标出几十到几百个点,眼角、嘴角、鼻尖都算,可以做美颜、做表情动画。 - 人脸质量评估
:给一张脸的"可用度"打分。糊了、歪了、被挡了,分数就低。

② 把脸"抠"出来
- 人脸解析
:把脸分成皮肤、眉毛、嘴唇、头发等 19 个区域,做虚拟试妆用得上。 - 人像抠图
:把人从背景里干净地分离出来,视频会议里的虚拟背景就是这个原理。

③ 看你朝哪儿
- 头部姿态
:判断你是抬头、低头还是侧脸。 - 视线估计
:判断你的眼睛正盯着哪个方向。

④ "读"脸
- 年龄、性别、种族
- 情绪
:开心、生气、惊讶等(AffectNet 的 7 类或 8 类标签) - 脸部状态
:睁眼还是闭眼、戴不戴眼镜或墨镜、戴不戴口罩

⑤ 辨真假
- 活体检测(防伪)
:分辨镜头前是真人,还是一张照片、一段翻拍视频。刷脸支付要防被冒用,就靠它。

⑥ 认人,或者藏人
- 人脸识别
:判断两张照片是不是同一个人。 - 人脸跟踪
:在视频里给同一个人一个固定编号。 - 向量库检索
:在成千上万张脸里,快速找出最像的那一个。 - 人脸匿名化
:一键把脸打码。

争议在哪:一个工具,两种用法
最让我觉得"微妙"的,是它把两头都做了。
一头,是能识别你是谁、猜你多大、判断你的情绪和种族的能力。这些功能放在监控场景里,很容易越界。学界对"靠脸判断情绪"的准确性也一直有争议,毕竟你脸上的表情,不一定等于你心里的感受。
另一头,是同一个项目里专门有一个"隐私"模块,官方文档写得很直白:人脸匿名化通过模糊或遮盖图片和视频里的脸来保护隐私,并且提供五种打码方式。
也就是说,"认出你"和"帮你藏起来",用的是同一套底层技术。

技术本身没有立场,用它的人才有。它把门槛从"需要一个团队"降到了"会复制粘贴代码",这对做正经产品的人是好消息,对想乱来的人,门槛也一起降低了。
所以我的建议是,以后看到"刷脸",不妨多问一句:这张脸被拿去做了什么?存在哪里?谁能查?
顺带提醒一个商用的坑。UniFace 本身是 MIT 协议,但部分预训练权重的协议并不一样,商用前需要先核对许可。README 和授权页里点名过 YOLOv5-Face、YOLOv8-Face 的权重是 GPL-3.0,FairFace 的权重是 CC BY 4.0。代码免费,不等于模型也能随便商用。
技术爱好者专区
1. 安装
按官方说明,它支持 CPU、Apple Silicon 和 CUDA,权重在首次使用时自动下载,并用 SHA-256 校验。
2. "一个 API"到底怎么用
核心是 FaceAnalyzer。官方说明:它一次调用就能完成检测、对齐和识别,属性类模型需要你按需加进去。
设计思路很清楚:
-
bbox(人脸框)、confidence(置信度)、landmarks(关键点)、embedding(特征向量)始终有值。 -
年龄、性别、种族、情绪、质量等属性,在你没传入对应 predictor 之前保持为 None。
这种"按需加载"的设计,好处是你只为用到的功能付算力。
3. 模型底座:每个任务都能换模型

4. 隐私模块:三行代码给人脸打码
这是最适合新手上手的功能。以下代码来自官方文档:
官方提供五种打码方式:
方法 |
效果 |
pixelate |
马赛克,新闻里最常见 |
gaussian |
平滑模糊 |
blackout |
纯色遮盖,隐私性最强 |
elliptical |
椭圆形模糊,更贴合脸型 |
median |
保边模糊,带点艺术效果 |
5. 实时摄像头打码
inplace=True 会直接修改原图,更快也更省内存。做直播或监控流处理时值得开。

6. 进阶玩法:只给"别人"打码
文档里还有一个很实用的思路:先用识别模型提取每张脸的特征向量,跟白名单里的人比对相似度,匹配上的不打码,其余的全部打码。适合"视频里只保留自己出镜"这类场景。
核心逻辑就是余弦相似度加阈值,官方示例的默认阈值是 0.6。
7. 值得关注的工程细节
- 模型可替换
:同一任务有多个模型可选,可以在速度和精度之间自己取舍。 - 全平台加速
:支持 CPU、Apple Silicon、NVIDIA CUDA。 - 自带向量检索
:内置基于 FAISS 的向量库,做"以脸搜脸"不用另外搭。 - 有完整文档
:含 Notebook、教程、模型库和阈值校准指南。

