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.可选的,所述根据所述三维控制点和所述基础人脸模型的纹理图像,生成所述初始人脸图像对应的目标纹理图像,包括:
28.根据所述三维控制点和所述基础人脸模型的纹理图像中的纹理坐标,将所述初始人脸图像展开为所述目标纹理图像。
29.第二方面,本技术实施例还提供了一种人脸图像处理装置,包括:建模模块、调整模块、处理模块;
30.所述建模模块,用于对初始人脸图像进行三维建模,得到人脸三维模型;
31.所述调整模块,用于根据预设部位对应的调整系数,对所述人脸三维模型中所述预设部位对应的三维控制点进行位置变换,得到目标人脸三维模型;
32.所述处理模块,用于根据所述三维控制点和所述目标人脸三维模型,对所述初始人脸图像进行处理,得到目标人脸图像。
33.第三方面,本技术实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如第一方面任一所述的人脸图像处理方法的步骤。
34.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一所述的人脸图像处理方法的步骤。
35.本技术的有益效果是:本技术实施例提供一种人脸图像处理方法,对初始人脸图
像进行三维建模,得到人脸三维模型后,根据预设部位对应的调整系数,对人脸三维模型中预设部位对应的三维控制点进行位置变换,从而得到目标人脸三维模型,再根据三维控制点和目标人脸三维模型,对初始人脸图像进行处理,得到目标人脸图像。也就是说,本技术的人脸图像处理方法基于人脸三维模型实现,在人脸各控制点位置信息上更加准确,此外,相较于传统的美型方案需要开发人员参与效果网格的设计,反复调整网格去适配人脸各种方向而言,本技术对初始人脸图像的三维建模能够得到各种角度的人脸三维模型,再基于人脸三维模型进行处理体现了各种角度的效果,使得人脸图像处理后得到的目标人脸图像的效果在人脸各种角度下更加可控,效果更加真实,有层次感,且整个方法可以直接通过建模软件产出效果,大大加快效果的产出速度。
附图说明
36.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
37.图1为本技术一实施例提供的一种人脸图像处理方法的流程图;
38.图2为本技术一实施例提供的一种人脸三维模型示意图;
39.图3为本技术一实施例提供的一种目标人脸三维模型示意图;
40.图4为本技术又一实施例提供的一种人脸图像处理方法的流程图;
41.图5为本技术另一实施例提供的一种人脸图像处理方法的流程图;
42.图6为本技术再一实施例提供的一种人脸图像处理方法的流程图;
43.图7为本技术再二实施例提供的一种人脸图像处理方法的流程图;
44.图8为本技术再三实施例提供的一种人脸图像处理方法的流程图;
45.图9为本技术一实施例提供的一种人脸图像处理装置的示意图;
46.图10为本技术实施例提供的一种电子设备的示意图。
具体实施方式
47.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
48.在本技术中,除非另有明确的规定和限定,在本发明中的描述中,“多个”的含义是至少两个,例如两个、三个,除非另有明确具体的限定。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
49.随着科技的快速发展,特别是图片处理软件的发展,人们可以在电脑、智能终端等电子设备上使用各种图片处理软件。例如,可以在智能终端的短视频软件或者直播软件中,使用的图像处理软件的功能(例如美颜功能、人脸整型功能等)。再例如,可以在电脑上使用
图片处理软件,实现预期的图片效果。就其应用场景而言,本技术的人脸图像处理方法可以嵌套与各种图像处理软件中,完成相应的功能。
50.就其使用环境而言,本技术的人脸图像处理方法可以应用于电子设备,该电子设备例如可以是车载电脑、台式电脑、笔记本电脑、智能电视、智能手机、服务器等能够运行本技术程序的计算机设备。
51.需要说明的是,本技术提供的人脸图像处理方法的实施例,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,本技术对此不做限定。
52.针对目前人脸图像处理中存在的问题,本技术实施例提供了多种可能的实现方式,以实现对基于三维的人脸图像处理。如下结合附图通过多个示例进行解释说明。图1为本技术一实施例提供的一种人脸图像处理方法的流程图。如图1所示,该方法包括:
53.步骤101:对初始人脸图像进行三维建模,得到人脸三维模型;
54.需要说明的是,本技术中,初始人脸图像可以是利用摄像机、智能终端、电脑等能够采集到初始人脸图像的设备进行实时采集得到的,例如使用智能终端设备在短视频或者直播中实时采集的初始人脸图像;采集到的初始人脸图像也可以是通过计算机设备获取的非实时的图像,例如使用计算机设备下载的初始人脸图像。本技术对该初始人脸图像的具体采集形式不做限定,能够实现本技术的人脸图像处理方法即可。此外,本技术的初始人脸图像,例如可以是图片、动态图片、短视频、视频等形式,本技术对初始人脸图像的具体类型不做限定。
55.通过对初始人脸图像进行三维建模,得到人脸三维模型,图2为本技术一实施例提供的一种人脸三维模型示意图,如图2所示,在人脸三维图像中包括多个三维控制点(即图2中的交点),在后续步骤中,对人脸图像的处理主要基于控制点实现的。在本技术中,通过初始人脸图像得到人脸三维模型可以使用立体匹配,运动结构恢复(structure from mot i on,sfm),阴影恢复(shape from shad i ng,sfs),三维可变形人脸模型(3dmm)等方式实现,本技术对此不做限定,只要能够实现基于初始人脸图像的三维建模即可。
56.步骤102:根据预设部位对应的调整系数,对人脸三维模型中预设部位对应的三维控制点进行位置变换,得到目标人脸三维模型。
57.需要说明的是,预设部位可以是面部轮廓、五官等,通过对人脸三维模型中预设部位对应的三维控制点进行位置变换,可以实现对人脸三维模型中五官位置调整、五官大小调整、人脸轮廓调整等(调整人脸图像中五官位置,例如可以为调整两眼之间的距离,调整嘴唇的形状、调整眉毛的形状等;调整人脸图像中五官大小,例如可以为调整眼睛的大小,调整鼻子的大小等;调整人脸图像的人脸轮廓,例如可以为瘦脸等)。还需要说明的是,根据用户的实际处理需要,预设部位可以是一个或多个,本技术对此不做限定。在此基础上,预设部位对应的调整系数限定了对预设部位的调节程度,调整系数可以由开发人员设定默认值,在使用中,也可以由用户通过人机交互输入的方式进行设定,本技术对调整系数的具体设定方式不做限定。在一种可能的实现方式中,也已将预设部位对应调整系数进行归一化或者百分化处理,以进一步方便用户的使用。
58.还需要说明的是,预设部位可以由用户进行设定或者由开发人员设定默认预设部
位,确定预设部位之后,即明确了对预设部位的调整方向,再根据预设部位对应的调整系数,对所述人脸三维模型中预设部位对应的三维控制点进行位置变换,从而得到目标人脸三维模型,实现对人脸三维模型的预设部位调整。在一种可能的实现方式中,人脸三维模型中的三维控制点坐标为pr,目标人脸三维模型中三维控制点坐标为pd,选定的预设部位对应的控制点位置变化量为p
x
,预设部位对应的调整系数为fi,则:
59.pd=pr+p
x
*fi;
60.需要说明的是,公式当中pd、p
x
、pr可以表示人脸三维模型中所有控制点坐标,或者所有控制点坐标的变化量,而非表示单一坐标或者变化量数值。
61.上述仅为示例说明,在实际实现中还可以有其他的实现形式,本技术对此不做限定。
62.在一种具体的实现方式中,图3为本技术一实施例提供的一种目标人脸三维模型示意图,如图3所示,相较于图2的人脸三维模型,图3的目标人脸三维模型进行了鼻子大小的调整,也就是说,预设部位为鼻子,通过对鼻子对应的三维控制点进行位置变换调整,得到了图3中的目标人脸三维模型。
63.步骤103:根据三维控制点和目标人脸三维模型,对初始人脸图像进行处理,得到目标人脸图像。
64.需要说明的是,通过图2、图3的示例可知,人脸三维模型、目标人脸三维模型中体现的是三维控制点的相关信息,而不包括初始人脸图像的色彩、纹理等像素信息,因此,在得到目标人脸三维模型后,需要对此进行处理,得到目标人脸图像。
65.在本技术中,对通过三维控制点和所述目标人脸三维模型进行初始人脸图像处理的方法不做限定,例如可以根据目标人脸三维模型中三维控制点与人脸三维模型中三维控制点的位置变化信息,以及人脸三维模型中各三维控制点对应的像素信息,通过对像素信息进行位移实现处理,得到目标人脸图像;再例如,可以通过对目标人脸三维模型中三维控制点以及人脸三维模型中各三维控制点对应的纹理信息进行渲染后,得到目标人脸图像。上述仅为示例说明,在实际实现中,通过三维模型得到目标人脸图像还可以有其他方式,本技术对此不做限定。
66.综上所述,本技术实施例提供一种人脸图像处理方法,对初始人脸图像进行三维建模,得到人脸三维模型后,根据预设部位对应的调整系数,对人脸三维模型中预设部位对应的三维控制点进行位置变换,从而得到目标人脸三维模型,再根据三维控制点和目标人脸三维模型,对初始人脸图像进行处理,得到目标人脸图像。也就是说,本技术的人脸图像处理方法基于人脸三维模型实现,在人脸各控制点位置信息上更加准确,此外,相较于传统的美型方案需要开发人员参与效果网格的设计,反复调整网格去适配人脸各种方向而言,本技术对初始人脸图像的三维建模能够得到各种角度的人脸三维模型,再基于人脸三维模型进行处理体现了各种角度的效果,使得人脸图像处理后得到的目标人脸图像的效果在人脸各种角度下更加可控,效果更加真实,有层次感,且整个方法可以直接通过建模软件产出效果,大大加快效果的产出速度。
67.可选的,在上述图1的基础上,本技术还提供一种人脸图像处理方法的可能实现方式,图4为本技术又一实施例提供的一种人脸图像处理方法的流程图;如图4所示,根据预设部位对应的调整系数,对所述人脸三维模型中所述预设部位对应的三维控制点进行位置变
换,得到目标人脸三维模型,包括:
68.步骤401:根据预设部位对应的调整系数和预设部位对应的三维控制点的预设偏移量,得到三维控制点的目标偏移量。
69.步骤402:根据目标偏移量,对人脸三维模型中三维控制点进行位置变换,得到目标人脸三维模型。
70.在一种可能的实现方式中,为了进一步加快算法的速度,可以预先存储预设部位对应的三维控制点的预设偏移量,从而在后续的使用中,可以直接对预设偏移量进行调用。确定预设部位之后,根据预设部位对应的三维控制点的预设偏移量,以及对应的调整系数,即可得到三维控制点的目标偏移量,再根据目标偏移量实现对人脸三维模型中三维控制点进行位置变换,得到目标人脸模型。在这种情况下,针对每个预设部位而言,不需要存储整个三维模型的相关信息,减少了三维模型存储带来的多余的内存占用,加快算法的速度。
71.在另一种可能的实现方式中,为了进一步减少内存占用,在存储预设部位对应的三维控制点的预设偏移量时,可以仅存储发生了位置变化的三维控制点的预设偏移量。由此,不仅由于未存储整个模型中大量未使用三维控制点的预设偏移量信息,减少内存占用,同时也省去了后续处理过程中对无关三维控制点的多余计算,加快了算法的速度。上述仅为示例说明,在实际实现中,还可以有其他的预设偏移量存储方式,本技术对此不做限定。
72.可选的,在上述图4的基础上,本技术还提供一种人脸图像处理方法的可能实现方式,图5为本技术另一实施例提供的一种人脸图像处理方法的流程图;如图5所示,根据所述预设部位对应的调整系数和所述预设部位对应的三维控制点的预设偏移量,得到所述三维控制点的目标偏移量,包括:
73.步骤501:根据多个预设部位对应的调整系数,以及多个预设部位对应的三维控制点的预设偏移量,分别计算多个三维控制点的目标偏移量。
74.在对人脸图像进行调整时,由于不同人脸图像的人脸结构差异、预期差异等,使用相同的调整幅度往往无法满足用户的使用需求,因此需要在图像处理方向确定的基础上根据调整系数进行调整幅度的限定。此外,在使用中,可能存在多个预设部位,每个预设部位都可以设置对应的调整参数,从而实现对每个预设部位的差异化调整。需要说明的是,多个预设部位对应的调整系数可以是同一值,也可以不同,用户可以根据实际需要进行设定,同时,开发人员还可以设定默认值,以提醒用户可调整的幅度等。上述仅为示例说明,在实际实现中,多个调整参数还可以有其他的设定方式,本技术对此不做限定。
75.设第i个预设部位的预设偏移量信息为(由于预设部位可能有多个,因而可能存在多个目标人脸三维模型,用i表示目标使用的目标人脸三维模型为第i个目标人脸三维模型),第i个预设部位的调整系数为fi,则多个三维控制点的目标偏移量ps:
[0076][0077]
根据目标偏移量,对人脸三维模型中三维控制点进行位置变换,得到目标人脸三维模型,包括:
[0078]
步骤502:根据多个三维控制点的目标偏移量,分别对人脸三维模型中多个三维控制点进行位置变换,得到目标人脸三维模型。
[0079]
得到多个三维控制点的目标偏移量后,根据偏移量对人脸三维模型中多个三维控
制点进行位置变换,得到目标人脸三维模型。
[0080]
在一种可能的实现方式中,可以通过以下方式计算得到目标人脸三维模型,设目标人脸三维模型中三维控制点坐标为pd,人脸三维模型中的三维控制点坐标为pr,第i个预设部位的预设偏移量信息为(由于预设部位可能有多个,因而可能存在多个目标人脸三维模型,用i表示目标使用的目标人脸三维模型为第i个目标人脸三维模型),第i个预设部位的调整系数为fi,则:
[0081][0082]
通过上述方法,实现了对存在多个预设部位时目标人脸三维模型的获取,进一步提高了本技术人脸图像处理方法的适用性。
[0083]
可选的,在上述图4的基础上,本技术还提供一种人脸图像处理方法的可能实现方式,图6为本技术再一实施例提供的一种人脸图像处理方法的流程图;如图6所示,根据所述预设部位对应的调整系数和所述预设部位对应的三维控制点的预设偏移量,得到所述三维控制点的目标偏移量之前,该方法还包括:
[0084]
步骤601:读取预设部位的效果文件;效果文件为基于预设部位的目标效果模型进行处理得到的效果文件,目标效果模型为对基础人脸模型中预设部位进行调整后生成的效果模型。
[0085]
需要说明的是,本技术对于预设部位预先设置了效果文件,具体效果文件的生成方法在下述实施例步骤701-步骤703中进行说明,每个预设部位的效果文件都是根据该预设部位的目标效果模型处理得到的,效果文件可以以三维模型图的形式进行存储,也可以以目标偏移量的形式进行存储,本技术对效果文件的具体形式不做限定,只要能够满足本技术的人脸图像处理需要即可。还需要说明的是,目标效果模型是在基础人脸模型上对预设部位进行调整后得到的效果模型,其中,基础人脸模型是目标效果模型建立的基础模型,其可以是通过建模软件生成的人脸模型,也可以是基于人脸图像建立的人脸模型,本技术对基础人脸模型的具体获取方式不做限定,只要其能够实现目标效果模型的创建即可。
[0086]
步骤602:解析预设部位的效果文件,得到预设部位对应的三维控制点,以及三维控制点的预设偏移量。
[0087]
选定预设部位后,通过解析预设部位对应的效果文件,即可得到预设部位对应的三维控制点以及三维控制点的预设偏移量。
[0088]
可选的,在上述图6的基础上,本技术还提供一种人脸图像处理方法的可能实现方式,图7为本技术再二实施例提供的一种人脸图像处理方法的流程图;如图7所示,读取所述预设部位的效果文件之前,该方法还包括:
[0089]
步骤701:根据针对多个部位的调整操作,对基础人脸模型中的多个部位进行调整,生成多个目标效果模型。
[0090]
需要说明的是,基础人脸模型是基于预设标准人脸创建的标准模型,根据使用的需求以及对运算速度、内存占用量、计算量等方面的考虑,上述基础人脸模型可以只有一套,也可以有多套。即在一种可能的实现方式中,创建一套基础人脸模型,以实现更小的内存占用量以及更快的计算速度;在另一种可能的实现方式中,可以创建多套基础人脸模型,例如根据不同人的骨骼大小、骨骼形状各不相同,导致不同人脸的人脸长度、宽度各不相
同,产生不同的脸型如:圆脸、长方形脸、正方形脸、三角形脸和瓜子脸等。针对不同脸型创建不同的基础人脸模型,从而使得本技术的对人脸图像的处理更真实生动。在基础人脸模型的基础上针对多个部位进行调整操作,即可得到与多个部位分别对应的目标效果模型。
[0091]
还需要说明的是,在对初始人脸图像进行三维建模,得到人脸三维模型时,人脸三维模型的每个三维控制点的创建顺序/保存顺序应当与基础人脸模型的三维控制点的创建顺序/保存顺序相同,且一一对应。
[0092]
在一种具体的实现方式中,可以通过3d建模软件,例如:c4d、3dsmax,maya,b l ender等。在基础人脸模型的基础上修改三维控制点,得到想要实现的效果,修改后的模型即为目标效果模型,若实现多个效果则需要多个目标模型。
[0093]
步骤702:根据多个目标效果模型和基础人脸模型,得到多个部位对应的三维控制点以及对应的预设偏移量。
[0094]
将每个目标效果模型与基础人脸模型进行比对,即可得到该部位对应的三维控制点以及其对应的预设偏移量,其中,该部位对应的三维控制点体现了实现该目标效果模型所体现效果需要调整的三维控制点,该部位对应的预设偏移量体现了每个需要调整的三维控制点的调整偏移量。以此类推,根据多个目标效果模型和基础人脸模型,可以得到多个部位对应的三维控制点以及对应的预设偏移量。
[0095]
步骤703:将每个部位对应的三维控制点以及对应的预设偏移量,存储为每个部位的效果文件。
[0096]
将每个部位对应的三维控制点以及对应的预设偏移量存放到自定义的文件格式中,即为每个部位的效果文件,本技术对效果文件的具体格式不做限定。在后续运行中,根据用户需要的调整系数获取对应的效果文件,对人脸三维模型的三维控制点进行处理,达到期望的人脸图像处理效果。
[0097]
可选的,在上述图6基础上,本技术还提供一种人脸图像处理方法的可能实现方式,图8为本技术再三实施例提供的一种人脸图像处理方法的流程图;如图8所示,根据所述三维控制点和所述目标人脸三维模型,对所述初始人脸图像进行处理,得到目标人脸图像,包括:
[0098]
步骤801:根据三维控制点和基础人脸模型的纹理图像,生成初始人脸图像对应的目标纹理图像。
[0099]
在一种可能的实现方式中,使用三维控制点和基础人脸模型的纹理图像(该纹理图像例如可以为纹理坐标,即在基础人脸模型中包含了纹理坐标),生成初始人脸图像对应的目标纹理图像。也就是说,目标纹理图像包括基础人脸模型中每个纹理坐标对应的初始人脸图像中的纹理图像(或者基础人脸模型中每个纹理坐标对应的初始人脸图像中的像素)。
[0100]
步骤802:根据目标纹理图像和目标人脸三维模型,对初始人脸图像进行处理,得到目标人脸图像。
[0101]
目标纹理图像体现了初始人脸图像中像素(或者纹理图像)与基础人脸三维模型控制点的关系,目标人脸三维模型也是基于基础人脸三维模型控制点实现的,在此基础上,以基础人脸三维模型控制点为中间条件,即可实现目标纹理图像中每个像素(或者纹理图像)与目标人脸三维模型的控制点对应,进而通过对像素(或者纹理图像)的位移,得到目标
人脸图像。
[0102]
基于上述方法,只需要调整基础人脸模型,得到目标效果模型,即可快速将调整的效果应用到人脸上。
[0103]
可选的,在上述图8基础上,本技术还提供一种人脸图像处理方法的可能实现方式,根据所述三维控制点和所述基础人脸模型的纹理图像,生成所述初始人脸图像对应的目标纹理图像,包括:
[0104]
根据所述三维控制点和所述基础人脸模型的纹理图像中的纹理坐标,将所述初始人脸图像展开为所述目标纹理图像。
[0105]
在一种可能的实现方式中,使用人脸三维模型的三维控制点和基础人脸模型的纹理坐标(即uv坐标),可以将初始人脸图像展开成uv图(即目标纹理图像)。通过驱动预设部位对应的调整参数及效果文件,即可得到调整后的目标人脸三维模型的三维控制点位置变化。例如可以使用opengl作为算法的实现工具,调用opengl,将调整参数、人脸三维模型的三维控制点坐标,基础人脸模型的uv坐标,uv图传入脚本,即可得到目标人脸图像。
[0106]
下述对用以执行本技术所提供的人脸图像处理装置、电子设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
[0107]
本技术实施例提供一种人脸图像处理装置的可能实现示例,能够执行上述实施例提供的人脸图像处理方法。图9为本技术一实施例提供的一种人脸图像处理装置的示意图。如图9所示,上述人脸图像处理装置100,包括:建模模块91、调整模块93、处理模块95;
[0108]
所述建模模块91,用于对初始人脸图像进行三维建模,得到人脸三维模型;
[0109]
所述调整模块93,用于根据预设部位对应的调整系数,对所述人脸三维模型中所述预设部位对应的三维控制点进行位置变换,得到目标人脸三维模型;
[0110]
所述处理模块95,用于根据所述三维控制点和所述目标人脸三维模型,对所述初始人脸图像进行处理,得到目标人脸图像。
[0111]
可选的,所述调整模块93,用于根据所述预设部位对应的调整系数和所述预设部位对应的三维控制点的预设偏移量,得到所述三维控制点的目标偏移量;根据所述目标偏移量,对所述人脸三维模型中所述三维控制点进行位置变换,得到所述目标人脸三维模型。
[0112]
可选的,所述调整模块93,用于根据多个预设部位对应的调整系数,以及所述多个预设部位对应的三维控制点的预设偏移量,分别计算多个三维控制点的目标偏移量;还用于:根据所述多个三维控制点的目标偏移量,分别对所述人脸三维模型中所述多个三维控制点进行位置变换,得到所述目标人脸三维模型。
[0113]
可选的,人脸图像处理装置100,包括:读取解析模块;
[0114]
读取解析模块,用于读取所述预设部位的效果文件;所述效果文件为基于所述预设部位的目标效果模型进行处理得到的效果文件,所述目标效果模型为对所述基础人脸模型中所述预设部位进行调整后生成的效果模型;解析预设部位的效果文件,得到所述预设部位对应的三维控制点,以及所述三维控制点的预设偏移量。
[0115]
可选的,人脸图像处理装置100,包括:效果文件创建模块;
[0116]
效果文件创建模块,用于根据针对所述多个部位的调整操作,对基础人脸模型中的多个部位进行调整,生成多个目标效果模型;根据所述多个目标效果模型和所述基础人脸模型,得到所述多个部位对应的三维控制点以及对应的预设偏移量;将每个部位对应的
三维控制点以及对应的预设偏移量,存储为所述每个部位的效果文件。
[0117]
可选的,处理模块95,用于根据所述三维控制点和所述基础人脸模型的纹理图像,生成所述初始人脸图像对应的目标纹理图像;根据所述目标纹理图像和所述目标人脸三维模型,对所述初始人脸图像进行处理,得到所述目标人脸图像。
[0118]
可选的,处理模块95,用于根据所述三维控制点和所述基础人脸模型的纹理图像中的纹理坐标,将所述初始人脸图像展开为所述目标纹理图像。
[0119]
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
[0120]
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(app l i cat i on spec i f i c i ntegrated ci rcu it,简称as i c),或,一个或多个微处理器(d i gita l s i ngna l processor,简称dsp),或,一个或者多个现场可编程门阵列(fi e l d programmab l e gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centra lprocess i ng un it,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-ch i p,简称soc)的形式实现。
[0121]
本技术实施例提供一种电子设备的可能实现示例,能够执行上述实施例提供的人脸图像处理方法。图10为本技术实施例提供的一种电子设备的示意图,该设备可以集成于终端设备或者终端设备的芯片,该终端可以是具备数据处理功能的计算设备。
[0122]
该电子设备包括:处理器1001、存储介质1002和总线,存储介质存储有处理器可执行的程序指令,当控制设备运行时,处理器与存储介质之间通过总线通信,处理器执行程序指令,以执行时执行上述人脸图像处理方法的步骤。具体实现方式和技术效果类似,这里不再赘述。
[0123]
本技术实施例提供一种计算机可读存储介质的可能实现示例,能够执行上述实施例提供的人脸图像处理方法,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述人脸图像处理方法的步骤。
[0124]
存储在一个存储介质中的计算机程序,可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-on l y memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0125]
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0126]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0127]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0128]
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-on l y memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0129]
以上仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。