一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种捏脸处理方法与流程

2022-05-21 03:31:05 来源:中国专利 TAG:


1.本发明涉及游戏角色生成领域,具体涉及一种捏脸处理方法。


背景技术:

2.在传统游戏角色生成领域,通常需要大量数据构建人脸的先验模型,以防止出现畸形人脸。但是,目前对于训练模型所需要的人脸图像集大部分为欧美人脸,得到的先验模型并不适用于亚洲人脸。
3.在进行捏脸处理时,一般要先将真实人脸转换为风格人脸,然后确定捏脸参数,相比于真实人脸直接确定捏脸参数这种方法多了一次转换,增加了系统误差。对于利用骨骼参数直接生成虚拟角色这种方法,通常需要利用骨骼点生成网络提取人脸骨骼参数,但是训练骨骼点生成网络需要大量数据,对训练数据相关性很大,对于训练数据以外的其他数据效果不好。


技术实现要素:

4.以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
5.本发明的目的在于解决上述问题,提供了一种捏脸处理方法,利用真实人脸特征和真实人脸关键点迭代虚拟人脸骨骼参数,并基于虚拟人脸骨骼参数进行渲染,从而获取与真实人脸相似的虚拟游戏角色。
6.本发明的技术方案为:
7.本发明提供一种捏脸处理方法,包括以下步骤:
8.获取用户的真实人脸图像,并随机初始化一组人脸骨骼参数;
9.根据真实人脸图像提取真实人脸特征和真实人脸关键点;
10.基于真实人脸特征和真实人脸关键点迭代收敛虚拟人脸骨骼参数;
11.渲染完成收敛的虚拟人脸骨骼参数,生成虚拟角色。
12.根据本发明的捏脸处理方法的一实施例,所述捏脸处理方法通过图形用户界面获取用户上传的真实人脸,并对所述真实人脸图像进行质量控制,获取符合规范的真实人脸图像。
13.根据本发明的捏脸处理方法的一实施例,所述捏脸处理方法对符合规范的真实人脸图像进行校正,获取正面的真实人脸图像。
14.根据本发明的捏脸处理方法的一实施例,所述捏脸处理方法使用人脸识别卷积神经网络从真实人脸图像中提取真实人脸特征,并通过真实人脸关键点检测网络从真实人脸图像中提取真实人脸关键点。
15.根据本发明的捏脸处理方法的一实施例,所述真实人脸关键点检测网络基于真实
人脸数据集构建模型,包括以下步骤:
16.采集真实人脸数据集;其中,所述真实人脸数据集包括真实人脸图像以及对应的真实人脸关键点;
17.筛选真实人脸关键点中的五官和面部轮廓关键点;
18.构建卷积神经网络;
19.基于筛选后的真实人脸关键点和真实人脸图像训练卷积神经网络,获取真实人脸关键点检测网络。
20.根据本发明的捏脸处理方法的一实施例,所述迭代收敛虚拟人脸骨骼参数包括以下步骤:
21.基于虚拟人脸骨骼参数,生成虚拟人脸图像;
22.根据虚拟人脸图像,获取虚拟人脸数据;
23.使用人脸识别卷积神经网络和虚拟人脸关键点检测网络,获取虚拟人脸特征和虚拟人脸关键点;
24.基于真实人脸特征和真实人脸关键点收敛虚拟人脸特征和虚拟人脸关键点,迭代虚拟人脸骨骼参数;
25.判断虚拟人脸骨骼参数是否完成收敛;若是,则将完成迭代的虚拟人脸骨骼参数作为捏脸参数;若否,则继续迭代虚拟人脸骨骼参数。
26.根据本发明的捏脸处理方法的一实施例,所述虚拟人脸数据包括虚拟人脸特征和虚拟人脸关键点,通过人脸特征损失函数和人脸关键点损失函数迭代虚拟人脸骨骼参数。
27.根据本发明的捏脸处理方法的一实施例,所述虚拟人脸图像通过人脸识别卷积神经网络提取虚拟人脸特征,利用虚拟人脸特征向量与真实人脸特征向量的特征余弦值构建损失函数,计算公式如下:
[0028][0029]
;其中,feature_real表示真实人脸特征向量,
[0030]
feature_virtual表示虚拟人脸特征向量。
[0031]
根据本发明的捏脸处理方法的一实施例,所述虚拟人脸图像通过虚拟人脸关键点检测网络提取虚拟人脸关键点,并将虚拟人脸关键点与真实人脸关键点根据人脸特征分为多组关键点,利用每组关键点的相对坐标和位移参数构建人脸关键点损失函数,计算公式如下:
[0032][0033]
;其中,landmark_real_groupi表示第i组的真实人脸关键点的相对坐标,
[0034]
landmark_virtual_groupi表示第i组的虚拟人脸关键点的相对坐标,
[0035]
offseti表示第i组的关键点的位移参数,
[0036]
β表示权重。
[0037]
根据本发明的捏脸处理方法的一实施例,利用人脸特征损失函数值和人脸关键点
损失函数值计算综合加权损失函数,通过综合加权损失函数值迭代虚拟人脸骨骼参数,计算公式如下:
[0038]
loss=loss_feature α∑iloss_landmark_groupi
[0039]
;其中,loss_feature表示人脸特征损失函数值,
[0040]
loss_landmark_groupi表示第i组关键点的人脸关键点损失函数值,α表示权重。
[0041]
根据本发明的捏脸处理方法的一实施例,所述虚拟人脸骨骼参数通过虚拟人脸图像生成网络生成虚拟人脸图像,并使用虚拟人脸关键点检测网络提取虚拟人脸关键点;其中,所述虚拟人脸图像生成网络和虚拟人脸关键点检测网络基于虚拟人脸图像和对应的虚拟人脸骨骼参数以及虚拟人脸关键点构建模型,包括以下步骤:
[0042]
采集虚拟人脸骨骼参数;
[0043]
基于虚拟人脸骨骼参数渲染虚拟获取虚拟角色以及对应的虚拟人脸图像;
[0044]
根据虚拟人脸图像检测获取虚拟人脸关键点;
[0045]
构建卷积神经网络;
[0046]
基于虚拟人脸图像和对应的虚拟人脸骨骼参数以及虚拟人脸关键点训练卷积神经网络,获取虚拟人脸图像生成网络和虚拟人脸关键点检测网络。
[0047]
本发明对比现有技术有如下的有益效果:本发明根据用户上传的人脸图像获取对应的真实人脸特征和真实人脸关键点,利用该用户的真实人脸特征和真实人脸关键点对一组随机初始化的虚拟人脸骨骼参数进行迭代优化。与传统的捏脸处理方法不同,本发明在迭代过程中无需大量数据,直接根据用户的真实人脸获取捏脸参数,从而大大减少了数据处理量,加快了角色生成时间。此外,本发明将人脸的关键点按照人脸的五官和轮廓进行分组,利用各组的关键点约束虚拟人脸与真实人脸的五官和轮廓,从而提高了生成的虚拟角色与用户的真实人脸图像的相似度。
附图说明
[0048]
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
[0049]
图1是示出本发明的捏脸处理方法一实施例的流程图。
[0050]
图2是示出本发明的用户上传真实人脸图像处理方法一实施例的流程图。
[0051]
图3是示出本发明的真实人脸关键点检测网络模型构建方法一实施例的流程图。
[0052]
图4是示出本发明的迭代收敛虚拟人脸骨骼参数方法一实施例的流程图
[0053]
图5是示出本发明的虚拟人脸图像生成网络模型和虚拟人脸关键点检测网络模型构建方法一实施例的流程图。
[0054]
图6是示出本发明的人脸关键点匹配方法一实施例的示意图。
具体实施方式
[0055]
以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。
[0056]
在此公开一种捏脸处理方法的一实施例,图1是示出本发明的捏脸处理方法一实
施例的流程图。请参照图1,下面是对捏脸处理方法各步骤的详细说明。
[0057]
s1:获取用户的真实人脸图像,并随机初始化一组虚拟人脸骨骼参数。
[0058]
本实施例中,通过图形用户界面获取用户上传的真实人脸图像,在准备提取真实人脸特征和真实人脸关键点的之前,需要先对获取到的真实人脸图像进行预处理,图2是示出本发明的用户长传真实人脸图像处理方法一实施例的流程图。
[0059]
如图2所示,本实施中,获取到用户上传的真实人脸图像后,首先对真实人脸图像进行质量控制。若该人脸图像不符合规范,例如如面部有遮挡,脸部区域面积过小等,则通过图像用户界面提示用户更换图像,从而获取到符合规范的真实人脸图像。接着,获取到通过质量控制的真实人脸图像后进行人脸校正。具体地,将将两眼连线旋转至水平,再以人脸为中心裁切人脸,得到矫正后的正面的真实人脸图像image_real,然后提取真实人脸特征feature_real和真实人脸关键点landmark_real。
[0060]
此外,本实施例中,获取到用户上传的真实人脸图像时,系统随机初始化一组虚拟人脸骨骼参数,使用提取到的真实人脸特征feature_real和真实人脸关键点landmark_real收敛迭代该组虚拟人脸骨骼参数,获取与用户人脸图像相似的虚拟游戏角色。具体地,为所有虚拟人脸骨骼参数随机选取一个0~1之间的值,作为虚拟人脸骨骼参数的初始值,然后利用从用户上传的真实人脸图像所提取的真实人脸特征和真实人脸关键点对该初始值进行迭代收敛,获取捏脸参数。
[0061]
s2:根据真实人脸图像提取真实人脸特征和真实人脸关键点。
[0062]
本实施例中,获取到正面的真实人脸图像image_real以后,使用开源的人脸识别卷积神经网络retinaface从真实人脸图像image_real提取真实人脸特征feature_real,并通过真实人脸关键点检测网络net_landmark_real从真实人脸图像image_real中检测真实人脸关键点landmark_real。
[0063]
进一步地,本实施例中,用于提取真实人脸关键点的真实人脸关键点检测网络net_landmark_real利用真实人脸数据集构建模型,图3是示出本发明的真实人脸关键点检测网络模型构建方法一实施例的流程图,请参照图3,下面是对真实人脸关键点检测网络模型构建方法各步骤的详细说明。
[0064]
s21:采集真实人脸数据集;其中,所述真实人脸数据集包括真实人脸图像以及对应的真实人脸关键点。
[0065]
具体地,本实施例中采集开源的真实人脸图像以及对应的真实人脸关键点作为用于真实人脸关键点检测网络训练的真实人脸数据集。
[0066]
s22:筛选真实人脸关键点中的五官和面部轮廓关键点。
[0067]
s23:构建卷积神经网络。
[0068]
本实施例中,根据人脸五官和脸部轮廓特征筛选出分布在五官及脸部轮廓边缘的真实人脸关键点,这些关键点可表示五官及脸部轮廓的形状。
[0069]
s24:基于筛选后的真实人脸关键点和真实人脸图像训练卷积神经网络,获取真实人脸关键点检测网络。
[0070]
本实施例中,真实人脸关键点检测模型训练完成后,输入一张正面的真实人脸图像,可输出对应的真实人脸关键点。
[0071]
s3:基于真实人脸特征和真实人脸关键点迭代收敛虚拟人脸骨骼参数。
[0072]
具体地,本实施例中使用真实人脸特征和真实人脸关键点迭代收敛虚拟人脸骨骼参数,从而获取用于生成虚拟角色的捏脸参数。图4是示出本发明的迭代收敛虚拟人脸骨骼参数方法一实施例的流程图,请参照图4,下面是对本发明迭代收敛虚拟人脸骨骼参数方法各步骤的详细说明。
[0073]
s31:随机初始化虚拟人脸骨骼参数。
[0074]
s32:根据虚拟人脸骨骼参数生成虚拟人脸图像。
[0075]
本实施例中,将虚拟人脸骨骼参数parameter_face输入到虚拟人脸图像生成网络net_face中,生成虚拟人脸图像image_virtual。其中,虚拟人脸图像生成网络利用虚拟人脸图像和对应的虚拟人脸关键点构建模型,图5是示出本发明的虚拟人脸图像生成网络模型和虚拟人脸关键点检测网络模型构建方法一实施例的流程图,包括以下步骤:
[0076]
s321:采集虚拟人脸骨骼参数。
[0077]
s322:基于虚拟人脸骨骼参数渲染虚拟获取虚拟角色以及对应的虚拟人脸图像。
[0078]
s323:根据虚拟人脸图像检测获取虚拟人脸关键点。
[0079]
具体地,本实施例随机采集大量虚拟人脸骨骼参数,使用渲染引擎渲染得到对应的虚拟角色并获取其虚拟人脸图像,并使用开源工具dlib从虚拟人脸图像检测虚拟人脸关键点,关键点分布在五官及脸部轮廓边缘,可表示五官及脸部轮廓的形状。
[0080]
s324:构建卷积神经网络。
[0081]
s325:基于虚拟人脸图像和对应的虚拟人脸骨骼参数以及虚拟人脸关键点训练卷积神经网络,获取虚拟人脸图像生成网络和虚拟人脸关键点检测模型。
[0082]
具体地,使用虚拟人脸图像和对应的虚拟人脸骨骼参数训练卷积神经网络net_face。当虚拟人脸图像生成网络net_face完成训练后,输入一组虚拟人脸骨骼参数,即可输出对应的虚拟人脸图像;当虚拟人脸关键点检测网络net_landmark_virtual完成训练后,输入一张虚拟人脸图像,即可输出对应的虚拟人脸关键点,其训练过程与真实人脸关键点检测网络过程一致,不再赘述。
[0083]
s33:根据虚拟人脸图像提取虚拟人脸特征和虚拟人脸关键点。
[0084]
本实施例中,使用开源的人脸识别卷积神经网络retinaface和虚拟人脸关键点检测网络net_landmark_virtual从虚拟人脸图像image_virtual中提取虚拟人脸数据。其中,虚拟人脸数据包括虚拟人脸特征feature_virtual和虚拟人脸关键点landmark_virtual,通过人脸特征损失函数和人脸关键点损失函数迭代虚拟人脸骨骼参数parameter_face。
[0085]
s34:计算人脸特征损失函数值。
[0086]
具体地,使用人脸特征损失函数计算人脸特征损失函数值时,利用虚拟人脸特征向量与真实人脸特征向量的特征余弦值构建损失函数,计算公式如下:
[0087][0088]
其中,feature_real表示真实人脸特征向量,feature_virtual表示虚拟人脸特征向量。
[0089]
s35:计算人脸关键点损失函数值。
[0090]
本实施例中,使用人脸关键点损失函数计算人脸关键点损失函数时,将虚拟人脸关键点与真实人脸关键点根据人脸特征分为多组关键点,利用每组关键点的相对坐标和位
移参数构建人脸关键点损失函数,计算公式如下:
[0091][0092]
;其中,landmark_real_groupi表示第i组的真实人脸关键点的相对坐标,landmark_virtual_groupi表示第i组的虚拟人脸关键点的相对坐标,offseti表示第i组的关键点的位移参数,β表示权重。
[0093]
具体地,||offseti||1为正则项,在loss加入一项||offseti||1以达到对offset大小的约束,从而避免了为了使loss
landmark
降低,使得offset可能会变得很大,最终导致两组关键点可能还相去甚远。β为正则项的系数,用于调整loss
landmark
中的两个部分。在训练过程中,通常根据训练的情况和效果对β进行调整,例如β=0.1。因此,加了正则项后的loss
landmark
,在offset尽可能小的情况下可以使得两组关键点形状尽可能接近。
[0094]
本发明创新性地引入五官及脸部轮廓的形状的相似性,如图6所示,将人脸的关键点按照五官及脸部轮廓进行分组,通过约束它们的真实人脸关键点landmark_real和虚拟人脸关键点landmark_virtual来体现人脸特征。由于游戏中的虚拟人脸会对真实人脸进行一定的艺术加工,因此不要求landmark_real和landmark_virtual中对应关键点坐标绝对一致,而要求五官及脸部轮廓的形状相似,而五官及脸部轮廓之间可以存在一定程度的位移,通过位移参数offset来体现。我们引入可学习参数offset,将关键点按五官和脸部轮廓分组,每组关键点使用不同offset,以表示该组关键点在图中的位移,第i组的offset用offseti表示,同时offseti应受到约束并赋予权重β,因为offseti通常较小。
[0095]
s36:基于人脸特征函数值和人脸关键点损失函数值计算综合加权损失函数值。
[0096]
s37:判断虚拟人脸骨骼参数是否完成收敛;若是,则再次回到步骤s32。
[0097]
s38:渲染完成收敛的虚拟人脸骨骼参数,获取虚拟角色。
[0098]
本实施例中,利用上述的人脸特征损失函数值和人脸关键点损失函数值计算综合加权损失函数,通过综合加权损失函数值收敛虚拟人脸骨骼参数parameter_face,计算公式如下:
[0099][0100]
其中,loss_feature表示人脸特征损失函数值,loss_landmark_groupi表示第i组关键点的人脸关键点损失函数值,α表示权重,用于调整loss中的两个部分,即人脸特征损失函数值和人脸关键点损失函数值,通常根据训练的情况和效果进行调整对α进行调整。判断loss是否收敛,若是,则loss收敛时的虚拟骨骼参数parameter_face输入渲染引擎,得到与用户上传图像相似的虚拟角色。若否,则重新生成虚拟人脸图像进行收敛迭代,直到获取到与用户图像相似的虚拟角色。
[0101]
s4:渲染完成收敛的虚拟人脸骨骼参数,生成虚拟角色。
[0102]
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限
定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
[0103]
本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
[0104]
结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如dsp与微处理器的组合、多个微处理器、与dsp核心协作的一个或多个微处理器、或任何其他此类配置。
[0105]
结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动盘、cd-rom、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
[0106]
在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、dsl、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(cd)、激光碟、光碟、数字多用碟(dvd)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。
[0107]
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限
定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献