一种基于人脸图像的眼镜框去除方法及装置转让专利

申请号 : CN201711341825.X

文献号 : CN108182390B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 程福运郝敬松王刚

申请人 : 浙江大华技术股份有限公司

摘要 :

本申请公开了一种基于人脸图像的眼镜框去除方法及装置,用以避免眼镜框残留的问题。基于人脸图像的眼镜框去除方法包括:建立基于人脸图像的深层神经网络;将眼镜框待去除人脸图像输入到所述基于人脸图像的深层神经网络,输出与所述眼镜框待去除人脸图像对应的不戴眼镜的人脸图像;根据所述眼镜框待去除人脸图像和所述不戴眼镜的人脸图像,确定眼镜框区域;将所述眼镜框待去除人脸图像中所述眼镜框区域的像素值,替换为所述不戴眼镜的人脸图像中所述眼镜框区域的像素值,得到眼镜框去除图像。

权利要求 :

1.一种基于人脸图像的眼镜框去除方法,其特征在于,该方法包括:

建立基于人脸图像的深层神经网络;

将眼镜框待去除人脸图像输入到所述基于人脸图像的深层神经网络,输出与所述眼镜框待去除人脸图像对应的不戴眼镜的人脸图像;

根据所述眼镜框待去除人脸图像和所述不戴眼镜的人脸图像,确定眼镜框区域;

将所述眼镜框待去除人脸图像中所述眼镜框区域的像素值,替换为所述不戴眼镜的人脸图像中所述眼镜框区域的像素值,得到眼镜框去除图像;

建立基于人脸图像的深层神经网络具体包括:

建立待训练的深层神经网络,并将待训练的深层神经网络拆分成多个单层神经网络;

建立人脸图像样本库,所述人脸图像样本库包括至少一张不戴眼镜的人脸图像、以及根据该不戴眼镜的人脸图像生成的戴不同眼镜的多张戴眼镜人脸图像;

选择所述人脸图像样本库中的多张戴眼镜人脸图像作为所述单层神经网络训练图像,分别利用每一单层网络训练图像从第一层所述单层神经网络开始,逐层对所述单层神经网络进行训练,其中,将每一层单层神经网络进行训练后的输出作为下一层单层神经网络的输入;

将训练后的所述单层神经网络堆叠、并逐层反向重构,形成新的深层神经网络;

分别将人脸图像样本库中的多张戴眼镜的人脸图像输入到所述新的深层神经网络,将与所述戴眼镜的人脸图像对应的不戴眼镜的人脸图像作为所述新的深层神经网络的输出,对所述新的深层神经网络进行微调,得到基于人脸图像的深层神经网络;

或者,建立基于人脸图像的深层神经网络具体包括:

建立待训练的深层神经网络,并将待训练的深层神经网络拆分成多个单层神经网络;

建立人脸图像样本库,所述人脸图像样本库包括多张不戴眼镜的人脸图像;

利用所述人脸图像样本库中的多张不戴眼镜的人脸图像,分别从第一层所述单层神经网络开始,逐层对所述单层神经网络进行训练;其中,将每一层单层神经网络进行训练后的输出作为下一层单层神经网络的输入;

将训练后的所述单层神经网络堆叠、并逐层反向重构,形成新的深层神经网络;

以所述人脸图像样本库中的每一不戴眼镜的人脸图像为输入和输出,对所述新的深层神经网络进行微调,得到基于人脸图像的深层神经网络。

2.根据权利要求1所述的眼镜框去除方法,其特征在于,所述单层神经网络为受限玻尔兹曼机,逐层对所述单层神经网络进行训练具体包括:采用对比散度算法逐层对所述受限玻尔兹曼机进行训练。

3.根据权利要求1所述的眼镜框去除方法,其特征在于,所述人脸图像样本库中的所述戴眼镜的人脸图像是根据不戴眼镜的人脸图像采用眼镜自动生成算法生成的。

4.根据权利要求1所述的眼镜框去除方法,其特征在于,将所述戴眼镜的人脸图像中所述眼镜框区域的像素值,替换为所述不戴眼镜的人脸图像中所述眼镜框区域的像素值,得到眼镜框去除图像之后,该方法还包括:将所述眼镜框去除图像输入到所述预先建立的基于人脸图像的深层神经网络,输出眼镜框去除修复图像。

5.根据权利要求1所述的眼镜框去除方法,其特征在于,根据所述戴眼镜的人脸图像和所述与不戴眼镜的人脸图像,确定眼镜框区域具体包括:计算所述戴眼镜的人脸图像与所述不戴眼镜的人脸图像的差值的绝对值,并采用自适应二值算法得到眼镜模板,所述眼镜模板中像素值为1的区域为所述眼镜框区域,所述眼镜模板中像素值为0的区域为非眼镜框区域。

6.一种基于人脸图像的眼镜框去除装置,其特征在于,包括:

深层神经网络模块,用于建立基于人脸图像的深层神经网络;

眼镜框去除模块,用于将眼镜框待去除人脸图像输入到所述基于人脸图像的深层神经网络,输出与所述眼镜框待去除人脸图像对应的不戴眼镜的人脸图像;

眼镜框定位模块,用于根据所述眼镜框待去除人脸图像和所述不戴眼镜的人脸图像,确定眼镜框区域;

眼镜框修复模块,用于将所述眼镜框待去除人脸图像中所述眼镜框区域的像素值,替换为所述不戴眼镜的人脸图像中所述眼镜框区域的像素值,得到眼镜框去除图像;

所述深层神经网络模块具体包括:

待训练深层神经网络建立模块,用于建立待训练的深层神经网络,并将待训练的深层神经网络拆分成多个单层神经网络;

人脸图像样本库建立模块,用于建立人脸图像样本库,所述人脸图像样本库包括至少一张不戴眼镜的人脸图像、以及根据该不戴眼镜的人脸图像生成的戴不同眼镜的多张戴眼镜人脸图像;

训练模块,用于选择所述人脸图像样本库中的多张戴眼镜人脸图像作为所述单层神经网络训练图像,分别利用每一单层网络训练图像从第一层所述单层神经网络开始,逐层对所述单层神经网络进行训练,其中,将每一层单层神经网络进行训练后的输出作为下一层单层神经网络的输入;

深层神经网络生成模块,用于将训练后的所述单层神经网络堆叠、并逐层反向重构,形成新的深层神经网络;

微调模块,用于分别将人脸图像样本库中的多张戴眼镜的人脸图像输入到所述新的深层神经网络,将与所述戴眼镜的人脸图像对应的不戴眼镜的人脸图像作为所述新的深层神经网络的输出,对所述新的深层神经网络进行微调,得到基于人脸图像的深层神经网络;

或者,所述深层神经网络模块具体包括:

待训练深层神经网络建立模块,用于建立待训练的深层神经网络,并将待训练的深层神经网络拆分成多个单层神经网络;

人脸图像样本库建立模块,用于建立人脸图像样本库,所述人脸图像样本库包括多张不戴眼镜的人脸图像;

训练模块,用于利用所述人脸图像样本库中的多张不戴眼镜的人脸图像,分别从第一层所述单层神经网络开始,逐层对所述单层神经网络进行训练;其中,将每一层单层神经网络进行训练后的输出作为下一层单层神经网络的输入;

深层神经网络生成模块,用于将训练后的所述单层神经网络堆叠、并逐层反向重构,形成新的深层神经网络;

微调模块,用于以所述人脸图像样本库中的每一不戴眼镜的人脸图像为输入和输出,对所述新的深层神经网络进行微调,得到基于人脸图像的深层神经网络。

7.根据权利要求6所述的眼镜框去除装置,其特征在于,所述单层神经网络为受限玻尔兹曼机,所述训练模块逐层对所述单层神经网络进行训练具体包括:采用对比散度算法逐层对所述受限玻尔兹曼机进行训练。

8.根据权利要求6所述的眼镜框去除装置,其特征在于,人脸图像样本库建立模块,根据不戴眼镜的人脸图像采用眼镜自动生成算法生成所述戴眼镜的人脸图像。

9.根据权利要求6所述的眼镜框去除装置,其特征在于,所述装置还包括图像再修复模块,用于将所述眼镜框去除图像输入到所述预先建立的基于人脸图像的深层神经网络,输出眼镜框去除修复图像。

10.根据权利要求6所述的眼镜框去除装置,其特征在于,所述眼镜框定位模块具体用于:计算所述戴眼镜的人脸图像与所述不戴眼镜的人脸图像的差值的绝对值,并采用自适应二值算法得到眼镜模板,所述眼镜模板中像素值为1的区域为所述眼镜框区域,所述眼镜模板中像素值为0的区域为非眼镜框区域。

说明书 :

一种基于人脸图像的眼镜框去除方法及装置

技术领域

[0001] 本申请涉及图像处理技术领域,尤其涉及一种基于人脸图像的眼镜框去除方法及装置。

背景技术

