基于自编码器的自亲缘关系识别方法与流程

文档序号:11678039阅读:499来源:国知局
基于自编码器的自亲缘关系识别方法与流程

本发明涉及人工智能技术领域,特别地,涉及一种基于自编码器的自亲缘关系识别方法。



背景技术:

针对人脸图像的研究一直是计算机视觉领域十分重要的内容。人脸图像的研究之所以重要,是因为人脸表达了诸多个人信息,在社会生活的中有着特殊作用。在人工智能领域,模仿人类视觉完成对人脸的认知已经取得了丰硕的成果。如今在人脸识别、身份认证等多个方面,计算机视觉已经可以成功的替代人类。通过人脸图像识别人物的亲缘关系仍是新颖而富有挑战的工作。

从人脸图像中研究人物关系是近几年兴起的课题,近年来,相关的几个数据库和算法相继被提出,然而大多数现有的数据库都规模过小且标准不一。2014年召开了第一届的亲缘关系识别大赛,以统一的衡量体系来评估现下的一些方法,建立了两个关于亲缘关系的数据库kinfacew-i和kinfacew-ii。

过去的五年在心理学、生物学和计算机视觉领域里,关于基于人脸图像的人物关系识别主要分为两个流派,一种是基于人工设计的描述子,另一种是基于相似性学习。对于基于描述子的方法来说,人们提取了一些重要的特征例如肤色、梯度直方图、gabor梯度方向金字塔、显著性信息、自相似特征和动态表情等作为常用的人脸表征,还提出了一种基于空间金字塔的特征描述子作为人脸图像的特征,改进了的支撑向量机用以将两个个体间的特征距离予以分类;在基于相似性学习的方法中,子空间和度量学习被用作来学习更好的特征空间来衡量面部样本的相似性。具有代表性的算法包括:子空间学习和邻近空间度量学习,将多特征融合,学习一种区分性度量用以扩大非亲关系距离,缩小亲缘关系距离,以达到识别目的。

然而,当机器视觉试图模拟人类视觉时,往往难以模仿人类的社会经验,现如今的人工智能用以补足这个缺点的方式是大量的人工标注数据,以充分的训练来构造更鲁棒的模式识别算法。人物间的关系识别难度较普通人脸识别大上许多,比较对象从一种容貌和对应的一个身份到一对人脸和某种关系,这种关系是经过人类设定的。而当一个人只拥有一个身份的同时,关系与人物对、人物之间可以是多对多的复杂关系。

针对现有技术只能进行人脸识别、无法进行人物间关系识别的问题,目前尚未有有效的解决方案。



技术实现要素:

有鉴于此,本发明的目的在于提出一种基于自编码器的自亲缘关系识别方法,能够进行人物间的自亲缘关系识别。

基于上述目的,本发明提供的技术方案如下:

根据本发明的一个方面,提供了一种基于自编码器的自亲缘关系识别方法,包括:

输入人脸图像并进行预处理;

根据人脸图像确定人物的身份特征;

构建自编码器并组成自编码神经网络;

在自编码神经网络中对身份特征反复进行前向传播与反向传播;

更新权重直到代价函数最小化并获得身份特征的关联特征;

根据关联特征识别人脸图像之间的自亲缘关系。

在一些实施方式中,所述输入人脸图像并进行预处理包括:

输入待识别的人脸图像;

对人脸图像进行人脸检测与旋转校正;

将人脸图像剪切为指定尺寸的样本。

在一些实施方式中,所述构建自编码器并组成自编码神经网络包括:

根据稀疏因子构建多层稀疏自编码器;

根据逐层贪婪算法训练网络初始值;

根据反向传播算法调整网络参数。

在一些实施方式中,所述根据稀疏因子构建多层稀疏自编码器包括:

根据指定的稀疏性参数与隐藏神经元的平均活跃度确定稀疏因子;

根据稀疏因子与激活函数构建多层稀疏自编码器。

在一些实施方式中,所述根据逐层贪婪算法训练网络初始值包括:

分层训练自编码神经网络各层参数;

将以前每一层训练好的输出作为后一层的输入;

根据训练好的网络各层参数确定网络初始值。

在一些实施方式中,所述根据反向传播算法调整网络参数包括:

根据数据集样本在神经网络中前向传播的结果确定代价函数;

根据代价函数确定神经网络中每层每个神经元的残差;

