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

发布者:NexusDream最新更新时间:2019-01-09 关键字:人脸识别 手机看文章 扫描二维码
随时随地手机看文章

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

 

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

 

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

 

 

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

 

 

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

 

 

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

 

  1. 人脸检测

 

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

 

 

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

 

 

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

 

E:\project\face\人脸识别任务\微信文章\face_detect.jpg

 

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

 

E:\project\face\人脸识别任务\微信文章\微信文章素材\detection_recall.PNG

 

  1. 人脸定位

 

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

 

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

 

 

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

 

 

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

 

E:\project\face\人脸识别任务\微信文章\face_landmark.jpg

 

  1. 人脸校准

 

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

 

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

 

 

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

 

 

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

 

 

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

 

temp

 

  1. 人脸比对

 

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

 

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

 

E:\project\face\人脸识别任务\微信文章\捕获.PNG

 

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

 

temp

 

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

 

https://gss2.bdstatic.com/9fo3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D469/sign=2bee509a5582b2b7a39f38c208accb0a/ae51f3deb48f8c541e440db136292df5e1fe7f9d.jpg

 

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

 

https://gss0.bdstatic.com/94o3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D394/sign=20b5db49b7a1cd1101b674298d13c8b0/ac4bd11373f0820282c6ae4646fbfbedab641b76.jpg

 

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

 

temp2

 

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

 

 

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

 

 

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


image.png


 

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

 

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

 

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

 

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

 

  1. 人脸反欺诈

 

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

 

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

 

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

 

E:\project\face\人脸识别任务\微信文章\anti-face-spoofing1.PNG

 

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

 

  1. 算法优化

 

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

 

1)        模型权重参数清洗

 

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

 

2)        算法计算向量化

 

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

 

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

 

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

 

E:\project\face\人脸识别任务\微信文章\neon.PNG

 

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

 

 

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

 

 

以为转为NEON assembly的编程:

 

 

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

 

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

 

 

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

 

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

 

 

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

 

  1. 人脸识别效果展示

 

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

 

 

我们的人脸识别算法已经成功移植到了cortex-a7的EPC-6Y2C-L平台,并已经进行了一定的优化,后面会进行进一步的优化。人脸检测效率为166ms左右,人脸定位效率为125ms左右,人脸比对的效率为493ms左右,合计人脸识别总耗时788.3ms左右。下面是在EPC-6Y2C-L的实测效果:

 

E:\project\face\人脸识别任务\微信文章\6y2c_face.PNG

 

最后附上EPC-6Y2C-L产品图片:

 

E:\project\face\人脸识别任务\微信文章\EPC-6Y2C-L.png

 

  1. 关于算法库获取

 

关于算法库可以咨询周立功单片机有限公司或广州致远电子有限公司的人员获取。


关键字:人脸识别 引用地址:深度解析人脸识别核心技术

上一篇:脸书扩增实境新技术让照片人物走出来
下一篇:PK科技巨头,中星微从拿下AI人脸检测标杆性比赛全球第一

推荐阅读最新更新时间:2024-03-30 23:57