[0002] 眼镜(特别是深色粗框眼镜)作为一种常见的面部装饰物,影响着人脸识别的准确率,将戴眼镜的人脸图像进行眼镜去除和修复,能够有效地减弱或消除眼镜对人脸识别效果的影响,为了减弱或消除眼镜对人脸识别效果的影响,大量的眼镜框摘除方法被相继提出。
[0003] 常见的眼镜框摘除方法多采用基于重构的眼镜框摘除方法。该方法主要通过大量不戴眼镜的人脸图像来构建人脸特征子空间,将戴眼镜的人脸图像向该人脸特征子空间进行投影以去除和修复眼镜框区域,如:基于主成分分析(Principle Component Analysis,PCA)的眼镜框去除和修复方法,基于独立分析(Independent Component Analysis,ICA)的眼镜框去除和修复方法,基于稀疏表达的眼镜框去除和修复方法等。
[0004] 现有技术基于重构的眼镜框摘除方法虽然可以有效地对眼镜框进行去除和修复,但现有技术中基于重构的眼镜框摘除方法仅采用单层神经网络对戴眼镜的人脸图像进行重构,单层神经网络结构对图像的重构能力差,导致现有技术对人脸图像眼镜框修复效果较差,眼镜框区域会出现严重的残留痕迹,即使使用迭代式的误差补偿方法,仍然会存在眼镜框残留的问题。

发明内容

[0005] 本申请实施例提供了一种基于人脸图像的眼镜框去除方法及装置,用以避免眼镜框残留的问题,使修复后的图像更加自然。
[0006] 本申请实施例提供的一种基于人脸图像的眼镜框去除方法,包括:
[0007] 建立基于人脸图像的深层神经网络;
[0008] 将所述眼镜框待去除人脸图像输入到所述预先建立的深层神经网络,输出与所述眼镜框待去除人脸图像对应的不戴眼镜的人脸图像;
[0009] 根据所述眼镜框待去除人脸图像和所述不戴眼镜的人脸图像,确定眼镜框区域;
[0010] 将所述眼镜框待去除人脸图像中所述眼镜框区域的像素值,替换为所述不戴眼镜的人脸图像中所述眼镜框区域的像素值,得到眼镜框去除图像。
[0011] 本申请实施例提供的基于人脸图像的眼镜框去除方法,建立了基于人脸图像的深层神经网络,由于深层神经网络具有更深的网络层数以及较强的非线性,从而利用预先建立的基于人脸图像的深层神经网络对人脸图像中的眼镜框去除,可以避免眼镜框的残留,并且可以使最终得到的眼镜框去除图像更加自然,实现更高质量的眼镜框去除。
[0012] 可选地,建立基于人脸图像的深层神经网络具体包括:
[0013] 建立待训练的深层神经网络,并将待训练的深层神经网络拆分成多个单层神经网络;
[0014] 建立人脸图像样本库,所述人脸图像样本库包括至少一张不戴眼镜的人脸图像、以及根据该不戴眼镜的人脸图像生成的戴不同眼镜的多张戴眼镜人脸图像;
[0015] 选择所述人脸图像样本库中的多张戴眼镜人脸图像作为所述单层神经网络训练图像,分别利用每一单层网络训练图像从第一层所述单层神经网络开始,逐层对所述单层神经网络进行训练,其中,将每一层单层神经网络进行训练后的输出作为下一层单层神经网络的输入;
[0016] 将训练后的所述单层神经网络堆叠、并逐层反向重构,形成新的深层神经网络;
[0017] 分别将人脸图像样本库中的多张戴眼镜的人脸图像输入到所述新的深层神经网络,将与所述戴眼镜的人脸图像对应的不戴眼镜的人脸图像作为所述新的深层神经网络的输出,对所述新的深层神经网络进行微调,得到基于人脸图像的深层神经网络。
[0018] 可选地,建立基于人脸图像的深层神经网络具体包括:
[0019] 建立待训练的深层神经网络,并将待训练的深层神经网络拆分成多个单层神经网络;
[0020] 建立人脸图像样本库,所述人脸图像样本库包括多张不戴眼镜的人脸图像;
[0021] 利用所述人脸图像样本库中的多张不戴眼镜的人脸图像,分别从第一层所述单层神经网络开始,逐层对所述单层神经网络进行训练;其中,将每一层单层神经网络进行训练后的输出作为下一层单层神经网络的输入;
[0022] 将训练后的所述单层神经网络堆叠、并逐层反向重构,形成新的深层神经网络;
[0023] 以所述人脸图像样本库中的每一不戴眼镜的人脸图像为输入和输出,对所述新的深层神经网络进行微调,得到基于人脸图像的深层神经网络。
[0024] 可选地,所述单层神经网络为受限玻尔兹曼机,逐层对所述单层神经网络进行训练具体包括:采用对比散度算法逐层对所述受限玻尔兹曼机进行训练。
[0025] 可选地,所述人脸图像样本库中的所述戴眼镜的人脸图像是根据不戴眼镜的人脸图像采用眼镜自动生成算法生成的。
[0026] 可选地,将所述戴眼镜的人脸图像中所述眼镜框区域的像素值,替换为所述不戴眼镜的人脸图像中所述眼镜框区域的像素值,得到眼镜框去除图像之后,该方法还包括:
[0027] 将所述眼镜框去除图像输入到所述预先建立的基于人脸图像的深层神经网络,输出眼镜框去除修复图像。
[0028] 可选地,根据所述戴眼镜的人脸图像和所述与不戴眼镜的人脸图像,确定眼镜框区域具体包括:
[0029] 计算所述戴眼镜的人脸图像与所述不戴眼镜的人脸图像的差值的绝对值,并采用自适应二值算法得到眼镜模板,所述眼镜模板中像素值为1的区域为所述眼镜框区域,所述眼镜模板中像素值为0的区域为非眼镜框区域。
[0030] 本申请实施例提供了一种基于人脸图像的眼镜框去除装置,包括:
[0031] 深层神经网络模块,用于建立基于人脸图像的深层神经网络;
[0032] 眼镜框去除模块,用于将眼镜框待去除人脸图像输入到所述基于人脸图像的深层神经网络,输出与所述眼镜框待去除人脸图像对应的不戴眼镜的人脸图像;
[0033] 眼镜框定位模块,用于根据所述眼镜框待去除人脸图像和所述不戴眼镜的人脸图像,确定眼镜框区域;
[0034] 眼镜框修复模块,用于将所述眼镜框待去除人脸图像中所述眼镜框区域的像素值,替换为所述不戴眼镜的人脸图像中所述眼镜框区域的像素值,得到眼镜框去除图像。
[0035] 可选地,所述深层神经网络模块具体包括:
[0036] 待训练深层神经网络建立模块,用于建立待训练的深层神经网络,并将待训练的深层神经网络拆分成多个单层神经网络;
[0037] 人脸图像样本库建立模块,用于建立人脸图像样本库,所述人脸图像样本库包括至少一张不戴眼镜的人脸图像、以及根据该不戴眼镜的人脸图像生成的戴不同眼镜的多张戴眼镜人脸图像;
[0038] 训练模块,用于选择所述人脸图像样本库中的多张戴眼镜人脸图像作为所述单层神经网络训练图像,分别利用每一单层网络训练图像从第一层所述单层神经网络开始,逐层对所述单层神经网络进行训练,其中,将每一层单层神经网络进行训练后的输出作为下一层单层神经网络的输入;
[0039] 深层神经网络生成模块,用于将训练后的所述单层神经网络堆叠、并逐层反向重构,形成新的深层神经网络;
[0040] 微调模块,用于分别将人脸图像样本库中的多张戴眼镜的人脸图像输入到所述新的深层神经网络,将与所述戴眼镜的人脸图像对应的不戴眼镜的人脸图像作为所述新的深层神经网络的输出,对所述新的深层神经网络进行微调,得到基于人脸图像的深层神经网络。
[0041] 可选地,所述深层神经网络模块具体包括:
[0042] 待训练深层神经网络建立模块,用于建立待训练的深层神经网络,并将待训练的深层神经网络拆分成多个单层神经网络;
[0043] 人脸图像样本库建立模块,用于建立人脸图像样本库,所述人脸图像样本库包括多张不戴眼镜的人脸图像;
[0044] 训练模块,用于利用所述人脸图像样本库中的多张不戴眼镜的人脸图像,分别从第一层所述单层神经网络开始,逐层对所述单层神经网络进行训练;其中,将每一层单层神经网络进行训练后的输出作为下一层单层神经网络的输入;
[0045] 深层神经网络生成模块,用于将训练后的所述单层神经网络堆叠、并逐层反向重构,形成新的深层神经网络;
[0046] 微调模块,用于以所述人脸图像样本库中的每一不戴眼镜的人脸图像为输入和输出,对所述新的深层神经网络进行微调,得到基于人脸图像的深层神经网络。
[0047] 可选地,所述单层神经网络为受限玻尔兹曼机,所述训练模块逐层对所述单层神经网络进行训练具体包括:采用对比散度算法逐层对所述受限玻尔兹曼机进行训练。
[0048] 可选地,人脸图像样本库建立模块,根据不戴眼镜的人脸图像采用眼镜自动生成算法生成所述戴眼镜的人脸图像。
[0049] 可选地,所述装置还包括图像再修复模块,用于将所述眼镜框去除图像输入到所述预先建立的基于人脸图像的深层神经网络,输出眼镜框去除修复图像。
[0050] 可选地,所述眼镜框定位模块具体用于:计算所述戴眼镜的人脸图像与所述不戴眼镜的人脸图像的差值的绝对值,并采用自适应二值算法得到眼镜模板,所述眼镜模板中像素值为1的区域为所述眼镜框区域,所述眼镜模板中像素值为0的区域为非眼镜框区域。

附图说明

[0051] 图1为本申请实施例提供的一种基于人脸图像的眼镜框去除方法流程图;
[0052] 图2为本申请实施例提供的一种建立基于人脸图像的深层神经网络的流程图;
[0053] 图3为本申请实施例提供的另一种建立基于人脸图像的深层神经网络的流程图;
[0054] 图4为本申请实施例提供的建立戴眼镜图像与不戴眼镜图像之间的映射关系时的逐层训练过程示意图;
[0055] 图5为本申请实施例提供的建立戴眼镜图像与不戴眼镜图像之间的映射关系时的堆叠过程示意图;
[0056] 图6为本申请实施例提供的建立戴眼镜图像与不戴眼镜图像之间的映射关系时的微调过程示意图;
[0057] 图7为本申请实施例提供的一种基于人脸图像的眼镜框去除装置框图。

具体实施方式

[0058] 本申请实施例提供了一种基于人脸图像的眼镜框去除方法及装置,用以避免眼镜框残留的问题,使修复后的图像更加自然。
[0059] 为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0060] 如图1所示,本申请具体实施例提供了一种基于人脸图像的眼镜框去除方法,包括:
[0061] S101、建立基于人脸图像的深层神经网络;
[0062] S102、将所述眼镜框待去除人脸图像输入到所述预先建立的深层神经网络,输出与所述眼镜框待去除人脸图像对应的不戴眼镜的人脸图像;
[0063] S103、根据所述眼镜框待去除人脸图像和所述不戴眼镜的人脸图像,确定眼镜框区域;
[0064] S104、将所述眼镜框待去除人脸图像中所述眼镜框区域的像素值,替换为所述不戴眼镜的人脸图像中所述眼镜框区域的像素值,得到眼镜框去除图像。
[0065] 本申请实施例提供的基于人脸图像的眼镜框去除方法,建立了基于人脸图像的深层神经网络,由于深层神经网络具有更深的网络层数以及较强的非线性,从而利用预先建立的基于人脸图像的深层神经网络对人脸图像中的眼镜框去除,可以避免眼镜框的残留,并且可以使最终得到的眼镜框去除图像更加自然,实现更高质量的眼镜框去除。
[0066] 需要说明的是,本申请具体实施例建立的基于人脸图像深层神经网络虽然能够输出不戴眼镜的人脸图像,但经过该深层神经网络得到的不戴眼镜的人脸图像在非眼镜框区域也会造成较为严重的信息损失,为了使不戴眼镜的人脸图像尽可能的与原图像一致,需要使用经过该深层神经网络后输出的不戴眼镜的人脸图像对原始的戴眼镜的人脸图像进行修复,得到最终的眼镜框去除图像。
[0067] 可选地,如图2所示,步骤S101建立基于人脸图像的深层神经网络具体包括:
[0068] S201、建立待训练的深层神经网络,并将待训练的深层神经网络拆分成多个单层神经网络;
[0069] S202、建立人脸图像样本库,所述人脸图像样本库包括至少一张不戴眼镜的人脸图像、以及根据该不戴眼镜的人脸图像生成的戴不同眼镜的多张戴眼镜人脸图像;
[0070] S203、选择所述人脸图像样本库中的多张戴眼镜人脸图像作为所述单层神经网络训练图像,分别利用每一单层网络训练图像从第一层所述单层神经网络开始,逐层对所述单层神经网络进行训练;
[0071] 其中,将每一层单层神经网络进行训练后的输出作为下一层单层神经网络的输入;
[0072] S204、将训练后的所述单层神经网络堆叠、并逐层反向重构,形成新的深层神经网络;
[0073] S205、分别将人脸图像样本库中的多张戴眼镜的人脸图像输入到所述新的深层神经网络,将与所述戴眼镜的人脸图像对应的不戴眼镜的人脸图像作为所述新的深层神经网络的输出,对所述新的深层神经网络进行微调,得到基于人脸图像的深层神经网络。
[0074] 需要说明的是,上述步骤S201和S202的顺序可交换,如图2所示的建立基于人脸图像的深层神经网络的过程即建立戴眼镜的人脸图像与不戴眼镜的人脸图像的映射关系的过程,与现有技术中的基于重构的眼镜框去除方法相比,基于映射的方法得到的修复图像不易出现眼镜框残留的问题,使修复后的图像更加自然,并且无需采用多次迭代,此外,本申请实施例提供的建立基于人脸图像的深层神经网络为深层非线性模型,与传统的浅层线性模型相比,深层非线性模型能够更好地建立戴眼镜图像与不戴眼镜图像的映射关系,实现更高质量的眼镜框去除。所述下一层单层神经网络是按照第一层单层神经网络至最后一层单层神经网络的顺序的下一层单层神经网络。
[0075] 可选地,步骤S101建立基于人脸图像的深层神经网络也可以采用如图3所示的方法,具体包括:
[0076] S301、建立待训练的深层神经网络,并将待训练的深层神经网络拆分成多个单层神经网络;
[0077] S302、建立人脸图像样本库,所述人脸图像样本库包括多张不戴眼镜的人脸图像;
[0078] S303、利用所述人脸图像样本库中的多张不戴眼镜的人脸图像,分别从第一层所述单层神经网络开始,逐层对所述单层神经网络进行训练;
[0079] 其中,将每一层单层神经网络进行训练后的输出作为下一层单层神经网络的输入;
[0080] S304、将训练后的所述单层神经网络堆叠、并逐层反向重构,形成新的深层神经网络;
[0081] S305、以所述人脸图像样本库中的每一不戴眼镜的人脸图像为输入和输出,对所述新的深层神经网络进行微调,得到基于人脸图像的深层神经网络。
[0082] 需要说明的是,上述步骤S301和S302的顺序可交换;如图3所示的建立基于人脸图像的深层神经网络的过程,即使用大量不戴眼镜的人脸图像训练深层神经网络的参数(或深层人脸特征空间),经过大量不戴眼镜的图像训练、微调的深层人脸特征空间不包含眼镜特征,将戴眼镜的人脸图像输入到采用如图3所示的方法建立的深层神经网络中并重构,就可以得到与输入图像相对应的不戴眼镜的图像。本申请实施例提供的人脸图像眼镜框去除方法,采用如图3所示的流程建立的基于人脸图像的深层神经网络,与单神经网络相比,深层神经网络具有更深的网络层数和更强的非线性,能够更好地对眼镜框区域的图像进行重构,使修复后的图像更加自然,实现更高质量的眼镜框去除。
[0083] 可选地,所述单层神经网络为受限玻尔兹曼机(Restricted Boltzmann Machines,RBM),步骤S203、步骤S303中逐层对所述单层神经网络进行训练具体包括:采用对比散度算法逐层对所述受限玻尔兹曼机进行训练。RBM是一种连接对称、无需反馈的生产式非线性神经网络模型,它由可见层v、隐藏层h以及连接系数θ(w、a、b)组成,现有技术提供了一种基于对比散度(Contrastive Divergence,CD)的RBM快速学习算法,这种算法可以快速地实现网络系数的优化。
[0084] 具体实施时,本申请具体实施例以深层神经网络使用三个单层的RBM为例进行介绍,当然,在实际应用中,深层神经网络还可以使用两个单层的RBM或使用大于三个单层的RBM。以建立戴眼镜的人脸图像和不戴眼镜的人脸图像的映射关系为例进行举例说明,本申请具体实施例首先需要将戴眼镜的人脸图像进行归一化后,具体地,RBM模型要求输入为0到1之间的实数,而图像的像素值为0到255的整数,归一化过程中将图像像素矩阵中的每一个像素值除以255,归一化到0到1之间的实数,然后将像素矩阵扁平化,即按照某一顺序将像素矩阵变成行向量。接着,将归一化后的戴眼镜的人脸图像输入到第一层的RBM中,如图4所示,采用对比散度算法对第一层的RBM进行训练,将第一层RBM的输出Feature1作为第一层RBM网络提取的特征,并将提取的特征Feature1输入到第二层RBM中进一步提取更高层次的特征,依次重复,逐层训练RBM。如图5所示,将训练好的三个RBM网络进行堆叠,逐层提取图像深层特征,并由图像深层特征反向逐层重构出原始图像,从而构成了一个六层的映射模型,该六层的映射模型即为形成的新的深层神经网络。如图6所示,以戴眼镜的人脸图像为输入,以与戴眼镜的人脸图像相对应的不戴眼镜的人脸图像为输出(监督),使用反向传播(Backpropagation,BP)算法进行微调,从而建立戴眼镜的人脸图像与不戴眼镜的人脸图像之间的非线性映射关系。微调时,当网络收敛即可停止,其中,当映射出来的图像与不戴眼镜的人脸图像对应像素之差的欧式距离不再下降即认为网络收敛。图6中w1、w2、w3分为模型RBM1、RBM2、RBM3的系数,w1T、w2T和w3T分别为w1、w2、w3的转置。对网络进行微调会造成w1、w2、w3、w1T、w2T和w3T的改变,δ1、δ2、δ3、δ4、δ5和δ6分别对应系数的改变量。
[0085] 可选地,所述人脸图像样本库中的所述戴眼镜的人脸图像是根据不戴眼镜的人脸图像采用眼镜自动生成算法生成的。眼镜自动生成算法的具体计算过程与现有技术相同,这里不再赘述。
[0086] 可选地,在采用如图3所示的步骤建立基于人脸图像的深层神经网络的情况下,将所述戴眼镜的人脸图像中所述眼镜框区域的像素值,替换为所述不戴眼镜的人脸图像中所述眼镜框区域的像素值,得到眼镜框去除图像之后,该方法还包括:
[0087] 将所述眼镜框去除图像输入到所述预先建立的基于人脸图像的深层神经网络,输出眼镜框去除修复图像。
[0088] 可选地,步骤S103根据所述戴眼镜的人脸图像和所述与不戴眼镜的人脸图像,确定眼镜框区域具体包括:
[0089] 计算所述戴眼镜的人脸图像与所述不戴眼镜的人脸图像的差值的绝对值,并采用自适应二值算法得到眼镜模板,所述眼镜模板中像素值为1的区域为所述眼镜框区域,所述眼镜模板中像素值为0的区域为非眼镜框区域。
[0090] 具体实施时,首先需要对经过新的深层神经网络后输出的不戴眼镜的人脸图像的眼镜框区域进行定位,设图像img1为戴眼镜的人脸图像,img1输入到本申请具体实施例中的新的深层神经网络后得到的不戴眼镜的人脸图像为img2,计算img1与img2的差值的绝对值,即M=abs(img1-img2),并采用自适应二值算法得到眼镜模板M。由于img1与img2的主要差异是眼镜框的有无,因此眼镜模板M为1的区域多为眼镜框区域,为0的区域多为非眼镜框区域。
[0091] 之后,步骤S104将所述眼镜框待去除人脸图像中所述眼镜框区域的像素值,替换为所述不戴眼镜的人脸图像中所述眼镜框区域的像素值,对眼镜框区域进行修复,得到眼镜框去除图像具体包括,当眼镜模板M某一位置的值为1时,使用img2对应位置处的像素值代替img1对应位置处的像素值,即R=M.*img2+(1-M).*img1,其中“.*”代表图像对应点相乘,修复图像R即为最后的输出的不戴眼镜的人脸图像。
[0092] 基于同一发明构思,本申请实施例还提供了一种基于人脸图像的眼镜框去除装置,如图7所示,包括:
[0093] 深层神经网络模块71,用于存储基于人脸图像的深层神经网络;
[0094] 眼镜框去除模块72,用于将眼镜框待去除人脸图像输入到所述基于人脸图像的深层神经网络,输出与所述眼镜框待去除人脸图像对应的不戴眼镜的人脸图像;
[0095] 眼镜框定位模块73,用于根据所述眼镜框待去除人脸图像和所述不戴眼镜的人脸图像,确定眼镜框区域;
[0096] 眼镜框修复模块74,用于将所述眼镜框待去除人脸图像中所述眼镜框区域的像素值,替换为所述不戴眼镜的人脸图像中所述眼镜框区域的像素值,得到眼镜框去除图像。
[0097] 可选地,所述深层神经网络模块具体包括:
[0098] 待训练深层神经网络建立模块,用于建立待训练的深层神经网络,并将待训练的深层神经网络拆分成多个单层神经网络;
[0099] 人脸图像样本库建立模块,用于建立人脸图像样本库,所述人脸图像样本库包括至少一张不戴眼镜的人脸图像、以及根据该不戴眼镜的人脸图像生成的戴不同眼镜的多张戴眼镜人脸图像;
[0100] 训练模块,用于选择所述人脸图像样本库中的多张戴眼镜人脸图像作为所述单层神经网络训练图像,分别利用每一单层网络训练图像从第一层所述单层神经网络开始,逐层对所述单层神经网络进行训练,其中,将每一层单层神经网络的输出作为下一层单层神经网络的输入;
[0101] 深层神经网络生成模块,用于将训练后的所述单层神经网络堆叠、并逐层反向重构,形成新的深层神经网络;
[0102] 微调模块,用于分别将人脸图像样本库中的多张戴眼镜的人脸图像输入到所述新的深层神经网络,将与所述戴眼镜的人脸图像对应的不戴眼镜的人脸图像作为所述新的深层神经网络的输出,对所述新的深层神经网络进行微调,得到基于人脸图像的深层神经网络。
[0103] 可选地,所述深层神经网络模块具体包括:
[0104] 待训练深层神经网络建立模块,用于建立待训练的深层神经网络,并将待训练的深层神经网络拆分成多个单层神经网络;
[0105] 人脸图像样本库建立模块,用于建立人脸图像样本库,所述人脸图像样本库包括多张不戴眼镜的人脸图像;
[0106] 训练模块,用于利用所述人脸图像样本库中的多张不戴眼镜的人脸图像,分别从第一层所述单层神经网络开始,逐层对所述单层神经网络进行训练;
[0107] 深层神经网络生成模块,用于将训练后的所述单层神经网络堆叠、并逐层反向重构,形成新的深层神经网络;
[0108] 微调模块,用于以所述人脸图像样本库中的每一不戴眼镜的人脸图像为输入和输出,对所述新的深层神经网络进行微调,得到基于人脸图像的深层神经网络。
[0109] 可选地,所述单层神经网络为受限玻尔兹曼机,所述训练模块逐层对所述单层神经网络进行训练具体包括:采用对比散度算法逐层对所述受限玻尔兹曼机进行训练。
[0110] 可选地,人脸图像样本库建立模块,根据不戴眼镜的人脸图像采用眼镜自动生成算法生成所述戴眼镜的人脸图像。
[0111] 可选地,所述装置还包括图像再修复模块,用于将所述眼镜框去除图像输入到所述预先建立的基于人脸图像的深层神经网络,输出眼镜框去除修复图像。
[0112] 可选地,所述眼镜框定位模块具体用于:计算所述戴眼镜的人脸图像与所述不戴眼镜的人脸图像的差值的绝对值,并采用自适应二值算法得到眼镜模板,所述眼镜模板中像素值为1的区域为所述眼镜框区域,所述眼镜模板中像素值为0的区域为非眼镜框区域。
[0113] 综上,本申请实施例提供的基于人脸图像的眼镜框去除方法及装置,建立了基于人脸图像的深层神经网络,由于深层神经网络具有更深的网络层数以及较强的非线性,从而利用预先建立的基于人脸图像的深层神经网络对人脸图像中的眼镜框去除,可以避免眼镜框的残留,并且可以使最终得到的眼镜框去除图像更加自然,实现更高质量的眼镜框去除。本申请实施例提供的如图2所示的建立基于人脸图像的深层神经网络的过程即建立戴眼镜的人脸图像与不戴眼镜的人脸图像的映射关系的过程,与现有技术中的基于重构的眼镜框去除方法相比,基于映射的方法得到的修复图像不易出现眼镜框残留的问题,使修复后的图像更加自然,并且无需采用多次迭代,此外,本申请实施例提供的建立基于人脸图像的深层神经网络为深层非线性模型,与传统的浅层线性模型相比,深层非线性模型能够更好地建立戴眼镜图像与不戴眼镜图像的映射关系,实现更高质量的眼镜框去除。本申请实施例提供的如图3所示的建立基于人脸图像的深层神经网络的过程,即使用大量不戴眼镜的人脸图像训练深层神经网络的参数(或深层人脸特征空间),经过大量不戴眼镜的图像训练、微调的深层人脸特征空间不包含眼镜特征,将戴眼镜的人脸图像输入到采用如图3所示的方法建立的深层神经网络中并重构,就可以得到与输入图像相对应的不戴眼镜的图像。本申请实施例提供的人脸图像眼镜框去除方法,采用如图3所示的流程建立的基于人脸图像的深层神经网络,与单神经网络相比,深层神经网络具有更深的网络层数和更强的非线性,能够更好地对眼镜框区域的图像进行重构,使修复后的图像更加自然,实现更高质量的眼镜框去除。
[0114] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。