基于卷积神经网络(CNN)的人脸图像特征提取

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.引言
1.1 人工神经网络的发展 人工智能学科是国际公认的当代高科技核心之一,其应用研究已深入各个学科和领域, 并取得了显著成果。 如何模拟人类大脑思维模式以高效地表述信息是人工智能的核心问题之 一。 19 世纪中期 McCulloch 和 Pitts[1]提出了第一个人工神经元模型(MP 模型), 奠定了早期神 经计算发展的基础。 1958 年 Rosenblatt[2]在 MP 模型的基础上提出了感知器模型(Perceptron),
5.PCNN 人脸识别
验证了 CNN 在提取图像特征上较高的准确性以后,根据深度人脸表示的相关研究,利 用一种对 CNN 进行一定的改进,名为“金字塔”型 CNN(Pyramid CNN,后简称 PCNN) 的算法结构进行人脸识别。 Pyramid CNN 是一种理论上非常易于理解且效果优良的深度学习算法结构, 同样采用过 滤器和降采样交替的操作,使训练过程非常快速且具有高效率的计算。另外,PCNN 可以自 然地做到多尺度脸部特征的共享,增加了结果表示的识别能力。 PCNN 理论[12-13]如下图所示:
最后利用重复梯度下降法的迭代步骤来减小代价函数J (W , b) 的值,进而求解神经网 络。 但 BP 神经网络的缺点是收敛速度慢,效果依赖初始点集,容易陷入局部最小值或出现 过拟合现象。
3. 卷积神经网络的结构
对于图像特征提取任务,卷积神经网络的一般结构如图 2.1 :
图 2.1 卷积神经网络结构包括:卷积层,降采样层,全链接层。每一层有多个特征图,每个特 征图通过一种卷积滤波器提取输入的一种特征,每个特征图有多个神经元。 图 2.2 来解释各层的具体操作。
4.验证 CNN 在提取图像特征上的准确性
代码仿真和编写均在 MATLAB 上完成。 4.1 手写数字库 手写数字库分为训练部分和测试部分。训练部分包括 10 个阿拉伯手写数字(0 到 9)共 60000 张图片,均带有标签;测试部分包括 10 个阿拉伯手写数字(0 到 9)不同的 10000 张 图片和标签。测试结果如图 4.1
损失函数鼓励了属于同一个人的不同特征之间的微小距离, 对不匹配的组队之间的相似 予以惩罚。这样学习到的特征表现出了优良的 ID-preserving 性质,即映射空间中的距离应 该基本可以反映真实的语义距离,不相关因素的影响应被减小。我们的理解是,通过这样的 损失函数得到的特征应该能比较全面地概括一个人的人脸, 由于个体内部差异导致的因素被 压制了。 PCNN 的动机在于利用脸部的多层结构来加快深度神经网络的训练速度。 PCNN 包含了数个 CNN 网络,它们被分成了数级,每级包含一个或多个 CNN 网络, 每层 CNN 网络有不同的深度和输入大小,但它们之间共享一些训练层。每个网络都包含几 层共享层和一个在所有级都具有相同结构的不共享部分。 第一层被所有级的网络共享, 第二层被从第二级开始的所有网络共享, 这个共享理论不 断重复。由于共享层的降采样操作,且更高级的网络的输入尺寸更大,在高级网络组中可能 存在不止一个网络,它们虽然也共享共享层的参数,但却作用在人脸的不同区域上。 下面是具体操作: 第一级 CNN 网络在人脸图片的部分内容上训练,然后其第一组卷积层和降采样层的各 项参数训练完毕后固定不变,传递到下一级的 CNN 网络,并被之后所有的 CNN 网络共享, 用于过滤和下采样处理高级 CNN 网络的输入。 类似的,第二级 CNN 网络训练完毕后其第二组卷积层和降采样层(即第二级 CNN 网 络相较于第一级 CNN 网络新增的第一组卷积层和降采样层)各项参数固定不变,和之前共 享的一组卷积层和降采样层一起传递到下一级组的 CNN 网络,并被之后所有的高级 CNN 网络共享。 这样的训练方式在 PCNN 网络中继续,知道所有的网络都被训练完毕,并且最后一个 有额外深度的网络已经获得。采取这种方式后,实际需要训练的网络的大小大大减小,并没 有像简单的 CNN 叠加那样随着层数的递增而增加。而在一个级别中可包含超过一个网络的 目的是补偿低级别网络无法覆盖输入图片所有区域的缺陷。因为 PCNN 是在强力的监督模 式下学习的, 这样一来各个级次的网络学习到的特征都与图像识别直接相关所以能够保证最 终能提取出具有强辨识度的信息;其次 PCNN 是一种多层特征提取结构,能够自然地处理 在人脸识别中常见的多层输入数据块, 利用多层结构实现对于越大的输入区域便使用越深的 的网络。 网络深度的增加使得更高级的网络能够处理在更大的图像块上更复杂和更抽象的运 算。
numepochs=1 numepochs=3 numepochs=200
0.3 0.25 0.2 0.15 0.1 0.05 0 错误率 numepochs=1 numepochs=3 numepochs=10
图 4.2 epoch 代表训练的次数。由图可见 CNN 在风景人脸混合数据库这样两种图片特征差别 较大的数据上上识别效果依然很好,表明 CNN 在提取图像特征上准确率较高。
第一次将人工神经网络理论应用在实际问题中。1984 年 Hopfield[3、4]提出了 Hopfield 神经网 络模型(Hopfield Networks), 为以后人工神经网络的研究提供了理论基础。 1986 年 Rumelhart[5] 等人提出了并行分布处理理论以及具有非线性转移函数的多层前馈网络(BackPropagation Networks)的误差反向传播算法(Back Propagation),该算法到现在为止仍是最受关注,应用最 广的人工神经网络之一。 1.2 深度学习的出现以及卷积神经网络的优势 随着神经科学的发展, 人类发现脑部信号是通过一个复杂的层次结构模块传播, 并且随 着时间推移可以学习到一些规律的特性来表达观测信号, 从边缘检测, 基础形状到更加复杂 的视觉形状。由此导致了机器学习研究中一个新的领域,深度学习的出现,其概念由 Hinton 等人于 2006 年提出,动机在于建立、模拟人脑进行分析学习。 卷积神经网络是一种深度的监督学习下的机器学习模型, 具有极强的适应性, 善于挖掘 数据局部特征, 提取全局训练特征和分类, 它的权值共享结构网络使之更类似于生物神经网 络,在模式识别各个领域都取得了很好的成果。 1.3 人脸特征提取的研究意义 人脸特征具有很强的自身稳定性和个体差异性, 是身份验证的理想依据。 利用人脸生物 特征进行身份比对是最自然和直接的身份验证。人脸识别问题分为人脸验证(Verification)、 识别(Recognition)、鉴定(Authentication)三个环节,人脸特征在各个环节都有关键作用。好 的人脸图片特征能大大提高人脸识别准确率,是近 20 年来的研究热点,能被广泛应用于国 家公共安全、社会安全以及商业等领域。 1.4 本文主要工作 本文在实现卷积神经网络(Convolutional Neural Networks,后简称 CNN)最基本功能代码 的基础上验证了其在提取图像高维特征上的准确性, 并根据 Yaniv Taigman[6]和 Haifeng Fan[7] 等人提出的深度人脸表示算法[8、9]改进了 CNN 的结构,再加入光照和姿态的预处理后做了 一定数量的实验后给出了新结构的实验结果分析和进一步改进的可行方法。
其中公式第一项的 J (W , b) 是一个均方差项,第二项是一个规则化项(也叫权重衰减 项),其目的是减小权重的幅度,防止过度拟合。 训练神经网络的过程就是利用梯度下降法多次迭代更新代价函数中参数W 和 b 的过程, 其中心思想是要使代价函数达到最小值。W 是层与层之间的权重,b 是偏置值。反向传播 算法的步骤如下: ①进行前馈传导计算,利用前向传导公式,得到从输入层直到输出层的激活值。
2.全连接的反向传播算法[8]
反向传播算法(BP 算法)主要由两个环节(激励传播、 权重更新又称前向传播和反向传播) 反复循环迭代,直到网络的对输入的响应达到预定的目标范围为止。 假定对于一个固定的样本集 于单个样例 ( x, y ) 的代价函数为 包含 m 个样例,对
那么对于整个样本集来说,整体代价函数为:
其中 a ( l ) 是第 l 层的输出值(激活值),W ( l ) 是从 l 到 l+1 层的连接权重, b (l ) 是 l 层的偏 置值, f () 是激活函数。 ②对输出层的每个输出单元 i,根据以下公式计算残差:
③对除去输入层和输出层,各层第 i 个节点的残差计算公式如下:
④计算更新 W 和 b 所需要的偏导数,根据以下公式:
基于卷积神经网络(CNN)的人脸图像特征 提取
刘潇隅 中国科学技术大学 信息学院 自动化系 指导老师:朱 明 摘 要: 本文验证了卷积神经网络在提取图像特征中的高准确性, 利用卷积神经网络进行人 脸识别,并加入光照和姿态的预处理操作以提高识别率。最后对实验进行了较系统的总结, 并提出进一步改进的方法。 关键词:卷积神经网络 模式识别 预处理
Facial Feature Extraction based on Convolutional Neural Networks
Xiaoyu Liu Department of Automation, School of Information Science & Technology, University of Science and Technology of China Supervisor: Ming Zhu Abstract: In this paper, we verify the high accuracy of Convolutional Neural Networks in extracting pictures’ feature, adopting Convolutional Neural Networks to conduct facial recognition. We add into preconditionings of pose and illumination to improve the rate of recognition. Finally we conclude the research systematically and come up with the feasible solutions to existing problems. Keywords: CNN, Pattern Recognition, Preconditioning
将两张图片送入同一个 CNN 中,得到各自相应的表示结果。然后通过一个输出神经元 利用一个距离函数来比较这两个表示并作出预测是否这组图片属于同一个人。 采用的损失函 数如下:
其中 ( I1 , I 2 ) 表示这两张图片是否输入 代表神经网络中做的运算,、 都是训练参数。
0.12 0.1 0.08 0.06 0.04 0.02 0 错误率
图 4.1 epoch 代表训练的次数,平均每次训练耗时 120ms。由图可见 CNN 在手写数字库的数 据库上识别效果很好,进而验证了 CNN 在提取图像特征上的高准确率。 4.2 风景人脸图片混合库 创建一个数据库包含 600 组训练图片和 440 组测试图片, 包括均是人脸图片和不全是人 脸图片的图片对。测试结果如图 4.2:
图 2.2 3.1 卷积层 使用卷积层的原因是卷积运算的一个重要特点是, 通过卷积运算, 可以使原信号特征增 强,并且降低噪音。用 6 个 5×5 的过滤器进行卷积,结果是在卷积层 C1 中,得到 6 张特 征图, 特征图的每个神经元与输入图片中的 5×5 的邻域相连, 即用 5×5 的卷积核去卷积输 入层,由卷积运算可得 C1 层输出的特征图大小为(32-5+1)×(32-5+1)=28×28。 3.2 降采样层 使用降采样的原因是, 根据图像局部相关性的原理, 对图像进行子采样可以减少计算量, 同时保持图像旋转不变性。降采样后,降采样层 S2 的输出特征图大小为(28÷2)×(28 ÷2)=14×14。 3.3 全连接层 采用 softmax 全连接,得到的激活值即卷积神经网络提取到的图片特征。 更多有关 CNN 原理可参照参考文献[9-11]。
相关文档
最新文档