1. 共性预处理:检测、关键点定位与对齐
所有下游任务几乎都依赖一套前置流程:
人脸检测
在图像中定位人脸区域。经典方法有 Viola-Jones,现代主流为深度卷积网络,如 MTCNN(多任务级联卷积网络)、RetinaFace 等,输出人脸边界框及置信度。
关键点定位
预测眼角、鼻尖、嘴角等特征点坐标(通常 5、68 或更多点)。常用的有基于 CNN 的回归模型(如 HRNet, MobileNetV2 改造的 landmark 网络)。
人脸对齐
利用关键点通过相似变换或仿射变换,将人脸统一映射到标准参考位置(如双眼对齐到固定坐标),消除平面内旋转和尺度差异,大幅提升后续特征提取的稳定性。

2. 身份验证技术原理
身份验证主要回答“这个人是不是他声称的那个人”(1:1 比对)或“这个人是谁”(1:N 搜索)。核心技术是深度度量学习,目的是将人脸映射到一个高维特征空间,使同类人脸的嵌入向量距离近、异类距离远。
2.1 特征提取网络
骨干网络通常为深度残差网络(ResNet)、MobileFaceNet 等。输入是对齐后的人脸图像,经过一系列卷积、池化后,通过全连接层映射为 128/256/512 维的特征向量,最后做 L2 归一化,使其位于超球面上,便于用余弦距离或角度度量相似度。
2.2 损失函数演变
损失函数直接决定了特征空间的判别力。关键演进路径为:
Softmax Loss
简单的交叉熵分类,决策边界不够严格,类间分离不充分。
A-Softmax (SphereFace)
对权重和特征归一化,引入角裕度,使决策边界仅依赖于角度,增强判别性。
CosFace / AM-Softmax
在余弦值上直接加一个余弦裕度,训练更稳定。
ArcFace (Additive Angular Margin)
在角度空间上增加可加性角裕度,如 cos(θ+m)cos(θ+m)。因其与测地线距离直接对应、效果显著,已成为人脸识别事实上的标准损失之一。
此外常辅以三元组损失 (Triplet Loss) 或中心损失 (Center Loss) 来进一步压缩类内距离。
2.3 比对与决策
比对
计算两张人脸的归一化特征向量之间的余弦相似度或欧氏距离。
决策
设定相似度阈值。若相似度 ≥ 阈值,判定为同一人;否则拒绝。阈值通过开发集上的 ROC 曲线,依据业务所需的误识率 (FAR) 和拒真率 (FRR) 选定。
活体检测
为防止照片、视频或面具攻击,系统常集成静默活体(基于单帧 RGB 的纹理、深度估计、光流微动)或配合式活体(眨眼、摇头、读数字),确保输入来自真实活人。

3. 表情识别技术原理
表情识别旨在从人脸判断情绪状态,主要分为离散基本表情分类(如高兴、悲伤、愤怒、恐惧、惊讶、厌恶、中性)和连续维度情感模型(效价-唤醒度-支配度, VAD)回归。
3.1 静态图像表情识别
基于对齐后人脸区域,直接用 CNN 进行端到端学习。代表性技术包括:
经典 CNN 架构
VGG、ResNet、MobileNet 等,通过 softmax 输出 7 类表情概率。
注意力机制
针对表情关键区域(眼、嘴)引导网络关注,如 CBAM、空间变换网络 (STN) 结合局部区域裁剪,消除背景和遮挡干扰。
抑制标签噪声
数据集常存在标注不一致问题。SCN (Self-Cure Network) 通过自注意力重要性加权,对低置信度样本降权或重新标注,提升鲁棒性。
多模态与多任务
融合人脸关键点、头部姿态等信息,或与 AU 检测联合训练,利用动作单元监督信号增强表情判别。
3.2 基于动作单元 (Action Unit, AU) 的方法
根据 FACS (面部行为编码系统),任何表情都可分解为若干 AU 的组合(如 AU4: 眉毛下压,AU12: 嘴角拉伸)。系统先检测 AU 强度或有无,再基于规则或分类器映射到具体表情。这种方法可解释性强,但 AU 标注成本极高,近年主流更多采用端到端 CNN。
3.3 视频动态表情识别
利用时序信息捕捉表情的起始-巅峰-消退过程。常用:
CNN+LSTM/GRU
CNN 逐帧提取特征,循环网络建模时间演化。
3D CNN (C3D, R3D)
同时提取空间和时间维度的特征。
Two-Stream 网络
分别处理空间流(单帧)和时间流(光流或帧差),后期融合。
自监督预训练与 Transformer 时序建模也逐渐应用于此。

4. 属性分析技术原理
人脸属性分析要求对同一张脸同时预测多个独立或相关的属性标签,如性别、年龄、种族、是否佩戴眼镜、口罩、胡须、表情(若尚未单列)等。本质是多任务、多标签学习。
4.1 网络架构
通常采用共享主干 + 多头分支设计:
共享骨干
如 ResNet、MobileNetV3、EfficientNet 等,负责提取通用人脸表征。
独立预测头
每个属性拥有自己的全连接层(或若干层),从共享特征中解耦出任务相关信号。如性别二分类头、年龄头、眼镜二分类头等。多任务联合训练可使不同任务相互正则化,提升泛化能力。
4.2 年龄估计的特殊处理
年龄预测看似是回归问题,但直接用 L2 回归误差较大。主要方法:
分类+期望值 (DEX, Deep Expectation)
将年龄分段(0-100岁每个年龄一个类别),做 softmax 分类,最后对分类概率和对应年龄求期望作为最终预测值。这捕获了年龄的模糊和有序性。
有序回归 (Ordinal Regression)
针对“年龄是否大于 k 岁”训练多个二分类器,保持年龄顺序约束。
标签分布学习
将年龄真值转化为高斯分布标签,让网络学习该分布,缓解标注不准和外表年龄差异问题(“看起来多少岁”)。
4.3 其他属性
性别、眼镜、口罩
标准的二分类交叉熵。
种族/人种
多分类,但需注意伦理合规与数据偏差。训练时常结合公平性约束。
多属性融合
一些方法利用图卷积网络 (GCN) 建模属性间的相关性(如“女性”与“不蓄胡须”相关)以提升准确性。
5. 三者的统一与多任务协同
在实际工程中,身份特征强调个体差异、排斥属性与表情带来的类内变化;表情和属性特征则需要对个体身份保持不变性。因此高性能系统通常分治:
身份识别使用专有的、强判别损失训练的特征提取器,追求身份内聚、身份间分离。
表情与属性可以共用一个主干网络(多任务学习),但与身份特征往往是独立或部分解耦的,因为将身份与属性完全共享会互相损害精度。某些方案通过特征解缠(如对抗训练去除身份信息)来单独提取表情或属性成分。
免责声明
本文章来源于网络,主要目的在于分享信息,让更多人获取需要的资讯,版权归原作者所有,如有侵犯您的权益或版权请及时告知我们,我们将在24小时内删除。
