基于卷积神经网络CNN的人脸图像特征提取资料下载.pdf
- 文档编号:5982124
- 上传时间:2023-05-05
- 格式:PDF
- 页数:15
- 大小:682.67KB
基于卷积神经网络CNN的人脸图像特征提取资料下载.pdf
《基于卷积神经网络CNN的人脸图像特征提取资料下载.pdf》由会员分享,可在线阅读,更多相关《基于卷积神经网络CNN的人脸图像特征提取资料下载.pdf(15页珍藏版)》请在冰点文库上搜索。
1986年Rumelhart5等人提出了并行分布处理理论以及具有非线性转移函数的多层前馈网络(BackPropagationNetworks)的误差反向传播算法(BackPropagation),该算法到现在为止仍是最受关注,应用最广的人工神经网络之一。
1.2深度学习的出现以及卷积神经网络的优势随着神经科学的发展,人类发现脑部信号是通过一个复杂的层次结构模块传播,并且随着时间推移可以学习到一些规律的特性来表达观测信号,从边缘检测,基础形状到更加复杂的视觉形状。
由此导致了机器学习研究中一个新的领域,深度学习的出现,其概念由Hinton等人于2006年提出,动机在于建立、模拟人脑进行分析学习。
卷积神经网络是一种深度的监督学习下的机器学习模型,具有极强的适应性,善于挖掘数据局部特征,提取全局训练特征和分类,它的权值共享结构网络使之更类似于生物神经网络,在模式识别各个领域都取得了很好的成果。
1.3人脸特征提取的研究意义人脸特征具有很强的自身稳定性和个体差异性,是身份验证的理想依据。
利用人脸生物特征进行身份比对是最自然和直接的身份验证。
人脸识别问题分为人脸验证(Verification)、识别(Recognition)、鉴定(Authentication)三个环节,人脸特征在各个环节都有关键作用。
好的人脸图片特征能大大提高人脸识别准确率,是近20年来的研究热点,能被广泛应用于国家公共安全、社会安全以及商业等领域。
1.4本文主要工作本文在实现卷积神经网络(ConvolutionalNeuralNetworks,后简称CNN)最基本功能代码的基础上验证了其在提取图像高维特征上的准确性,并根据YanivTaigman6和HaifengFan7等人提出的深度人脸表示算法8、9改进了CNN的结构,再加入光照和姿态的预处理后做了一定数量的实验后给出了新结构的实验结果分析和进一步改进的可行方法。
2.全连接的反向传播算法全连接的反向传播算法8反向传播算法(BP算法)主要由两个环节(激励传播、权重更新又称前向传播和反向传播)反复循环迭代,直到网络的对输入的响应达到预定的目标范围为止。
假定对于一个固定的样本集包含m个样例,对于单个样例的代价函数为),(yx那么对于整个样本集来说,整体代价函数为:
其中公式第一项的是一个均方差项,第二项是一个规则化项(也叫权重衰减项),其目的是减小权重的幅度,防止过度拟合。
训练神经网络的过程就是利用梯度下降法多次迭代更新代价函数中参数和b的过程,其中心思想是要使代价函数达到最小值。
是层与层之间的权重,b是偏置值。
反向传播算法的步骤如下:
进行前馈传导计算,利用前向传导公式,得到从输入层直到输出层的激活值。
其中是第l层的输出值(激活值),是从l到l+1层的连接权重,是l层的偏置值,是激活函数。
对输出层的每个输出单元i,根据以下公式计算残差:
对除去输入层和输出层,各层第i个节点的残差计算公式如下:
计算更新W和b所需要的偏导数,根据以下公式:
最后利用重复梯度下降法的迭代步骤来减小代价函数的值,进而求解神经网络。
但BP神经网络的缺点是收敛速度慢,效果依赖初始点集,容易陷入局部最小值或出现过拟合现象。
),(bWJWW)(la)(lW)(lb)(f),(bWJ3.卷积神经网络的结构卷积神经网络的结构对于图像特征提取任务,卷积神经网络的一般结构如图2.1:
图2.1卷积神经网络结构包括:
卷积层,降采样层,全链接层。
每一层有多个特征图,每个特征图通过一种卷积滤波器提取输入的一种特征,每个特征图有多个神经元。
图2.2来解释各层的具体操作。
图2.23.1卷积层使用卷积层的原因是卷积运算的一个重要特点是,通过卷积运算,可以使原信号特征增强,并且降低噪音。
用6个55的过滤器进行卷积,结果是在卷积层C1中,得到6张特征图,特征图的每个神经元与输入图片中的55的邻域相连,即用55的卷积核去卷积输入层,由卷积运算可得C1层输出的特征图大小为(32-5+1)(32-5+1)=2828。
3.2降采样层使用降采样的原因是,根据图像局部相关性的原理,对图像进行子采样可以减少计算量,同时保持图像旋转不变性。
降采样后,降采样层S2的输出特征图大小为(282)(282)=1414。
3.3全连接层采用softmax全连接,得到的激活值即卷积神经网络提取到的图片特征。
更多有关CNN原理可参照参考文献9-11。
4.验证验证CNN在提取图像特征上的准确性在提取图像特征上的准确性代码仿真和编写均在MATLAB上完成。
4.1手写数字库手写数字库分为训练部分和测试部分。
训练部分包括10个阿拉伯手写数字(0到9)共60000张图片,均带有标签;
测试部分包括10个阿拉伯手写数字(0到9)不同的10000张图片和标签。
测试结果如图4.100.020.040.060.080.10.12错误率numepochs=1numepochs=3numepochs=200图4.1epoch代表训练的次数,平均每次训练耗时120ms。
由图可见CNN在手写数字库的数据库上识别效果很好,进而验证了CNN在提取图像特征上的高准确率。
4.2风景人脸图片混合库创建一个数据库包含600组训练图片和440组测试图片,包括均是人脸图片和不全是人脸图片的图片对。
测试结果如图4.2:
00.050.10.150.20.250.3错误率numepochs=1numepochs=3numepochs=10图4.2epoch代表训练的次数。
由图可见CNN在风景人脸混合数据库这样两种图片特征差别较大的数据上上识别效果依然很好,表明CNN在提取图像特征上准确率较高。
5.PCNN人脸识别人脸识别验证了CNN在提取图像特征上较高的准确性以后,根据深度人脸表示的相关研究,利用一种对CNN进行一定的改进,名为“金字塔”型CNN(PyramidCNN,后简称PCNN)的算法结构进行人脸识别。
PyramidCNN是一种理论上非常易于理解且效果优良的深度学习算法结构,同样采用过滤器和降采样交替的操作,使训练过程非常快速且具有高效率的计算。
另外,PCNN可以自然地做到多尺度脸部特征的共享,增加了结果表示的识别能力。
PCNN理论12-13如下图所示:
将两张图片送入同一个CNN中,得到各自相应的表示结果。
然后通过一个输出神经元利用一个距离函数来比较这两个表示并作出预测是否这组图片属于同一个人。
采用的损失函数如下:
其中表示这两张图片是否输入同一个人,在我们的实验中0代表不是同一个人,1代表是同一个人。
代表神经网络中做的运算,都是训练参数。
),(21II、f损失函数鼓励了属于同一个人的不同特征之间的微小距离,对不匹配的组队之间的相似予以惩罚。
这样学习到的特征表现出了优良的ID-preserving性质,即映射空间中的距离应该基本可以反映真实的语义距离,不相关因素的影响应被减小。
我们的理解是,通过这样的损失函数得到的特征应该能比较全面地概括一个人的人脸,由于个体内部差异导致的因素被压制了。
PCNN的动机在于利用脸部的多层结构来加快深度神经网络的训练速度。
PCNN包含了数个CNN网络,它们被分成了数级,每级包含一个或多个CNN网络,每层CNN网络有不同的深度和输入大小,但它们之间共享一些训练层。
每个网络都包含几层共享层和一个在所有级都具有相同结构的不共享部分。
第一层被所有级的网络共享,第二层被从第二级开始的所有网络共享,这个共享理论不断重复。
由于共享层的降采样操作,且更高级的网络的输入尺寸更大,在高级网络组中可能存在不止一个网络,它们虽然也共享共享层的参数,但却作用在人脸的不同区域上。
下面是具体操作:
第一级CNN网络在人脸图片的部分内容上训练,然后其第一组卷积层和降采样层的各项参数训练完毕后固定不变,传递到下一级的CNN网络,并被之后所有的CNN网络共享,用于过滤和下采样处理高级CNN网络的输入。
类似的,第二级CNN网络训练完毕后其第二组卷积层和降采样层(即第二级CNN网络相较于第一级CNN网络新增的第一组卷积层和降采样层)各项参数固定不变,和之前共享的一组卷积层和降采样层一起传递到下一级组的CNN网络,并被之后所有的高级CNN网络共享。
这样的训练方式在PCNN网络中继续,知道所有的网络都被训练完毕,并且最后一个有额外深度的网络已经获得。
采取这种方式后,实际需要训练的网络的大小大大减小,并没有像简单的CNN叠加那样随着层数的递增而增加。
而在一个级别中可包含超过一个网络的目的是补偿低级别网络无法覆盖输入图片所有区域的缺陷。
因为PCNN是在强力的监督模式下学习的,这样一来各个级次的网络学习到的特征都与图像识别直接相关所以能够保证最终能提取出具有强辨识度的信息;
其次PCNN是一种多层特征提取结构,能够自然地处理在人脸识别中常见的多层输入数据块,利用多层结构实现对于越大的输入区域便使用越深的的网络。
网络深度的增加使得更高级的网络能够处理在更大的图像块上更复杂和更抽象的运算。
6.LFW人脸数据库人脸数据库本文中的人脸识别实验均在LFW数据库上进行。
LFW数据库14是由美国马萨诸塞大学(UniversityofMassachusetts)阿姆斯特分校(Amherst)计算机视觉实验室整理完成,用于研究非受限情形下的人脸识别问题,已成为学术界评价识别性能的标准参照。
其原始图片来自YahooNews频道抓取的新闻图片和对应的标题信息,通过人脸检测、图片去重、标记人脸、裁剪与尺寸归一化和组建训练测试集合后,得到带标签的人脸数据库。
在LFW数据库上测试代码的原理是,LFW数据库中每个样本都包含两张图片,训练样本和测试样本中的标签值表明这两张实际上是否属于同一个人。
在使用训练样本进入CNN训练以后提取出人脸的高维特征向量,并以此判断测试样本中的两张图片是否属于同一个人,最后将判断结果与标签比较得出错误率。
7.人脸识别实验结果人脸识别实验结果将CNN和PCNN分别应用在LFW数据库上结果如图7.1、图7.2:
图7.10100200300400500600numepochs=1numepochs=10numepochs=100错误分类总数第一类错误数第二类错误数图7.2出现看起来很奇怪的结果,简单的CNN算法在LFW数据上反而仍然存在一定的分类效果,但PCNN(本实验中为3层)在LFW数据库却失去了分类效果。
为了提高PCNN的分类效果,本文采用了加入预处理操作的方法。
8.预处理操作预处理操作本文采用了加入预处理以降低图片识别难度的方法,选择的预处理是光照预处理和姿态预处理。
8.1Gamma校正15Gamma矫正是对输入图像灰度值进行非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系:
。
这个指数就是Gamma。
经过Gamma校正后的输入和输出图像灰度值关系如图8.1所示:
横坐标是输入灰度值,纵坐标是输出灰度值,蓝色曲线是gamma值小于1时的输入输出关系,红色曲线是gamma值大于1时的输入输出关系。
可以观察到,当gamma值小于1时(蓝色曲线),图像的整体亮度值得到提升,同时低灰度处的对比度得到增加,更利于分辩低灰度值时的图像细节。
inoutAVV图8.1Gamma校正未经gamma校正和经过gamma校正保存图像信息如图8.2所示:
图8.2未经gamma校正和经过gamma校正图片保存图像信息16维基百科上介绍Gamma灰度校正时,给出的校正前后对比如图8.3:
图8.3维基百科介绍Gamma校正示例图片17本文所做实验中,实现的Gamma灰度校正前后图片对比如图8.4:
图8.4实验中Gamma校正前后对比可以观察到,未经gamma校正的情况下,低灰度时,有较大范围的灰度值被保存成同一个值,造成信息丢失;
同时高灰度值时,很多比较接近的灰度值却被保存成不同的值,造成空间浪费。
经过gamma校正后,改善了存储的有效性和效率。
5.2姿态校正本文中采用的姿态校正更确切地说应是基于主动形状模型(ActiveShapeModel,ASM)的人脸对齐和轻微的脸部扭转。
准确的人脸特征点检测对于提取好的面部特征用于人脸识别、表情分析、人脸动画等是非常重要的,在过去20年里学者们展开了大量研究,其中1995年Cootes等人提出的ASM方法称为非常流程的物体定位的方法。
ASM是一种基于统计学的可变形模型,优点在于能允许一定程度的形状变化而且又能保证变化后的形状还代表着某一类物体或者结构,但目标搜索较依赖于初始点集,易陷入局部极值。
实验中ASM校正前后图片对比如图8.5所示:
图8.5ASM校正前后图片对比如图,我们的校正程序检测了人脸位置并截取出主要部分,灰度化处理后将人脸对齐。
左侧图片中显然人脸是斜的,主要体现在双眼连线不水平;
而右侧图片中倾斜被校正。
9.进一步实验进一步实验在预处理操作之后的LFW数据库上运行CNN代码,结果同样较差,准确率依然在0.5左右,PCNN近乎失去分类能力。
由于神经网络的缺点是当数据较少时容易陷入局部最小值和出现过拟合现象,因此检测实验是否出现过拟合现象。
利用用普通梯度下降,然后将训练集和测试集分别做为测试数据,实验结果如下:
00.20.40.60.811.2测试测试集测试训练集准确率由实验可看出确实出现了过拟合现象,训练时提出的图像特征仅在训练集图片上效果好,但在新的图片上识别效果低。
改进一下代价函数,加上一个权重衰减项来防止过拟合后,实验结果如下:
00.20.40.60.811.2测试测试集测试训练集准确率由实验结果可见,加入权重衰减项并没有有效地防止过拟合现象,证明实验中存在数据量过小的问题。
因此在下一部分提出解决方法。
10.分析与提出解决方法分析与提出解决方法LFW数据库中训练图片太少,LFW数据库仅有4400张,对于PCNN甚至CNN来说想要通过仅4400张图片就能提取出足够复杂的高维人脸图像特征向量难度很大。
并且在查阅资料时发现文章中均使用了几十万张人脸进行训练,更加证实了我的想法。
要解决这一问题,可以通过增大实验图片数量。
因此接下来采取的方法是:
搜集不带标签的百万级人脸,使用非监督CNN学习高层特征,进行简单预处理,比如灰度化、人脸区域截取。
然后再用LFW带标签的这些人脸用BP算法进行调整。
另外还可参考其他资料进一步改进CNN结构以获得更复杂的高维人脸图像特征向量。
11.结论结论本文在实现卷积神经网络CNN的基础上,验证了CNN在手写数字库和对比差别较大的图片对数据库上的高识别准确度。
在将CNN和PCNN应用在LFW数据库上进行人脸识别实验得到不理想的结果后,加入了光照和姿态的预处理操作以提高识别准确率,并对实验结果做出了分析并提出了更多可能的处理方法。
限于时间问题,本文只对CNN结构做了初步的改进,加入了简单的预处理代码。
实际还有很多地方需要进一步探究和改进,例如姿态预处理的强度,本文中仅有人脸对齐功能并没有实现人脸旋转校正,以及在PCNN中一些参数的调整仍未达到最好情况。
我们认为,在未来的工作里实现了本文中提出的可行的处理方法后能够进一步提高在LFW数据库上的准确率。
参考文献参考文献1McCullochWS,PittsW.AlogicalcalculusoftheideasimmanentinnervousactivityJ.Thebulletinofmathematicalbiophysics,1943,5(4):
115-133.2RosenblattF.Theperceptron:
aprobabilisticmodelforinformationstorageandorganizationinthebrainJ.Psychologicalreview,1958,65(6):
386.3HopfieldJJ.Neuronswithgradedresponsehavecollectivecomputationalpropertieslikethoseoftwo-stateneuronsJ.Proceedingsofthenationalacademyofsciences,1984,81(10):
3088-3092.4HopfieldJJ,TankDW.Computingwithneuralcircuits-AmodelJ.Science,1986,233(4764):
625-633.5RumelhartDE,HintonGE,WilliamsRJ.LearningInternalRepresentationsbyErrorPropagation,ParallelDistributedProcessing,ExplorationsintheMicrostructureofCognition,ed.DERumelhartandJ.McClelland.Vol.1.1986J.1986.6http:
/http:
/deeplearning.stanford.edu/wiki/index.php/Backpropagation_Algorithm9到目前为止CNN应用最成功的模型:
http:
/deeplearning.stanford.edu/wiki/index.php/Feature_extraction_using_convolution12TaigmanY,YangM,RanzatoMA,etal.Deepface:
Closingthegaptohuman-levelperformanceinfaceverificationC/ProceedingsoftheIEEEConferenceonComputerVisionandPatternRecognition.2013:
1701-1708.13FanH,CaoZ,JiangY,etal.LearningdeepfacerepresentationJ.arXivpreprintarXiv:
1403.2802,2014.14HuangGB,MattarM,BergT,etal.Labeledfacesinthewild:
AdatabaseforstudyingfacerecognitioninunconstrainedenvironmentsC/WorkshoponFacesinReal-LifeImages:
Detection,Alignment,andRecognition.2008.15http:
/en.wikipedia.org/wiki/Gamma_correction
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 卷积 神经网络 CNN 图像 特征 提取