一种基于特征融合神经网络的亲属识别方法与流程

文档序号:17624283发布日期:2019-05-10 23:29阅读:264来源:国知局
一种基于特征融合神经网络的亲属识别方法与流程

本发明涉及一种基于特征融合神经网络的亲属识别方法,属于图像处理领域。



背景技术:

亲属关系识别作为图像处理领域的一个重要分支,主要研究基于人脸图片的两个个体之间是否具有明确的基因遗传上的亲属关系,具有非常广泛的社会理论研究意义和潜在的商业应用场景。亲属识别中最常研究的四种亲属关系包括:父子,父女,母子以及母女,由于基因的大量继承,这几类亲属关系类型也是人类关系中最亲近的具有生物特征的连接桥梁。近年来,随着移动互联网技术的发展和普及,人们越来越乐意于通过网络在各种社交媒体和各个网站上分享自己的生活状态,而电子图片、视频作为一种直观的表达方式受到越来越多用户的青睐,每天网络上就有成千上万张的海量图片流通,如何有效的组织利用、挖掘分析图片中的潜在信息和关系就成了图像处理研究领域中的重中之重。

现存的模型方法可以大致分为两大类:基于特征的亲属识别模型以及基于学习的亲属识别模型。基于特征的亲属识别算法旨在设计出一个通用的低层手工特征表示以便具有亲属关系的特征可以有效的被使用,常用的特征包括局部特征和全局特征。基于学习的亲属识别方法主要通过寻找一个合适的语义转换空间以便在这个映射的子空间中,有效的增加具有亲属关系人脸图像对之间的可分性。典型的代表模型有度量学习、迁移学习、多核学习、基于图的学习、基于神经网络的学习等。

在亲属识别领域中,提取出每个人脸图像的多个特征表示是很容易的,然而,从相同的人脸图片中提取出的这些多个特征虽然能够从不同的方面对输入图片进行描述,但它们之间通常是高度相关的。对于多特征融合而言,这些高度相关的信息应该被保留下来,因为它们反映了样本的固有属性信息。此外,不同的特征表示方法学习到对目标样本不同的特征映射,对不同的复杂情况处理效果不同,有的特征对姿势变换处理效果好,有的特征对光照强弱比较鲁棒,有的特征对局部信息的细节捕捉能力强。为了综合利用各个特征对不同挑战因素之间的优势,处理实际情况中复杂的各种情况,采用多个特征融合的方式成为一种高效的特征学习方式。因此,我们联合多种特征学习了一个多特征融合的神经网络来解决亲属识别中特征不够鲁棒的问题。



技术实现要素:

本发明的目的是对多个特征的非线性高维映射进行联合学习,产生一个更具判别性的特征表示,以有效的解决亲属识别中特征不够鲁棒的问题,提出了一种基于特征融合神经网络的亲属识别方法。

本发明的目的是通过以下技术方案实现的:

步骤一、对数据集中的人脸图像进行预处理,得到预处理后的人脸图像;

其中,数据集包含x个人脸图像,x为偶数;预处理后的人脸图像数量也为x个;数据集中按顺序的两个人脸图像具有亲属关系,具体为:数据集中偶数序号对应的图像为待识别图像,奇数序号对应的图像为男性亲属图像或女性亲属图像中的一种;

其中,偶数序号的待识别图像为需要进行判断是否与对应的奇数序号图像具有亲属关系;

人脸图像为rgb图像,即三通道的人脸图像,所述的三通道分别对应r通道、g通道和b通道;

其中,预处理包括对齐、裁剪操作;

步骤一又包括如下子步骤:

步骤1.1利用基于结构化svm的人脸对齐方法对数据集中的人脸图像进行对齐,得到对齐后的人脸图像;

步骤1.2将步骤1.1对齐后的人脸图像进行裁剪,得到裁剪后的人脸图像;

其中,对齐后的人脸图像的数量为x个;裁剪后的人脸图像的数量为x个,每个图像的维度为64*64;

其中,预处理后的人脸图像的个数为x个;

步骤二、基于步骤一得到的预处理后的人脸图像构建正样本对和负样本对;