根据每层每个神经元的残差计算代价函数对每层每个神经元参数的偏导;

根据代价函数对每层每个神经元参数的偏导、网络学习速率调整网络参数。

在一些实施方式中,所述在自编码神经网络中对身份特征反复进行前向传播与反向传播包括:

从输入层开始,根据网络参数计算每一层的激活值;

从输出层开始,根据两身份特征计算一身份特征的输出与另一身份特征的残差;

根据一身份特征的输出与另一身份特征的残差计算代价函数对每层每个神经元参数的偏导;

根据代价函数对每层每个神经元参数的偏导,计算权重系数的变化量;

根据权重系数的变化量更新权重系数。

在一些实施方式中,所述人脸图像之间的自亲缘关系为同一人物。

在一些实施方式中,所述构建自编码神经网络为使用以年龄变化为主要线索的数据集样本构建自编码神经网络;根据人脸图像确定人物的身份特征为人脸图像属于每一个年龄阶段的概率。

从上面所述可以看出,本发明提供的技术方案通过使用输入人脸图像并进行预处理、根据人脸图像确定人物的身份特征、构建自编码器并组成自编码神经网络、在自编码神经网络中对身份特征反复进行前向传播与反向传播、更新权重直到代价函数最小化并获得身份特征的关联特征、根据关联特征识别人脸图像之间的自亲缘关系的技术手段,能够进行人物间的自亲缘关系识别。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明实施例的一种基于自编码器的自亲缘关系识别方法的流程图;

图2为根据本发明实施例的一种基于自编码器的自亲缘关系识别方法中,深度神经网络的结构图;

图3为根据本发明实施例的一种基于自编码器的自亲缘关系识别方法中,深度卷积神经网络中多卷积核的卷及区域图;

图4为根据本发明实施例的一种基于自编码器的自亲缘关系识别方法中,深度卷积神经网络的模型图;

图5为根据本发明实施例的一种基于自编码器的自亲缘关系识别方法中,深度卷积自编码神经网络的总体结构图;

图6为根据本发明实施例的一种基于自编码器的自亲缘关系识别方法中,深度身份卷积神经网络的结构图;

图7为根据本发明实施例的一种基于自编码器的自亲缘关系识别方法中,深度自编码网络的结构图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进一步进行清楚、完整、详细地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

基于上述目的,根据本发明的一个实施例,提供了一种基于自编码器的自亲缘关系识别方法。

如图1所示,根据本发明实施例提供的基于自编码器的自亲缘关系识别方法包括:

步骤s101,输入人脸图像并进行预处理;

步骤s103,根据人脸图像确定人物的身份特征;

步骤s105,构建自编码器并组成自编码神经网络;

步骤s107,在自编码神经网络中对身份特征反复进行前向传播与反向传播;

步骤s109,更新权重直到代价函数最小化并获得身份特征的关联特征;

步骤s111,根据关联特征识别人脸图像之间的自亲缘关系。

在一些实施方式中,所述输入人脸图像并进行预处理包括:

输入待识别的人脸图像;

对人脸图像进行人脸检测与旋转校正;

将人脸图像剪切为指定尺寸的样本。

在一些实施方式中,所述构建自编码器并组成自编码神经网络包括:

根据稀疏因子构建多层稀疏自编码器;

根据逐层贪婪算法训练网络初始值;

根据反向传播算法调整网络参数。

在一些实施方式中,所述根据稀疏因子构建多层稀疏自编码器包括:

根据指定的稀疏性参数与隐藏神经元的平均活跃度确定稀疏因子;

根据稀疏因子与激活函数构建多层稀疏自编码器。

在一些实施方式中,所述根据逐层贪婪算法训练网络初始值包括:

分层训练自编码神经网络各层参数;

将以前每一层训练好的输出作为后一层的输入;

根据训练好的网络各层参数确定网络初始值。

在一些实施方式中,所述根据反向传播算法调整网络参数包括:

根据数据集样本在神经网络中前向传播的结果确定代价函数;

根据代价函数确定神经网络中每层每个神经元的残差;

根据每层每个神经元的残差计算代价函数对每层每个神经元参数的偏导;

根据代价函数对每层每个神经元参数的偏导、网络学习速率调整网络参数。

在一些实施方式中,所述在自编码神经网络中对身份特征反复进行前向传播与反向传播包括:

