英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
摘要 随着包含人脸的图像的爆炸式增长,可伸缩的人脸图像检索已经引起越来越多的关注。由于其惊人的有效性,深度散列已成为最近流行的散列方法。在这项工作中,我们建议用一种新的鉴别深度散列(DDH)网络学习区分和压缩散列码用于大规模人脸图像检索。该网络将端到端学习、分频编码模块和所需的离散码学习集成到一个统一的框架中。具体地说,提出了一个具有卷积池层的网络,通过合并第三个最大池层和第四个卷积层的输出,提取出多尺度、健壮的特征。为了同时减少散列码与网络参数之间的冗余,分码模块产生紧凑的散列码。此外,还引入了一个会导致具有识别性的散列码的损失函数来最小化所学散列码的预测误差。在两个数据集上的大量实验表明,与一些最新的散列方法相比,该方法具有更好的性能。
1 介绍
随着智能移动服务社交网络的日益普及,近年来包含人脸的图像数量呈爆炸式增长。因此,面向特定人脸图像识别的人脸图像检索成为一个具有吸引力的研究领域。人脸图像检索的主要挑战是类内变化大,计算时间和存储成本高。因此,需要开发有效的人脸图像检索方法来解决上述两个问题。
为了解决第一个问题,以往的方法主要集中在如何找到更好的手工绘制的视觉描述符,例如lbp[ojala等人,2002],以表示面部图像。近年来,卷积神经网络(CNN)等深度学习在图像分类[Krizhevsky等人,2012;Li等人,2015]和面部识别[Sun等人,2014a]等许多计算机视觉任务中都显示出其惊人的性能。从图像中学习到的CNN特征具有更强的健壮性和较好的捕捉图像的潜在语义结构。并且已经提出了许多方法将CNN的特征来完成视觉任务[Sun等人,2014 b]。然而,对于大规模的人脸图像检索,基于CNN特征的检索方法仍然是高维、低效率的检索任务。因此,散列方法,特别是深度散列方法,被广泛地应用于将高维人脸表示映射到紧致二进制码上。由于深度特征的强大能力和检索效果,深度散列方法近年来引起了人们的广泛关注。
已经提出了用于图像检索的深度散列方法[Xia等,2014;Liu等,2016;Lai等,2015;Dong等,2016;Tang等,2017]。这些方法主要以对图像对或三元组中编码的监督信息作为训练输入。一些深度散列方法分别学习散列码和散列函数,例如CNNH[夏等人,2014]。CNNH首先通过保持监督的两两相似度来学习散列码,然后利用深卷积网络学习基于学习的散列码的散列函数。为了将散列学习和深层网络并入端到端系统中,已经提出了一些其它的深度散列方法[Liu等,2016;Lai等,2015]。DSH[Liu等人,2016]通过保留图像输入对(相似/不同)中编码的相似性来学习基于CNN体系结构的散列码。NINH[LAI等人,2015年]通过最大限度地减少基于“网络中的网络”网络的三重态排序损失来学习散列码[Lin等人,2013年]。在[董等人,2016]中,低阶散列首先根据CNN的特性预先学习散列函数,并介绍了基于三重子排序损失的微调过程。这些方法主要以监督对或三重态作为训练输入。然而,获得这些配对或三胞胎既昂贵又费时。而模型的优化复杂度将大大增加,所学习的散列码不能保证具有鉴别性。此外,没有研究散列码之间的冗余。
为此,我们提出了一种新的鉴别深度散列(DDH)方法来学习用于可伸缩人脸图像检索的鉴别和压缩散列码,如图1所示。该方法将特征提取和散列学习结合到一个统一的框架中,是一个端到端的系统。具体来说,构建了一个具有卷积池层的子网络,将与标签相关的人脸图像作为输入,并为每个人脸图像提取特征。为了获得多尺度和健壮的人脸特征,将第三极大值池层和第四卷积层的输出合并。其次,为了同时降低散列码和网络参数之间的冗余,引入了分码和编码模块。为了使所学习的散列码具有鉴别性,需要离散散列码直接预测人脸图像的标签。为了更好地解决所提出的优化问题,将离散散列码放宽为连续的,并引入正则元来近似期望的离散值。为了验证该方法的有效性,在两个人脸图像数据集上进行了大量实验。实验结果与一些最新的散列方法进行了比较。 该方法具有良好的性能。论文的其余部分按以下方式排列。在第二节中,我们回顾了有关深度散列方法和基于深度学习网络的人脸相关任务的相关工作。。第三节阐述了一种用于大规模人脸图像检索的DDH方法.然后,我们在第四节中进行了实验,验证了所提出的深度散列方法的有效性。最后,第五节总结了本文的工作。
2 相关工作
在本节中,我们回顾了以往关于深度散列方法和通过深度学习网络进行人脸相关任务的相关工作。
2.1 深度散列方法 现有的基于学习的散列方法可分为三类:监督散列[夏等人,2014年;沈等人,2015年;Liu等人,2016年;Tang等人,2017年],半调理式散列,无监督散列[Andoni和Indyk,2006年;Weiss等人,2008年;Tang等人,2017年]。 2015].现有的深度散列方法大多属于监督散列方法。在这些方法的管线中,它们通过一个深网络将高维特征空间投影到低维Hamming空间。以及其他适当的约束,如点相关约束[Lin等人,2015],对偶约束[LAI等人,2015年;Liu等人,2016年;朱等人,2016],排名约束[Z] Hao等人,2015]被强加于网络,以生成有区别的二进制散列码。
一些深散列方法分别学习散列码和散列函数,例如CNNH[夏等人,2014]。它们不属于端到端方法。CNNH使用两个阶段学习散列码和散列函数。它首先通过保持监督的两两相似度来学习散列码,然后利用深卷积网络学习基于学习的散列码的散列函数。为了建立一个端到端的深度学习系统,还提出了一些其他深度散列方法[赵等人,2015年;Liu等人,2016年;赖等人,2015年]。在[赵等人,2015]中,通过研究深度CNN结构下的多级语义排序监督信息,学习了用于多标签图像检索的散列函数。在[LAI等人,2015]中,NINH被提议通过将散列学习融合到深层结构中来改进CNNH。NINH根据“网络中的网络”网络,通过最小化三重态排序损失来学习散列码[Lin等人,2013年]。DSH[Liu等人,2016]通过保持基于CNN结构的图像输入对(相似/不同)中编码的相似性来学习散列码。DHN[朱等人,2016]通过使用双交叉熵损失层来学习适合散列编码的图像表示,以保持相似性。在[董等人,2016]中,低阶散列首先根据CNN的特性预先学习散列函数,并介绍了基于三重子排序损失的微调过程。这些方法主要以监督对或三重态作为训练输入。然而,获得这些配对或三胞胎既昂贵又费时。而模型的优化复杂度将大大增加,所学习的散列码不能保证具有鉴别性。此外,没有研究散列码之间的冗余。
与上述的深度散列方法不同,我们提出了一种新的深度散列方法,将与标签相关的人脸图像作为训练输入。特征提取和散列学习集成到一个统一的深层体系结构中。所学习的散列码可以很好地预测人脸图像的标签。为了同时减少散列码和网络参数之间的冗余,所提出的深度框架利用了一个划分和编码模块。
2.2 基于深度学习网络的人脸相关任务 近年来,在深度学习的推动下,众多与人脸相关的任务选择采用深度学习网络,取得了显著的效果。在[Taigman等人,2014]中,3D模型被用来在训练前对齐面部,并且使用几个没有重量分担的局部连接层来提高精度,而不是标准的卷积层。DeepID是一种通过深度网络从不同人脸区域提取多尺度人脸特征的方法,在LFW数据集上确实获得了很好的人脸验证精度。 2014a]。在[Schroff等人,2015]中,引入了三重态损失而不是Softmax损失,以最小化锚与正数据点之间的距离,并使锚和一个负数据点。之间的距离最大化。提出了一种新的损失函数-中心损耗,根据深度特征最小化类内距离[温等人,2016]。与对比损耗和三线损耗相比,中心损耗更方便,节省了更多的空间和时间。与[Sun等人,2014b]类似,我们利用图1所示的深层网络架构来提取健壮的和多尺度的面部特征。
3 拟议的DDH方法
在本节中,我们将详细介绍所提出的DDH方法。首先介绍了本文的研究动机,然后阐述了本文提出的模型。
3.1 动机 散列算法的核心问题是如何学习具有鉴别性和紧凑性的散列码,从而大大提高图像检索的性能。由于cnn在学习数据表示方面的强大能力,我们重点提出了一种深度散列方法,以保证哈希学习与特征表示的最佳兼容。 实现学习,如图1所示。
为了分层提取人脸特征,在CNN结构的基础上开发了一种基于卷积层和最大汇聚层的深度网络。前三个完全连通的卷积层主要从原始像素(如简单的边缘和纹理)中提取中间层表示[Taigman等人,2014]。通过引入最大池层,卷积网络的输出对局部平移更加健壮。上层逐渐形成更多的全局和高层次特征,不存在卷积的局部稳定性假设。因此,第四层是局部连接的[Sun等人,2014 b],第四卷积层的权重完全不共享。为了提取健壮和多尺度的人脸表示,将第三最大集合层和第四卷积层的输出合并到卷积层中,引入一个完全连接的卷积层,即面部特征层,如图1所示。
理想的散列码应该由深层网络直接学习。因此,所提出的深度网络的输出是期望的离散散列码。为了使散列码具有鉴别性,需要所学习的散列码能够很好地预测人脸图像的标签。另一方面,学习的散列码应该是紧凑的。为了减少散列码之间的冗余,提出的深度网络利用了一个分块和编码模块。分片编码模块还可以减少网络参数的个数,从而降低计算成本。
3.2 提议的公式化 散列学习的目标是学习散列函数h:r7→{minus;1,1},该函数将图像映射到hamming空间。
假设我们有N个训练人脸图像{xi}Ni=1与它的标签向量YIisin;RM相关联,其中M表示类标签的数目。Y=[y1,···,Yn]isin;RMtimes;N表示标号矩阵。如果xi属于jth类,则yji=1,否则为0.该方法的目的是学习每个人脸图像xi的离散散列码biisin;{minus;1,1}K,其中K表示散列码的长度。而学习的散列码bi是判别性的,可以很好地预测它的标签。为此,我们建议通过端到端深网络学习散列码,如图1所示。
在开发的深层网络中,具有一组卷积汇集层的子网络提取多尺度和健壮的面部特征。与最大合并层相关联的前三个完整连接的卷积层主要从原始像素提取中级表示,例如简单的边缘和纹理。第四层卷积层可以获得更全面、更高层次的特征。为了获得健壮的多尺度人脸表示,将第三最大池层和第四卷积层的输出合并到合并层中。然后,通过充分连接合并层的输出,引入人脸特征层。为了同时减少网络参数的数量和所需的哈希码之间的冗余,引入了类似于[Laietal.,2015]的分频编码模块。它将从人脸特征层中获得的中间特征等分为K类。然后,我们通过一个完全连接的层将每一组映射为一个实值。最后,我们将所有K实值合并为散列层。散列层的输出为所需的离散列码Bisin;{minus;1,1}Ktimes;N。这里X是包含N个人脸图像的数据矩阵,g(·)表示深层网络的转换。提出的深度散列网络采用端到端学习框架,共同学习良好的表示和紧凑的二进制散列码。
为了提高学习散列码在监督情况下的鉴别能力,有必要引入损失函数来度量学习散列码的预测能力。有些方法使用对比损失[Sun等人,2014年a]和三重态排序损失[Schroff等人,2015年]。对于对比度损失,需要构造足够的图像对,容易导致正负对的不平衡问题。三元组排序损失需要复杂的采样策略以获得合适的三元组并导致更加困难的优化问题。它们也会导致更大的计算成本,包括时间和空间。与之不同的是,我们把带有类标签的人脸图像作为训练输入。为了保证散列码的鉴别能力,期望所学习的散列码能够很好地预测相应的类标签。为了简单起见,我们使用Softmax函数作为预测函数,这是Logistic函数的推广。这里wk是第k类的线性预测函数.所有训练图像的损失函数如下。为了避免过拟合,提高泛化能力,在上述损失函数中引入了正则化项。W=[W1,···,Wm],alpha;是一个非负超参数,∥·∥2是矩阵的Frobenius范数。因此,得到了拟议的公式。为了提高网络的泛化能力,还引入了所有参数的正则化算法。
如果我们能直接解决优化问题(Eqn)。4)得到离散散列码和散列函数是理想的。不幸的是,上述问题(EQN)。4)离散约束条件下的优化问题。受[Liu等人,2016]的启发,我们放松B使其连续,并利用tanh函数将输出值限制在(-1,1)范围内。此外,我们还在连续值上加了正则元,以逼近期望的离散值(1/-1)。然后是问题(Eqn)。4)重写如下。这里|·|是元素的绝对值运算,1是一个向量的向量,||·||1是一个向量的运算式1-范数。beta;是控制正则化器重要性的加权参数。上述优化问题(Eqn.5)通过利用端到端学习、分码和编码模块、散列学习和预测功能来学习区分性和紧凑的散列码。
为了优化所提出的公式,采用小批梯度下降算法的反向传播算法对所开发的网络进行了训练。在实践中,提议的模型是基于带有Theano后端的Keras库实现的[Bergstra等人,2010年]。在此平台下,我们需要做的只是输入目标函数,并且ano将完成具有自动推导的特性的训练。
一旦开发的深度散列网络被训练,我们就可以使用它为任何输入图像生成K位散列码。根据散列层的输出,如果bgt;0,则使用sgn(·)函数:sgn(B)=1,否则可以使用sgn(B)=minus;1计算散列码。
4 实验
为了评价所提出的深度散列方法在可伸缩人脸图像检索中的有效性,我们在两个广泛使用的大规模人脸图像数据集上进行了实验:Youtube Faces[Wolf等人,2011]和FaceScrub[Ng和Winkler,2014],并将拟议的DDH方法与几种最先进的散列方法进行了比较。
4.1 数据集与评价指标 实验是在两张人脸图
全文共7968字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[1077]
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。