其他

科技前沿 | 今天来刷个脸吧^_^

2017-05-05 电子伊甸园 北航MrE

你今天刷脸了吗?我们当今的社会仿佛逐渐从刷卡的时代变为刷脸的时代。刷脸登录,刷脸支付,刷脸签到……

你见过怎样的刷脸?

这样?


 

又或是这样?


  

今天我们就来聊聊这脸怎么个刷法!



其实人家刷脸叫人脸识别好吧!!!!


那么什么是刷……啊呸!人脸识别呢?


人脸识别


一个完整的人脸识别系统,可以在含有人脸的图片或视频流中自动检测和跟踪人脸,进而达到识别目的,通常也叫做人像识别、面部识别。总的来说,人脸识别系统可以大致分为以下四个部分:首先,检测人脸在哪里。其次,定位人脸和各个部位。第三,人脸特征的匹配与识别。最后,人脸属性的识别。





人脸识别的发展现状


随着机器学习和深度神经网络两个领域的迅速发展以及智能设备的普及,「面部识别」技术正在经历前所未有的发展。Facebook 早在2010年就开始了面部识别领域的布局;Google接连大手笔收购多家人脸识别公司;国内的互联网巨头和创业公司们也在不同程度上针对「面部识别」技术进行着相应的探索。




的确,「人脸识别」技术有着十分广泛的应用范围和落地场景。但值得注意的是,过高的技术门槛和相关人才的缺失成为了其发展的最大短板。以国内为例,有关「人脸识别」的最核心技术和人才基本集中于 BAT 这样的科技巨头手中,而巨头们出于自身生态和战略的考虑都对相关技术进行着有限开放和相对封闭的上层领域开发;而技术能力相对较弱的中小团队只能凭借着不断的摸索从小的领域寻找突破口。此外,由于关键技术的封闭,在现实应用领域,光线、角度等因素仍对识别结果有着一定的影响,识别结果的精确度和安全性仍有很大的提高空间。




同样,有关「人脸识别」所涉及的隐私问题也一直备受争议。此前,Facebook 因为未经用户允许而私自储存和使用用户的「人脸识别」数据而饱受诟病;而 Google 则因隐私政策和舆论压力而禁止 Glass App 使用「人脸识别」功能。这是涉及到用户个人信息安全的共性问题,一方面需要企业合开发者们有过硬的技术实力来保证用户数据安全,同时对用户数据在征得同意的情况下进行合理使用;另一方面也需要对相关用户市场进行针对性教育。

关于「人脸识别」,可以预计的是一个不断上升的发展空间和愈加丰富的应用场景,但要真正实现技术落地和生态打通还需要行业各环节的相互配合。




人脸识别技术之识别和校准


人脸识别是一项十分复杂的技术,在这里我们简要介绍一些简单的技术。



什么是人脸识别和校准?

人脸识别(Detection)就是一种分类器,通俗讲就是在所给图像中进行检测,将检测到的东西分为两类:是脸和不是脸。例如在OpenCV中就有基于Viola-Jones的haar分类器。

人脸校准(Alignment)就是给一张脸的图想,找出这张脸的特征点位置。例如:眼睛、鼻孔下侧等。




在上图中,红框就是在做人脸识别,白点就是在做人脸校准。



怎样进行人脸识别?


有学者建立了一个分类器(名为post classifier),方法为:


1.样本准备:该学者首先利用OpenCV的Viola-Jones分类器检测出很多人脸的图像;


2.特征提取:在样本准备结束后,就是提取人脸特征。该学者采用了如下三种方法提取人脸特征:

a、把Windows划分成6*6个小Windows,分别提取这36   个小Windows的特征向量,然后将这36个特征向量连接,形成人脸图像的特征;

b、先求出一个固定的脸的平均shape(27个特征点的位置,比如鼻孔下面等),然后以这27个特征点为中心提取特征向量,然后连接这些特征向量作为人脸图像的特征向量;

c、利用成果Face Alignment at 3000 FPS via Regressing Local Binary Features (CVPR14) ,回归出每张脸的shape,然后再以每张脸的27个shape points作为中心做变换,得到特征向量;


3.分类:将提取出的特征放到线性SVM(支持向量机)中做分类,训练出一个可以识别人脸的SVM模型。



人脸检测和校准模型


1、级联检测分类器:一个简单的级联分类器是这样的:




让特征向量通过每一个小的分类器Ci,每一级分类器输出结果fn会存在一个阈值,超过这个阈值的就淘汰掉,通常不是人脸的图片在前几级就被过滤掉,处理速度会很快。


