一种基于可学习形变场的人脸正面化方法与流程

文档序号:12786874阅读:939来源:国知局

本发明涉及一种人脸正面化方法,尤其涉及一种基于可学习形变场的人脸正面化方法。



背景技术:

随着计算机视觉技术的发展,人脸识别在家庭娱乐、安防系统、视频监控等领域得到广泛应用。通用的场景下人脸会呈现不同的姿态:正脸,侧脸。直接用正脸-侧脸对进行识别会增加难度,因为正脸侧脸之间的关系不是线性关系。为了借助更多信息进行识别,一般会采用先将需识别的图像校正到同一个姿态(通常恢复到准正面),再进行识别的方法。

现有主要方法有基于3D模型生成形变场的方法和基于2D图像进行图像回归重构的方法。其中,基于3D模型生成形变场的方法主要根据人脸的3D模型对各个人脸姿态建模,计算出不同姿态图像之间的像素点位移关系,即形变场,再将该形变场作用于2D的图像,得到正面化的人脸图像。基于2D图像进行图像回归重构的方法则是直接将2D的正面人脸图像作为目标进行优化,得到重构出的正面化图像;

基于3D形变场的方法,虽然保留了更多原图像的信息,但是恢复不出被遮挡部分的像素值,虽然可以用加权平均脸进行填补,但还原效果不够好也不够平滑;基于2D图像进行图像回归重构的方法,虽然能够恢复整张图像也会较为平滑,但是会丢掉更多原图像的细节。



技术实现要素:

为了解决上述问题中的不足之处,本发明提供了一种基于可学习形变场的人脸正面化方法。

为了解决以上技术问题,本发明采用的技术方案是:一种基于可学习形变场的人脸正面化方法,包括以下步骤:

步骤1,获取一批带有姿态标注的图片数据集作为训练/测试集,每个人的图像都包含有各个姿态;

步骤2,由三维人脸模型大致计算出各个姿态之间图片像素点的位置对应关系,根据三维模型在二维平面上的投影图像以及计算像素点的对应位移,得到每两个角度图像之间的大致形变场,由于侧面角度的图像不可避免的会有遮挡部分,可以用侧面图像上的已知的部分进行填补;

步骤3,将在步骤2中得到的形变场作为步骤3的训练目标,由于训练输入图像的姿态和目标图像的姿态都是已知的,就可以将两个姿态之间的形变场作为目标对模型进行预训练,得到模型参数W’;

步骤4,将W’作为步骤4的模型参数的初始化值,将目标图像的形变场作为训练目标,该步骤将A输出出来的形变场作用在输入图像上,从而得到一张特定姿态的图像,通过使作用后的图像和目标图像尽量相像继续优化模型的参数,以此将步骤3得到的模型参数W’进一步优化。

在步骤1中,将MultiPIE数据集作为训练/测试集。

在步骤2中,将人脸姿态角度分为-90度到90度之间的每15度,然后根据三维模型在二维平面上的投影图像以及计算像素点的对应位移,得到每两个角度图像之间的大致形变场。

本发明不仅能得到既平滑又恢复出更多细节的重构正面图像,且训练比基于3D模型生成形变场的方法简单,耗时更少,能够恢复出保留更多个人特征的图像,对于识别更有帮助,特别是在大姿态角度的人脸上,识别率得到显著提升。

附图说明

下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1是本发明实施流程图。

具体实施方式

如图1所示,本发明具体包括以下步骤:

步骤1,获取一批带有姿态标注的图片数据集作为训练/测试集,每个人的图像都包含有各个姿态,这样在通过训练正面化网络的时候就可以有对应姿态的图像作为目标进行训练;

步骤2,由三维人脸模型大致计算出各个姿态之间图片像素点的位置对应关系(形变场),根据三维模型在二维平面上的投影图像以及计算像素点的对应位移,得到每两个角度图像之间的大致形变场;由于侧面角度的图像不可避免的会有遮挡部分,可以用侧面图像上的已知的部分进行填补;例如:以恢复到0度为例,0度图像上不能从侧面图像上得到的像素点,就用在0度图像上的对称点(已经由侧面图像像素点移动得到)进行填补,对应的位移场也由此算得;

步骤3,将在步骤2中得到的形变场作为步骤3的训练目标,由于我们选择的训练输入图像的姿态和目标图像的姿态都是已知的,就可以将两个姿态之间的形变场作为目标对模型进行预训练,得到模型参数W’;

步骤4,将W’作为步骤4的模型参数的初始化值,将目标图像而非上个关键点提到的形变场作为训练目标,该步骤将A输出出来的形变场作用在输入图像上,从而得到一张特定姿态的图像,通过使作用后的图像和目标图像尽量相像继续优化模型参数W’。

本发明以MultiPIE为例,(1)将MultiPIE数据集作为训练/测试集。

MultiPIE数据集包含光照,姿态,表情的变化。我们的实验选择平和表情和正面光照加上姿态变化的图片,选择一部分人的图片用来训练得到形变场的网络参数,剩下的人作为测试集,用来测试生成形变场的模型。

(2)通过一个深度网络结构得到一个输入图像的形变场,将该形变场作用于输入图像得到生成图像,通过最小化生成图像与真实图像的差距,指导深度网络调整参数,学习到更好的形变场。

上述步骤是用三维模型计算每两个角度之间的形变场。我们的实验将人脸姿态角度分为-90度到90度之间的每15度。根据三维模型在二维平面上的投影图像以及计算像素点的对应位移,可以得到每两个角度图像之间的大致形变场。而侧面角度的图像不可避免的会有遮挡部分,可以用侧面图像上的已知的部分进行填补,以恢复到0度为例,0度图像上不能从侧面图像上得到的像素点,就用在0度图像上的对称点(已经由侧面图像像素点移动得到)进行填补,对应的位移长度也由此算得。

(3)以形变场作为目标优化网络参数W’,由于输入图像的角度为已知,我们希望得到能让正面化效果更好的模型参数W’,可以从三维模型计算得到各个角度之间变化的形变场,然后根据输入图像的已知角度,把该角度到目标角度(一个模型只能有一种目标角度)的形变场作为目标进行优化,在不断训练优化过程中,训练出能让模型输出更接近实际形变场的参数W’。

(4)为用第二个步骤中的W’继续训练,而此时的目标变为输入图像对应的指定角度图像(本文示例为0度图像)。进一步调整第二个步骤的参数W’,使它能够得到更加精确的形变场来生成质量较高的目标图像。

本发明各个步骤都属于端到端训练(整个过程一气呵成,不用拼接几个部分,直接能由一个模型完成输入到输出的变化)的一部分,网络结构包括但不限于MLP(例如多层感知机),训练方法包括但不限于神经网络的一般优化方法(例如梯度下降),网络作用包括但不限于只由侧面姿态变化到正面姿态。

上述实施方式并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的技术方案范围内所做出的变化、改型、添加或替换,也均属于本发明的保护范围。

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