人脸图像处理模型训练方法、装置、电子设备及存储介质与流程

文档序号:22182739发布日期:2020-09-11 21:45阅读:112来源:国知局
人脸图像处理模型训练方法、装置、电子设备及存储介质与流程

本申请涉及图像处理技术领域,具体涉及一种人脸图像处理模型训练方法、装置、电子设备及存储介质。



背景技术:

人脸图像的年龄编辑主要是根据输入的人脸图像和对应的目标年龄可以自动模拟出该年龄下的人脸,相关算法在众多娱乐和医疗美容场景中具有大量潜在的应用,如预测你未来的样子、猜测你小时候的样子、寻找失踪儿童、认证对比等。此外,也可以通过该模型生成更多的人脸数据集用于辅助相关人脸智能分析任务的训练。目前该领域主要采用生成对抗网络以及变分自编码等方案,比较知名的方法有2018年cvpr(ieeeconferenceoncomputervisionandpatternrecognition,ieee国际计算机视觉与模式识别会议)会议上提出的learningfaceageprogression:apyramidarchitectureofgans(学习面部年龄的演变:生成对抗网络的金字塔结构),2018年icpr(internationalconferenceonpatternrecognition,国际模式识别大会)上提出的globalandlocalconsistentagegenerativeadversarialnetworks(全局和局部一致的年龄生成对抗网络),分别采用了金字塔结构,以及全局特征和局部特征分别判别,从而提升图像细节的识别效果。

发明人发现,现有的基于人脸图像年龄编辑算法训练得到的模型并不理想,生成的人脸图像在某些年龄上效果较差。基于生成对抗网络(generativeadversarialnetworks,gans)的人脸图像年龄编辑算法虽已取得了很大的进展,但该方法无法合成数量少的人脸年龄图像。



技术实现要素:

鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的一种人脸图像处理模型训练方法、装置、电子设备及存储介质。

依据本申请的第一方面,提供了一种人脸图像处理模型训练方法,包括:

利用所述人脸图像处理模型的编码器对第一人脸图像进行编码,得到第一人脸图像的第一特征向量;

将所述第一特征向量拆分成多个子特征向量,所述子特征向量至少包括身份子特征向量和年龄子特征向量;

根据各所述子特征向量确定待解码向量,并利用所述人脸图像处理模型的解码器对所述待解码向量进行解码,得到第二人脸图像;

根据所述第一人脸图像与所述第二人脸图像的回归损失值,对所述人脸图像处理模型的参数进行优化。

可选地,所述根据各所述子特征向量确定待解码向量包括:

利用人脸识别模型获取所述第一人脸图像的身份基准特征向量;

根据所述身份基准特征向量对所述身份子特征向量进行拟合处理,并将拟合处理后的所述身份子特征向量作为所述待解码向量。

可选地,所述根据各所述子特征向量确定待解码向量包括:

根据所述身份基准特征向量和所述身份子特征向量对所述编码器进行知识蒸馏。

可选地,所述根据各所述子特征向量确定待解码向量包括:

将所述年龄子特征向量与高斯分布模型进行拟合处理,并将拟合处理后的所述年龄子特征向量作为所述待解码向量;

根据拟合处理前的所述年龄子特征向量和拟合处理后的所述年龄子特征向量对所述编码器进行高斯先验约束。

可选地,所述利用所述人脸图像处理模型的解码器对所述待解码向量进行解码,得到第二人脸图像包括:

对根据所述身份子特征向量确定的所述待解码向量进行批归一化处理得到低层特征向量,将所述低层特征向量输入所述解码器,得到第一特征输入结果;

对根据所述年龄子特征向量确定的所述待解码向量进行批归一化处理得到高层特征向量,基于所述第一特征输入结果,将所述高层特征向量输入所述解码器,得到所述第二人脸图像。

可选地,所述子特征向量还包括补充子特征向量,所述方法还包括:

在将所述低层特征向量输入所述解码器,得到第一特征输入结果之后且在将所述高层特征向量输入所述解码器之前,将所述补充子特征向量输入所述解码器中。

可选地,所述方法还包括:

对所述第二人脸图像,利用所述人脸图像处理模型进行n次人脸图像处理,得到相应的n组子特征向量,其中n为正整数;

根据n组所述子特征向量的相似度计算重复训练损失值,根据所述重复训练损失值对所述人脸图像处理模型的参数进行优化。

可选地,所述子特征向量包括补充子特征向量,所述方法还包括:

将得到的n组所述子特征向量中的所述补充子特征向量输入判别器中,以根据所述判别器的输出结果对所述人脸图像处理模型的参数进行优化。

依据本申请的第二方面,提供了一种人脸图像的生成方法,包括:

获取原始人脸图像;

利用人脸图像处理模型生成所述原始人脸图像的子特征向量集,其中,所述人脸图像处理模型基于如前所述的人脸图像处理模型训练方法训练得到;

获取目标年龄的年龄特征向量,用所述年龄特征向量替换所述子特征向量集中的年龄子特征向量,得到替换后的子特征向量集;

利用人脸图像处理模型和所述替换后的子特征向量集生成与所述原始人脸图像对应的人脸年龄变更图像。

依据本申请的第三方面,提供了一种人脸年龄估计方法,包括:

获取人脸图像;

将所述人脸图像输入人脸图像处理模型的编码器中,得到所述人脸图像的年龄子特征向量,其中所述人脸图像处理模型基于如前所述的人脸图像处理模型训练方法训练得到;

根据所述年龄子特征向量确定年龄估计结果。

依据本申请的第四方面,提供了一种人脸图像处理模型训练装置,包括:

编码单元,用于利用所述人脸图像处理模型的编码器对第一人脸图像进行编码,得到第一人脸图像的第一特征向量;

拆分单元,用于将所述第一特征向量拆分成多个子特征向量,所述子特征向量至少包括身份子特征向量和年龄子特征向量;

解码单元,用于根据各所述子特征向量确定待解码向量,并利用所述人脸图像处理模型的解码器对所述待解码向量进行解码,得到第二人脸图像;

第一优化单元,用于根据所述第一人脸图像与所述第二人脸图像的回归损失值,对所述人脸图像处理模型的参数进行优化。

可选地,所述解码单元还用于:

利用人脸识别模型获取所述第一人脸图像的身份基准特征向量;

根据所述身份基准特征向量对所述身份子特征向量进行拟合处理,并将拟合处理后的所述身份子特征向量作为所述待解码向量。

可选地,所述解码单元还用于:

根据所述身份基准特征向量和所述身份子特征向量对所述编码器进行知识蒸馏。

可选地,所述解码单元还用于:

将所述年龄子特征向量与高斯分布模型进行拟合处理,并将拟合处理后的所述年龄子特征向量作为所述待解码向量;

根据拟合处理前的所述年龄子特征向量和拟合处理后的所述年龄子特征向量对所述编码器进行高斯先验约束。

可选地,所述解码单元还用于:

对根据所述身份子特征向量确定的所述待解码向量进行批归一化处理得到低层特征向量,将所述低层特征向量输入所述解码器,得到第一特征输入结果;

对根据所述年龄子特征向量确定的所述待解码向量进行批归一化处理得到高层特征向量,基于所述第一特征输入结果,将所述高层特征向量输入所述解码器,得到所述第二人脸图像。

可选地,所述解码单元还用于:

在将所述低层特征向量输入所述解码器,得到第一特征输入结果之后且在将所述高层特征向量输入所述解码器之前,将所述补充子特征向量输入所述解码器中。

可选地,所述装置还包括:

处理单元,用于对所述第二人脸图像,利用所述人脸图像处理模型进行n次人脸图像处理,得到相应的n组子特征向量,其中n为正整数;

第二优化单元,用于根据n组所述子特征向量的相似度计算重复训练损失值,根据所述重复训练损失值对所述人脸图像处理模型的参数进行优化。

可选地,所述子特征向量包括补充子特征向量,所述装置还包括:

第三优化单元,用于将得到的n组所述子特征向量中的所述补充子特征向量输入判别器中,以根据所述判别器的输出结果对所述人脸图像处理模型的参数进行优化。

依据本申请的第五方面,提供了一种人脸图像的生成装置,包括:

第一获取单元,用于获取原始人脸图像;

第一生成单元,用于利用人脸图像处理模型生成所述原始人脸图像的子特征向量集,其中,所述人脸图像处理模型基于如前所述的人脸图像处理模型训练装置训练得到;

替换单元,用于获取目标年龄的年龄特征向量,用所述年龄特征向量替换所述子特征向量集中的年龄子特征向量,得到替换后的子特征向量集;

第二生成单元,用于利用人脸图像处理模型和所述替换后的子特征向量集生成与所述原始人脸图像对应的人脸年龄变更图像。

依据本申请的第六方面,提供了一种人脸年龄估计装置,包括:

第二获取单元,用于获取人脸图像;

输入单元,用于将所述人脸图像输入人脸图像处理模型的编码器中,得到所述人脸图像的年龄子特征向量,其中所述人脸图像处理模型基于如前所述的人脸图像处理模型训练装置训练得到;

确定单元,用于根据所述年龄子特征向量确定年龄估计结果。

依据本申请的第七方面,提供了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如前所述的人脸图像处理模型训练方法,或者,使所述处理器执行如前所述的人脸图像的生成方法,或者,使所述处理器执行如前所述的人脸年龄估计方法。

依据本申请的第八方面,提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现如前所述的人脸图像处理模型训练方法,或者,实现如前所述的人脸图像的生成方法,或者,实现如前所述的人脸年龄估计方法。

由上述可知,本申请的技术方案,利用所述人脸图像处理模型的编码器对第一人脸图像进行编码,得到第一人脸图像的第一特征向量;将所述第一特征向量拆分成多个子特征向量,所述子特征向量至少包括身份子特征向量和年龄子特征向量;根据各所述子特征向量确定待解码向量,并利用所述人脸图像处理模型的解码器对所述待解码向量进行解码,得到第二人脸图像;根据所述第一人脸图像与所述第二人脸图像的回归损失值,对所述人脸图像处理模型的参数进行优化,解决了相关技术中基于人脸图像年龄编辑算法训练得到的模型并不理想的技术问题,通过本申请训练得到的人脸图像处理模型降低了对数据分布的依赖性,对年龄不均衡的长尾数据更为鲁棒,且能够生成效果更好的面部老化图像。

上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本申请一个实施例的人脸图像处理模型训练方法的流程示意图;

图2示出了根据本申请一个实施例的人脸图像处理模型的训练过程示意图;

图3示出了根据本申请一个实施例的人脸图像的生成方法的流程示意图;

图4示出了根据本申请一个实施例的人脸图像的面部老化效果示意图;

图5示出了根据本申请一个实施例的人脸图像的年龄交换效果示意图;

图6示出了根据本申请一个实施例的生成训练集中不存在的年龄图像的效果示意图;

图7示出了根据本申请一个实施例的人脸年龄估计方法的流程示意图;

图8示出了根据本申请一个实施例的人脸图像处理模型训练装置的结构示意图;

图9示出了根据本申请一个实施例的人脸图像的生成装置的结构示意图;

图10示出了根据本申请一个实施例的人脸年龄估计装置的结构示意图;

图11示出了根据本申请一个实施例的电子设备的结构示意图;

图12示出了根据本申请一个实施例的计算机可读存储介质的结构示意图。

具体实施方式

下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。

现有的基于人脸图像年龄编辑算法由于依赖于特定的数据集,而这些数据集往往符合长尾分布,不同年龄的图像数量差距较大,从而导致训练得到的模型并不理想,生成的人脸图像在某些年龄上效果较差。而基于生成对抗网络的人脸图像年龄编辑算法虽然得到了广泛应用,但该方法同样依赖于数据集的数据分布,导致无法合成数量少的人脸年龄图像。

基于此,本申请实施例提供了一种人脸图像处理模型训练方法,如图1所示,所述方法包括如下的步骤s110至步骤s140:

步骤s110,利用所述人脸图像处理模型的编码器对第一人脸图像进行编码,得到第一人脸图像的第一特征向量。

变分自编码器(variationalauto-encoder,简称vae)是一种深度隐空间生成模型,其原理是先将原始数据编码到符合特定分布的隐变量中,再根据生成的隐变量概率分布,还原原始数据的近似概率分布。vae是一种无监督模型,其可以生成与输入类似的输出数据,因此在图像生成领域得到广泛应用。vae根据它们所接受的分布来生成图像,并允许设置潜在的复杂先验,从而学习强大的潜在表征。

本申请实施例的人脸图像处理模型以变分自编码器的模型框架为基础,也是由两个相连的网络组成:编码器和解码器。编码器的目的是通过获取一个输入x以产生一个特征映射z,在人脸识别、图像生成等应用场景下,可以将待处理的人脸图像作为编码器的输入,从而得到该人脸图像对应的特征向量。

步骤s120,将所述第一特征向量拆分成多个子特征向量,所述子特征向量至少包括身份子特征向量和年龄子特征向量。

对上述得到的第一特征向量进行向量拆分相当于是特征解耦的过程,解耦的本质是旨在对影响数据形态的关键因素(factor)进行建模,使得某一关键因素的变化仅仅引起数据在某项特征上的变化,而其他的特征不受影响。例如,人脸的特征有肤色、发型、五官等等,如果能够成功对人脸进行了解耦表示,则可以通过改变其中对应的关键因素(可以是低维隐变量的某一维)来改变一张人脸的肤色,而该人脸的发型、五官等其他特征维持不变。

在年龄图像生成的场景下,影响人脸图像的关键特征主要包括身份特征和年龄特征等,年龄特征向量相当于是一个可变量,除了要保证生成的年龄图像与真实图像尽可能接近,更重要的是,要保证在身份特征等一些基本属性特征不变的情况下,来生成某个人对应的不同年龄下的图像。因此本申请实施例将人脸图像中提取到的特征向量解耦为身份子特征向量和年龄子特征向量以分别进行训练和学习,进而使模型能够充分学习到人脸图像中的身份特征表示和年龄特征表示,这样当改变人脸图像的年龄特征向量时,就可以在保证身份特征不变的情况得到这个人对应的其他年龄的人脸图像。

步骤s130,根据各所述子特征向量确定待解码向量,并利用所述人脸图像处理模型的解码器对所述待解码向量进行解码,得到第二人脸图像。

在未对编码器进行约束处理或者训练的前提下,编码器对图像编码后得到的特征向量通常不是我们想要的特征向量,因此可以采取一些方式对编码器初步得到的子特征向量进行处理,得到可以输入解码器中进行解码的待解码向量。具体地,可以在得到解耦后的各子特征向量后,结合先验数据等方式对这些子特征向量进行约束处理,进而确定待解码向量。例如,利用高斯分布模型对年龄特征向量进行高斯分布拟合处理,以使训练后的模型能够生成尽可能多的新图像,还可以利用知识蒸馏模型对身份特征向量进行处理等,简化模型结构的同时,仍能保证较好的模型效果,通过上述过程最终可以得到我们想要的待解码向量,将待解码向量输入解码器中进行解码,就可以生成新的图像。

步骤s140,根据所述第一人脸图像与所述第二人脸图像的回归损失值,对所述人脸图像处理模型的参数进行优化。

人脸图像处理模型训练的目的是为了使新生成的图像与真实图像尽可能的接近,使模型具有较高的图像生成能力和泛化能力,因此在得到第二人脸图像后,可以采取一些方式评判第二人脸图像与第一人脸图像的接近程度。在本申请实施例中,为了保证新生成的图像与真实图像尽可能的接近,可以通过l1回归损失函数方式,计算第一人脸图像与第二人脸图像之间的回归损失值,通过尽可能的减小损失,优化人脸图像处理模型的参数,进而得到性能更好的人脸图像处理模型。

l1回归损失(l1loss),又叫平均绝对误差(meanabsoluteerror,简称mae),用来衡量模型预测值f(x)和真实值y之间距离的平均值,其公式如下:

其中,n为样本数量,f(xi)为模型预测值,在本申请实施例中可以指第二人脸图像,yi为模型真实值,在本申请实施例中可以指第一人脸图像,i为不小于1的整数。

需要说明的是,本申请实施例中的编码器和解码器可以采用任意的模型,如可以使用神经网络模型作为编码器和解码器。输入的数据经过神经网络降维到一个编码,接着又通过另外一个神经网络去解码得到一个与输入原数据相似的生成数据,然后通过比较这两个数据,最小化它们之间的差异来训练这个网络中编码器和解码器的参数。

在本申请的一个实施例中,所述根据各所述子特征向量确定待解码向量包括:利用人脸识别模型获取所述第一人脸图像的身份基准特征向量;根据所述身份基准特征向量对所述身份子特征向量进行拟合处理,并将拟合处理后的所述身份子特征向量作为所述待解码向量。

通过编码器编码图像初步得到的身份子特征向量通常是不具有任何含义的,因此为了得到能够表征该人脸图像所对应的人的唯一身份特征信息,可以对编码器初步输出的身份子特征向量进行处理。具体地,可以将输入编码器的第一人脸图像同时输入到已训练好的人脸识别网络模型中,通过该人脸识别网络提取第一人脸图像对应的身份基准特征向量,这里的人脸识别模型是指能够识别并输出人脸图像中的身份特征向量的网络模型。之后根据人脸识别模型输出的身份基准特征向量与编码器输出的身份子特征向量之间的差异,来确定待解码向量,例如,如果身份基准特征向量与身份子特征向量之间的差异小于预设值,则可以将编码器输出的身份子特征向量作为待解码向量,如果差异大于预设值,则将人脸识别模型输出的身份基准特征向量作为该人脸图像的待解码向量。

在本申请的一个实施例中,所述根据各所述子特征向量确定待解码向量包括:根据所述身份基准特征向量和所述身份子特征向量对所述编码器进行知识蒸馏。

为了使本申请实施例中的编码器可以自动输出能够表征人脸图像所对应的人的身份特征向量,提高模型的训练效率,可以通过知识蒸馏模型对编码器进行训练。知识蒸馏(knowledgedistillation,简称kd)是指将复杂模型或者多个模型(教师模型)学到的知识迁移到另一个轻量级模型(学生模型)上,使模型变轻量的同时,又能方便部署,尽量不损失模型的性能。在本申请实施例中,人脸识别模型相当于是教师模型,编码器相当于是学生模型,为了使编码器能够尽可能学习到人脸识别模型的输出,可以通过计算人脸识别模型输出的身份基准特征向量与编码器输出的身份子特征向量之间的差异来计算损失值,通过不断减小损失值来训练编码器,使其具有和人脸识别网络基本相同的身份特征生成能力。

在本申请的一个实施例中,所述根据各所述子特征向量确定待解码向量包括:将所述年龄子特征向量与高斯分布模型进行拟合处理,并将拟合处理后的所述年龄子特征向量作为所述待解码向量;根据拟合处理前的所述年龄子特征向量和拟合处理后的所述年龄子特征向量对所述编码器进行高斯先验约束。

高斯分布(gaussiandistribution)又称正态分布(normaldistribution),变分自编码器中的高斯分布是指通过增加一个约束项,将网络生成一个服从于高斯分布的数据集,这样按照高斯分布里的均值和方差规则就可以任意取相关的数据,然后通过解码器生成新样本。

在人脸图像生成的场景下,年龄子特征向量是为了生成不同年龄的人脸图像的主要变量,因此可以通过增加年龄子特征向量的随机性来尽可能生成不同年龄的人脸图像。具体地,可以通过将编码器初步输出的年龄子特征向量与高斯分布模型进行拟合处理,如果编码器输出的年龄子特征向量的分布符合高斯分布,则可以将该年龄子特征向量作为待解码向量,如果编码器输出的年龄子特征向量的分布不符合高斯分布,则可以对年龄子特征向量进行调整以使其符合高斯分布,将调整后的年龄子特征向量作为待解码向量。同样地,为了使编码器能够自动输出符合高斯分布的年龄子特征向量,增加数据样本采样的随机性,可以根据拟合处理前的年龄子特征向量和拟合处理后的年龄子特征向量之间的差异来计算损失值,通过不断减小损失值来训练编码器,以使训练后的编码器输出的年龄子特征向量符合高斯先验约束。

本申请实施例中增加高斯先验约束的对象主要是指年龄特征向量,因为在人脸图像生成场景下,人的身份特征属性是相对固定且基础的,通过使年龄特征向量的分布符合高斯分布,进而可以尽可能生成不同年龄下的人脸图像。

在本申请的一个实施例中,所述利用所述人脸图像处理模型的解码器对所述待解码向量进行解码,得到第二人脸图像包括:对根据所述身份子特征向量确定的所述待解码向量进行批归一化处理得到低层特征向量,将所述低层特征向量输入所述解码器,得到第一特征输入结果;对根据所述年龄子特征向量确定的所述待解码向量进行批归一化处理得到高层特征向量,基于所述第一特征输入结果,将所述高层特征向量输入所述解码器,得到所述第二人脸图像。

在得到待解码向量之后,可以将待解码向量中的身份子特征向量和年龄子特征向量以一定方式输入到解码器中。具体地,在人脸图像生成场景下,身份子特征向量是较为基础的特征,在人的身份特征确定的前提下,才可以通过改变年龄特征来生成不同年龄的人脸图像,因此可以将身份子特征向量作为解码器的低层特征向量输入,在此基础上,将年龄子特征向量作为解码器的高层特征向量输入。

此外,以往在神经网络训练中,通常只对输入层数据进行归一化处理,却没有在中间层进行归一化处理。要知道,虽然对输入数据进行了归一化处理,但是输入数据经过一系列的矩阵乘法以及非线性运算之后,其数据分布很可能被改变,而随着深度网络的多层运算之后,数据分布的变化将越来越大。如果能在网络的中间也进行归一化处理,将会对网络的训练起到改进作用。这种在神经网络中间层也进行归一化处理,使训练效果更好的方法,就是批归一化(batchnormal1zation,简称bn)。bn在神经网络训练中能够加快训练速度,提高模型训练精度。在本申请实施例中,年龄子特征向量和身份子特征向量是相对重要的特征向量,为了避免在将年龄子特征向量和身份子特征向量输入网络之后,由于数据分布的改变导致模型训练速度降低,训练效果不好的问题,在将待解码向量输入解码器之前,对身份子特征向量和年龄子特征向量分别进行了批归一化处理,以提高人脸图像处理模型的训练精度。

在本申请的一个实施例中,所述子特征向量还包括补充子特征向量,所述方法还包括:在将所述低层特征向量输入所述解码器,得到第一特征输入结果之后且在将所述高层特征向量输入所述解码器之前,将所述补充子特征向量输入所述解码器中。

在人脸图像生成等场景下,除了身份子特征向量和年龄子特征向量外,还会涉及到其它属性特征向量如人的头发、表情、图像背景等属性向量,将这些除了身份子特征向量和年龄子特征向量以外的其它属性特征向量作为补充子特征向量,通过增加编码器对补充子特征向量的编码能力以及解码器对补充子特征的解码能力,能够增强人脸图像处理模型对于人脸细节特征的学习,以生成更具真实度的人脸图像。

在确定可以输入解码器的补充子特征向量时,同年龄子特征向量一样,也可以对输出补充子特征向量的编码器增加高斯先验约束,使编码器输出的补充子特征向量符合高斯分布,进而使模型能够捕捉和学习到更多的人脸细节特征。补充子特征向量可以在身份子特征向量输入解码器之后以及年龄子特征向量输入解码器之前输入解码器,当然也可以将补充子特征向量与身份子特征向量同时输入,补充子特征向量的具体输入顺序可以根据实际情况灵活设置,在此不一一列举。

在本申请的一个实施例中,所述方法还包括:对所述第二人脸图像,利用所述人脸图像处理模型进行n次人脸图像处理,得到相应的n组子特征向量,其中n为正整数;根据n组所述子特征向量的相似度计算重复训练损失值,根据所述重复训练损失值对所述人脸图像处理模型的参数进行优化。

为了进一步提升模型的性能,可以对解码器生成的第一人脸图像再次送入编码器中,得到新的特征向量,将新的特征向量按照如前所述的方法送入解码器中,再生成新的图像,重复n次这个过程,可以得到相应的n组子特征向量,通过约束n次训练后得到的n组身份子特征向量和年龄子特征向量均相同,不断优化模型的参数,进而使人脸图像处理模型能够在每次训练后生成的图像均能保持较高的一致性。具体迭代次数的选择本领域技术人员可以根据实际情况灵活设置,在此不做具体限定。

在本申请的一个实施例中,所述子特征向量包括补充子特征向量,所述方法还包括:将得到的n组所述子特征向量中的所述补充子特征向量输入判别器中,以根据所述判别器的输出结果对所述人脸图像处理模型的参数进行优化。

判别器是指生成对抗网络(generativeadversarialnetworks,简称gans,)中的判别器,生成式对抗网络由两个基础神经网络即生成器神经网络(generatorneuralnetwork)和判别器神经网络(discriminatorneuralnetwork)所组成,其中一个用于生成内容,另一个则用于判别生成的内容。生成器从给定噪声中(一般是指均匀分布或者正态分布)产生合成数据,判别器分辨生成器的输出和真实数据。前者试图产生更接近真实的数据,相应地,后者试图更完美地分辨真实数据与生成数据。

本申请实施例的人脸图像生成模型在多次重复训练过程中,为了使模型能够捕捉和学习到更多人脸图像的细节特征,提高生成图像的真实度,可以在解码器网络的后面增加判别器,例如,通过人脸图像处理模型得到的补充子特征向量为表情子特征向量,其对应的人的表情为“微笑”,而真实图像的人的表情为“悲伤”,通过将两个特征向量输入判别器网络,就可以判别出人脸图像处理模型得到的补充子特征向量与真实图像的补充子特征向量的差异。通过判别器的输出结果对人脸图像处理模型的参数不断优化,进而使人脸图像处理模型能够生成更具真实度的人脸图像。

如图2所示,提供了一种人脸图像处理模型的训练过程示意图。首先,将第一人脸图像x输入编码器e进行编码,得到第一人脸图像x对应的特征向量z,将特征向量进行拆分得到多个子特征向量,包括身份子特征向量、年龄子特征向量和补充子特征向量,根据子特征向量确定待解码向量,其中待解码向量中的身份子特征向量zi通过知识蒸馏kd的方式得到,年龄子特征向量za和补充子特征向量ze通过增加高斯先验分布(标准正态分布)的方式得到。之后将身份子特征向量zi和年龄子特征向量za分别进行批归一化处理bn,并以身份子特征向量在先、年龄子特征向量在后的顺序将待编码向量输入到解码器g中,最后由解码器进行解码,生成第二人脸图像xr,通过计算第二人脸图像xr与第一人脸图像x之间的回归损失,以优化人脸图像处理模型。

为了进一步提高模型的生成能力,该可以将解码器输出的第二人脸图像xr输入到编码器e中,生成新的特征向量z’,在对新的特征向量z’进行处理后输入解码器,再生成新的人脸图像xs,如此重复n此训练过程,约束每次训练生成的身份子特征向量和年龄子特征向量均相同。此外,为了使生成的图像更具真实性,将每次训练生成的补充子特征向量ze’、ze”分别输入判别器,以与真实的补充子特征向量ze比较,进而不断优化模型的参数,使模型每次输出的补充子特征向量尽可能接近真实数据,提高生成的图像质量。

本申请还提供了一种人脸图像的生成方法,如图3所示,所述方法包括如下的步骤s310至步骤s340:

步骤s310,获取原始人脸图像。

原始人脸图像是生成新的人脸年龄图像的前提基础,因此在人脸年龄图像的生成场景下,可以先获取用户的初始人脸图像。

步骤s320,利用人脸图像处理模型生成所述原始人脸图像的子特征向量集,其中,所述人脸图像处理模型基于如前所述的人脸图像处理模型训练方法训练得到。

本申请实施例的人脸图像处理模型基于上述的人脸图像处理模型训练方法训练得到。具体地,利用人脸图像处理模型的编码器对第一人脸图像进行编码,得到第一人脸图像的第一特征向量;将第一特征向量拆分成多个子特征向量,所述子特征向量至少包括身份子特征向量和年龄子特征向量;根据各子特征向量确定待解码向量,并利用人脸图像处理模型的解码器对待解码向量进行解码,得到第二人脸图像;根据第一人脸图像与第二人脸图像的回归损失值,对人脸图像处理模型的参数进行优化。

将获取到的原始人脸图像输入到上述人脸图像处理模型的编码器中进行特征向量的提取,最终得到原始人脸图像对应的子特征向量集,该子特征向量集中可以包括身份子特征向量、年龄子特征向量和补充子特征向量等。

步骤s330,获取目标年龄的年龄特征向量,用所述年龄特征向量替换所述子特征向量集中的年龄子特征向量,得到替换后的子特征向量集。

为了生成新的人脸年龄图像,还可以获取用户想要生成的目标年龄对应的年龄特征向量,例如原始人脸图像为20岁的人脸图像,用户想要生成40岁的人脸图像,则将目标年龄40岁转换为其对应的年龄特征向量,将上述得到的原始人脸图像对应的子特征集中的年龄子特征向量替换为目标年龄对应的年龄特征向量,也即将目标年龄对应的年龄特征向量与原始人脸图像对应的子特征向量集中的身份子特征向量和补充子特征向量相结合构成新的子特征向量集。

步骤s340,利用人脸图像处理模型和所述替换后的子特征向量集生成与所述原始人脸图像对应的人脸年龄变更图像。

将重组后的子特征向量集作为人脸图像处理模型的解码器的输入,通过解码器进行解码,就可以得到原始人脸图像对应的人脸年龄变更图像。

如图4所示,提供了一种人脸图像的面部老化效果示意图,通过替换第一次编码器得到的年龄特征向量,即可使得输入图像变成各种年龄的人脸图像,对于不同年龄、不同性别的人脸图像,均具有较好的生成效果。

如图5所示,提供了一种人脸图像的年龄交换效果示意图,即将a的年龄子特征向量与b的身份子特征向量以及补充子特征向量结合,即可得到b对应a年龄的新图像,两张图像互相交换年龄子特征向量,即可使最后得到的人脸图像年龄互相变换。

如表1所示,为本申请实施例的一种人脸验证结果,通过对上述人脸图像处理模型生成的图像ag1(年龄30-40),ag2(年龄40~50),ag3(年龄50+)与真实图像(testingface)做人脸验证,基于本申请实施例的人脸图像处理模型得到的人脸验证结果(ours)均在98%以上,证明在图像生成的过程中,人脸的身份特征被很好的保持了。

表1

本申请实施例还可以生成训练集中不存在的年龄图像,如图6所示,提供了一种生成训练集中不存在的年龄图像的效果示意图,其中morph数据集的年龄范围是16~77岁,本申请实施例的生成方法可以预测13岁的人脸年龄图像。(图6中第一行是输入模型的图像,第二行是模型预测的13岁人脸图像)。

本申请还提供了一种人脸年龄估计方法,如图7所示,所述方法包括如下的步骤s710至步骤s730:

步骤s710,获取人脸图像。

人脸图像是估计人脸年龄的前提基础,因此在人脸年龄估计的场景下,可以先获取用户的人脸图像。

步骤s720,将所述人脸图像输入人脸图像处理模型的编码器中,得到所述人脸图像的年龄子特征向量,其中所述人脸图像处理模型基于如前所述的人脸图像处理模型训练方法训练得到。

将上述获取到的人脸图像输入人脸图像处理模型的编码器中,通过编码器进行编码,得到该人脸图像对应的年龄子特征向量。本申请实施例的人脸图像处理模型基于上述的人脸图像处理模型训练方法训练得到。具体地,利用人脸图像处理模型的编码器对第一人脸图像进行编码,得到第一人脸图像的第一特征向量;将第一特征向量拆分成多个子特征向量,所述子特征向量至少包括身份子特征向量和年龄子特征向量;根据各子特征向量确定待解码向量,并利用人脸图像处理模型的解码器对待解码向量进行解码,得到第二人脸图像;根据第一人脸图像与第二人脸图像的回归损失值,对人脸图像处理模型的参数进行优化。

步骤s730,根据所述年龄子特征向量确定年龄估计结果。

将通过编码器编码后得到的年龄子特征向量转换为实际的年龄,并作为最终的年龄估计结果输出。

如表2所示,为本申请实施例的一种年龄估计性能的比较结果,本申请实施例使用人脸图像处理模型中的编码器直接预测人脸图像对应的年龄,表2中thinagenet和ssr-net为ijcai(internationaljointconferencesonartificialintell1gence,国际人工智能联合会议)2018会议上的文章所采用的年龄估计方法,m-vloss为cvpr(ieeeconferenceoncomputervisionandpatternrecognition,ieee国际计算机视觉与模式识别会议)2018会议上的文章所采用的年龄估计方法。表2中评测指标为morph数据集上的mae(平均绝对误差),即预测年龄和实际年龄的绝对值的平均值,可以看到,基于本申请实施例得到的编码器在年龄估计任务上同样具有非常好的效果。

表2

如表3所示,为本申请实施例的一种年龄估计结果的生成效果,用face++提供的年龄估计工具对本申请实施例生成的ag1(年龄30-40),ag2(年龄40~50),ag3(年龄50+)数据做年龄估计,将最后的年龄估计值取平均,发现本申请实施例的人脸年龄估计结果(ours)与真实数据(realdata)更为接近,本申请实施例的人脸年龄估计方法可以生成更准确的年龄。

表3

本申请还提供了一种人脸图像处理模型训练装置800,如图8所示,所述装置800包括编码单元810、拆分单元820、解码单元830和第一优化单元840:

本申请实施例的编码单元810,用于利用所述人脸图像处理模型的编码器对第一人脸图像进行编码,得到第一人脸图像的第一特征向量。

变分自编码器(variationalauto-encoder,简称vae)是一种深度隐空间生成模型,其原理是先将原始数据编码到符合特定分布的隐变量中,再根据生成的隐变量概率分布,还原原始数据的近似概率分布。vae是一种无监督模型,其可以生成与输入类似的输出数据,因此在图像生成领域得到广泛应用。vae根据它们所接受的分布来生成图像,并允许设置潜在的复杂先验,从而学习强大的潜在表征。

本申请实施例的人脸图像处理模型以变分自编码器的模型框架为基础,也是由两个相连的网络组成:编码器和解码器。编码器的目的是通过获取一个输入x以产生一个特征映射z,在人脸识别、图像生成等应用场景下,可以将待处理的人脸图像作为编码器的输入,从而得到该人脸图像对应的特征向量。

本申请实施例的拆分单元820,用于将所述第一特征向量拆分成多个子特征向量,所述子特征向量至少包括身份子特征向量和年龄子特征向量。

对上述得到的第一特征向量进行向量拆分相当于是特征解耦的过程,解耦的本质是旨在对影响数据形态的关键因素(factor)进行建模,使得某一关键因素的变化仅仅引起数据在某项特征上的变化,而其他的特征不受影响。例如,人脸的特征有肤色、发型、五官等等,如果能够成功对人脸进行了解耦表示,则可以通过改变其中对应的关键因素(可以是低维隐变量的某一维)来改变一张人脸的肤色,而该人脸的发型、五官等其他特征维持不变。

在年龄图像生成的场景下,影响人脸图像的关键特征主要包括身份特征和年龄特征等,年龄特征向量相当于是一个可变量,除了要保证生成的年龄图像与真实图像尽可能接近,更重要的是,要保证在身份特征等一些基本属性特征不变的情况下,来生成某个人对应的不同年龄下的图像。因此本申请实施例将人脸图像中提取到的特征向量解耦为身份子特征向量和年龄子特征向量以分别进行训练和学习,进而使模型能够充分学习到人脸图像中的身份特征表示和年龄特征表示,这样当改变人脸图像的年龄特征向量时,就可以在保证身份特征不变的情况得到这个人对应的其他年龄的人脸图像。

本申请实施例的解码单元830,用于根据各所述子特征向量确定待解码向量,并利用所述人脸图像处理模型的解码器对所述待解码向量进行解码,得到第二人脸图像。

在未对编码器进行约束处理或者训练的前提下,编码器对图像编码后得到的特征向量通常不是我们想要的特征向量,因此可以采取一些方式对编码器初步得到的子特征向量进行处理,得到可以输入解码器中进行解码的待解码向量。具体地,可以在得到解耦后的各子特征向量后,结合先验数据等方式对这些子特征向量进行约束处理,进而确定待解码向量。例如,利用高斯分布模型对年龄特征向量进行高斯分布拟合处理,以使训练后的模型能够生成尽可能多的新图像,还可以利用知识蒸馏模型对身份特征向量进行处理等,简化模型结构的同时,仍能保证较好的模型效果,通过上述过程最终可以得到我们想要的待解码向量,将待解码向量输入解码器中进行解码,就可以生成新的图像。

本申请实施例的第一优化单元840,用于根据所述第一人脸图像与所述第二人脸图像的回归损失值,对所述人脸图像处理模型的参数进行优化。

人脸图像处理模型训练的目的是为了使新生成的图像与真实图像尽可能的接近,使模型具有较高的图像生成能力和泛化能力,因此在得到第二人脸图像后,可以采取一些方式评判第二人脸图像与第一人脸图像的接近程度。在本申请实施例中,为了保证新生成的图像与真实图像尽可能的接近,可以通过l1回归损失函数方式,计算第一人脸图像与第二人脸图像之间的回归损失值,通过尽可能的减小损失,优化人脸图像处理模型的参数,进而得到性能更好的人脸图像处理模型。

l1回归损失(l1loss),又叫平均绝对误差(meanabsoluteerror,简称mae),用来衡量模型预测值f(x)和真实值y之间距离的平均值,其公式如下:

其中,n为样本数量,f(xi)为模型预测值,在本申请实施例中可以指第二人脸图像,yi为模型真实值,在本申请实施例中可以指第一人脸图像,i为不小于1的整数。

在本申请的一个实施例中,所述解码单元830还用于:利用人脸识别模型获取所述第一人脸图像的身份基准特征向量;根据所述身份基准特征向量对所述身份子特征向量进行拟合处理,并将拟合处理后的所述身份子特征向量作为所述待解码向量。

在本申请的一个实施例中,所述解码单元830还用于:根据所述身份基准特征向量和所述身份子特征向量对所述编码器进行知识蒸馏。

在本申请的一个实施例中,所述解码单元830还用于:将所述年龄子特征向量与高斯分布模型进行拟合处理,并将拟合处理后的所述年龄子特征向量作为所述待解码向量;根据拟合处理前的所述年龄子特征向量和拟合处理后的所述年龄子特征向量对所述编码器进行高斯先验约束。

在本申请的一个实施例中,所述解码单元830还用于:对根据所述身份子特征向量确定的所述待解码向量进行批归一化处理得到低层特征向量,将所述低层特征向量输入所述解码器,得到第一特征输入结果;对根据所述年龄子特征向量确定的所述待解码向量进行批归一化处理得到高层特征向量,基于所述第一特征输入结果,将所述高层特征向量输入所述解码器,得到所述第二人脸图像。

在本申请的一个实施例中,所述解码单元830还用于:在将所述低层特征向量输入所述解码器,得到第一特征输入结果之后且在将所述高层特征向量输入所述解码器之前,将所述补充子特征向量输入所述解码器中。

在本申请的一个实施例中,所述装置800还包括:处理单元,用于对所述第二人脸图像,利用所述人脸图像处理模型进行n次人脸图像处理,得到相应的n组子特征向量,其中n为正整数;第二优化单元,用于根据n组所述子特征向量的相似度计算重复训练损失值,根据所述重复训练损失值对所述人脸图像处理模型的参数进行优化。

在本申请的一个实施例中,所述子特征向量包括补充子特征向量,所述装置800还包括:第三优化单元,用于将得到的n组所述子特征向量中的所述补充子特征向量输入判别器中,以根据所述判别器的输出结果对所述人脸图像处理模型的参数进行优化。

本申请还提供了一种人脸图像的生成装置900,如图9所示,所述装置900包括第一获取单元910、第一生成单元920、替换单元930和第二生成单元940:

本申请实施例的第一获取单元910,用于获取原始人脸图像。

原始人脸图像是生成新的人脸年龄图像的前提基础,因此在人脸年龄图像的生成场景下,可以先获取用户的初始人脸图像。

本申请实施例的第一生成单元920,用于利用人脸图像处理模型生成所述原始人脸图像的子特征向量集,其中,所述人脸图像处理模型基于如前所述的人脸图像处理模型训练装置训练得到。

本申请实施例的人脸图像处理模型基于上述的人脸图像处理模型训练装置训练得到。具体地,利用人脸图像处理模型的编码器对第一人脸图像进行编码,得到第一人脸图像的第一特征向量;将第一特征向量拆分成多个子特征向量,所述子特征向量至少包括身份子特征向量和年龄子特征向量;根据各子特征向量确定待解码向量,并利用人脸图像处理模型的解码器对待解码向量进行解码,得到第二人脸图像;根据第一人脸图像与第二人脸图像的回归损失值,对人脸图像处理模型的参数进行优化。

将获取到的原始人脸图像输入到上述人脸图像处理模型的编码器中进行特征向量的提取,最终得到原始人脸图像对应的子特征向量集,该子特征向量集中可以包括身份子特征向量、年龄子特征向量和补充子特征向量等。

本申请实施例的替换单元930,用于获取目标年龄的年龄特征向量,用所述年龄特征向量替换所述子特征向量集中的年龄子特征向量,得到替换后的子特征向量集。

为了生成新的人脸年龄图像,还可以获取用户想要生成的目标年龄对应的年龄特征向量,例如原始人脸图像为20岁的人脸图像,用户想要生成40岁的人脸图像,则将目标年龄40岁转换为其对应的年龄特征向量,将上述得到的原始人脸图像对应的子特征集中的年龄子特征向量替换为目标年龄对应的年龄特征向量,也即将目标年龄对应的年龄特征向量与原始人脸图像对应的子特征向量集中的身份子特征向量和补充子特征向量相结合构成新的子特征向量集。

本申请实施例的第二生成单元940,用于利用人脸图像处理模型和所述替换后的子特征向量集生成与所述原始人脸图像对应的人脸年龄变更图像。

将重组后的子特征向量集作为人脸图像处理模型的解码器的输入,通过解码器进行解码,就可以得到原始人脸图像对应的人脸年龄变更图像。

本申请还提供了一种人脸年龄估计装置1000,如图10所示,所述装置1000包括第二获取单元1010、输入单元1020和确定单元1030:

本申请实施例的第二获取单元1010,用于获取人脸图像。

人脸图像是估计人脸年龄的前提基础,因此在人脸年龄估计的场景下,可以先获取用户的人脸图像。

本申请实施例的输入单元1020,用于将所述人脸图像输入人脸图像处理模型的编码器中,得到所述人脸图像的年龄子特征向量,其中所述人脸图像处理模型基于如前所述的人脸图像处理模型训练装置训练得到。

将上述获取到的人脸图像输入人脸图像处理模型的编码器中,通过编码器进行编码,得到该人脸图像对应的年龄子特征向量。本申请实施例的人脸图像处理模型基于上述的人脸图像处理模型训练装置训练得到。具体地,利用人脸图像处理模型的编码器对第一人脸图像进行编码,得到第一人脸图像的第一特征向量;将第一特征向量拆分成多个子特征向量,所述子特征向量至少包括身份子特征向量和年龄子特征向量;根据各子特征向量确定待解码向量,并利用人脸图像处理模型的解码器对待解码向量进行解码,得到第二人脸图像;根据第一人脸图像与第二人脸图像的回归损失值,对人脸图像处理模型的参数进行优化。

本申请实施例的确定单元1030,用于根据所述年龄子特征向量确定年龄估计结果。

为了生成新的人脸年龄图像,还可以获取用户想要生成的目标年龄对应的年龄特征向量,例如原始人脸图像为20岁的人脸图像,用户想要生成40岁的人脸图像,则将目标年龄40岁转换为其对应的年龄特征向量,将上述得到的原始人脸图像对应的子特征集中的年龄子特征向量替换为目标年龄对应的年龄特征向量,也即将目标年龄对应的年龄特征向量与原始人脸图像对应的子特征向量集中的身份子特征向量和补充子特征向量相结合构成新的子特征向量集。

需要说明的是,上述各装置实施例的具体实施方式可以参照前述对应方法实施例的具体实施方式进行,在此不再赘述。

综上所述,本申请的技术方案,利用所述人脸图像处理模型的编码器对第一人脸图像进行编码,得到第一人脸图像的第一特征向量;将所述第一特征向量拆分成多个子特征向量,所述子特征向量至少包括身份子特征向量和年龄子特征向量;根据各所述子特征向量确定待解码向量,并利用所述人脸图像处理模型的解码器对所述待解码向量进行解码,得到第二人脸图像;根据所述第一人脸图像与所述第二人脸图像的回归损失值,对所述人脸图像处理模型的参数进行优化,解决了相关技术中基于人脸图像年龄编辑算法训练得到的模型并不理想的技术问题,通过本申请训练得到的人脸图像处理模型降低了对数据分布的依赖性,对年龄不均衡的长尾数据更为鲁棒,且能够生成效果更好的面部老化图像,同时在年龄估计任务上也能取得的较好的效果。

需要说明的是:

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本申请实施例所述人脸图像处理模型训练装置、人脸图像的生成装置以及人脸年龄估计装置中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

例如,图11示出了根据本申请一个实施例的电子设备的结构示意图。该电子设备1100包括处理器1110和被安排成存储计算机可执行指令(计算机可读程序代码)的存储器1120。存储器1120可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。存储器1120具有存储用于执行上述方法中的任何方法步骤的计算机可读程序代码1131的存储空间1130。例如,用于存储计算机可读程序代码的存储空间1130可以包括分别用于实现上面的方法中的各种步骤的各个计算机可读程序代码1131。计算机可读程序代码1131可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(cd)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图12所述的计算机可读存储介质。图12示出了根据本申请一个实施例的一种计算机可读存储介质的结构示意图。该计算机可读存储介质1200存储有用于执行根据本申请的方法步骤的计算机可读程序代码1131,可以被电子设备1100的处理器1110读取,当计算机可读程序代码1131由电子设备1100运行时,导致该电子设备1100执行上面所描述的方法中的各个步骤,具体来说,该计算机可读存储介质存储的计算机可读程序代码1131可以执行上述任一实施例中示出的方法。计算机可读程序代码1131可以以适当形式进行压缩。

应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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