从输入层开始,根据网络参数计算每一层的激活值;

从输出层开始,根据两身份特征计算一身份特征的输出与另一身份特征的残差;

根据一身份特征的输出与另一身份特征的残差计算代价函数对每层每个神经元参数的偏导;

根据代价函数对每层每个神经元参数的偏导,计算权重系数的变化量;

根据权重系数的变化量更新权重系数。

在一些实施方式中,所述人脸图像之间的自亲缘关系为同一人物。

在一些实施方式中,所述构建自编码神经网络为使用以年龄变化为主要线索的数据集样本构建自编码神经网络;根据人脸图像确定人物的身份特征为人脸图像属于每一个年龄阶段的概率。

综上所述,借助于本发明上述的技术方案,通过使用输入人脸图像并进行预处理、根据人脸图像确定人物的身份特征、构建自编码器并组成自编码神经网络、在自编码神经网络中对身份特征反复进行前向传播与反向传播、更新权重直到代价函数最小化并获得身份特征的关联特征、根据关联特征识别人脸图像之间的自亲缘关系的技术手段,能够进行人物间的自亲缘关系识别。

基于上述目的,根据本发明的第二个实施例,提供了一种基于自编码器的自亲缘关系识别方法。

机器学习的目的是要通过样本学习到一个函数,通过这个函数来预测将来的样本值。要找到这个函数需要大量工作,建立起深度学习网络是其中一种。在监督学习中,假设有训练样本集(xi,yi),那么神经网络可以用模型hw,b(x)来表示一种非线性函数,其中(w,b)是用来拟合数据的参数。

神经网络由诸多神经元组成,他们彼此相互连接,一个神经元的输出作为下一个神经元的输入。图2示出的是一个典型的深度神经网络示意图。神经网络的参数(w,b),其中是第l层第j单元与第l+1层第i单元之间的联接参数,即连接线上的权重,是第l+1层第i单元的偏置项。用表示第l层第i单元的输出值。对于给定参数集合(w,b),神经网络就可以按照函数hw,b(x)来计算输出结果:

z(i+1)=w(i)x+b(i),a(i+1)=f(z(i+1))(1)

hw,b(x)=a(n)(2)

将输入数据经由网络参数计算,输出激活值的过程叫做前向传播。其中函数f:被称为“激活函数”。可以选用sigmoid函数作为激活函数f(·)。

虽然深度网络在理论上的简洁性和较强学习特征能力是在十几年前就被发掘的,但真正兴起却是近几年的工作,原因是贪婪算法出现之前的网络训练存在着巨大的困难。本发明实施例将分别阐述两个对深度神经网络十分重要的算法,一个是逐层贪婪算法,另一个是反向传导算法。

逐层贪婪算法:以往深度神经网络的训练方法是对网络参数进行随机设定初始值,计算网络激活值后根据网络输出与标签的差调整参数,直至网络收敛。这导致了以下的问题:随机设定初始值会引发收敛到局部最小值问题,再者,用整体的误差调整参数对低层级的参数影响太小,使得低层级的隐层难以有效的学习。逐层贪婪算法极大地改进了深度神经网络的训练方法,使得网络性能进一步提高。逐层贪婪算法的主要思想为:分层训练各层参数,每次只训练网络中的一层。将已经训练好的前层的输出作为第层的输入;整个网络的初始值设定来自单独训练的各层参数。这种自顶向下的监督学习,根据标签对整个网络进行反向传播算法,调整网络参数。

反向传导算法:对数据集{(x1,y1)…(xm,ym)},通过样本进入神经网络进行前向传播得到结果y=hw,b(x)后,可以定义样本(x,y)的代价函数为:

数据集整体的代价函数为:

公式中第二项的目的在于减小权重的幅度,防止过度拟合。

要求得参数(w,b),使得网络的代价函数最小,不断的迭代优化中,可以使用梯度下降法不断对参数进行更新,其中α是学习速率:

反向传导算法是用来计算偏导数的:

首先,神经网络进行前向传播,对每个j得到第lj层的输出值。

对一个有着n层的网络来说,计算第n层的每个神经元i残差:

这个残差表示的是,第i个神经元对最终输出值与真实值的误差的贡献。

输出层下的其它层l,都继续计算残差:

δl=(w(l))tδl+1·f′(z(l))(8)

