目录
1. 概述
2. 人脸检测
3. 人脸跟踪
4. 质量评价
5. 活体检测
6. 特征提取
7. 人脸验证
8. 人脸辨识
1. 概述
人脸识别在我们的生活中随处可见,例如在大楼门禁系统中,它取代了传统的门禁卡或密码,提高了进出的便捷性和安全性。在商场安保方面,人脸识别被广泛应用于监控系统,有助于识别和跟踪潜在的犯罪嫌疑人或失踪人员,提升了安全防范的能力。另外,手机解锁也是人脸识别技术的重要应用之一,它为用户提供了一种快捷、便利的身份验证方式,替代了传统的密码或指纹识别。
人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术,主要用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行识别的一系列相关技术。可以集成到产品或系统中,实现基于人脸识别的身份管理、人证核验等功能,可应用于智慧金融、智慧安防等场景。
人脸识别算法主要涉及人脸图像采集、人脸检测、人脸跟踪、活体检测、人脸图像质量评价、人脸特征提取与比对等一系列技术。
2. 人脸检测
通过摄像头采集到的人脸图像,除了人脸部分之外还包含大量的背景信息,需要经过人脸检测算法获得人脸在图像中位置和角度等信息,并经过相似变换得到规范化的人脸图像后才能使用识别算法提取人脸特征和比对。
因为人脸可能出现在图像中任意位置且具有任意大小,人脸检测算法需要对所有的位置和大小进行判断。
人脸检测算法的输入是一张图片,输出是人脸框坐标序列(0个人脸框或1个人脸框或多个人脸框)。一般情况下,输出的人脸坐标框为一个正朝上的正方形。
常见的人脸检测算法基本是一个“扫描”加“判别”的过程,即算法在图像范围内扫描,再逐个判定候选区域是否是人脸的过程。因此人脸检测算法的计算速度会跟图像尺寸、图像内容相关。开发过程中,我们可以通过设置“输入图像尺寸”、或“最小脸尺寸限制”、或“人脸数量上限”的方式来加速算法。
3. 人脸跟踪
在视频中,从检测到人脸帧开始 ,在连续的后续帧中,对目标人脸的运动轨迹和轮廓变化进行持续分析与跟踪。在跟踪过程中,需要用唯一的编号来区分每个被跟踪的人脸,这个编号称为PID。
在连续的视频帧中,当一个人进入视频画面直到离开,其PID不变,通过PID来标识同一个人,只需做一次人脸识别,从而有效提高人脸识别的效率,节省设备算力。
4. 质量评价
人脸识别系统对输入的人脸图像的质量非常敏感,当输入的人脸图像出现光照变化、脸部旋转、画面模糊、表情夸张等情况时,其识别率会显著下降。低质量的人脸图像可能是引起人脸识别系统匹配错误的主要原因,也直接导致了很多系统无法在实际中使用。
因此,需要在人脸图像检测阶段,建立一个对人脸图像质量的评价机制,通过评价结果对采集到的人脸图像进行筛选,当图像质量高于一定阈值时才会被送到识别系统中进行识别,否则图像将被丢弃,不做处理。
《GB ∕ T 41772-2022 信息技术 生物特征识别 人脸识别系统技术要求》给出了人脸图像质量评价标准如下表所示。
项目 | 要求 | |||
注册人脸样本 | 配合式待识别样本 | 非配合式待识别样本 | ||
人脸大小 | 两眼瞳间距 | ≥ 60像素 | ≥ 55像素 | ≥ 40像素 |
清晰度 | 高斯模糊 | <0.24 | <0.25 | <0.30 |
运动模糊 | <0.15 | <0.20 | <0.26 | |
拉普拉斯方差 | ≥ 500 | ≥ 350 | ≥ 200 | |
姿态 | 水平转动角 | -10° ~ 10° | -20° ~ 20° | -45° ~ 45° |
俯仰角 | -10° ~ 10° | -15° ~ 15° | -20° ~25° | |
倾斜角 | -10° ~ 10° | -15° ~ 15° | -25° ~25° | |
完整度 | 几何失真 | ≤ 5% | ≤ 10% | ≤ 15% |
眉毛可见度 | 100% | ≥ 90% | ≥ 75% | |
眼睛可见度 | 100% | 100% | 100% | |
鼻子可见度 | 100% | ≥ 95% | ≥ 85% | |
嘴巴可见度 | 100% | 100% | 100% | |
面颊皮肤可见度 | 100% | ≥ 85% | ≥ 75% | |
保真度 | 化妆和修图情况 | 未化妆修图 | 未化妆修图 | 未化妆修图 |
光照 | 均匀性 | 无光斑和阴阳脸 | 无光斑和阴阳脸 | 无光斑和阴阳脸 |
整体亮暗 | 无过曝和欠曝 | 无过曝和欠曝 | 无过曝和欠曝 | |
灰度级 | 256级 | 256级 | 256级 | |
灰度动态范围 (85~200灰度值占比) | > 95% | > 90% | > 80% | |
表情 | 表情类别 | 中性 | 中性或微笑 | 中性或微笑 |
眼睛睁闭 | 自然睁开 | 自然睁开 | 自然睁开 | |
嘴巴张合 | 自然闭合 | 自然闭合或微笑 | 自然闭合或微笑 |
5. 活体检测
活体检测是判断人脸图像是来自真人还是来自攻击假体(照片、视频等)的方法。
人脸识别系统存在被伪造攻击的风险。因此需要在人脸识别系统中加入活体检测,验证用户是否为真实活体本人操作,以防止照片、视频、以及三维模型的入侵,从而帮助用户甄别欺诈行为,保障用户的利益。
活体检测分为静默活体检测和配合式活体检测。配合式活体检测即“张张嘴”、“眨眨眼”、“摇摇头”之类;多应用于APP刷脸登录、注册等。静默活体检测是不需要任何动作配合,通过算法和摄像头的配合,进行活体判定;使用起来非常方便,用户在无感的情况下就可以通过检测比对,效率非常高。
《GB∕T 41772-2022 信息技术 生物特征识别 人脸识别系统技术要求》给出了假体攻击类型包括不限于二维假体攻击和三维假体攻击,如下表所示。
二维假体攻击 | 二维静态纸张图像攻击 | 样本材质 | 打印纸、亚光相纸、高光相纸、绒面相纸、哑粉纸、铜版纸等 |
样本质量 | 分辨率、清晰度、大小、角度、光照条件、完整度等 | ||
呈现方式 | 距离、角度、移动、弯曲、折叠等 | ||
裁剪方式 | 图像是否扣除眼部、鼻子、嘴巴等 | ||
二维静态电子图像攻击 | 设备类型 | 移动终端、微型计算机等 | |
设备显示性能 | 分辨率、亮度、对比度等 | ||
样本质量 | 分辨率、清晰度、大小、角度、光照条件、完整度等 | ||
呈现方式 | 距离、角度、移动等 | ||
二维动态图像攻击 | 图像类型 | 录制视频、合成视频等 | |
设备类型 | 移动终端、微型计算机等 | ||
设备显示性能 | 分辨率、亮度、对比度等 | ||
图像质量 | 分辨率、清晰度、帧率等 | ||
呈现方式 | 距离、角度、移动等 | ||
三维假体攻击 | 三维面具攻击 | 面具材质 | 塑料面具、三维纸张面具、硅胶面具等 |
呈现方式 | 距离、角度、移动等 | ||
光线条件 | 正常光、强光、弱光、逆光等 | ||
裁剪方式 | 面具是否扣除眼部、鼻子、嘴巴等 | ||
三维头模攻击 | 头模材质 | 泡沫、树脂、全彩砂岩、石英砂等 | |
呈现方式 | 距离、角度、移动等 | ||
光线条件 | 正常光、强光、弱光、逆光等 |
6. 特征提取
特征提取是将一张人脸图像转化为一串固定长度的数值的过程。这个数值串被称为人脸特征,具有表征这个人脸特点的能力。
特征提取过程的输入是 “一张人脸图”和“人脸五官关键点坐标”,输出是人脸相应的一个数值串(特征)。特征提取算法都会根据人脸五官关键点坐标将人脸对齐预定模式,然后计算特征。
目前主流的特征提取方法是基于深度学习,利用深度网络模型对海量的人脸图片进行学习,然后对输入图像提取出对区分不同人的脸有用的特征向量,代替人工设计的特征。通过特征向量在特征空间里进行比对,同一人的不同照片提取出的特征,在特征空间里距离较近,不同人的脸在特征空间里相距较远。
7. 人脸验证
人脸验证(Face Verification)是判定两个人脸图像是否为同一人的算法。
它的输入是两个人脸特征,通过人脸比对获得两个人脸特征的相似度,通过与预设的阈值比较来验证这两个人脸特征是否属于同一人(即相似度大于阈值,为同一人;小于阈值为不同)。
8. 人脸辨识
人脸辨识(Face Recognition)是识别出输入人脸图像对应身份的算法。
它的输入一个人脸特征,通过和注册在库中N个身份对应的特征进行逐个比对,找出“一个”与输入特征相似度最高的特征。将这个最高相似度值和预设的阈值相比较,如果大于阈值,则返回该特征对应的身份,否则返回“不在库中”。