基于神经网络的人脸识别研究_第1页
基于神经网络的人脸识别研究_第2页
基于神经网络的人脸识别研究_第3页
基于神经网络的人脸识别研究_第4页
基于神经网络的人脸识别研究_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGEIV摘要由于人脸表情的多样性、背景的复杂性、光照的变化、姿态的差异等,人脸识别在实际应用中仍然具有挑战性。人脸作为一种生物特征,在公安、图像搜索等领域也有着非常方便的应用,具有广阔的应用前景。由于近年来神经网络的研究成果,神经网络再次成为当前的研究热点。卷积神经网络比传统神经网络更适合于图像处理。人脸识别技术是利用人脸来完成身份识别和验证任务的。本文利用卷积神经网络在近年来深学习领域的研究热点,完成了人脸识别中的验证任务。本文主要设计了两种完全不同的深度卷积神经网络结构,一种是轻量级VGG卷积神经网络,另一种是残差卷积神经网络,并进行人脸识别方面实验和分析。实验结果表明,在人脸识别权威测试集LFW和YTF上获得了99.1%和93.32%的精度,相对于主流基础模型分别提高0.57%和0.52%。另外,本文统计了改进模型和基础模型在LFW上测试的详细数据,探讨了改进模型在效果上获得提升的原因。关键词:人脸识别身份验证深度学习卷积神经网络