被iPhoneX相中 3D人脸识别将成未来趋势?
苹果发布会终于于北京时间13日凌晨解析了,与此前意料不同的是许多关于iphone 8的新设想都在苹果十周年纪念款——iphone X上进行了实现,包括OLED屏,人脸识别功能等。虽然换了个名字,但被炒了这么久的新功能总算面世了!   iphoneX顶部结构图     iphoneX启用全新的FaceID,通过红外发射器将会人脸上散布无数的红外点,传感器读取这些红外点反射回来的深度信息,系统就能够扫描出人脸的结构。红外线是不可见光,人的肉眼是无法捕捉到的,但红外接收器无论是在暗处还是在亮处都能完整地接收红外线,在设置FaceID过程中,用户需将脸部置于手机屏幕中的圆圈范围内,然后就像设置TouchID那样,确保脸的所有角度都能被设
[安防电子]
250万用户数据泄露,拿什么来保护我们的个人信息?
人脸识别,在国内 安防 是最为火热的产业,基于人脸识别系统,公安用户可以在视频中数百人脸中快速定位到指定的人物,基于摄像机中的GPS和螺旋仪,可以快速了解指定人物所在地点,而多个摄像机的联动,则能快速把指定人物的行走轨迹显示在公安用户的显示终端上,从而让公安用户能快速实行后续行动。 但对于人脸识别来说,其用户不仅仅是公安,于此同时还有支付宝、微信等,基于人脸识别的支付模式也已经应用在各手机终端中。 每一个人的面部信息都不一样,哪怕是双胞胎,在视频的识别中,均能发现其中的不同点,并进行区分,可以毫不夸张的说,人脸识别系统,是目前安全等级最高的“密匙”。 “脸”丢了? 作为最后的“密匙”,当“密匙”数据泄露,会造成什么后果? 个人
[安防电子]
250万用户数据泄露,拿什么来保护我们的个人信息?
人脸识别跨界应用 未来发展网络化凸显
据弗若斯特沙利文公司的最新分析发现,2011年生物识别技术市场收入达5亿美元,预计到2016年,将以12.6%的年复合增长率增长,达到9.05亿美元。生物特征识别技术具不易遗忘、防伪性能好、不易伪造或被盗、随身“携带”和随时随地可用等优点。生物识别技术具有独一无二性,那么其技术市场发展现状如何?     生物特征识别技术的应用现状     从市场应用的角度而言,对于指纹、虹膜、人脸、声音等几种生物特征识别技术,它们的目标市场基本重合,因此存在相互竞争关系,根据国际生物识别集团(IBG)最新权威报告《生物识别市场与产业报告2009-2014》显示,在各种生物特征识别技术中,自动指纹识别系统(AFIS)和实时扫描所占份额最大,
[安防电子]
人脸识别+硬件”:Firefly推出可商业化的产品方案
Firefly 系列行业主板一直以强大处理能力和精美的 硬件 工艺著称。为了发挥主板的高运算性能,Firefly将其应用到人工智能领域,并推出“ 人脸识别 +硬件”的解决方案。借助硬件平台,可让人工智能产品化提供无限可能,加快项目落地。   无需联网,运行在本地的成熟算法 Firefly人脸识别是专为ARM架构的CPU进行深度优化,无需远端服务器支持,在本地可高效完成图像检测、提取、对比工作,让前端设备效率更高,更可靠。人脸识别的识别率达到99%、小于0.5秒比对速度、并支持多人同时识别。     开放完整的“人脸识别+硬件”的SDK Firefly提供了与硬件紧紧相关的软件开发包,包括了Linux与Android操作系统的源
[嵌入式]
欧司朗推出其首款VCSEL激光器 定义人脸识别全新标准
据麦姆斯咨询报道,欧司朗光电半导体推出其首款垂直腔表面发射激光器(Vertical Cavity Surface Emitting Laser,简称VCSEL)新产品Bidos PLPVQ 940A系列。该系列产品主要针对包括3D传感在内的新应用领域,是欧司朗新增产品组合中的又一项未来技术。在收购美国专业公司Vixar后不久,欧司朗凭借VCSEL技术逐步建立了多项新行业标准,手机的人脸识别技术是其中之一。 VCSEL作为光源,其发射的红外光可均匀地照亮面部,随即摄像头可捕捉用户面部重要特征。所拍摄的图像与预先存储在系统中的用户图像做对比——两者匹配后设备解锁。VCSEL结合了两种照明技术的显著优势——既有IRED的高功率密度和简单
[安防电子]
为隐私研发“反人脸识别技术”, 让所有人戴上“看不见的面具”
除非你时时刻刻都带着一个面具,否则你就几乎不可能完全避开别人的镜头以及人脸识别技术。这不仅仅涉及到隐私问题,这也给那些为客户提供个人数据保护服务的公司带来了潜在的责任压力。 D-ID是一家创业公司,刚加入了美国著名孵化器YCombinator。D-ID的意思代表着“去识别化”。想通过图像处理工具来解决这个问题,这么一来,就能够在图片看起来与原始图像相差无几的情况下干扰人脸识别技术。 Perry说:“在安全部门公职人员非常关注人脸识别技术的时候,我们就开始考虑这个问题。现在,这个问题需要引起我们每一个人的关注。如今的街道都覆盖了摄像头。我们每个人都携带着智能手机。我们一直都在被拍照。当把这些摄像头和人脸识别技术相结合的时候,我们的隐
[安防电子]
公共安全日益受重视 生物识别市场具潜力
  随着继2008年奥运会在北京成功举办之后,即将到来的上海世博会和广州亚运会再一次吸引所有人的目光。而大型集会的安防工作同样令人关注。       专家介绍,人脸识别是一种基于人的脸部特征信息进行身份认证的生物特征识别技术。近年来,随着欧美发达国家人脸识别技术开始进入实用阶段后,人脸识别迅速成为近年来全球的一个市场热点。其最符合人类习惯、最自然、非接触等特点,使其在欧美国家的多种应用中大受欢迎。       但人脸识别对中国公众来说还是一个相对陌生的名词。在中国生物识别市场,指纹识别应用占据的市场份额超过90%,这与欧美国家生物识别技术应用的大趋势有较大差距。       业内专家指出,人脸识别的全面应用时代已经到来
[安防电子]
宏碁TravelMate P6评测:性能强悍的商务笔记本
对于商务笔记本来说,什么才是最重要的?换言之,我们对一台商务笔记本的考量维度应该有哪些?    笔者认为,安全、续航、接口、性能都应该作为硬性指标特别关注。    我们今天要聊的就是一款来自Acer的TravelMate P6商务笔记本,TravelMate P6定位专业旗舰,除了拥有稳重、大气的外观,它在上述的安全、续航、接口扩展以及硬件性能等方面都有非常不错的表现。    Acer TravelMate P6的优缺点如下: 优点: 1、续航时间长; 2、拥有指纹、 人脸识别 双重保障; 3、轻,裸机仅重1.1kg。 缺点: 电池没有固定螺丝。 01 安全性 作为商务人士的生产力工具,笔记本中存放的
[嵌入式]
宏碁TravelMate P6评测:性能强悍的商务笔记本
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新物联网文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved