DeepID2+人脸识别算法学习

DeepID2+在DeepID2的基础上,继续对网络结构做了修改,同时增加了对卷积圣经网络的分析,发现了几个特征:(1)适度稀疏,及时将神经元二值化之后,认证效果依然很好;(2)选择性,高层神经元对认证对象具有高度敏感性,对于同一个人很多神经元会持续保持激活或者抑制状态;(3)和鲁棒性,对于水平遮挡或者随机块遮挡,具有较高的鲁棒性,及时只剩额头和头发,仍然可以达到88.2%的准确率。

1.网络结构修改

DeepID2+继承了DeepID2的网络结构,并在低层网络添加了监督信号。

如figure2所示,和DeepID2一样,包含四层卷积层,不同的是DeepID2+做了三方面的改进:

(1)每层卷积层增加到128个特征映射,最终产出512维特征(原始160维);

(2)训练数据集Merge了celebFaces+和WDRef数据集,总共290000副人脸图片,12000个人;

(3)在每个卷积层都增加了监督信息,不仅和第三层第四层的max-pool层连接,还连接了第一层和第二层的max-pool层,通过连接max-pool层的一个512维的全连接实现。

Id:识别信号

Ve:验证信号

FC-n:第几层的max-pooling层

实验中,使用12000个人的290000张图片进行训练,使用2000个人做测试,以及组合贝叶斯的训练。基于FC-n这几层产出的512维的特征向量使用组合贝叶斯进行训练,使用2000个人做训练,最后在LFW的6000组pair中测试。这2000人也用于DeepID2+网络中学习率和训练参数的训练。

实验比对的有:网络中没有添加其它层级监督,只有FN-4层添加了后向传播梯度来训练模型;使用少量的数据,只使用CelebFaces+的数据被使用了;卷积层只使用160维的特征映射。所有卷积网络输入的是一张包含整个人脸的图片,结果如Figure3所示。

DeepID2+使用DeepID2选出的25个patches训练,通过训练组合贝叶斯产出特征,在LFW测试集上准确率平均比DeepID2高2%。

2.适度稀疏和二值化

对于每张图片,大约有半数的神经元是激活态的,对于一个神经元,大约在半数的图片中是激活态的。统计了46594张图片处于FN-4层中的激活态神经元的数目(总数512)以及一个激活态神经元对应的图片数。

左图左表示一个图片中激活态神经元的数量统计直方图

右图表示一个激活态神经元对应的图片数量

从实验中我们证实神经元是否是激活态比知道具体的激活值更重要。通过限差将将神经元的激活与抑制态转化为二值码,在LFW集合上测试认证效果,发现在单一网络或者25个patches网络的结果有96.45%和97.47,和原始效果差别不到1%。这说明神经元的激活与抑制状态已经包含了大部分的区别信息,并且二值码具有存储经济和查询速度快的优点。

3.特征的选择性

一个类或者属性的重要与否取决于神经元状态的激活与抑制,比如一个神经元在遇到George Bush时是激活状态,但是看到Colin Powell就变成抑制状态了。对于每个神经元,通过统计它的直方图可以看出有半数的激活态是0,其它则对应很大的数值,也就是说对于特定的类型,神经元对于某些特征有很强的选择性。

上图是DeepID2+和LBP特征状态和特征分类准确率的比对图。左边一列是目标图片上激活态神经元数目均值和方差,中间一列是其余图片上的均值和方差,最后一列是每个神经元的分类准确率。

4.鲁棒性

对鲁棒性的实验采用两种遮挡,一种是从下向上的遮挡,从10-70%的遮挡;一种是随机块的遮挡,遮挡尺寸从10*10-70*70。

DeepID2+的遮挡实验基于25个DeepID2+的子网络,LBP基于21个关键点提出99120维特征。

在遮挡10%-20%时,LBP的准确率下降很快,DeepID2+的FC-1层和LBP效果差不多,二者为局部特征。DeepID2+的FC-2,FC-3,FC-4在很大一个范围内准确率下降的很慢,及时遮挡有40%,准确率也》=90%,而LBP已经下降到70%,在遮挡50%时,DeepID2+的准确率下降加快。可以得出,层数越高,对于遮挡的鲁棒性越好。

对于n*n遮挡,50*50时,LBP的准确率小于70%,而DeepID2+为89.2%,可以得出,较深的结构对于遮挡更加鲁棒,并且这种鲁棒性是卷积神经网络固有的。

5.结论

通过DeepID2+的实验可以得出,人脸图像具有适度稀疏性、特征选择性和遮挡鲁棒性,并且可以帮助模式识别研究者理解深度学习以及它的网络连接并解决一些问题,比如稀疏表示,属性学习和遮挡处理等。如实验中,提出的二值化神经元网络在人脸识别中更高效且有效。

6.引用文献

Deeply learned face representations are sparse, selective, and robust

时间: 2024-10-12 17:38:37

DeepID2+人脸识别算法学习的相关文章

人脸识别---基于深度学习和稀疏表达的人脸识别算法

介绍 基于深度学习和稀疏表达的人脸识别算法 1 利用VGGFace提取人脸特征 2 PCA对人脸特征进行降维 3 稀疏表达的人脸匹配 Code 1 介绍 本文将介绍一种基于深度学习和稀疏表达的人脸识别算法.首先,利用深度学习框架(VGGFace)提取人脸特征:其次,利用PCA对提取的特征进行降维:最后,利用稀疏表达分类实现特征匹配.我采用CMC曲线评价在AR数据库上的识别性能.最后我还提供了整个过程的code. 2 基于深度学习和稀疏表达的人脸识别算法 2.1 利用VGGFace提取人脸特征 下

DeepID人脸识别算法之三代

DeepID人脸识别算法之三代 转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/42091205 DeepID,目前最强人脸识别算法,已经三代. 如今,深度学习方兴未艾,大数据风起云涌,各个领域都在处于使用深度学习进行强突破的阶段,人脸识别也不例外,香港中文大学的团队使用卷积神经网络学习特征,将之用于人脸识别的子领域人脸验证方面,取得了不错的效果.虽然是今年7月份才出的成果,但连发三箭,皆中靶心,使用的卷积神经网络已经改进了三次,破竹之

人脸识别算法初次了解

这是转载别人的帖子,认为好,大家一块学习http://www.cnblogs.com/guoyiqi/archive/2011/07/28/2129300.html 前言 在写此文之前,先扯点东西.我一直在找一个东西,让我思考,让我久久的深陷当中,永久的,不断的思考.现在,我意识到,这个东西即是算法.我一直在找一家合适的公司,能让我的兴趣无比放肆的,自由驰骋. ok,由于在一家公司的面试过程中,面试官提到过这个人脸识别算法,由于在此之前,未曾有过了解,所以,特作此番学习与研究.有不论什么问题,欢

人脸识别算法(—)

特征脸Eigenfaces 我们讲过,图像表示的问题是他的高维问题.二维灰度图像p*q大小,是一个m=qp维的向量空间,所以一个100*100像素大小的图像就是10,000维的图像空间.问题是,是不是所有的维数空间对我们来说都有用?我们可以做一个决定,如果数据有任何差异,我们可以通过寻找主元来知道主要信息.主成分分析(Principal Component Analysis,PCA)是KarlPearson (1901)独立发表的,而 Harold Hotelling (1933)把一些可能相关

百度人脸识别SDK学习

之前看到同事说人脸识别多么高大上之类的, 我就好奇搜索了一下, 本人是小白级别,喜欢用百度多一点,所以就使用了百度的人脸识别SDK进行研究.不得不说百度提供的完档很详细,在学习过程中很少出现不能解决的问题, 所以本人也偷个懒,把sdk文档复制下来. 注:貌似有个bug,我在百度语音中菜单下创建的人脸识别,然后获取API_key和Secret_key, 在学习尝试过程中, 或多或少有请求量, 但是报表中却没有任何记录, 难道是bug吗? 我在想是不是可以无限制的调用了,作为尝试, 没去批量去测试,

人脸识别算法虹软arcface和Dlib对比

我司最近要做和人脸识别相关的产品,原来使用的是其他的在线平台,识别率和识别速度很满意,但是随着量起来的话,成本也是越来越不能接受(目前该功能我们是免费给用户使用的),而且一旦我们的设备掉线了就无法使用人脸识别功能.基于这些考虑,我司需要寻找其他的方案.通过搜索,目前发现,开源或免费支持离线的方案也有不少.目前初步考虑虹软 ArcFace和Dlib.通过官方的demo 和 网上的资料,写了个工程,也可以在这里看.这里说一下要注意的摄像头是使用了 OpenCV 来处理的,这里可能会涉及到预览图和屏幕

人脸识别算法嵌入式移植的一点经验

本文涉及的内容可能是大家在移植算法的时候会出现的错误,不涉及特定公司的内容,希望老板不要介意.现在暂时遇到了这些问题,解决办法或许不是最好的.能给他人起到一点作用就算不错. 移植内容 1 windows上面的路径可以用"\",也可以用"/".但是linux上面的路径只可以用"\". 所以应该所有路径都用"\". 2 windows下使用寄存器指令集应包含"intrin.h".相应的linux下的头文件是&q

王文峰《人脸识别原理与实战以MATLAB为工具》PDF及代码+《人脸识别原理及算法(沈理)》PDF+学习参考

人脸识别是当今世界科技领域攻关的高精尖技术.<人脸识别原理及算法:动态人脸识别系统研究>系统介绍了人脸识别研究领域的研究状况以及作者在人脸识别领域的研究工作和研究成果,全书共分为3个部分. <人脸识别原理与实战以MATLAB为工具>作为该技术的进阶指南,在内容上尽可能涵盖人脸识别的各技术模块,立足于作者 在中国科学院.985工程大学国家重点实验室从事视频识别与智能监控项目开发的研究积累及实战体验,分享了作者对人脸识 别算法设计的一些最直观的感触和认识. 参考学习: <人脸识别

人脸识别的深度学习

深度学习只不过是机器学习的标准范例,更准确地说 - 是其算法之一.在最大程度上,它基于人脑的概念和神经元的相互作用.如果你开始谷歌搜索深度学习是什么,你会发现今天这个超级热门词远远不是新的.为什么这样?该术语本身出现在20世纪80年代,但到2012年,没有足够的力量来实施这项技术,几乎没有人关注它. 在着名科学家的一系列文章,科学期刊上的出版物之后,这项技术迅速成为病毒.今天,它有各种各样的应用程序,其中重要的地方是人脸识别.首先,深度学习提供了构建识别生物识别软件的能力,该软件能够唯一地识别或