datasheet

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

2019-01-09来源: EEWORLD 关键字:人脸识别

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

 

随着计算机技术以及光学成像技术的发展,集成了人工智能、机器学习、视频图像处理等技术的人脸识别技术也逐渐成熟。未来五年,我国人脸识别市场规模平均复合增长率将达到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为标准人脸比对测试库,测试过程中图片已经过人脸居中处理。

 

    人脸反欺诈

 

从技术角度来说,人脸是唯一不需要用户配合就可以采集的生物特征信息。人脸不同于指纹、掌纹、虹膜等,用户不愿意被采集信息就无法获得高质量的特征信息。人脸信息简单易得,而且质量还好,所以这引发了有关个人数据安全性的思考。而且在没有设计人脸反欺诈算法的人脸识别系统使用手机、ipad或是打印的图片等都能对轻松欺骗系统。

 

所以我们采用多传感器融合技术的方案,使用红外对管与图像传感器数据进行深度学习来判断是否存在欺诈。红外对管进行用户距离的判断,距离过近则怀疑欺诈行为。图像传感器用深度学习算法进行二分类,把正常用户行为与欺诈用户行为分为两类,对欺诈用户进行排除。

 

二分类算法能够有效抵抗一定距离的手机、ipad或是打印图片的欺诈攻击。对人脸欺诈数据集与普通人脸数据集预测如图所示:

 

 

本二分类算法在100万张图片中准确分类的概率为98.89%,所以并不会对整体系统的准确率进行影响,保障系统的可靠性。

 

    算法优化

 

在使用神经网络算法解决问题的时候,算法效率问题是必要的考量的。特别是在资源与算力不足的嵌入式端,更是头等大问题。除了依托TensorFlow、Keras等开源框架,根据其前向传播的原理写成C++程序,还有必要的编译优化外,模型权重参数的清洗和算法计算的向量化都是比较有效的手段。

 

1)        模型权重参数清洗

 

权重参数清洗对神经网络算法的效率影响相当大,没有进行清洗的权重参数访问与操作非常低效,与清洗后的权重参数相比往往能效率相差6-8倍。这差距在算力不足的嵌入式端非常明显,往往决定一个算法是否能落地。具体的方法就是先读取原模型进行重组,让参数变得紧凑且能在计算时连续访问计算,最后获得重组后的模型与对应的重组模型的计算方法。这个步骤需要一定的优化实践经验以达到满意的效果,对模型读取效率与运算效率都会有显著的提高。

 

2)        算法计算向量化

 

对于算法的向量化的做法就是让算法的计算能够使用向量乘加等运算,而特别是在使用神经网络算法情况下,大量的计算没有前后相关性且执行相类似的步骤,所以向量化计算会对算法有明显的提升,一般能把算法效率提升三倍左右。

 

使用NEON指令集的SIMD指令取代ARM通用的SISD指令,是一个常用的算法向量化方法。在基于ARMV7-A和ARMV7-R的体系架构上基本采用了NEON技术,ARMV8也支持并与ARMV7兼容。

 

以IMX6ULL芯片为例,可以通过查阅官方的参考手册查看其NEON相关信息:

 

 

下面举例说明普通的编程写法与NEON instrinsics编程、NEON assembly编程区别。以下为普通的编程写法:

 

 

以下为转化为NEON instrinsics的编程:

 

 

以为转为NEON assembly的编程:

 

 

一般NEON instrinsics已经能做到三倍的提速效果,而NEON assembly效果会更好一些。但是程序向量化需要特殊访存规则,如果不符合则会对导致提速效果大打折扣。

 

访存特征详细分类如表所示:

 

 

其中,无冗余饱和顺序模式是理想的访问模式,能够发挥算法计算向量化的效果。但是我们神经网络算法的最基本的卷积、全连接等计算却是冗余饱和非顺序模式的计算,这要如何解决呢?

 

查阅相关论文、期刊对这程序向量化非规则访存的研究,可以发现程序向量化有以下步骤:

 

 

如上图所示,需要对卷积、全连接等冗余饱和非顺序模式计算通过向量混洗为无冗余饱和顺序的模式,以达到优化的效果。

 

    人脸识别效果展示

 

基于PC的人脸识别展示demo如下视频所示:

 

 

我们的人脸识别算法已经成功移植到了cortex-a

[1] [2]

关键字:人脸识别

编辑:muyan 引用地址:http://www.eeworld.com.cn/IoT/2019/ic-news01094805.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:脸书扩增实境新技术让照片人物走出来
下一篇:最后一页

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

超越Face ID 新一代人脸识别技术即将问世

随着科技的发展,国家对互联网的重视开始变得日益增加。同样3D人脸识别技术的发展也受到了极大的关注。更多的用户群体开始渴望用一种更快捷、更方便的方法来进行身份的验证,而3D人脸识别技术将会成为下一代身份的证明。什么是3D人脸识别技术?所谓3D人脸识别技术就是从每个人脸上提取到不同的身份特征,通过与自身数据库的信息比对来识别每个人的身份。其实人脸识别技术的历史可追溯到19世纪,而中国在20世纪80年代开始对3D人脸识别技术进行研究,并得到了国家的大力支持。在2018年2月份,3D人脸识别技术正式在国内首发。可以说人脸识别技术在各个方面使用都十分广泛,可以应用到各大领域。比如我们上下班的考勤,甚至有些大学课堂打算利用人脸识别来进行上课
发表于 2019-01-04
超越Face ID 新一代人脸识别技术即将问世