2、级联回归校准:给图像一个初始shape,然后利用回方法将shape回归到正确的地方。(可参考文章:Cascaded Pose Regression (CVPR10))

那么怎样进行回归处理呢?

首先先进行特征向量的提取,然后根据特征向量训练回归函数(可用线性回归、CART、随机森林Bagging等),然后根据初始shape回归出偏移量,让原始shape加上这一偏移量,反复这个过程,直到达到shape收敛。




人脸识别技术的研究成果


1.Deepface


Facebook的DeepFace这篇论文早于DeepID和FaceNet,但其所使用的方法在后面的论文中都有体现,可谓是早期的奠基之作。

Deepface人脸识别的基本流程是:1.detect; 2.aligh; 3.represent; 4.classify


人脸对齐流程:



a. 人脸检测,使用6个基点

b. 二维剪切,将人脸部分裁剪出来

c. 67个基点,然后Delaunay三角化,在轮廓处添加三角形来避免不连续

d. 将三角化后的人脸转换成3D形状

e. 三角化后的人脸变为有深度的3D三角网

f. 将三角网做偏转,使人脸的正面朝前。

g. 最后放正的人脸

h. 一个新角度的人脸


DeepFace与之后的方法的最大的不同点在于,DeepFace在训练神经网络前,使用了对齐方法。论文认为神经网络能够work的原因在于一旦人脸经过对齐后,人脸区域的特征就固定在某些像素上了,此时,可以用卷积神经网络来学习特征。


针对同样的问题,DeepID和FaceNet并没有对齐,DeepID的解决方案是将一个人脸切成很多部分,每个部分都训练一个模型,然后模型聚合。FaceNet则是没有考虑这一点,直接以数据量大和特殊的目标函数取胜。

(论文阅读:

http://ieeexplore.ieee.org/document/6909616/)


2.FaceNet


随着深度学习的出现,CV领域突破很多,甚至掀起了一股CV界的创业浪潮,当次风口浪尖之时,Google岂能缺席。特贡献出FaceNet再次刷新LFW上人脸验证的效果记录。


与其他的深度学习方法在人脸上的应用不同,FaceNet并没有用传统的softmax的方式去进行分类学习,然后抽取其中某一层作为特征,而是直接进行端对端学习一个从图像到欧式空间的编码方法,然后基于这个编码再做人脸识别、人脸验证和人脸聚类等。


FaceNet并没有像DeepFace和DeepID那样需要对齐。


FaceNet得到最终表示后不用像DeepID那样需要再训练模型进行分类,直接计算距离就好了,简单而有效。

(论文阅读:

http://www.tcvpr.com/archives/261)


3.DeepID


DeepID所应用的领域是人脸识别的子领域——人脸验证,就是判断两张图片是不是同一个人。人脸验证问题很容易就可以转成人脸识别问题,人脸识别就是多次人脸验证。


DeepID

DeepID是第一代,其结构与普通的卷积神经网络差不多。DeepID自身的分类错误率在40%到60%之间震荡,虽然较高,但DeepID是用来学特征的,并不需要要关注自身分类错误率。随着DeepID的训练集人数的增长,DeepID本身的分类正确率和LFW的验证正确率都在增加。


DeepID2

DeepID2相对于DeepID有了较大的提高。其主要原因在于在DeepID的基础上添加了验证信号。


DeepID2+

DeepID2+有如下贡献,第一点是继续更改了网络结构;第二点是对卷积神经网络进行了大量的分析,发现了几大特征,包括:

a、神经单元的适度稀疏性,该性质甚至可以保证即便经过二值化后,仍然可以达到较好的识别效果;

b、高层的神经单元对人比较敏感,即对同一个人的头像来说,总有一些单元处于一直激活或者一直抑制的状态;

c、DeepID2+的输出对遮挡非常鲁棒。经过实验得到的结果是DeepID2+平均比DeepID2提高2%。



这是Youtube上对Google Vision API中人脸识别技术进行介绍的高浏览量视频:


https://v.qq.com/txp/iframe/player.html?vid=o1317mudhse&width=500&height=375&auto=0


编译来源:

1、http://dataunion.org/17080.html

2、http://dataunion.org/19866.html

3、http://dataunion.org/14010.html

4、http://blog.csdn.net/stdcoutzyx/article/details/42091205 

5、http://blog.csdn.net/stdcoutzyx/article/details/46687471 ;

6、http://dataunion.org/20010.html


作者

白玉晶 徐佩奇 赵永成


本文转载自

电子伊甸园


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存