其中,正样本对的数量为x/2;负样本对的数量为x/2个;

步骤二又包括如下子步骤:

步骤2.1构建x/2个正样本对,具体为:按顺序将数据集中的两个人脸图像组成一对;

步骤2.2构建x/2个负样本对,具体为:第1个男性亲属图像或女性亲属图像与第x/2个待识别图像组成一对,第s个男性亲属图像或女性亲属图像与第s-1个待识别图像组成一对;s的取值范围为2到x/2;

步骤三、基于步骤二构建的正样本对和负样本对,生成对应的正样本对标签和负样本对标签;具体为,将正样本对对应的标签设置为1,负样本对对应的标签设置为0;

其中,正样本对标签为x/2个,负样本对标签为x/2个;

步骤四、分别将步骤二构建的正样本对、负样本对和步骤三生成的正样本对标签、负样本对标签进行分割,生成训练集和测试集;

分别将x/2个正样本对和负样本对进行分割,将其中的a%用于训练,将剩下的b%=1-a%正样本对和负样本对用于测试;分别将x/2个正样本对标签和负样本对标签进行分割,将其中的a%用于训练,将剩下的b%=1-a%正样本对和负样本对标签用于测试;

其中,x/2个正样本对和负样本对的a%以及x/2个正样本对标签和负样本对标签的a%构成训练集,即训练集样本总数为(a%*x)个;x/2个正样本对和负样本对的b%以及x/2个正样本对标签和负样本对标签的b%构成测试集,即测试集样本总数为(b%*x)个;

步骤五、对步骤四生成的训练集和测试集中的正样本对和负样本对中的两张图像分别提取m种特征,每种特征对应两个特征向量,然后将对应同一种特征的两个特征向量做差取绝对值,得出m个特征向量差模,再将得出的m个特征向量差模作为网络输入的训练数据和测试数据;

其中,m>=2,训练集中的样本总数即训练数据总数为(a%*x)个,测试集中的样本总数即测试数据总数为(b%*x)个;

步骤六、将步骤五生成的训练数据分批输入神经网络进行t轮迭代训练,输出训练好的神经网络,并保存训练好的神经网络参数;

其中,神经网络包括m个基本特征转换模块和1个融合特征转换模块,这两种类型模块的操作均为先经全连接层,再经非线性激活函数激活;

基本特征转换模块包含的全连接层数为c层,记为全连接层1,全连接层2…全连接层c,c>=2;全连接层1、全连接层2…全连接层c对应的神经元个数分别为h1、h2…h3;每个全连接层后面使用的非线性激活函数为f1,f1为sigmoid,relu以及tanh中的一种;

融合特征转换模块包含的全连接层数为q层,记为第1全连接层,第2全连接层…第q全连接层,q>=2;每个全连接层后面使用的非线性激活函数为f2,f2为sigmoid,relu以及tanh中的一种;

步骤六又包括如下子步骤:

步骤6.1初始化迭代次数t为1,初始化迭代总次数t,初始化迭代份数i为1,初始化基本特征转换模块中全连接层1到全连接层c的权重参数,初始化融合特征转换模块中第1全连接层到第q全连接层的权重参数,初始化batch的值为n;

步骤6.2将步骤五得到的(a%*x)个训练数据随机分为(a%*x)/n=i份,每份n个训练样本;

步骤6.3取步骤6.2生成第i份数据,将第i份数据的n个训练样本提取的m种特征xj,分别输入m个基本特征转换模块中进行前向传播,分别得到的全连接层c输出的特征φ(xj),j∈[1,m];

步骤6.4拼接步骤6.3中的特征xj和φ(xj),形成第j个基本特征转换模块的输出遍历j∈[1,m],生成m个基本特征转换模块的输出;

步骤6.5将步骤6.4生成的所有基本特征转换模块的输出进行融合,得到一个融合m种特征的特征向量,具体为:拼接特征和m个基本特征转换模块的全连接层c输出的特征φ(xj),产生一个h维度的融合特征向量,即zt=[x1t,…,xit,…,xmt,φ(x1t),…,φ(xit),…,φ(xmt)]∈rh

步骤6.6将步骤6.5产生的h维度的融合特征输入融合特征转换模块,即依次输入第1全连接层直至第q全连接层进行非线性学习,第q全连接层输出n个p维特征向量;

步骤6.7计算损失,具体为:将步骤6.6输出的n个p维特征向量和第i份数据的n个标签一起经softmax-loss损失函数计算交叉熵;

步骤6.8反向传播,具体为,求解步骤6.7得到的损失对权重参数的偏导数,使用adam优化器对参数进行更新,完成反向传播;

步骤6.9判断迭代份数i是否等于i,如果不等于,则将i加1,跳至步骤6.3;

步骤6.10判断迭代次数t是否等于t,如果不等于,则将t加1,跳至步骤6.2,否则跳至步骤6.11;

步骤6.11输出训练好的神经网络,并保存神经网络参数;

其中,保存的神经网络参数包括m个基本特征转换模块中的全连接层权重和1个融合特征转换模块的全连接层的权重;

步骤七、将步骤五生成的(b%*x)个测试数据输入步骤六训练好的神经网络进行测试,具体为:加载步骤五生成的测试数据的每个样本对提取的m种特征输入步骤六训练好的神经网络进行前向传播,得到第q全连接层输出的k维向量,然后输入softmax函数计算,得到一个k维向量,此k维向量中的每个值代表该样本属于每一类别的概率,将k维向量中概率最大的位置作为人脸图像样本对的标签;

其中,k=2,且最大的位置为0或1中的一个;0表示人脸图像对不具有亲属关系,1表示人脸图像对具有亲属关系。

有益效果

本发明一种基于特征融合神经网络的亲属识别方法,与现有技术相比,具有如下有益效果:

1.所述方法基于多特征融合的网络结构,不需要进行核的选择和设计;

2.所述方法不是简单的进行线性特征结合,而是通过神经网络的协同学习进行非线性的高维映射,学习不同特征之间的互补性和差异性,提高了特征的鲁棒性。

附图说明

图1为一种基于特征融合神经网络的亲属识别方法中基本特征转换模块的示意图;

图2为一种基于特征融合神经网络的亲属识别方法的流程图。

具体实施方式

下面结合附图1和附图2,具体说明本发明的实施方式。

实施例1

本实施例阐述本发明所述的亲属识别方法用于识别父子关系、父女关系、母子关系以及母女关系中的一种,示意图如图2所示。包括如下步骤:

步骤i、对数据集中的人脸图像进行预处理,得到预处理后的人脸图像;

其中,数据集包含x个人脸图像,x为偶数;预处理后的人脸图像数量也为x个;数据集中按顺序的两个人脸图像具有直系亲属关系,且数据集中偶数序号对应的图像为孩子图像,奇数序号对应的图像为父亲图像或母亲图像中的一种;

人脸图像为rgb图像,即三通道的人脸图像,所述的三通道分别对应r通道、g通道和b通道;

其中,预处理包括对齐、裁剪操作;

步骤i又包括如下子步骤:

步骤(i.1)利用基于结构化svm的人脸对齐方法对数据集中的人脸图像进行对齐,得到对齐后的人脸图像;

步骤(i.2)将步骤(i.1)对齐后的人脸图像进行裁剪,得到裁剪后的人脸图像;

其中,对齐后的人脸图像的数量为x个;裁剪后的人脸图像的数量为x个,每个图像的维度为64*64;

其中,预处理后的人脸图像的个数为x个,其中x的取值依赖于数据集,具体到本实施例,采取了如下表1所示的3个不同的数据集:

表1不同的数据集

步骤ii、基于步骤一得到的预处理后的人脸图像构建人脸图像正样本对和人脸图像负样本对;

其中,人脸图像正样本对的数量为x/2;人脸图像负样本对的数量为x/2个;

步骤ii又包括如下子步骤:

步骤(ii.1)构建x/2个正样本对,具体为:按顺序将数据集中的两个人脸图像组成一对;

步骤(ii.2)构建x/2个负样本对,具体为:第1个男性亲属图像或女性亲属图像与第x/2个待识别图像组成一对,第s个男性亲属图像或女性亲属图像与第s-1个待识别图像组成一对;s的取值范围为2到x/2;

步骤iii、基于步骤二构建的正样本对和负样本对,生成对应的正样本对标签和负样本对标签;具体为,将正样本对对应的标签设置为1,负样本对对应的标签设置为0;

其中,正样本对标签为x/2个,负样本对标签为x/2个;

具体到本实施例,使用ones()函数生成正样本对标签1,使用zeros()函数生成负样本对标签0;

步骤iv、分别将步骤ii构建的正样本对、负样本对和步骤iii生成的正样本对标签、负样本对标签进行分割,生成训练集和测试集;

分别将x/2个正样本对和负样本对进行分割,将其中的80%用于训练,将剩下的20%=1-80%正样本对和负样本对用于测试;分别将x/2个正样本对标签和负样本对标签进行分割,将其中的80%用于训练,将剩下的20%=1-80%正样本对和负样本对标签用于测试;

其中,x/2个正样本对和负样本对的80%以及x/2个正样本对标签和负样本对标签的80%构成训练集;x/2个正样本对和负样本对的20%以及x/2个正样本对标签和负样本对标签的20%构成测试集;

步骤v、对步骤iv生成的训练集和测试集中的正样本对和负样本对中的两张图像分别提取m种特征,每种特征对应两个特征向量,然后将对应同一种特征的两个特征向量做差取绝对值,得出m个特征向量差模,再将得出的m个特征向量差模作为网络输入的训练数据和测试数据;

具体到本实例中,m的取值为4,分别表示人工设计的低层特征描述子hog、lbp、sift,以及利用预训练好的vggnet网络提取的高层特征vgg。具体为,(1)hog:首先将每个图像划分为16*16个不重叠的block,每个block的尺寸大小为4*4,接下来再次将每个图像划分为8*8个非重叠的block,每个block的大小为8*8,对每个划分出的block提取出一个9维的hog特征向量,将所有的block的特征表示拼接起来即形成一个维度为2880的特征向量,代表整副图像的hog特征描述符;(2)lbp:将每个图像划分为8*8的非重叠的block,对于每个8*8大小的block提取一个59维局部二值模式的lbp特征,将所有block的特征拼接起来即可形成一个3776维的图像lbp特征向量;(3)sift:使用16*16大小的滑动窗口在人脸图像上进行滑动,滑动窗口每次移动的步长为8个像素,这样采样将整副图像划分为49个有重叠的patch,对每个patch而言提取出一个128维的sift特征描述子,将所有patch的特征向量拼接起来即为整个图像的6272维sift特征表示向量;(4)vgg特征:使用3*3大小的卷积核后跟池化层的重复模块元素堆积起来的vggnet网络结构预训练,提取倒数第二个全连接层的输出向量,即一个4096维的特征向量输出;

步骤vi、将步骤v生成的训练数据分批输入神经网络进行t轮迭代训练,输出训练好的神经网络,并保存训练好的神经网络参数;

其中,神经网络包括4个基本特征转换模块和1个融合特征转换模块,这两种类型模块的操作均为先经全连接层,再经非线性激活函数激活;

具体到本实例中,第1个基本特征转换模块包含3个全连接层,3个全连接层对应的神经元个数分别为2880、1024、512;第2个基本特征转换模块包含4个全连接层,4个全连接层对应的神经元个数分别为3776、2048、1024,512;第3个基本特征转换模块包含5个全连接层,5个全连接层对应的神经元个数分别为6272、4096、2048、1024、512;第4个基本特征转换模块包含4个全连接层,4个全连接层对应的神经元个数分别为4096、2048、1024、512,激活函数均为tanh,融合特征转换模块包含5个全连接层,激活函数均为relu;

步骤vi又包括如下子步骤:

步骤(vi.1)初始化迭代次数t为1,初始化迭代总次数t为300,初始化迭代份数i为1,采用均值为0,方差为0.02的高斯分布分别初始化4个基本特征转换模块中全连接层的权重参数和1个融合特征转换模块中全连接层的权重参数,初始化batch的值n为16;

步骤(vi.2)将步骤v得到的(a%*x)个训练数据随机分为(a%*x)/n=i份,每份n个训练样本;

步骤(vi.3)取步骤(vi.2)生成第i份数据,将第i份数据的n个训练样本提取的4种特征xj,分别输入4个基本特征转换模块中进行前向传播,分别得到的全连接层c输出的特征φ(xj),j∈[1,4];

步骤(vi.4)拼接步骤(vi.3)中的特征xj和φ(xj),形成第j个基本特征转换模块的输出遍历j∈[1,4],生成4个基本特征转换模块的输出;

具体到本实例中,hog特征维度为2880,经过上述第1个基础特征转化模块后得到一个512维向量,最后拼接形成一个3392维的向量表示;lbp特征维度为3776,经过上述第2个基础特征转化模块后得到一个512维向量,最后拼接形成一个4288维的向量表示;sift特征维度为6272,经过上述第3个基础特征转化模块后得到一个512维向量,最后拼接形成一个6784维的向量;vgg特征维度为4096维,经过上述第4个基础特征转化模块后得到一个512维向量,最后拼接形成一个4608维的特征输出;

步骤(vi.5)将步骤(vi.4)生成的所有基本特征转换模块的输出进行融合,得到一个融合4种特征的特征向量,具体为:拼接特征和4个基本特征转换模块的全连接层c输出的特征φ(xj),产生一个h维度的融合特征向量,即zt=[x1t,…,xit,…,xmt,φ(x1t),…,φ(xit),…,φ(xmt)]∈rh

具体到本实例中,h=3392+4288+6784+4608=19072,即最后整个拼接为一个19072维的向量。

步骤(vi.6)将步骤(vi.5)产生的19072维度的融合特征输入融合特征转换模块,即依次输入5个全连接层进行非线性学习,第5个全连接层输出n个2维特征向量;

步骤(vi.7)计算损失,具体为:将步骤(vi.6)输出的n个2维特征向量和第i份数据的2个标签一起经softmax-loss损失函数计算交叉熵;

步骤(vi.8)反向传播,具体为,求解步骤(vi.7)得到的损失对权重参数的偏导数,使用adam优化器对参数进行更新,完成反向传播;

整个网络训练过程中,使用adam优化器进行权值参数的反向传播优化,其中学习率为0.0001,β1和β2分别为0.9和0.999,dropout中的保留率参数为0.5。

步骤(vi.9)判断迭代次数t是否等于t,如果不等于,则将t加1,跳至步骤(vi.3),否则跳至步骤(vi.10);

步骤(vi.10)判断迭代次数t是否等于t,如果不等于,则将t加1,跳至步骤(vii.2),否则跳至步骤(vii.11);

步骤(vi.11)输出训练好的神经网络,并保存训练好的神经网络参数;

其中,保存的神经网络参数包括4个基本特征转换模块中的全连接层权重和1个融合特征转换模块的全连接层的权重;

步骤vii、将步骤v生成的(b%*x)个测试数据输入步骤vi训练好的神经网络进行测试,具体为:加载步骤v生成的测试数据的每个样本对提取的4种特征输入步骤vi训练好的神经网络进行前向传播,得到第5全连接层输出的2维向量,然后输入softmax函数计算,得到一个2维向量,此2维向量中的每个值代表该样本属于每一类别的概率,将2维向量中概率最大的位置作为人脸图像样本对的标签;

其中,最大的位置为0或1中的一个;0表示人脸图像对不具有亲属关系,1表示人脸图像对具有亲属关系。

本发明提出的基本特征转换模块如图1所示;

该模块全连接层组成,每个全连接层后面都使用非线性激活函数进行激活;如实施例中的步骤vi所述,每个模块使用的层数以及每层使用的神经元个数不同,因此产生不同的特征映射,这样不仅最大化的保留每种特征的信息,同时通过非线性的高维映射和神经网络联合学习到了新的更具判别性的特征表示。

本发明不仅限于以上实施例,凡是利用本发明的设计思路,做一些简单变化的设计,都应计入本发明的保护范围之内。

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