反向传导的意义正在以上两步中体现了出来,即从后向前逐次求导。

计算偏导数值,用以更新权重。

计算得到偏导数后,即可根据公式(6)更新网络权重,逐步减小j(w,b)的值,最终得以求解神经网络。

自动编码器(auto-encoder,ae)是一种无监督的学习算法,深度自编码器利用了图3所示神经网络已有的深度结构,是一种用输入重构输出的神经网络。即学习的函数为hw,b(x)≈x,网络同样也是应用逐层贪婪算法训练,反向传播算法调整网络参数。输入即会随着层数不同而变换为不同的表示,这些表示就是原始输入的特征。自编码器为了重构原始的输入,就必须学习到数据中隐藏的重要特征。

一个恒等函数的学习看似简单,但假如稀疏的限制就会迫使深度自编码器学到有意义的特征。设定一个向量维度为n作为输入数据,网络的一个隐藏层l2有m个隐藏神经元。ae要完成的是输入在域上的变化,如果此时限制m<n,那么ae就被迫要学习输入的压缩表示。如果输入的数据是完全彼此独立毫无关系的无意义数据,学习结果并没有意义。但如果输入数据里蕴含着一些彼此相关的规律和结构,这时算法就能够学习到比原始数据更有代表性的特征。

加入稀疏性原则来自生物学上的启发,生物学上研究表明,人类视觉对某个输入有所响应时仅有一部分的神经元是被激活的,其余大部分神经元都是被抑制的。稀疏性原则的限制是要使得大部分的神经元都是被抑制的。由于应用了公式(3)中给出的sigmoid函数作为激活函数,所以输出接近0认为是抑制状态,输出靠近1是激活状态。

要加入稀疏性原则,定义稀疏因子为:

其中表示的是隐藏神经元j的平均活跃程度,当稀疏性参数ρ被赋予一个较小的值,即要求接近ρ。kl是相对熵,相对熵运算使得稀疏因子的值随着与ρ的差异增大而单调递增,当两者相差为零,稀疏因子的值也为零。

整个深度自编码器的代价函数为:

其中,j(w,b)如之前公式(4)定义;β是控制稀疏性权重的参数。

卷积神经网络(convolutionalneuralnetworks,cnn)受视觉系统的结构启发而产生,是目前解决图像中模式识别问题效果最好的深度模型,在imagenet上取得了目前的最好成绩。

卷积神经网络可以学习到一种输入到输出的映射关系,这一过程中可以隐式的学习数据中暗藏的特征,而不需要任何精确数学表达式。卷积神经网络的诸多特点使其在图像问题上有着巨大的优势。cnn的卷积神经元设计使其十分适应图像数据的结构,局部感知和权值共享的特点减少了计算复杂度,也可以得到一定的空间不变性。而不断加深的层次计算,也使得原始数据逐渐成为抽象程度更好的特征。

普通的神经网络采用的计算方式是全连接的方式,如图3所示,全连接的运算方式使得隐含层中每一个神经元需要遍历输入图像的每一个像素,这种方式会直接产生巨大的计算量。

为了降低参数数目,卷积神经网络采用了局部感受的方式。这与人类视觉系统对外界的认知一致,首先感受局部的视野,综合局部来掌握全局信息。实际的自然图像中,由于图像中有意义内容的分布并非全局而是局部,并不需要每个神经元对所有像素进行感知。图3所示的加入卷积核的卷积操作直接减少了所需计算的参数量。

进一步减少参数的操作是权值共享。之所以可以应用权值共享的思想,是因为在自然图像中,并非所有的内容都特征鲜明,不同部分的内容可以共享同样的特征,某一部分的特征可能在另一部分也是适用的。从统计学的角度来看,特征与其所在的位置无关。从某个位置学习到的特征可以作为一种探测器,当这个特征与样本的其它位置做卷积操作,得到的就是整个大尺寸图像对于这个特征的不同激活值。

如果只设置一个大小为10*10的卷积核,会得到100个特征,这样的特征提取并不充分。添加多个卷积核,如图3所示,就可以学习到更多的特征,完成充分的特征提取。每个卷积核都会通过卷积操作生成新图像,称为特征图(featuremap)。特征图的个数与卷积核的个数一样,如前文所说,将卷积核看作是探测器,特征图实际上反映了原图对某个卷积核所代表的特征的响应。

