人脸识别技术确实不是直接识别和比对比“脸”这个整体图像本身。它真正识别和比对的是一系列高度抽象的、代表面部独特结构的数学特征(通常表示为一个特征向量)。这个过程可以分解如下:
人脸检测与定位: 首先,系统在图像或视频中找到人脸的位置和范围。
预处理: 对检测到的人脸区域进行标准化处理,例如:
- 校正姿态(旋转、倾斜)。
- 调整大小到统一尺度。
- 光照归一化(减少光线变化的影响)。
- 有时会进行关键点定位(如眼睛、鼻子、嘴角的位置)。
特征提取: 这是
最核心的一步。算法会分析预处理后的人脸图像,提取出一组能够区分不同个体的、最具判别性的特征。这些特征不是我们肉眼直观理解的“眼睛”、“鼻子”等,而是:
- 深度学习的“特征向量”: 现代人脸识别主要基于深度学习(尤其是卷积神经网络 - CNN)。网络经过海量人脸数据训练后,其深层神经元会学习到一系列高度抽象的特征。当一张人脸图像输入网络后,网络最终会输出一个固定长度的数字向量(例如 128 维、512 维等),这个向量被称为特征向量或嵌入。
- 这个特征向量的含义: 这个向量中的每个数值本身没有直接的物理意义(比如不是明确代表鼻子的高度或眼睛的颜色),但它代表了这张人脸在由网络学习到的“人脸特征空间”中的位置或坐标。这个空间是神经网络通过学习发现的、能最好地区分不同人的数学空间。相似的人脸在这个空间中的位置会彼此靠近。
- 与传统特征的区别: 早期方法可能使用手工设计的特征,如几何特征(关键点之间的距离、角度)、纹理特征(如 LBP, HOG 描述局部纹理)。但这些特征通常不如深度学习方法学习到的特征鲁棒和具有判别力。
特征比对: 系统不会存储原始的人脸图片进行比对。它存储的是每个注册用户的
特征向量。
- 当需要进行识别或验证时,系统会提取待识别人脸的特征向量。
- 然后将这个待识别的特征向量与数据库中存储的所有特征向量进行相似度计算(常用方法包括计算欧氏距离或余弦相似度)。
- 相似度最高的那个(或多个)向量所对应的身份,就是识别的结果(1:N 识别),或者判断待识别向量与声称身份的向量是否足够相似(1:1 验证)。
总结来说,人脸识别技术真正识别和比对的是:
- 深度学习网络提取的、代表个体面部独特结构的、固定维度的数学向量(特征向量/嵌入)。
- 这个向量将人脸信息高度压缩并转换到一个抽象的数学空间中。
- 比对就是计算这些特征向量在数学空间中的“距离”或“相似度”。
关键点:
- 抽象性: 特征向量是抽象的数学表示,不是像素图片。
- 判别性: 特征被设计/学习成能够最大程度区分不同个体。
- 鲁棒性: 好的特征应对光照、姿态、表情、遮挡、年龄等变化具有一定的稳定性。
- 隐私考量: 存储特征向量(而非原始图像)本身是一种隐私保护设计,因为理论上无法直接从向量还原出清晰的人脸图像(尽管存在模型反演等攻击研究的风险)。
因此,人脸识别技术的核心在于将物理世界的人脸转化为数学世界的特征向量,并在向量空间中进行高效的比对。