AI假脸王生成!新一代GAN攻破几乎所有人脸识别系统

根据一篇针对计算机生成的假脸假视频DeepFake较为全面测评的论文,现有的先进人脸识别算法在面对计算机生成的假脸时基本束手无策,假脸生成算法和人脸识别军备竞赛已经开始。不过,目前还有些小技巧,可以帮你用肉眼来分辨计算机生成的假脸。2015年,现任教皇方济各 (Pope Francis) 访美,他是首次对美国进行正式访问的教皇,还将主持在美国领土上的首次封圣,并在国会发表演讲。时任美国总统和副总统的奥巴马及拜登,分别携各自的夫人,一起在美国安德鲁斯空军基地 (Andrews Air Force Base,也是总统机队“空军一号”的驻地) 迎接了教皇专机的降临。访问期间,方济各“一个出人意料之举”震惊了世界:只见他在向圣坛礼拜后
发表于 2018-12-29
AI假脸王生成!新一代GAN攻破几乎所有人脸识别系统

人脸识别、语音识别是人工智能应用最为人熟知的两个领域

人脸识别、语音识别是人工智能应用最为人熟知的两个领域。智能音箱、人脸门禁也已经走进不少人的生活。去年大火的无人货柜,则用到了“物品识别”技术。接下来,人工智能推广应用会怎么走?靠算法的不断提升吗? 海康威视高级副总裁徐习明说:“今天的人工智能还是一种弱人工智能。基于深度学习的算法精度会无限逼近100%,但永远无法达到。随着‘准确率’提升,最后竞争的更多是场景落地能力。” 码隆科技首席科学家黄伟林也认同这个说法。码隆科技是一家聚焦于“物品”图像识别的公司,无人货柜是其主要应用场景之一。“在物品识别领域,目前难点在于跟垂直领域内企业的需求不断磨合,这是一个长期的过程。一些场景,预想中觉得好做,但操作下来可能难度很大
发表于 2018-12-18

我们破解了几乎所有旗舰人脸识别,iPhone幸免于难

     今年 11 月,来自纽约大学的研究人员提出了一种可以生成‘万能指纹’的神经网络模型 MasterPrints,攻击手机指纹解锁的成功率最高可达 78%。而最近,福布斯的记者们决定使用 3D 打印技术攻击手机的人脸识别功能,在一通测试之后,他们发现石膏‘人脸’竟可以破解四种流行旗舰手机的 AI 人脸识别解锁功能,而 iPhone X 不为所动。  据介绍,测试中被‘假头’破解的手机包括 LG G7 ThinQ、三星 S9、三星 Note 8 和一加 6。  从商场到工作场所,人脸识别无处不在,好像我们的脸每天都在被扫描。但智能手机应该保护用户数据,使其免于泄露,而不是侵犯隐私。  如果你是一位
发表于 2018-12-18
我们破解了几乎所有旗舰人脸识别,iPhone幸免于难

以“王者荣耀”为试点的人脸识别技术,能否遍地开花?

2018年11月,腾讯表示强制公安实名校验按地区逐步扩大排查范围,以《王者荣耀》为试点,完成中国大陆地区的全部覆盖,有效解决未成年人防沉迷,并且人脸识别技术已渗透于其他领域。人脸识别技术拥有巨大的市场需求与广阔的应用前景,在国内已被应用于多个场景,如阿里的新零售、海康威视的智能安防、腾讯的《王者荣耀》以及百度的百度云网盘等。人脸识别技术在多个场景下的应用已取代了传统模式。AI人脸识别技术存在多种场景人脸识别技术以《王者荣耀》为开端,拉开了人脸识别技术大规模应用的序幕。但实际上在国内一些领域早已得到成功应用,并将继续深耕这些场景。其一AI人脸识别在新零售的应用,自2016年“新零售”概念提出来之后,对于企业和商家而言,是一个全新
发表于 2018-12-14

智能门锁选购九大避坑指南 不花冤枉钱不交智商税

。  面部识别,看似高级其实并不安全  在手机上大行其道的面部识别,放在当今的智能门锁上,实际就是在收取智商税。由于种种原因,现在的智能门锁暂时不能达到很高的运算水平,人体面部特征非常容易受到影响,面部识别也多是利用神经网络芯片(NPU)与软件算法结合进行分析,这样才能达到支付级别的安全。  不过毕竟大多数智能门锁厂商的能力还比较有限,无论是面部解锁扫描的特征点数量、密集程度、角度、以及处理速度,都和现在的智能手机存在较大差距,安全性更是完全不在同一个级别。从使用体验上来讲,也有很多“盯着看了半天就是不开门”的情况,所以面部识别的智能门锁,还是别买了。  机电结构的选材其实非常重要,不能只看漂亮  智能门锁本体上还是要以安全性为主,关键的选材
发表于 2018-12-07
智能门锁选购九大避坑指南 不花冤枉钱不交智商税

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved
pt type="text/javascript" src="//v3.jiathis.com/code/jia.js?uid=2113614" charset="utf-8">