卷积操作利用下面的公式进行运算:

其中,mj代表了要进行卷积操作的第j个特征图。

通过卷积操作获取的特征降低了原始数据的维度,但这个数据依旧过于庞大,例如,输入图像是一个100×100的灰度图像,如果定义了100个大小为10×10的卷积核,这一百个卷积核和图像进行卷积操作,得到的特征图大小为:(100-10+1)×(100-10+1)=8,281。由于有100个特征,故所有特征图的大小总共为828,100。如果将这样的特征图应用于训练分类器等任务,仍会面临计算困难和过拟合(over-fitting)的现象。

之所以使用卷积操作和权值共享,依据的是图像相对“静态”的属性,前文已经默认不同位置可能共享相同的特征,为了处理大尺寸图像,可以对不同位置的特征进行聚合统计。用某个区域的平均值(average-pooling)或者最大值(max-pooling)来替代该区域的值,这种操作叫做池化(pooling)。池化操作实际上完成了一种空间下采样,不仅仅使得特征的维度有效降低,还会获得一定的空间不变性。最大池化计算如下所示:

在公式中,ri表示了要进行池化操作的区域,在一个步长为[m,n]的区域里,区域中最大值将成为这个区域的表征。

卷积核的二维设计和空间下采样的操作,十分适用于图像的数据特点。在图像中的连续范围里进行池化,那所下采样的特征实际上来自同一个卷积核,是对同一种特征的响应,这样的池化使得特征具有了平移不变性。卷积神经网络在图像处理方面有着独特优势,总结上述特点如下:

第一,局部感受和权值共享的特殊结构更适应图像数据,布局模仿了生物神经网络,网络复杂性较其它神经网络模型大大降低。

第二,使用cnn所提取的特征来自对数据的学习,而非人工设计,使得特征更加高效,有通用性。cnn可以直接将图像作为输入,融合多层感知器,在提取图像特征的同时直接处理分类、识别等问题。

第三,cnn网络权值共享的特点保证了网络运算支持并行运算,这一点大大提高了网络训练的效率,在大数据时代极为重要。

在实际的cnn构造中,常见的模型均使用多层卷积,卷积层和池化层交替进行,最后加入全连接层。在cnn的底层,学到的特征通常是局部的,特征的全局化是随着层级加深而进行的,最终实现输入数据的特征提取。

图4示出的深度神经网络结构是目前cnn的经典结构,该模型采用2个gpu进行并行计算。第一层、第二层、第四层和第五层的卷积层将参数分为了两个部分,并行训练,相同的数据在两个不同的gpu上进行训练,得到的输出直接连接作为下一层的输入。

输入是224×224×3大小的彩色图像。

第一层为卷积层,共有96个大小为11×11的卷积核,每个gpu上48个。

第二层为池化层,采用最大池化方法(max-pooling),池化核大小为2×2。

第三层为卷积层,共有256个大小为5×5的卷积核,每个gpu上128个。

第四层为池化层,采用最大池化方法(max-pooling),池化核大小为2×2。

第五层为卷积层,共有384个大小为3×3的卷积核,每个gpu上192个。与上一层全连接。

第六层为卷积层,共有384个大小为3×3的卷积核,每个gpu上192个。这一层卷积层与上一层之间没有加入池化层。

第七层为卷积层,共有256个大小为5×5的卷积核,每个gpu上128个。

第八层为池化层,采用最大池化方法(max-pooling),池化核大小为2×2。

第九层为全连接层:将第八层经过池化的特征图连接成一个4,096维的向量作为本层的输入。

第十层为全连接层:输入4,096维的向量到softmax层进行softmax回归,输出的1,000维向量代表图片属于该类别的概率。

该模型在imagenetlsvrc中取得2012年的冠军,top-5错误率为15.3%。这个cnn网络的训练集图片数目约127万,验证集约5万,测试集约15万。

如图4所示的深度模型中,最后一层是softmax层。softmax回归是一种在深度模型中常用的多分类器。可以通过衡量网络输出的标签与给定真实标签的错误来进行反向传播。当选取分类结果作为网络的输出时,整个深度网络可以被认为是一个分类器。当所需要的不是分类结果,而只是中间值,那么深度神经网络高层级的神经元的激活值即是所需的特征。

事实上,深度神经网络的每一层都是原始数据的另一种特征,只是随着网络层级的加深,网络普遍设计成越深越紧凑的结构,更深隐层的激活值往往更具有表达能力。

本发明实施例认为,要想识别出两人之间是否具有某种关系,一定要首先对两个人物都有所了解。首先提取出分别代表两个人物的身份特征,这一过程需要基于一个深度卷积自编码网络,即图中的deeepconvfidnet;在获得各自的身份特征后,再对其之间的关系进行学习,这一过程基于一个深度自编码器,即图中的deepaefp。本发明将详细给出需要构建的两种不同深度神经网络的构造和训练过程,并将两个网络有效结合起来,用以提取关联特征。

当前的研究表明,虽然深度卷积网络可以将提取特征和完成分类功能同时实现,但对于人脸图像来说,网络本身对人脸识别的准确率并不高,本发明应用深度卷积网络提取出代表个人身份的身份特征。在得到一对人物的身份特征后,利用多层自编码器探寻两者之间的关系。自编码器的思想是利用输入重构目标值,本发明旨在这个重构过程中找到输入和输出的中间值来代表两者的紧密关系。本发明整合了两种深度网络设计了一个新的深度卷积自编码神经网络(deepconvolutionalauto-encodernetworks,cnn-aenet),这个深度模型如图5所示。本发明所设计的深度卷积自编码神经网络通过输入一对人物,最终学习出人物对之间的关联项特征。

整个深度卷积自编码神经网络定义为cnn-ae。在这个深度模型里,输入图像首先会经过一个卷积神经网络,定义为convfidnet(convolutionalnetworksforfacialid)。原始输入经过convfid网络会被转化更具有身份代表性的fid(facialid)。一对人物的fid将作为一个多层自编码器的输入,图5所示的上方箭头表示自编码器前向运算,下方箭头表示自编码网络反向反馈。这个多层自编码器被定义为ae-fp(auto-encoderforfacepairs)。网络高层级的激活值会被取做关联向量rf(relationalfeatures)。

将输入人物对的人脸图像(person1andperson2)定义为(p1,p2),本发明构建的深度卷积自编码网络将完成以下学习过程:

为了得到有效的fid,必须构建高效的convfid。图6中给出了获取身份特征的深度卷积神经网络convfid结构。图中展示了深度网络的细节,包括卷积核的大小和个数、卷积后特征图的大小和个数、下采样层的个数和下采样步长。softmax回归作为最后一层,用以将身份特征与身份标签匹配。最后一个卷积层是全连接层,输入图像最终将被网络置为一个160维的向量,作为其身份特征。

为表示图像的尺寸,本发明全篇使用x×y×c的形式表示,其中(x,y)代表图像的尺寸,而c代表图像的通道数。卷积核实际上也可以认为是一个具有二维结构的小图像,故使用同样的表达方法。

如图6所示,输入是一个大小为63×55×3的彩色图像,这里需要注意,在训练中本发明为了得到更好的网络效果,在训练时使用了不同尺寸的输入,在其他尺度的图像作为网络输入时,经过各层卷积核操作输出的特征图的大小会有所变化,会通过改变最后一层卷积层,使得全连接层的大小为160维的向量。

如图6所示,输入数据经过convfid后会得到相应的身份特征fid,一对fid即是aefp深度网络的输入值。图7中给出了学习关联特征的深度aefp网络结构以及网络进行前向传播和反向反馈的方向。

组成多层自编码神经网络的是多层稀疏自编码器。如图所示,本发明设计的aefpnet有3个隐层。在下面的公式中,a(i)代表第i层的激活值,当i是第一层输入层时,a(i)即是输入x。w(i,i+1)与b(i,i+1)均代表相邻两个隐层之间的权重与加权项。

z(i+1)=w(i,i+1)a(i)+b(i,i+1),a(i+1)=f(z(i+1))(14)

在训练网络时,加入深度学习中常用的策略:微调(fine-tune)。基本思想是将整个自编码神经网络当做一个模型,每次迭代的时候对网络的参数进行优化。

微调网络时按照如下的步骤进行:

对网络进行一次前向传播,从输入层开始,计算公式(17),逐步获得每一层的激活值。

对输出层,用nl表示。令残差表示的是网络的输出与目标值fid-2的差:

对接下来的低层次的各个隐层l,令:

δl=(w(l))tδl+1·f′(z(l))(16)

计算所需要的偏导数:

计算权重系数的改变值:

更新权重:

重复上述步骤多次迭代来减小代价函数j(w,b;fid(1),fid(2))的值。

自编码器是一种无监督的深度学习构造,本发明通过加深层数、精心设计神经元的个数使得中间隐层的激活值可以再后续的验证中代表fid(1),fid(2)间的特征,称之为关联特征,这个关联特征可以有效的代表在convfid中输入的一对人物的关系。

fg-net是著名的年龄人脸图像数据库,这个数据库提供了专门研究年龄在人脸图像上的变化,数据库总共包含了1,002张人脸图像,针对82个不同人物,每一个人物大约有12张图像。人脸的变化随着年龄非常巨大。与其他人脸识别任务一样,面临着光照、姿态、表情、是否戴眼镜、发色等的挑战之外,还要克服巨大的面部特征差异。但这一研究非常具有现实意义,可以应用于追捕逃犯、建立家谱、预测未来脸等。

fg-net数据库有如下几个特点:

图像对人物包含非常广泛,包括了不同性别、种族、肤色,对人种的概括非常全面。

数据库对年龄跨度并无硬性指标。例如某些样本最小的年龄从两三岁,而某些样本中的最小年纪就有二十岁。期间是平均每个人物的十二张图片也并未按年龄间隔完全平均采集样本。

数据库中图像质量相差很大,有灰度图像有彩色图像,并且尺寸、大小、背景均有极大地跨度。

在验证本文算法时,采取三倍交叉验证的方式。遍历所有的亲缘关系共5,779个自亲缘关系为正样本。构建一个具有8,000对非自亲缘关系的负样本,在交叉验证中,每一份正样本拥有1,926对人脸图像,每一份负样本拥有2,000对人脸图像。

本文所提出的基于深度卷积神经网络的算法对识别亲缘关系具有高于现有浅层算法的识别率。在自亲缘关系中,fg-net数据库相较于kinfacew-i和kinfacew-ii相比,难度加大的地方有以下几点:首先,图像质量参差不齐,较kfw数据有所下降。其次,人脸更为居中,图像中含有了更多的包含背景、头发等信息。再者,由于针对一个人物含有多个样本,故自亲缘问题包含了多个不同的关系。

在fg-net数据库中,对每一个人物遍历他所有的自亲缘关系。即对于一个包含n张图像的样本,可以提取出对自亲缘关系。定义具有自亲缘关系的一对人脸图像为正样本。负样本也来自fg-net数据库,随机选取两个来自不同人物的不同图像作为输入对,这样一对人脸图像定义为负样本。

在自亲缘问题中,年龄变化是人们最关心的问题。年龄变化实际是一个分类问题,在同一人物中根据年龄进行分层和排序。本节将基于深度学习从人脸图像中,对随年龄变化引起的自亲缘问题进行分层,达成对输入图像年龄段的预测和排序。

首先,将年龄变化作为主要线索重新设置数据集。在fg-net中,一个人物最多包含18张照片,认为是18个年龄阶段。对所有18个年龄阶段做分类,定义agen表示将年龄分为n段。如果n=3,即认为每个人都有3种年龄,分别是老、中、青。具体到每一个人物的人脸图像集,将数据分为3等份,分别标记类别标签。如果n=15,则表示将年龄细分为15段,表示了更细致的年龄分层。

要根据年龄标签进行分类,定义深度神经网络为age(w,b)。深度网络的输入是人脸图像经convfidnet计算过的身份特征fid,定义输入为x,输入的标签(y=agei)代表不同的年龄分层。fid是一个320维的向量,经过三个隐层的计算后,被压缩和提取成为一个40维的向量,进入最后一层softmax回归。softmax回归求得的是这个输入x分属于每一个年龄阶段的概率p(y=agej|x)。

softmax回归由于其设计面向多分类问题,故在各种深度模型中被广泛使用。softmax回归模型是在多分类问题上重要的回归模型,其实是逻辑回归在多分类问题上的推广。由于age(w,b)的目的是使得不同年龄阶段的人脸图像对应输出其年龄分层标签,故对数据的标签y值不止两个。对于给定的一个输入x,需要利用softmax回归求得的是这个输入x分属于每一个类别的概率p(y=j|x)。对于有k个标签的数据来说,假设函数的输出就是k个向量,每一维代表了对应分类的估计概率。

假设函数的形式如下:

其中是模型的参数,可以将其按行罗列方便表示为θ。

将训练模型的参数θ使模型可以最小化如下的代价函数:

公式中的{.}是一个示性函数,括号中的表达值为真时函数值为1,否则为0。这个代价函数与逻辑回归很相似,逻辑回归解决的是二分类问题,softmax的代价函数对标记的k个可能值进行了累加。最终将输x分类到j的可能性是:

在多分类问题中,softmax具有良好的性能,分类器对各个标签是互斥的。经过神经网络agenet,输入图像将的到对年龄阶段的分类。

人脸图像通过已经训练好的convfidnet的前向传播可以获取身份特征fid,在身份特征训练时的验证情况已知,身份特征对个体有很好的代表作用。为了观察年龄所引起的成长和衰老过程在身份特征的表达中是否有所体现,本文将利用统计学的方法进行统计分析。选取fg-net中的一个人物。这个人物共有12张数据样本,对这12张人脸图像通过convfid计算后得到的160维的身份特征。

在某一些神经元的响应上,年纪较大的后三个直方图与较为年轻的前三个有明显的变化。另外神经元具有极大的稀疏性。为了进一步找出对年龄敏感的神经元,定义为年龄响应神经元(ageactive),本文统计出10个按年龄排序时,对每一个神经元计算其方差,作为衡量每个神经元针对年龄变化的离散程度。

其中m代表不同的人物,在fg-net数据库中总共有82个,故n=82。选取了20个对年龄变化最敏感的神经元。我们用统计学的方法发现不同神经元对年龄的响应敏感程度不同。

综上所述,借助于本发明上述的技术方案,通过使用输入人脸图像并进行预处理、根据人脸图像确定人物的身份特征、构建自编码器并组成自编码神经网络、在自编码神经网络中对身份特征反复进行前向传播与反向传播、更新权重直到代价函数最小化并获得身份特征的关联特征、根据关联特征识别人脸图像之间的自亲缘关系的技术手段,能够进行人物间的自亲缘关系识别。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。所述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

此外,典型地,本公开所述的装置、设备等可为各种电子终端设备,例如手机、个人数字助理(pda)、平板电脑(pad)、智能电视等,也可以是大型终端设备,如服务器等,因此本公开的保护范围不应限定为某种特定类型的装置、设备。本公开所述的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。

此外,根据本公开的方法还可以被实现为由cpu执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被cpu执行时,执行本公开的方法中限定的上述功能。

此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。

此外,应该明白的是,本发明所述的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)或快闪存储器。易失性存储器可以包括随机存取存储器(ram),该ram可以充当外部高速缓存存储器。作为例子而非限制性的,ram可以以多种形式获得,比如同步ram(dram)、动态ram(dram)、同步dram(sdram)、双数据速率sdram(ddrsdram)、增强sdram(esdram)、同步链路dram(sldram)以及直接rambusram(drram)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本公开的范围。

结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里所述功能的下列部件来实现或执行:通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp核、或任何其它这种配置。

结合这里的公开所描述的方法或算法的步骤可以直接包含在硬件中、由处理器执行的软件模块中或这两者的组合中。软件模块可以驻留在ram存储器、快闪存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动盘、cd-rom、或本领域已知的任何其它形式的存储介质中。示例性的存储介质被耦合到处理器,使得处理器能够从该存储介质中读取信息或向该存储介质写入信息。在一个替换方案中,所述存储介质可以与处理器集成在一起。处理器和存储介质可以驻留在asic中。asic可以驻留在用户终端中。在一个替换方案中,处理器和存储介质可以作为分立组件驻留在用户终端中。

在一个或多个示例性设计中,所述功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将所述功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括ram、rom、eeprom、cd-rom或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(dsl)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、dsl或诸如红外先、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(cd)、激光盘、光盘、数字多功能盘(dvd)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。

公开的示例性实施例,但是应当注公开的示例性实施例,但是应当注意,在不背离权利要求限定的本公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本公开的元素可以以个体形式描述或要求,但是也可以设想多个,除非明确限制为单数。

应当理解的是,在本发明中使用的,除非上下文清楚地支持例外情况,单数形式“一个”(“a”、“an”、“the”)旨在也包括复数形式。还应当理解的是,在本发明中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。

上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1