幽灵学院

深度解析人脸识别核心技术

2019-01-10 15:12 来源:网络整理 编辑:幽灵学院  人气:   评论一下

随着大数据时代的到来,“人脸”也将成为数据的一部分,人脸识别如何实现?本文将为大家从人脸检测、人脸定位、人脸校准以及人脸对比等方面详细阐述人脸识别的原理与实现方式。

随着计算机技术以及光学成像技术的发展,集成了人工智能、机器学习、视频图像处理等技术的人脸识别技术也逐渐成熟。未来五年,我国人脸识别市场规模平均复合增长率将达到25%,到2021年人脸识别市场规模将达到51亿元左右,具有巨大的市场需求与前景。

安防、金融是人脸识别切入细分行业较深的两个领域,移动智能硬件终端成为人脸识别新的快速增长点。因此,这三大领域将是人脸识别快速增长的最大驱动力。

深度解析人脸识别核心技术

2017年,我国安防行业总产值达到6200亿,同比增长16.98%,维持强劲发展势头。从细分产业来看,视频监控是构建安防系统中的核心,在中国的安防产业中所占市场份额最大。而人脸识别在视频监控领域具有相当的优势,应用前景广阔。

深度解析人脸识别核心技术

市面上的人脸识别解决方案也越来越多,但在系统框架上基本大同小异,大体框架如下图所示:

深度解析人脸识别核心技术

接下来对人脸识别算法各技术点逐一进行详细介绍,包括人脸检测、人脸定位、人脸校准、人脸比对、人脸反欺诈以及算法优化等。

人脸检测

人脸检测算法繁多,我们采用由粗到精的高效方式,即先用计算量小的特征快速过滤大量非人脸窗口图像,然后用复杂特征筛选人脸。这种方式能快速且高精度的检测出正脸(人脸旋转不超过45度)。该步骤旨在选取最佳候选框,减小非人脸区域的处理,从而减小后续人脸校准及比对的计算量。

深度解析人脸识别核心技术

以下为人脸检测算法的初始化接口, 根据实际应用场景设置人脸的相关参数,包括最小人脸尺寸、搜索步长、金字塔缩放系数等:

人脸检测实测效果如下图所示:

深度解析人脸识别核心技术

在人脸检测领域比较权威的测试集FDDB上进行评测, 100误检时的召回率达到85.2%, 1000误检时的召回率达到89.3%。

深度解析人脸识别核心技术

人脸定位

面部特征点定位在人脸识别、表情识别、人脸动画等人脸分析任务中至关重要的一环。人脸定位算法需要选取若干个面部特征点,点越多越精细,但同时计算量也越大。兼顾精确度和效率,我们选用双眼中心点、鼻尖及嘴角五个特征点。经测试,它们在表情、姿态、肤色等差异上均表现出很好的鲁棒性。

人脸定位接口程序如下所示,需要先加载预先训练好的模型,再进行定位检测:

深度解析人脸识别核心技术

人脸定位程序的效果如下所示:

深度解析人脸识别核心技术

本算法在AFLW数据集上的定位误差及与其他算法的对比情况:

深度解析人脸识别核心技术

人脸校准

本步骤目的是摆正人脸,将人脸置于图像中央,减小后续比对模型的计算压力,提升比对的精度。主要利用人脸定位获得的5个特征点(人脸的双眼、鼻尖及嘴角)获取仿射变换矩阵,通过仿射变换实现人脸的摆正。

目标图形以(x,y)为轴心顺时针旋转Θ弧度,变换矩阵为:

人脸校准C++代码可参考如下所示:

深度解析人脸识别核心技术

一般此步骤不建议使用外部库做变换,所以这里提供仿射变换python源码以供参考:

深度解析人脸识别核心技术

人脸校准的效果如图所示:

深度解析人脸识别核心技术

人脸比对

人脸比对和人脸身份认证的前提是需要提取人脸独有的特征点信息。在人脸校准之后可以利用深度神经网络,将输入的人脸进行特征提取。如将112×112×3的脸部图像提取256个浮点数据特征信息,并将其作为人脸的唯一标识。在注册阶段把256个浮点数据输入系统,而认证阶段则提取系统存储的数据与当前图像新生成的256个浮点数据进行比对最终得到人脸比对结果。

人脸比对流程的示意图如下所示:

深度解析人脸识别核心技术

通过神经网络算法得到的特征点示意图如下:

深度解析人脸识别核心技术

而人脸比对则是对256个浮点数据之间进行距离运算。计算方式常用的有两种,一种是欧式距离,一种是余弦距离。x,y向量欧式距离定义如下:

x,y向量之间余弦距离定义如下:

余弦距离或欧式距离越大,则两个特征值相似度越低,属于同一个人的可能性越小。如下图,他们的脸部差异值为0.4296 大于上文所说的该模型最佳阈值0.36,此时判断两人为不同的人,可见结果是正确的。

深度解析人脸识别核心技术

把归一化为-1到1的图像数据、特征点提取模型的参数还有人脸数据库输入到人脸比对的函数接口face_recgnition,即可得人脸认证结果。程序接口的简单调用方式如下所示:

深度解析人脸识别核心技术

人脸比对算法的准确率方面是以查准率为保证的,AUC (Area under curve)=0.998,ROC曲线图如下所示:

深度解析人脸识别核心技术

我们设计的比对模型主要特点是模型参数少、计算量少并能保证高的准确率,一定程度上适合在嵌入端进行布置。对比其他人脸比对模型差异如下表格所示:

深度解析人脸识别核心技术

深度解析人脸识别核心技术

far@1e-3表示将反例判定为正例的概率控制在千分之一以下时,模型仍能保持的准确率;

dlib在实际测试中,存在detector检测不出人脸的情况,导致最终效果与官网上有一定差异;

resnet-18为pytorch的playground标准模型;

lfw/agedb_30/cfp_ff为标准人脸比对测试库,测试过程中图片已经过人脸居中处理。

人脸反欺诈
[提醒] 除特别声明外,该内容由( )发布,转载请保留文章出处!
  •  我顶 
  • 点击
  • 收藏