ABSTRACTFacerecognitionisstillchallenginginpracticalapplicationsduetothediversityoffacialexpressions,thecomplexityofbackground,thechangeofilluminationandthedifferenceofposture.Face,asabiologicalfeature,hasaveryconvenientapplicationinpublicsecurity,imagesearchandotherfields,andhasbroadapplicationprospects.Becauseoftheresearchachievementsofneuralnetworksinrecentyears,neuralnetworkshavebecomethecurrentresearchhotspotagain.Asakindofneuralnetwork,convolutionalneuralnetworkhasthreeparts:localperception,weightsharinganddownsampling,whichcaneffectivelyimprovetheperformanceoftraditionalneuralnetwork.Theresultsshowthatconvolutionalneuralnetworkismoresuitableforimageprocessingthantraditionalneuralnetwork.Facerecognitiontechnologyusesfacetocompleteidentificationandverificationtasks.Thispapercompletestheverificationtaskoffacerecognitionbyusingtheresearchhotspotofconvolutionalneuralnetworkinthefieldofdeeplearninginrecentyears.Inthispaper,twocompletelydifferentstructuresofdeepconvolutionneuralnetworkaredesigned,oneisthelightweightVGGconvolutionneuralnetwork,theotheristheresidualconvolutionneuralnetwork,andfacerecognitionexperimentsandanalysisarecarriedout.Theexperimentalresultsshowthat99.1%and93.32%accuracyareobtainedonLFWandYTF,whichareimprovedby0.57%and0.52%respectivelycomparedwiththemainstreambasicmodel.Inaddition,thispaperstatisticsthedetaileddataoftheimprovedmodelandthebasicmodeltestedonLFW,andexploresthereasonswhytheimprovedmodelhasbeenimprovedineffect.KEYWORDS:Facerecognition;Authentication;Deeplearning;Convolutionalneuralnetwork目录第1章绪论 11.1课题研究的背景与意义 11.2国内外研究现状及发展趋势 2第2章相关算法概述 52.1人工神经网络 52.1.1神经元 52.1.2神经网络模型 72.2卷积神经网络 142.2.1卷积神经网络基本结构 152.2.2卷积神经网络相关改进方法 182.2.3卷积神经网络的性能 202.3典型的网络结构 212.3.1AlexNet 212.3.2VGG-Net 222.3.3GoogLeNet 232.3.4ResNet 24第3章轻量级VGG卷积神经网络 263.1轻量级VGG 263.1.1原VGG网络结构简析 263.1.2轻量级VGG神经网络模型 283.2轻量级VGG模型的训练与实验分析 313.2.1图片数据库与预处理 313.2.2轻量级VGG网络模型的训练与实验分析 323.2.2.1模型训练 333.2.2.2实验结果与分析比较 333.3本章小结 36第4章残差卷积神经网络 374.1深层网络优化难题 374.2残差学习(ResidualLearning) 384.3残差卷积神经网络 394.3.1BatchNormalization 394.3.2ResidualBlock局部单元 404.4残差卷积神经网络的训练与实验分析 414.4.1图片数据与预处理 414.4.2网络的训练 424.4.3LFW验证结果分析 434.5本章小结 44第5章总结与展望 45参考文献 46发表论文和参加科研情况说明 51致谢 52第1章绪论PAGE40第1章绪论 1.1课题研究的背景与意义随着计算机技术和信息处理技术的发展,计算机视觉逐渐成为一个备受关注的领域。利用计算机技术对可视化信息进行采集、处理和响应,具有方便、快捷、高效、便于管理和统计分析等优点。与指纹、虹膜、DNA等其他生物特征相比,人脸特征更加突出,易于采集。它们适用于各种环境和情况下的生物特征信息采集和处理。利用计算机视觉技术对人脸信息进行分析和处理,可以广泛应用于虚拟现实、安全监控、医疗诊断、高级人机交互、视频会议、基于内容的图像存储和检索等领域。具有广阔的应用前景和潜在的经济价值。因此,这一领域吸引了世界上许多科研机构和研究人员,成为一个非常活跃的研究课题。人脸分析包括人脸识别、人脸跟踪、人脸识别、人脸表情分析等。人脸识别与跟踪是人脸信息处理的第一步。当我们识别一个人时,首先在需要检索的图像场景中确定人脸的位置,然后检测该位置以确定该区域是否为人脸区域,称为人脸识别,检测完人脸后,我们需要实时跟踪和确定人脸区域,并保持这个区域。锁定一个人脸区域称为人脸跟踪,识别和判断被跟踪人脸区域的任务称为人脸识别,可以分析人脸图像区域的表达。这个过程对人来说很简单,但却是计算机视觉领域的一个难题因此,人脸识别与跟踪技术是一个极具挑战性的研究方向,目前所有的理论和算法都在从各个方面逼近这种识别能力。1.2国内外研究现状及发展趋势20世纪末是人脸识别快速发展的时期。基于主成分分析(PCA)的特征脸方法已经被广泛应用。在此阶段,Belhumeur等人同时提出了基于线性判别分析(LDA)的FISHE算法。面法。在这一阶段,人脸识别领域积累了一系列重要的理论。从1998年到2014年,人脸识别进入了成熟阶段。这一阶段的主要研究目标是解决人脸识别中光照、表情、姿态、遮挡、噪声等外部因素引起的变化。针对这一目标,提出了基于PCA和LDA的扩展方法。基于流形学习的人脸识别方法突破了以往人脸识别的瓶颈。流形学习得到的非线性子空间能够更好地表达人脸的特征,掌握样本的全局和局部信息。基于局部特征的人脸识别方法在这一阶段取得了良好的效果。常用的局部特征方法有局部二值模式(LBP)、GABOR小波等。这种方法提取人脸细节特征,对光照、遮挡、姿态等变化不敏感,引起了众多研究者的关注。2014年以来,深度学习开启了人脸识别的新时代。大量基于深度学习的人脸识别方法被提出,“大数据+深度学习”已成为人脸识别技术的主流手段。2014,脸谱网推出了4000张400万人的深脸网络,在测试中达到了97.25%的准确率,成为人脸识别领域深入学习的基础。香港中文大学的研究团队提出了一系列基于深度学习的人脸识别方法:Deepid1、Deepid2、Deepid2+和deepid3。随着网络结构的发展和网络层次的逐步深入,Deepid3在lfw测试集中取得了99.53%的良好效果[1]。这一系列的方法采用由几个相同的小网络组成的网络结构。每个小网络在对人脸图像进行分割后,接收一个固定大小的面片的输入,并将每个面片学习到的特征进行融合,得到整个人脸图像的特征向量。2015年,Google的Facenet算法提出使用三重损失函数进行网络训练,并在此算法的基础上,使用2亿张人脸图像进行训练,在LFW测试集上达到99.63%的准确率[2]。同年,百度、腾讯、无知等拥有海量数据的大公司也提出了自己的基于深度学习算法的研究。随着硬件平台的发展,网络模式的深度学习呈现出层次越来越深的趋势。同时,由于网络层次太深,在训练中也存在一些困难,包括训练收敛、训练耗时等。因此,提出了一系列的训练技术,如Google提出的BN加速机制和HE等人提出的网络剪枝技术。加快网络深度训练。从网络结构设计的角度来看,也有解决这些问题的方法,如Resnet和Densenet网络模型。同时,还存在用于人脸识别评价的数据集。深度学习给人脸识别技术带来了飞速的发展,也终结了作为评价数据集的性能竞争。近年来,人脸识别的研究逐渐集中在实际应用场景上。一些更具挑战性的面部评估数据集已经发布,如ijb-a数据集、Ms-Celeb-1m、Megaface数据库[3]。深度学习已经成为人脸识别乃至计算机视觉领域的主流方法。从近年来人脸识别的发展来看,我们可以看到几个变化:(1)主流网络模式结构正在向纵深发展。相关实验证明,层次越深,从网络模型中提取的特征的表示能力越好。现代计算机计算能力的增强也为网络的深化和复杂化提供了坚实的平台。(2)数据是提高深度学习成绩的关键。学术界公布的标注信息数据为深度学习创造了良好的学习资源,海量数据的使用也是目前深度学习的发展方向。(3)庞大复杂的网络结构和海量的数据不仅带来了效益,而且增加了网络模型的训练难度和训练时间。如何解决网络精度下降的问题第3章轻量级VGG卷积神经网络第2章相关算法概述2.1人工神经网络人工神经网络(ann)是根据脑神经的工作原理建立的数学模型。它由大量相互连接的节点组成。每个节点代表一个输出函数。两个相互连接的节点之间有一个权重,用于通过连接对信号进行权重。网络模型的输出受输出函数和权重的影响。值效果,输出可以是函数值或逻辑表达式。2.1.1神经元对神经元的研究始于1904年,当时生物学家对神经元的组成非常熟悉。一个神经可以有多个树突来接收信息;一个神经元中只有一个轴突,轴突末梢可以将信息传递给其他神经元[4]。不同神经元通过轴突与树突相互连接并传递信号。在生物学中连接的位置叫“突触”。下图是人脑神经元的简单说明:图2.1生物神经元图2.2:神经元模型图2.2是一个简单的神经元模型,有三个输入和一个相应的输出。神经元之间的连接具有权值,在神经元信息的传递中起着重要的作用。训练神经元模型的目的是优化模型中的权值,以达到最佳的预测效果。如果A是神经元模型的输入,W是神经元模型的权重,则信号A通过神经元模型的权重从神经元的输入变为A*W。神经元模型中的箭头表示重量转移。流程图如图2.3所示。图2.3:神经元模型[5]图2.2的运算过程可以用如下公式表示:(2.1)可见z是在输入和权值的线性加权和叠加了一个函数g的值。在MP模型中函数g是取符号函数,函数的输入大于0为1其他为0[6]。对图2.3中的神经元进行一些改变,把sum与sgn函数结合,代表神经元的内部运算,然后表明输入输出。神经元可以看作是存储单元可以有多个输出,神经元对其输入有计算功能,并且能暂存计算结构,然后传递到下一层如下图所示。图2.4:神经元扩展用神经元模型组成网络后,描述某个神经元模型,我们用unit指代,神经网络也是有向图模型所以可以用node表示同样的意思。神经元的模型有一个数据称作样本,样本中有4个属性其中3个是已知的属性1个是未知的属性,通过3个已知属性求未知属性是我们要做的。运用神经元的公式对已知数据进行说明,属性a1,a2,a3是已知属性,z是未知属性,z通过公式可以得出,模型中已知属性称作特征,未知属性称作目标[7]。特征与目标的关系如果是线性的,那我们就能通过已知的权值w1,w2,w3计算出z的结果。2.1.2神经网络模型神经网络是由大量神经元组成的。由大量神经元组成的复杂神经网络具有许多与人脑相似的基本特征。神经网络是一个高度复杂的学习系统。该系统具有并行、自学习、并行存储、自组织和自适应能力,具有并行、自学习和自适应能力。处理具有不确定性或多因素的信息处理问题。神经元是神经网络的基础。神经元与动物神经元相似。当人们分析神经系统时,他们会受到启发,将动物神经元转化为数学模型,可以模拟动物神经元。(1)单层神经网络及工作过程最早的MP模型虽然只拥有简单的机构,rosenblatt在1958年提出两层神经元组成的神经网络,它叫做感知器。感知器是当时第一个学习神经网络。rosenblatt[8]通过演示感知器模型学习识别图像的过程引起了轰动。许多研究者认为人们已经发现了智力的奥秘并将其投入到相关的研究中。美国军方也在神经网络的相关研究上投入巨资,称神经网络甚至比原子弹更重要。这可以看作是神经网络发展的第一个高潮。在MP模型中,加入神经元节点代替原始输入,称为输入单元。图2.5显示了神经元的变化。图2.5:单层神经网络感知器分为输入层和输出层。输入单元只负责传输数据而不进行计算。在输出单元输出之前进行计算。从而生成计算层。包含计算的网络称为单层神经网络。我们可以根据网络的层数来命名网络,例如,通过命名网络。”“感知器”被称为两层神经网络,但在本文中,我们根据计算层的数量将其命名为[9]。因此,感知器又称为两层神经网络。如果预测值从一个数字变为一个向量,我们需要增加输出单位,如图2.6所示。图2.6:单层神经网络如图所示z1的值并没有变化我们可以把z1的输出结果向多个神经元传递。z2的求解过程,如图2.7所示。图2.7:单层神经网络z2的计算过程与z1不同点是权值不同,z1的权值是w1,w2,w3,z2的权值是w4,w5,w6,图2.8给出求解过程。图2.8:单层神经网络通过观察,我们发现这个公式是一个线性方程。我们可以用矩阵运算来表示输出公式,它可以表示为g(w*a)=z;这个公式是神经网络的矩阵运算。感知器的权值与神经元模型的权值不同,但它是通过训练获得的。如前所述,感知器是一个可以执行线性分类任务的模型。我们可以通过决策边界来观察效果。决策划分是在二维数据平面上加一条分界线。如果是三维数据,我们需要找到一个分割面。如果数据是n维的,我们需要n1维超平面来划分它。图2.9显示了二维感知器的分界效果。图2.9:单层神经网络的决策分界(2)两层神经网络及其工作过程双层神经网络是神经网络的重要模型,因为在这一时期,神经网络得到了前所未有的发展和应用。两层神经网络证明了minsky的问题是不存在的。Rumelhar和Hinton的研究人员提出了神经网络的反向传播算法,首次解决了这两层问题。神经网络的计算复杂性[11]。两层神经网络增加了中间层,输入层、输出层、输出层和中间层都是计算层。因此,加入了神经网络的权值矩阵。我们使用二维向量的第一维来表示神经网络一层中节点的排序,而第二维来表示神经网络一层,例如矩阵axy代表y层的第x节点。图2.10给出了a12,a22的运算公式。图2.10:两层神经网络的中间层计算计算两层神经网络的输出z的过程中运用到了中间层a12,a22,具体过程如图2.11所示。图2.11:两层网络输出层计算如果预测输出结果是一个向量那么可以通过在输出层增加节点改变向量的维数,用z表示网络中输出向量,W1,W2表示不同层之间的权值矩阵,得到的神经网络工作过程如下图所示:图2.12:两层网络的向量形式矩阵运算的表达式可以用如下公式表示:(2.2)(2.3)通过观察计算过程不难发现,运算的表达式很简单不会因为节点增多而变得复杂,神经网络的模型中有可能存在只具备存储功能的点也叫作偏置点,偏置点是默认存在的,值永远是1。神经网络中除了输出层每层都含有一个偏置点,我们称偏置点向量为b如图2.13所示:图2.13:带偏置点的两层网络由上图可以看出偏置点没有输入,一般情况下神经网络结构图是不会给出偏置点的,考虑偏执点的情况下神经网络的运算公式如下:(2.4)(2.5)在两层神经网络中,由于sigmid函数比较光滑,所以我们用sigmoid函数代替sgn函数作为神经网络模型的激活函数。神经网络的本质是通过激活函数和参数来拟合神经网络模型目标与神经网络模型特征之间的函数关系。为了实现神经网络,需要线性代数库。理论上,两层神经网络可以无限逼近任意连续函数,因此两层神经网络能够很好地处理非线性的复杂分类任务[12]。单层神经网络的瓶颈问题很容易用双层神经网络来解决。目前,两层神经网络已在人脸识别、语音识别、自动驾驶、图形识别等领域显示出其应用价值。(3)神经网络相关知识1)学习规则学习规则是修正神经网络权值和偏差的方法。有三种学习方法:监督学习、强化学习和无监督学习。在监督学习中,当输入数据进入网络模型时,应将网络模型的输出与期望目标进行比较,并根据学习规则调整网络的权值和偏差。增强学习由于没有给出相应的输入目标,所以只能给出一个范围限制。该学习规则适用于控制系统应用领域。无监督学习只根据输入改变网络的权值和偏差,适用于矢量量化等问题。2)正则化只有一个隐层神经网络可以学习任何非线性关系。多隐层神经网络具有较强的学习能力。但是,如果样本数太少,就会出现过拟合问题。为了避免过拟合问题,可以通过正则化来减小权值的变化范围。3)培训方法网络模型的训练方法主要有四种:a.逐数据训练。一个接一个地将输入数据提供给神经网络模型,然后用一个反向传播算法对网络模型进行训练,直到达到理想水平才进行下一次数据输入。b.批量数据培训。所有数据一次提供给网络模型。在所有数据通过网络模型后,通过反向传播算法依次调整权值c.随机数据训练。与逐数据训练一样,网络模型一次只接受一个数据,但每个数据只向后传播一次并更新其参数,然后替换下一个数据。小样本培训。批量数据训练的相同点是,批量数据被发送到网络,但不是全部,而是只有一小部分。将整个数据分成几个小部分后,分别对每个小部分进行批量训练。在上述四种训练方法中,逐数据训练和随机数据训练所需的存储空间较小。与批量数据训练和小样本训练相比,逐数据训练具有更好的随机跟踪能力。然而,如果网络模型的第一个数据是噪声数据,则通过数据训练可以使网络模型的训练成为可能。训练过程正在向错误的方向发展。尽管随机数据训练也有噪声的影响,但它比逐个数据训练要小得多[14]。2.2卷积神经网络与传统的分类模型相比,基于卷积神经网络的分类模型的不同之处在于,卷积神经网络的输入数据是二维图像本身,分类结果是输出,特征提取过程虽然可以隐藏在神经网络模型中。实现了超连通多层神经网络模型,但仍存在如下问题:a.一般情况下,图像包含的像素较多。对于全连通神经网络模型,仅100个隐含层的权值就将达到数万个,大大增加了神经网络模型的计算量,需要一定的样本预防。停止导致网络过度安装。b.全连通多层神经网络对尺度变化或其他变形敏感。在多层神经网络中,同一类型的两幅图像只要经历微小的位移变化,就会有很大的差别。全连通多层神经网络的输入是整个图像忽略了图像的局部信息。卷积神经网络通过权值共享、局部感知和下采样相结合,实现了网络模型的位移、形状等变化的不变性。2.2.1卷积神经网络基本结构卷积神经网络模型由输入层、卷积层、采样层、全连接层和输出层组成。通常,取几个交替的卷积层和池层,每个层与池层相连,每个池层与卷积基相连[17]。卷积神经网络的输入是局部连通的。卷积神经网络的输入值可以通过对局部输入和相应的连接权值求和并加上偏差得到。这是一个相当于卷积的过程,因此卷积神经网络被命名为卷积神经网络。图2.14:基于卷积神经网络的人脸识别第一个卷积层包含六个拥有28*28个神经元的特征映射,其中的神经元是通过5*5的卷积核提取的输入层局部特征。(1)局部感知域传统的神经网络是通过输入层和隐藏层的充分连接来处理数据的。如果输入的图像很小,这种方法是可行的,但是当遇到较大的图像时会变得非常耗时。卷积层通过限制输入单元和隐藏层单元很好地解决了这些问题。在卷积神经网络中,隐藏层中的每个单元连接输入图像的一小部分,而这一部分是连接的。(2)配重权重共享是一种降低计算复杂度的策略。例如,输入的人脸图像为32×32灰度图像,输出为相应的识别结果。卷积神经网络的输入图像经过多个卷积层和采样层处理,然后通过全连接层映射到输出目标。卷积层和采样层包含多个特征映射,这是一个由多个神经元组成的平面。利用卷积核提取输入图像中包含的特征。例如,输入图像是7×7的矩阵,卷积核是3×3的矩阵,卷积运算步骤设置为2,在输入图像和卷积核运算后卷积输出为3×3。图2.15:卷积操作示例如图2.15所示输入图像是7*7的矩阵,卷积核是3*3的矩阵,卷积操作步长设为2,输入图像与卷积核操作过后所得卷积输出结果为3*3矩阵。(3)池化池化操作也被称作下采样,池化操作的目的是减少运算量,当运算量较大时很难形输入分类器,并且可能过拟合[19]。图2.16:最大池化图2.16是步长为2的最大池化,池化操作对4组操作数进行池化后得到一个具有深度不变性的矩阵。对卷积层进行池化操作时,神经元对应的局部接受域也同时被池化,相当于对神经网络模型做了第二次特征提取操作,目前比较常用的池化方法有最大值池化法、随机池化、均值池化,最大池化是取局部接受域的最大值,均值是取局部接受域的平均值、随机池化是通过对局部接受域取随机值[20-22]。池化可以有效减少神经元的数量,降低神经网络模型的计算量。(4)卷积层卷积层包含许多特征曲面,每个特征曲面由神经网络模型中的神经元组成。特征面上的神经元通过卷积核与卷积神经网络模型的上层连接。这是第一次提取出简单的结构特征。例如,简单的特征如直线、边和边界、复杂的机构通常由高级卷积层完成[23]。卷积层与其输入层特征面的局部区域相连接。通过适当的函数计算局部区域的加权和,得到神经网络模型的输出值。将卷积神经网络的权值分摊到由同一输入生成的输出特征面上。权重分配可以降低模型的复杂度,便于训练。实践。(5)激励函数激发函数可以控制神经元的正向或反向传播。乙状结肠是一种激发函数。因为函数的值总是在0到1之间,所以我们可以根据这个值来确定网络信号的强度。nair[24]证明了sigmoid可以显著提高卷积神经网络的性能。因此,在确定神经网络模型的深度、卷积核的大小和特征曲面的数目时,应综合考虑各种因素,以达到预期的效果。不要花太多的训练时间。图2.17:Sigmoid函数[25](6)全连接层与多利神经网络类似,它连接一个或多个完全连接的网络,然后是多个连接和贫困。所有连接层中的所有神经与层前的所有神经完全连接。全连接在卷积神经网络模型的计算过程中集成了区分局部信息,提高了卷积神经网络的性能[26]。在计算整个连接的激励函数后,外观的值被传输到外观。外包可以通过更多的物流回归进行分类。5。正确的分类对于分类任务模型是非常重要的。卷积神经网络通常采用bp算法进行训练。2.2.2卷积神经网络相关改进方法(1)网中网结构所谓微神经网络模型是一种多神经网络模型。传统卷积神经网络模型的卷积层是线性的,而网络中的网络采用非线性卷积层,用多层神经网络代替广义线性回归模型。网络中的网络模型通过微神经网络得到特征曲面。与卷积层的权值分担相似,多层神经网络对同一特征平面具有局部感知和共享特性,对同一特征平面具有相同的多层神经网络模型。多层神经网络模型采用与卷积神经网络兼容的前馈神经网络算法进行训练。同时,多层神经网络是一种深度学习模型。多层神经网络可以处理更复杂的问题,识别更抽象的特征。目前,在卷积神经网络模型中,全连接层参数过多,容易出现过拟合现象,部分参数过于依赖正则化技术。在网络模型中,采用全局平均池的方法改变原有的全连接层,大大降低了模型的参数。通过将多层神经网络的最后一个卷积层汇集起来,对网络特征进行平均和连接,然后传递到分类层。全局平均池化的作用可以看成是一个正则化的参数,可以避免出现过拟合。此外这种方式是对空间信息求和所得到的所以拥有较强的鲁棒性。Lin等[28]研究人员通过将算法在数据集SVHN和MNIST上进行应用,验证了这种算法的有效性。Xu等[29]研究人员在网中网网络模型的基础上提出了ML-DNN网络模型,这种模型已经被实验证实了具有更好的性能。(2)空间变换网络尽管卷积神经网络模型已经是非常强大的分类模型,但这不代表它不会受到数据多样性的影响。Jaderberg等[30]研究人员采用空间变换网络解决网络空间上数据多样性的问题,这种模型由三个部分构成,本地化网络模型、网格生成器和采样器可以运用到卷积层,也可以运用到输入层或其他层之后,不必改变原有的卷积神经网络模型的内部结构。空间变换网络模型的空间变换和对齐有自适应性,使卷积神经网络模型具有一定的平移、旋转、缩放等其他变换的不变性。空间变换网络几乎不会影响到卷积神经网络模型的训练速度。2.3典型的网络结构由LecunYan提出的LeNet[43]是卷积神经网络的开山之作,近年来,许多研究学者基于LeNet提出了新的CNN结构模型。其中应用在图像领域的具有代表性的模型有AlexNet[44],VGG-Net[45],GoogleNet[23,46-48]和ResNet[25]等,下面将对这几种经典的网络模型进行介绍。2.3.1AlexNet2012年由Alex等人提出的AlexNe模型在当时以绝对的优势刷新了ImageNet竞赛(ImageNetLargeScaleVisualRecognitionChallenge,ILSVRC)的记录。从结构上来讲,AlexNet是类似于LeNet但更宽和更深的网络。ReLU激活函数[49]、Dropout、数据增强(DataAugmentation)和LRN归一化这些关键技术也是首次在AlexNet模型中应用,同时AlexNet模型中使用了多GPU加速计算。AlexNet网络结构如图2.18所示。图2.18:AlexNet模型结构2.3.2VGG-NetKaren等人提出的VGG-Net模型是2014年ImageNet竞赛中的亚军。与AlexNet模型相比,VGG-Net使用了更深的网络结构,抛弃了LRN层。VGG-Net沿用了AlexNet数据增强的方法。VGG-Net较Alexnet模型层数更深,训练花费的时间更长,但训练时达到收敛需要的迭代次数要少很多。图2.19是VGG-Net的网络结构配置情况,实验是为了研究网络深度对模型的影响。经过实验证明,LRN方法对性能提升帮助不大,但十分耗时。网络层次越深,训练的模型效果越好。图2.19:VGG-Net网络配置第3章轻量级VGG卷积神经网络本章的主要目的是利用有限的硬件计算资源(有限的存储空间和有限的图形卡计算能力),构造一个合理的简化神经网络结构来完成人脸识别任务。首先,在原有VGG网络结构的基础上,详细阐述了改进的轻量级VGG网络模型结构。该模型主要减少了参数的个数,降低了对硬件的要求。然后,对模型结构进行了测试。最后,通过实验结果分析了该模型在人脸识别中的有效性及其识别效果。为了适应硬件条件的限制,轻量级VGG网络模型的参数更少,模型深度略微有所减少,而且该网络模型在复杂人脸图片效果不理想。针对这个问题,增加了使用Contrastive损失函数作为目标函数的Siamese网络,降低了人脸特征向量的维度的同时,也使得整个模型框架在复杂人脸图片的数据库上的性能提升不少。这为提升卷积神经网络的识别性能增加了经验,启发式的为进一步的网络性能优化指导了方向。3.1轻量级VGG卷积神经网络模型VGG-Net是一个应用在物体分类与识别方面的神经网络,在2014年的ILSVRLocalization和classification两个项目上面,分别取得了第一名和第二名,可见其对于图片特征的提取能力是很优秀的。先简要介绍原始的VGG的网络模型,然后详细介绍改进以后的,并适用于有限硬件计算资源应用场景的轻量级VGG神经网络模型。3.1.1原VGG网络结构简析VGG-Net的输入是固定尺寸大小的RGB的2D图像,接着依次通过一系列堆叠的,核大小为3×3的卷积层。每两个或者三个连续堆叠的卷积层,为一个网络的小的单元模块,命名为Block。每一个Block后面会接入一个Max-pooling层,用于减小输入的尺寸大小,并保持网络的平移不变性。经过多个堆叠的Block单元后的输出,会接入一个三层的传统神经网络,也就是三层全连接层。最后的分类输出是一个softmax多分类器。图3.4:VGG原始模型示意图在连续叠层局部块胞模型中,每个卷积层(conv)的核大小为3x3,核的滑动步长为1。在卷积运算之前,需要输入外设扩展(填充),扩展大小为1。该局部Block单元中的连续卷积层之间没有Max-pooling层,只是在每个Block单元之后接一层Max-pooling层。连续堆叠的卷积层全部使用的是3×3大小的卷积核,它是能覆盖输入的左上、右上、左下、右下,以及上、下、左、右、中共9个方向的最小的卷积核,这样就能对输入进行更为密集的卷积操作,提取更多的特征。而且通过堆叠连续的多个3×3卷积核的卷积层,能够等效于一层卷积核为5×5,或者卷积核为7×7的卷积层。但是多个小核卷积层的堆叠,会比大维度卷积核的单个卷积层的非线性转换效果好,具有更好的提取关键特征的能力。网络中的每一个卷积层、全连接层后面所使用的激活函数都是ReLU,进行非线性的映射计算。在第一个和第二个全连接层的后面还使用了dropout技术,来提高网络的泛化能力,防止网络的过拟合。图3.5:不同大小卷积和与堆叠卷积3.1.2轻量级VGG神经网络模型在有限硬件计算资源的条件下,网络模型的训练学习、识别测试阶段中,不仅仅要关注网络模型结构的合理性、网络收敛情况、网络的分类的正确率等等,这些直接影响网络模型的特征提取效果的因素,还要考虑到网络参数总数,以及内存、显存的使用情况等,这些对硬件计算能力和存储能力的主要制约因素。原始的VGG-16网络,其在训练阶段需要保存的网络参数和中间结果是很庞大的。在有限的硬件条件下,单个普通显卡是无法满足其对显存容量的需求,或者能勉强运行但不能充分训练,取得好的识别效果。出现上述问题的主要原因是:VGG-16网络模型的参数太多,在训练阶段还需要保存权值(weight)和偏置(bias)的偏导数,以及部分中间输出结果数据。这些数据都需要存放在GPU有限的显存上(不考虑CPU上计算的情况,因为其内存空间充足,并可扩充),如果使用批度(batch)样本训练,这些显存占用量就会成倍的增长。通过实验很容易知道,单个普通4G显存容量的GPU是无法满足批量训练的显存需求。所以,必须对VGG-16网络进行详细的参数数量分析,根据实际有限硬件资源情况做适当的修改,以使其能够适应有限的显存,在显卡计算能力要求和网络识别效果上选择一个折中的方案。3.1.2.1网络结构修改对上一小结中的VGG-16网络的每一层的学习参数数量进行详细分析、统计,得到表3.2。表3.2:VGG-16参数统计该表只统计每层带参数(卷积层和全连接层、池不含参数)的学习参数总数(浮点型)。研究发现,整个网络的大部分参数集中在最后三个全连接层。FC-4096这一层有4096个节点,但是它的参数数目占据了全部参数的70%多左右。FC-1000这一层是对应于最后识别分类的1000类,必须要1000个输出节点,然后输入到softmax层,所以该层节点数是依数据集总类别数而改变,其参数不定,可以不需要统计。从神经网络对特征逐层提取的特性来看,越靠近输入端的卷积层,提取的都是一些点、线、像素梯度等元素级别的基本特征信息,越靠近输出端的是越抽象的图形特征。VGG网络在ImageNet识别上的瞩目效果,可以认为原VGG网络底层的对于图片基础特征信息提取是很充分的,保留底层的网络结构,对于神经网络的识别效果是必要的。所以主要的修改思路就是保留底层的网络模型结构,修改顶层的,尤其是靠近输出层的全连接层的网络结构。3.1.2.2轻量级VGG模型的整体结构事实上,卷积层是一种特殊的全连接层,权值部分共享。与全连接层相比,卷积层的学习参数要少得多。减少部分全连接层可以有效降低整个网络的参数。改进的策略是降低网络后几层的参数,主要是降低全连接层的参数。图3.6:轻量级VGG网络模型示意图轻量级VGG神经网络模型配置参数与原VGG网络中的Block1~Block4单元相比较,其中的卷积层和pooling层的配置都是完全一样的,以保证网络对基础图像特征的提取能力,也就是保持原有的底层的那些卷积核。与原始的VGG-16网络在Block5区域相比,将每一层的卷积核由512增加到了600,目的是希望能够提取更多丰富的、不同的图像高层抽象特征。并且去掉了原来的全连接层-1和全连接层-2,这样参数的数量可以进一步大量的减少。轻量级VGG模型将Block5后面原始的Max-pooling层换成了一个使用均值下采样的Pooling层(AveragePooling),这种做法在GoogleNet等一些网络中也出现过,同样是在最后舍弃了全连接层,直接使用了均值下采样层。这种方法减少全连接层的参数个数的同时也对网络性能没有较大的影响,还能进一步促使模型提取更加抽象的、更具有辨识度的特征。3.2轻量级VGG模型的训练与实验分析3.2.1图片数据库与预处理选择FaceScrub人脸数据库作为轻量级VGG网络模型的训练集,训练后的模型会在LFW数据库上面进行测试,完成两张图片对是否属于同一个人的身份认证问题。在对网络进行训练前,需要对数据进行预处理,主要包括以下方面:(1)对人脸进行裁剪。原始图片的周围有太多的背景图案,这对人脸识别的网络模型来说,不属于有用的数据部分,裁剪掉多余的背景部分。(2)神经网络充分训练需要大量的数据集,以此来学习更多的具有区分性的特征。扩大数据集能有效提高网络的识别效果和泛化能力。对训练集进行扩充,主要使用了两个方法:一是进行图像左右的翻转;二是进行图像中间区域的随机裁剪。这样做就大大增加了训练集的数据总量,增加了更多的差异性图片,使得网络对背景变化不敏感,具有很好的平移不变性。(3)计算训练数据集的均值图像。将训练集的所有图片对应位置上的像素值相加然后取平均,得到一个均值人脸图像。在网络训练的时候,训练集和测试集都要减去该均值图像,目的是:对输入图片进行归一化处理,将数据(图片像素值)更加均匀的分布在整个空间中,加速网络的收敛。3.2.2轻量级VGG网络模型的训练与实验分析用于训练的FaceScrub人脸数据库大小有限,并没有像目前某些大型神经网络模型那样,使用百万数量级的人脸图片。海量的训练图片,对于神经网络来说,确实是能够有效提升网络模型的准确率、泛化能力的。但是,自己进行海量的人脸图片的收集和标签注释,需要耗费大量的时间和精力。对于许多研究者来说,是很难构建自己的海量图片数据库的。使用已有的优秀的网络模型参数初始化,是可以在一定程度上,缓解因图片数量不足导致的泛化性较差以及模型过拟合的问题。改进后的轻量级VGG网络相对于原VGG-16网络的16层参数层(卷积层加上全连接层),虽然减少2个参数层,但是依然算是一个相对较深的网络。如果网络的参数有一个比较合理的初始化,这些问题都能在很大程度上缓解。为了避免上述问题,能够让网络模型能够良好的进行训练,并能获得较为优秀的图片特征提取能力,初始的网络参数使用的是KarenSimonyan等人公布的VGG-16的权值参数,该参数在ImgaeNet数据库上训练达到了Top-5错误率8%左右。我们只取其中的前面12层卷积层的参数,其余的参数层全部重新训练,以适应新的人脸数据库。使用这样的预训练参数的好处就是,避免从头开始训练,减少网络无法收敛的机率,并减少了网络模型的训练时间。对于轻量级VGG神经网络模型的训练,一共分为三个步骤:(1)构建网络以后,使用原VGG网络在ImageNet上的前几层卷积层的参数,对新的网络模型前几层进行参数初始化。(2)然后,将轻量级VGG网络在Facescrub数据库上进行训练。随机的将Facescrub数据库中1/10部分数据集作为验证集,剩余的为训练集。网络模型如3.3.2所述,只是最后的一层的全连接的节点数等于Facescrub数据库的图片类别数。网络刚开始训练的时候,使用的是0.001的学习率进行学习,大约经过10个epoch左右学习率降低1/10,一个epoch为所有训练样本循环一次的时间。此时,测试集的准确率大约达到了50%;然后保持学习率再学习10个epoch,然后学习率再次降低1/10。以后依次以1/10的倍率降低学习率。(3)接着,将训练好的轻量级VGG网络作为一个人脸特征的提取器,提取LFW中所有人脸图片的特征,用于人脸的验证阶段(verification)。将LFW中的所有图片,依次经过网络的前向计算,转换为其对应的特征值表示,也就是提取averagepooling层的输出特征向量。使用LFW官方提供的测试集进行测试,测试集是一系列的图片对,图片对有是同一个人的,也有不是同一个人的。人脸验证方式就是计算测试集中每一对特征向量之间的欧式距离(对应L2范数),然后测试集分成十份,十份中的九份作为SVM的训练样本,寻找区分相似与否的阈值,另外一份作为测试样本,交替循环进行测试,最后取平均结果。3.2.2.1模型训练多分类任务的神经网络的训练情况主要查看两个指标,一个是网络的损失函数(lossfunction)的输出值(loss值),一个是验证集的测试准确率。loss值可以看出网络是否正确收敛,一般值是随着训练越来越小;而验证集的测试准确率是查看网络分类效果如何,一般是随着训练进行准确率越来越高。神经网络的训练需要使用合适的学习率。验证阶段是在大约第3peoch开始间隔执行的,可以看到网络的验证集准确率是随着模型的收敛在不断上升的,验证了网络收敛的正确性,以及网络对特征提取的有效性。图3.7:轻量级VGG网络训练学习率的走势图3.2.2.2实验结果与分析比较将轻量级VGG网络作为一个特征提取器,使用LFW数据库进行人脸验证实验(verification任务)。具体的步骤如下:(1)将LFW数据库中的所有图片通过轻量级VGG网络提取到人脸特征,提取的是该模型中的averagepooling层的输出特征向量,维度是1×1×600。(2)将这些特征向量进行归一化处理,例如一个样本的特征向量,d=600。先求得这个样本的每一维度的平方和,如公式(3.3)所示。然后每一维度除以,得到新的归一化后的特征向量。 (3.3)(3)计算一个特征向量对的欧式距离。假设两个归一化以后的特征向量与,d=600。按公式(3-4)求得其欧式距离dist。(3.3)(4)使用十折交叉验证方式,用SVM分类器在训练样本对应的欧式距离数据集上进行训练,得到同一类样本和不同类样本之间的最佳分界面,然后用测试样本进行测试,最后对十次实验结果取平均值。最终实验是在两个不同处理类型的同一数据库上面进行的。类型A是LFW官方原始的数据库中的图片,没有经过严格的人脸对齐图片,仅仅是对背景进行了裁剪,比较接近自然环境;类型B是与FaceScrub数据库进行相似的人脸对齐处理和部分背景的去除,如3.4.1所述。通过实验得到了两者的平均结果,见表3-2。表3-2:类型A和类型B数据库测试结果对比表中十折测试平均准确率是指十折交叉验证的整体分类的平均准确率。有同类、不同类两种不同样本类型。被模型预测为正的正样本数为TP(truepositive);预测为负的负样本数为TN(truenegative)为正的负样本数为FP(falsepositive);预测为负的正样本数为FN(falsenegative)。真正率=TP/(TP+FN);假正率=FP/(FP+TN)。正负(同类/不同类)是相对而言。预测准确率表示被模型预测为某类的所有样本中,正确的样本所占比率。轻量级VGG网络对未被处理的自然条件下的人脸图片依然有较强的特征提取能力,也说明这个网络的泛化性能比较优秀。对于经过图片预处理的类型B,网络识别的性能达到94%左右,这说明了该网络对于经过和训练图片库同样预处理的人脸图片,能提取出更加具有辨别能力的图片特征。图3.14:类型A的相似度分布可视化图3.15:类型B的相似度分布可视化图3-14和3-15是测试样本一共6000对人脸之间的欧式距离的相似值进行可视化,same表示的是同一个人的人脸图片对,different表示的是不同人的人脸图片对。两张图对比可知,类型B明显要比类型A的数据分布具有更好的区分度,直观上的分界面更加明显一些,而且在类型B中的“same”样本的相似度值的整体分布更加的靠近0.3,说明它对同一个人的人脸图片能够提取出更多的共性特征。在实际测试中,通过SVM分类器经过十折交叉验证,在类型B的分布中确实找到一个平均预测准确度更高的一个分界面。3.3本章小结本章节详细说明了为应对在有限硬件计算资源条件下的应用,对VGG网络的进行改进,得到了一个新的、有效的LightenedVGG卷积神经网络模型,且成功的应用在人脸识别任务上。第4章残差卷积神经网络第4章残差卷积神经网络第三章针对原VGG模型在硬件计算资源有限的设备上应用的不足,对原神经网络模型进行了改进。并在LFW人脸库上对改进后的神经网络模型进行了测试,验证了改进后的网络的有效性。轻量级VGG网络利用Imagenet图片库上的预训练参数,避免了深度网络模型中的梯度耗散和网络爆炸问题。然而,这种深度网络的优化仍然是一个众所周知的难题。特别是当网络从新数据库开始训练时,会遇到网络优化问题,主要是由于网络参数设置不当和网络结构不合理。在这一章中,我们构建了一个更深层的网络结构,它仍然适用于有限的硬件计算资源。网络结构达到34层,在人脸数据库上从头开始训练。该模型结合了深度神经网络的许多最新技术和技术,使深度模型更易于调整。4.1深层网络优化难题近年,深度学习尤其是深度卷积神经网络,在图像识别、语音识别、文字翻译等相关领域取得了瞩目的成绩,长期不断刷新最优的记录。随着卷积神经网络在各种图像识别任务上的成绩不断刷新的同时,网络模型的深度也在不断地加深,由当初的LeNet-5的7层到GoolgeNet的上22层的神经网络,同时对计算机硬件的计算能力要求也越来越高。按照深度学习理论,相比较于一个浅层的网络模型,一个更深层次的网络模型在同一个数据集上进行训练,只要网络不遇到梯度爆炸(exploding)和梯度消散(vanishing)问题,而且不要过拟合,那么网络模型在理论上就应该会有更好的效果。但是事实上并不是这样,在网络的深度由20增加到56层的时候,网络的训练误差并不是像理论上一样会比浅层的更低。其实这是一个当下普遍出现在深度学习方面的不合理的现象:当更深层次的网络模型能够正常收敛,网络模型的训练误差能够随着训练的迭代次数快速的下降,但是当网络模型的准确度达到饱和以后,网络模型的准确率会随着网络深度加深反而降低。这样不太合理的现象,被叫做神经网络的退化问题(degradation)。这种退化现象并不是因为网络的过拟合造成的,在其它一些实验中也有同样现象的阐述:给一个合理的网络添加更多的层数会导致更高的训练误差。导致这个现象主要原因是:随着神经网络深度的加深,网络模型的优化问题会变得更加困难,模型更加难以学习到使得模型性能最优的参数。图4.1:深层与浅层网络学习走势图4.2残差学习(ResidualLearning)为了解决这种更深卷积神经网络优化困难的问题,微软亚洲研究院提出了一种基于残差学习理论的神经网络模型结构。该神经网络局部模型结构的思想是:通过调整包含学习参数(如两层体积基)的连续多层非线性计算的参数来学习隐含的抽象映射关系(mappingfunction),但是这个隐含的映射关系并不好优化(在较深的网络中),所以转换一种思路,可以通过优化输入数据与映射以后的输出数据之间的残差(residual),从而达到网络学习抽象特征提取的能力。这个残差(residual)越逼近于0,代表这个网络提取的特征是与原始的输入是越相近的。将这种希望学习到的隐含的映射关系表示为Hx,我们可以让这些堆叠的非线性层来拟合另外一个映射关系(残差)Fx,Hx,x。原始的映射就会被转化为Fx+x。在理想情况下,如果这个映射关系能够优化的很理想,那么就会逐步的将这个残差逼近于0。这样,这个堆叠的非线性层的输出就能最大限度的保存原来输入的面貌,然后直接传递给下一层。这两种方法都是一种很有效的图片浅层特征表示的方法,在图片搜索、分类方面有着不错的性能。并且这种残差的思想在部分浅层视觉和计算机图像学方面的实验中,体现了更快的收敛速度。4.3残差卷积神经网络在这一部分中,根据残差理论,构建了一个更深层次的网络模型。这种网络模型的思想仍然是堆叠多个单元模块,以深化网络的整体结构。重点是引入最小网络模型残差块(remidualblock)来实现残差学习的思想,然后对整个模型进行详细的阐述。接下来,简要介绍了将在网络中应用的批量规范化新技术。4.3.1BatchNormalization在深度学习实验中,对实验数据集进行预处理是一种非常有效的方法,如白化或zscore等,即使是最常用的减法运算也能在一定程度上加快网络的收敛速度。减去图像的平均值可以使数据在空间的每个象限中更加随机分布,避免了数据集中在空间的一个或几个象限中的分布,从而在使用梯度下降算法时,随机初始化的参数可以快速收敛。白化的目的是去除数据之间的相关性,从而去除数据中的冗余信息,使训练学习和数据处理更加高效。虽然白化比减去平均值能更有效地加速收敛,减少网络过度拟合的可能性,但白化的计算过于耗时和耗费空间。批度规范化(BatchNormalization,以下简称BN)也是一种新的数据处理的方法,主要是对深度网络中的每一个参数层(主要是卷积层)中的输出数据进行规范化处理,也就是一般对激活函数的输入值进行处理,使得输出向量的各个维度的均值为0、方差为1。使用BatchNormalization主要有以下几点好处:(1)对每一层的输出进行了规范化,能够有效的防止参数不稳定的变动;参数的变化量稳定一点,网络的收敛也就稳定一些。(2)BatchNormalization能够使L2权重衰减系数降低,有效防止过拟合。4.3.2ResidualBlock局部单元ResidualBlock的模型每一个卷积层都要接一个非线性激活函数ReLU,但是ResidualBlock单元没有Pooling层,主要是防止Pooling层的下采样操作造成过多信息损失。取代Pooling的是一个滑动步长为2的卷积操作,以此来逐层将每层输入的FeatureMap的尺寸大小减半。这样就会有两种不同的ResidualBlock单元结构,本文中标注为A类型和B类型。ResidualBlock的A类型,该单元结构是一个普通的单元模型,输入输出的FeatureMap尺寸大小并不改变。该结构具体为:第一层是一个卷积层,卷积核的大小为3×3,核的滑动步长为1,Padding大小为1,这样来保证输入到输出的FeatureMap尺寸大小不变;第二层为一个BatchNormalization层,主要是对卷积层的输出做一个归一化处理,来防止网络过于深而发生网络梯度消散的问题;第三层为一个激活函数ReLu层,一定程度上保证了网络的稀疏性,并有更好的非线性映射的效果;第四层是一个与第一层的参数配置一样的卷积层,而且核的数量也是一样的;第五层依然是紧跟一个BatchNormlizaton层;第六层执行的计算是对应位置的元素相加的矩阵运算,这样就实现了残差理论中将要学习的特征映射转换为F(x)+x;第七层为ReLU激活函数层,将前一层的线性求和运算后的矩阵进行一个非线性的操作,然后输出的结果输入到下一个ResidualBlock单元中。以上7层构成了这个ResidualBlock的A类型,对其中的参数进行分析统计,忽略BatchNorm的少量参数,其具体网络配置和参数统计情况如表4-1所示。模型,该单元的最终输出的FeatureMap尺寸大不会减半,作用类似于Pooling层的下采样(Subsample)操作,起到将网络中间FeatureMap尺寸维度降低,使得网络提取特征逐渐抽象化的作用。该结构具体为:第一层是一个卷积层,卷积核的大小为3×3,但是不同于A类型结构中的卷积层,该层卷积核的滑动步长为2,Padding(扩充)大小依然为1,这样来保证输入到输出的FeatureMap尺寸大小减半;第二层同类型A一样是BatchNormalizaton层;第三层紧接一个激活函数ReLu层,对前一层的输入进行非线性映射;第四层是依然是一个卷积层,卷积核的大小依然为3×3,但是与第一层的不一样的是核的滑动步长为1,padding大小不变为1,保证输入和输出特征图的大小不变,卷积核的数量也与第一层一样,与类型A中的第四层一致;第五层依然是紧跟一个BatchNormlizaton层,与类型A中的第五层一致;第六层也是一个矩阵对应元素相加的计算层,与类型A中的第六层一致;第七层对第六层的输出映射ReLU激活函数层,与类型A中第七层一致。Mapping部分是B类型结构特有的一个分支结构。Mapping分支部分包括了一个卷积层和一个BatchNormlizaton层,卷积层的卷积核1×1的,核的滑动步长为2,扩充(padding)大小为0,作用是将输入直接映射到一个尺寸减半的输出特征图(FeatureMap),并且该特征图的大小与之前的第五层输出的FeatureMap大小一致,这样经过接下来的BatchNormlizaton,将输出FeatureMap进行规范化处理后,能够进行第六层的对应元素相加的矩阵操作,否者在输出的FeatureMap的尺寸大小上会出现不一致。以上7层加上Mapping分支,共同构成了这个ResidualBlock的B类型。4.4残差卷积神经网络的训练与实验分析4.4.1图片数据与预处理选择CASIA人脸库作为人脸库中的训练集。训练结束后,剩余网络仍将在lfw数据库上进行测试,完成lfw数据库上两张图片的身份认证。从表4-4可以看出,casiawebface数据库中的图片总数和人脸数远远超过其他两个库中的图片总数和人脸数。显然,在多分类问题中,使用更多的训练集对类别总数进行训练,可以使网络学习到更多区分这些不同人脸的不同特征,从而使网络具有更好的识别效果。因此,选择具有大量类别和样本的casia-webface等数据库,可以有效地提高具有随机初始化参数(如残差网络)的深度网络的性能和精度。casiawebface数据库中的图像预处理是将人脸对齐并转换成灰度图像。图片大小不是150x150。为了增加数据库的数量和网络的泛化能力,对图片进行了翻转。lfw数据库使用类似的处理方法。在网络的实际训练中,整个图片在casiawebface数据库中的输入并不是直接使用的,而是在图像的中心区域附近,区域的随机裁剪部分(randcrop),裁剪的大小是128×128,裁剪的方式如图所示。4-7。随机剪切不同区域后,得到更多的样本,并且这些增加的样本的背景和人脸位置是不同的。这样,网络模型对背景的变化和人脸位置的平移不敏感,从而提高了网络的泛化性能。4.4.2网络的训练残差网络是一个深层次的网络,虽然Residual学习的思想可以让网络模型变得更加容易调优,更加易于训练和收敛。但是不合理的学习参数的设置,比如学习率、网络参数初始化等等,在试验中依然会导致网络训练失败的情况。4.4.2.1网络学习率残差网络的学习率的设定,也是很重要的。过大的学习率会造成网络的梯度爆炸,导致网络崩塌;过小的会使网络的收敛变慢,使训练时间过长。通过多次试验,残差网络的学习率的走势如图4-9所示时,可以让网络很好的收敛。开始的时候网络可以使用一个较大的学习率0.01来进行学习,大概进行到整个网络训练的20~30%阶段的时候,将学习率降低到原来的1/10,也就是0.001。之后到达60%左右阶段的时候再次下降,达到0.0001。以后网络收敛逐渐达到一个平稳状态,学习率每隔一段时间就再次下降1/10直到网络收敛停止。4.4.2.2网络训练分析按照之前介绍的参数初始化方法和学习率的改变策略对网络进行训练,得到的残差网络loss值随训练迭代次数的走势图。从loss值的走势图可以看出,网络最开始的loss值很小,在9.0左右,相对于轻量级VGG网络中的loss值的走势图,这个值相对来说比较大,这主要是因为网络并没有使用预训练的初始化参数,而是随机初始化而来,其参数是没有优化的。在训练的开始几个epoch中,网络的loss值下降的很快,说明网络的收敛速度很快,网络模型结构是有效的。过程中,没有遇到梯度消散和梯度爆炸问题,并且相对于轻量级VGG网络的开始几轮迭代中的收敛速度,残差网络的收敛速度更快,这些也从侧面说明了这种新的参数初始化是有效。在之后的epoch中,残差网络收敛速度也是依然很快速,逐渐随网络优化和学习率的下降而变缓慢。最终达到比较好的效果。残差网络在Casia-WebFace数据库上训练后,验证集的多分类测试达到了78%左右的正确率。这个准确率并不高,主要是因为Casia-WebFace数据库中有很多错误的脏数据。受到这些错误训练集的干扰,网络模型难以在训练集上进行良好的拟合,但是得益于大量的样本种类,网络模型依然对人脸特征有了很好的提取能力。4.4.3LFW验证结果分析在LFW数据库中对以上模型的有效性进行测试与分析。残差网络主要是提取网络的倒数第二层,均值下采样层(averagepooling层)的输出特征向量作为人脸的特征进行分类识别。从残差网络的配置参数可以得知,人脸的特征向量是一个512维度的特征向量。人脸图片对的相似程度,就通过这512维的向量之间的欧式距离进行衡量。在计算欧式距离之前,依然是将特征向量进行归一化,也就是每一维度除以向量所有维度数据的平方和的平方根。在LFW验证中依然使用了两种数据进行比较,类型A使用的是LFW没有人脸对齐,仅仅只是裁剪掉部分背景的人脸图片;类型B使用的LFW数据是经过与训练集一样进行过裁剪和人脸对齐以后的图片。4.5本章小结本章主要是引入了一个新的卷积网络模型学习的思想——残差学习(ResidualLearning),并根据这种思想构造了一个新的卷积神经网络,成功应用于人脸识别任务。第5章总结与展望第5章总结与展望人脸识别技术是利用人脸来完成身份识别和验证任务的。由于人脸表情的多样性、背景的复杂性、光照的变化、姿态的差异等,人脸识别在实际应用中仍然具有挑战性。人脸作为一种生物特征,在公安、图像搜索等领域也有着非常方便的应用,具有广阔的应用前景。本文利用卷积神经网络在近年来深学习领域的研究热点,完成了人脸识别中的验证任务。近年来,深卷积神经网络在计算机视觉领域取得了比传统技术更为显著的成就。本文设计了两种不同结构的深卷积神经网络。通过对人脸优化识别问题的研究,实现了一种基于卷积神经网络分类和块Radon尺度变换信息增强的人脸识别算法。在卷积神经网络分类器中,利用Radon尺度变换的几何不变性增强人脸的关键特征点。特征分类用于优化特征提取和人脸识别。实验表明,该方法具有较好的人脸识别精度、较高的大样本人脸识别精度、较好的实时性和较高的应用价值。虽然在LFW测试集中,人脸识别方法的准确率分别达到了99.1%和93.32%,但与顶级的人脸识别方法相比,仍有很大的差距。由于时间有限,笔者有一些想法尚未实现:1。在特征融合方面,首先提取每个基本模型的卷积层,然后通过预处理和融合得到组合卷积层。最后利用卷积神经网络进行训练。这样不仅可以得到卷积层提取的基本特征,而且可以利用卷积神经网络进行更有效的学习。2。在本文中,只有三个开源模型用作基本模型,只有两个模型用作最佳模型。后续思路上,采用更基本的模型,可以整合更多模型的优点,从而进一步提高改进模型的有效性。三。本文所使用的两个训练集较小,较大的数据集对深度学习训练更有效。参考文献[1]M.AliAkberDewan,E.Granger,G.-L.Marcialis,R.Sabourin,F.Roli.Adaptiveappearancemodeltrackingforstill-to-videofacerecognition[J].PatternRecognition,2016,49:.[2]SamikB,SukhenduD.Mutualvariationofinformationontransfer-CNNforfacerecognitionwithdegradedprobesamples[J].Neurocomputing,2018,12(04):11-18.[3]Young-JooH,WooseongK,Joon-SangP.EfficientEye-BlinkingDetectiononSmartphones:AHybridApproachBasedonDeepLearning[J].MobileInformationSystems,2018,05(11):1-8.[4]YongXu,ZhengZhang,GuangmingLu,JianYang.Approximatelysymmetricalfaceimagesforimagepreprocessinginfacerecognitionandsparserepresentationbasedclassification[J].PatternRecognition,2015,:.[5]Xiao-YuanJing,FeiWu,XiaokeZhu,XiweiDong,FeiMa,ZhiqiangLi.Multi-spectrallow-rankstructureddictionarylearningforfacerecognition[J].PatternRecognition,2016,:.[6]AbdolhosseinFathi,PendarAlirezazadeh,FardinAbdali-Mohammadi.AnewGlobal-Gabor-Zernikefeaturedescriptoranditsapplicationtofacerecognition[J].JournalofVisualCommunicationandImageRepresentation,2016,:.[7EverardoSantiagoRamírez.Optimization-basedmethodologyfortrainingsetselectiontosynthesizecompositecorrelationfiltersforfacerecognition[J].SignalProcessing:ImageCommunication,2016,:.[8]马姗姗.基于深度学习的低画质人脸识别研究[D].电子科技大学,2018.[9]林胜光.面向局部遮挡的人脸识别方法研究及实现[D].电子科技大学,2018.[10]李自豪.基于卷积神经网络的人脸图像识别研究[D].郑州大学,2018.[11]王浩,孙福明.基于人脸识别的身份识别系统[J].电脑知识与技术,2017,13(33):211-212.[12]孙劲光,孟凡宇.基于深度神经网络的特征加权融合人脸识别方法[J].计算机应用,2016,3602:437-443.[13]张延安,王宏玉,徐方.基于深度卷积神经网络与中心损失的人脸识别[J].科学技术与工程,2017,17(35):92-97.[14]卢宏涛,张秦川.深度卷积神经网络在计算机视觉中的应用研究综述[J].数据采集与处理,2016,3101:1-17.[15]王飞,李强.基于改进的深度信念网络的人脸识别算法研究[J].兰州交通大学学报,2016,3501:42-47+58.[16]胡正平,何薇,王蒙,孙哲.Gabor调制的深度多层子空间人脸特征提取算法[J].信号处理,2017,33(03):338-345.[17]陈耀丹,王连明.基于卷积神经网络的人脸识别方法[J].东北师大学报(自然科学版),2016,4802:70-76.[18]张泊平.云计算平台下的人脸识别[J].现代电子技术,2016,3918:88-90+95.[19]杨鸣鸣.基于嵌入式系统的人脸识别算法研究及其优化[J].微型机与应用,2016,3519:50-52.[20]余丹,吴小俊.一种卷积神经网络和极限学习机相结合的人脸识别方法[J].数据采集与处理,2016,3105:996-1003.[21]李春利,柳振东,惠康华.基于卷积神经网络的人脸识别研究[J].软件导刊,2017,16(05):186-188.[22]杨巨成,刘娜,房珊珊,谢迎.基于深度学习的人脸识别方法研究综述[J].天津科技大学学报,2016,3106:1-10.[23]杨瑞,张云伟,苟爽,支艳利.Gabor特征与深度信念网络结合的人脸识别方法[J].传感器与微系统,2017,36(05):68-70.[24]冯建洋,谌海云.基于人工神经网络的人脸识别研究[J].自动化与仪器仪表,2017,05:24-26+29.[25]郭晓洁,陈良,沈长青,刘承建.自适应深度卷积神经网络在人脸识别上的应用[J].自动化技术与应用,2017,36(07):72-77.[26]陈志轩,周大可,黄经纬.基于卷积神经网络的表情不变三维人脸识别[J].电子测量技术,201

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论