表情迁移方法、装置、设备及介质与流程

文档序号:32160943发布日期:2022-11-12 02:29阅读:51来源:国知局
表情迁移方法、装置、设备及介质与流程

1.本技术涉及图像处理技术领域,特别涉及一种表情迁移方法、装置、设备及介质。


背景技术:

2.个体的面部表情是一种十分微妙的形体语言,对其进行分析,可以洞察其内心世界。在影视、动漫等艺术设计领域,要塑造一个逼真的个体形象,对面部表情刻画十分重要。在计算机技术的快速发展下,已经能够通过采用相应的模型和算法再现面部表情,实现表情迁移。
3.现有技术中,在进行表情迁移时,一般通过计算需要进行表情迁移的整个图像的稠密运动场实现。
4.可以看出,现有的表情迁移方法比较简单,往往存在表情迁移后的图像不够逼真的问题。


技术实现要素:

5.本技术的目的在于,针对上述现有技术中的不足,提供一种表情迁移方法、装置、设备及介质,可以使得迁移后的被驱动面部图像更为逼真。
6.为实现上述目的,本技术实施例采用的技术方案如下:
7.第一方面,本发明提供一种表情迁移方法,包括:
8.对驱动面部图像进行三维面部重建,获取所述驱动面部图像的迁移系数;
9.基于运动特性,利用面部区域分割网络对被驱动面部图像进行语义区域划分,得到多个语义区域,并根据所述驱动面部图像的迁移系数计算各所述语义区域的稠密运动场,所述语义区域包括:刚性运动区域和非刚性运动区域;
10.根据各所述语义区域的稠密运动场,将所述驱动面部图像的表情迁移至所述被驱动面部图像。
11.第二方面,本发明提供一种表情迁移装置,包括:
12.获取模块,用于对驱动面部图像进行三维面部重建,获取所述驱动面部图像的迁移系数;
13.分割模块,用于基于运动特性,利用面部区域分割网络对被驱动面部图像进行语义区域划分,得到多个语义区域,并根据所述驱动面部图像的迁移系数计算各所述语义区域的稠密运动场,所述语义区域包括:刚性运动区域和非刚性运动区域;
14.迁移模块,用于根据各所述语义区域的稠密运动场,将所述驱动面部图像的表情迁移至所述被驱动面部图像。
15.第三方面,本发明提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如前述实施方式任一所述表情迁移方法的步骤。
16.第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如前述实施方式任一所述表情迁移方法的步骤。
17.本技术的有益效果是:
18.本技术实施例提供的一种表情迁移方法、装置、设备及介质,包括:对驱动面部图像进行三维面部重建,获取驱动面部图像的迁移系数;基于运动特性,利用面部区域分割网络对被驱动面部图像进行语义区域划分,得到多个语义区域,并根据驱动面部图像的迁移系数计算各语义区域的稠密运动场,语义区域包括:刚性运动区域和非刚性运动区域;根据各语义区域的稠密运动场,将驱动面部图像的表情迁移至被驱动面部图像,实现了通过各语义区域的稠密运动场可以更好地刻画出各语义区域的运动特性,进而根据各语义区域的稠密运动场进行表情迁移时,可以使得迁移后的被驱动面部图像更为逼真。
附图说明
19.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
20.图1为本技术实施例提供的一种表情迁移方法的流程示意图;
21.图2为本技术实施例提供的另一种表情迁移方法的流程示意图;
22.图3为本技术实施例提供的又一种表情迁移方法的流程示意图;
23.图4为本技术实施例提供的另一种表情迁移方法的流程示意图;
24.图5为本技术实施例提供的又一种表情迁移方法的流程示意图;
25.图6为本技术实施例提供的另一种表情迁移方法的流程示意图;
26.图7为本技术实施例提供的又一种表情迁移方法的流程示意图;
27.图8为本技术实施例提供的另一种表情迁移方法的流程示意图;
28.图9为本技术实施例提供的又一种表情迁移方法的流程示意图;
29.图10为本技术实施例提供的一种驱动面部图像的迁移系数的获取框架;
30.图11为本技术实施例提供的一种多个语义区域的示意图;
31.图12为本技术实施例提供的一种表情迁移装置的功能模块示意图;
32.图13为本技术实施例提供的一种电子设备结构示意图。
具体实施方式
33.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
34.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范
围。
35.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
36.现有技术中,在进行表情迁移时,一般通过计算需要进行表情迁移的整个图像的稠密运动场实现,可以看出,现有的表情迁移方法的实现比较简单,进行表情迁移后的图像比较粗糙。
37.有鉴于,本技术实施例提供一种表情迁移方法,应用该方法可以使得迁移后的被驱动面部图像更为逼真。
38.图1为本技术实施例提供的一种表情迁移方法的流程示意图,该方法的执行主体可以是计算机、服务器、处理器等具备数据处理功能的电子设备,该方法可以应用于任何可进行表情迁移的个体,可选地,该个体可以是人、动物,在此不作限定,具体在进行表情迁移时,可以在同类型个体之间进行。为了更好地理解本技术,下述部分实施例以人为例进行说明。
39.如图1所示,该方法可以包括:
40.s101、对驱动面部图像进行三维面部重建,获取驱动面部图像的迁移系数。
41.其中,迁移系数可以表征驱动面部图像中个体的面部表情特征和头部姿态特征。驱动面部图像可以包括第一个体的面部区域,当然,本技术在此对该第一个体的面部表情并不进行限定,可选地,该第一个体的面部表情可以是高兴、悲伤、惊恐、厌恶、丑恶等,在此不作限定。其中,对驱动面部图像进行三维面部重建时,可以通过三维面部重建技术来实现。
42.s102、基于运动特性,利用面部区域分割网络对被驱动面部图像进行语义区域划分,得到多个语义区域,并根据驱动面部图像的迁移系数计算各语义区域的稠密运动场。
43.其中,语义区域包括:刚性运动区域和非刚性运动区域。被驱动面部图像也即需要将驱动面部图像中的表情迁移至本面部图像的图像,其可以包括第二个体的面部区域,当然,在一些实施例中,被驱动面部图像还可以包括背景区域,在此不作限定,根据实际的应用场景可以有所不同。其中,第一个体和第二个体可以为同类型个体,比如,可以为人。
44.结合被驱动面部图像中的第二个体进行说明,刚性运动区域也即被驱动面部图像中各像素在运动场的作用下只会产生平移和旋转运动的像素区域;非刚性运动区域也即被驱动面部图像中各像素在运动场的作用下会产生除平移和旋转运动之外其他运动类型的像素区域。其中,被驱动面部图像中的刚性运动区域和非刚性运动区域可以分别包括至少一个。
45.其中,各语义区域的稠密运动场可以表征各语义区域中每个像素点的位移信息。可选地,面部区域分割网络可以基于encoder-decoder(编码-解码)形式的卷积神经网络实现,在此不作限定。
46.s103、根据各语义区域的稠密运动场,将驱动面部图像的表情迁移至被驱动面部图像。
47.基于上述说明,可以看出,由于各语义区域的稠密运动场可以更好地刻画出各语义区域的运动特性,进而根据各语义区域的稠密运动场进行表情迁移时,可以使得迁移后的被驱动面部图像更为逼真。
48.综上,本技术实施例提供一种表情迁移方法,该方法包括:对驱动面部图像进行三维面部重建,获取驱动面部图像的迁移系数;基于运动特性,利用面部区域分割网络对被驱动面部图像进行语义区域划分,得到多个语义区域,并根据驱动面部图像的迁移系数计算各语义区域的稠密运动场,语义区域包括:刚性运动区域和非刚性运动区域;根据各语义区域的稠密运动场,将驱动面部图像的表情迁移至被驱动面部图像,实现了通过各语义区域的稠密运动场可以更好地刻画出各语义区域的运动特性,进而根据各语义区域的稠密运动场进行表情迁移时,可以使得迁移后的被驱动面部图像更为逼真。
49.当然,需要说明的是,本技术实施例提供的表情迁移方法也可以适用于视频,其中,对于驱动面部视频中的每一帧驱动面部图像,可以参见上述的方法将每一帧驱动面部图像的表情迁移至被驱动面部图像中,并对迁移后的各被驱动面部图像进行整合,从而可以得到被驱动面部视频。
50.图2为本技术实施例提供的另一种表情迁移方法的流程示意图。如图2所示,上述根据驱动面部图像的迁移系数计算各语义区域的稠密运动场,包括:
51.s201、基于面部区域分割网络获取被驱动面部图像中各像素点属于各语义区域的概率。
52.s202、根据被驱动面部图像中各像素点属于各语义区域的概率,确定各语义区域的区域掩模图像。
53.其中,区域掩模图像包括非刚性运动区域的掩码图像和刚性运动区域的掩码图像。
54.在一些实施例中,面部区域分割网络的结构可以为:4层下采样卷积层和4层上采样层的卷积神经网络结构,当然,本技术在此并不限定面部区域分割网络的具体结构,根据实际的应用场景可以有所不同。其中,可以将被驱动面部图像输入该面部区域分割网络,得到被驱动面部图像中各像素点属于各语义区域的概率,选取各像素点的最高概率对应的区域作为该像素点所属的语义区域。
55.根据各像素点所属的语义区域,可以进一步得到各语义区域的区域掩模图像,其中,各语义区域的区域掩模图像的尺寸大小与被驱动面部图像的尺寸大小可以保持一致。
56.s203、根据驱动面部图像的迁移系数和各语义区域的区域掩模图像,计算各语义区域的稠密运动场。
57.其中,各语义区域的稠密运动场可以根据各语义区域的区域掩模图像和驱动面部图像的迁移系数计算得到,关于其具体计算过程可参见下述的相关内容。
58.图3为本技术实施例提供的又一种表情迁移方法的流程示意图。可选地,如图3所示,上述根据驱动面部图像的迁移系数和各语义区域的区域掩模图像,计算各语义区域的稠密运动场,包括:
59.s301、根据驱动面部图像的迁移系数,计算被驱动面部图像的初始运动场。
60.其中,初始运动场包括第一方向上的子初始运动场和第二方向上的子初始运动场,第一方向与第二方向不同。
61.可选地,第一方向和第二方向可以为相互垂直的方向,比如,第一方向可以是x轴方向,第二方向可以是y轴方向,也即被驱动面部图像的初始运动场可以包括:被驱动面部图像在x轴方向上的子初始运动场和被驱动面部图像在y轴方向上的子初始运动场。
62.当然,需要说明的是,第一方向也可以是y轴方向,第二方向也可以是x轴方向,在此不作限定,根据实际的应用场景可以灵活选择。
63.s302、根据被驱动面部图像的初始运动场和各语义区域的区域掩模图像,分别计算刚性运动区域的稠密运动场和非刚性运动区域的稠密运动场。
64.其中,刚性运动区域的稠密运动场可以通过对初始运动场和刚性运动区域的掩码图像进行点乘得到。非刚性运动区域的稠密运动场可以通过对初始运动场和非刚性运动区域的掩码图像进行点乘得到。
65.需要说明的是,对于刚性运动区域和非刚性运动区域来说,其对应的被驱动面部图像的初始运动场是不同,也即被驱动面部图像的初始运动场可以包括:刚性运动区域对应的被驱动面部图像的第一运动场和非刚性运动区域对应的被驱动面部图像的第二运动场,下面就如何计算第一运动场和第二运动场分别进行说明。
66.图4为本技术实施例提供的另一种表情迁移方法的流程示意图。可选地,迁移系数包括:面部表情系数和面部姿态系数,如图4所示,上述根据驱动面部图像的迁移系数,计算被驱动面部图像的初始运动场,包括:
67.s401、基于面部表情系数和面部姿态系数,根据预设神经网络模型分别计算刚性运动区域的运动系数。
68.其中,面部表情系数可以表征驱动面部图像中的面部表情信息、面部姿态系数可以表征驱动面部图像中的头部姿态信息。运动系数包括:平移系数和旋转系数;对于刚性运动区域来说,刚性运动区域内没有明显的肌肉运动,在刚性运动区域内所有像素点只会在运动场的作用下产生平移和旋转运动。刚性运动区域的平移系数可以表征刚性运动区域内所有像素点在运动场的作用下产生的平移位移;刚性运动区域的旋转系数可以表征刚性运动区域内所有像素点在运动场的作用下产生的旋转位移。
69.可选地,预设神经网络模型可以基于全连接网络实现,比如,该预设神经网络模型可以包括3层全连接网络,实际计算过程中,可以将面部表情系数和面部姿态系数输入该预设神经网络模型中,通过该预设神经网络模型输出该刚性运动区域的运动系数。
70.s402、根据刚性运动区域的运动系数,对被驱动面部图像中的各第一像素点坐标进行变换,得到变换后的各第二像素点坐标。
71.在一些实施例,在进行变换时,可以参见下述的公式进行:在一些实施例,在进行变换时,可以参见下述的公式进行:其中,(x,y)表示被驱动面部图像中的第一像素点坐标;表示变换后的各第二像素点坐标,ro表示刚性运动区域的旋转系数,(tr
x
,try)表示刚性运动区域的平移系数,其中,tr
x
表示刚性运动区域在x轴方向上的平移系数,try表示刚性运动区域在y轴方向上的平移系数。
72.s403、根据各第一像素点坐标和各第二像素点坐标,确定被驱动面部图像的第一运动场。
73.确定被驱动面部图像的第一运动场时,可以计算各第一像素点坐标与其所对应的各第二像素点坐标之间的空间位移,进一步地,各第一像素点坐标对应的空间位移则可以
作为被驱动面部图像的第一运动场。
74.基于上述说明,记第一运动场为q1,刚性运动区域的掩码图像为m1,刚性运动区域的稠密运动场为f1,则刚性运动区域的稠密运动场可以表示为:f1=q1·
m1。
75.图5为本技术实施例提供的又一种表情迁移方法的流程示意图。可选地,迁移系数包括:面部表情系数和面部姿态系数,如图5所示,上述根据驱动面部图像的迁移系数,计算被驱动面部图像的初始运动场,包括:
76.s501、基于三维面部重建技术,获取被驱动面部图像对应的三维面部。
77.其中,通过三维面部重建技术得到的被驱动面部图像对应的三维面部的外貌特征(比如,五官的位置和大小)可以与被驱动面部图像中第二个体的外貌特征保持一致。可选地,重建过程中,可以通过约束被驱动面部图像的面部外貌系数(也叫面部id系数)得到。
78.此外,还需要说明的是,对于非刚性运动区域来说,非刚性运动区域内存在大量的非刚性运动。实际在进行计算时,可以基于三维面部投影的方法计算得到非刚性区域的稠密运动场。
79.s502、根据面部表情系数和面部姿态系数,对三维面部进行变形,得到形变图像。
80.对三维面部进行变形时,可以将面部表情系数和面部姿态系数作用于上述被驱动面部图像对应的三维面部,可以理解的是,此时,该三维面部会在三维空间中产生一定的形变,将形变后的三维面部记为形变图像。
81.s503、分别获取三维面部中各顶点在二维平面上的第一坐标和形变图像中各顶点在二维平面上的第二坐标,并根据各顶点对应的第二坐标和第一坐标,计算各顶点在二维平面上的空间位移,将各顶点在二维平面上的空间位移作为被驱动面部图像的第二运动场。
82.其中,对于三维面部和形变图像来说,可以分别将其所有的顶点投影至二维平面上,得到三维面部中各顶点在二维平面上的第一坐标、以及形变图像中各顶点在二维平面上的第二坐标;根据各顶点对应的第一坐标和第二坐标,计算得到各顶点在二维平面上的空间位移,进一步地,则可以记各顶点在二维平面上的空间位移为被驱动面部图像的第二运动场。
83.基于上述说明,记第二运动场为q2,非刚性运动区域的掩码图像为m2,非刚性运动区域的稠密运动场为f2,则非刚性运动区域的稠密运动场可以表示为:f2=q2·
m2。
84.此外,值得说明的是,上述第一运动场和第二运动场为针对被驱动面部图像整幅图像的运动场,因此,计算过程中,有必要根据第一运动场和刚性运动区域的掩码图像,得到刚性运动区域的稠密运动场;根据第二运动场和非刚性运动区域的掩码图像,得到非刚性运动区域的稠密运动场。
85.图6为本技术实施例提供的另一种表情迁移方法的流程示意图。可选地,语义区域还包括:静止区域,也即也存在某些场景中被驱动面部图像中存在保持静止的区域,如图6所示,上述根据各语义区域的稠密运动场,将驱动面部图像的表情迁移至被驱动面部图像,包括:
86.s601、获取静止区域的掩码图像和被驱动面部图像的第三运动场。
87.其中,对于静止区域来说,由于其不发生运动,若记被驱动面部图像的第三运动场为q3,则q3=0,表示位移为0。静止区域的掩码图像可参见上述刚性区域和非刚性区域的掩
码图像,在此不再赘述。
88.s602、根据第三运动场和静止区域的掩码图像,计算得到静止区域的稠密运动场。
89.静止区域的稠密运动场可以通过对第三运动场和静止区域的掩码图像进行点乘得到。其中,记第三运动场为q3,静止区域的掩码图像为m3,静止区域的稠密运动场为f3,则静止区域的稠密运动场可以表示为:f3=q3·
m3。
90.s603、根据刚性运动区域的稠密运动场、非刚性运动区域的稠密运动场以及静止区域的稠密运动场,将驱动面部图像的表情迁移至被驱动面部图像。
91.基于上述计算,可以看出,此时可以分别得到刚性运动区域、非刚性运动区域以及静止区域的稠密运动场,那么则可以结合该三种稠密运动场,将驱动面部图像的表情迁移至被驱动面部图像。应用本技术实施例,实现了可以将被驱动面部图像划分为更细粒度的语义区域,进而根据各语义区域的稠密运动场进行表情迁移时,可以使得迁移后的被驱动面部图像更为逼真。
92.图7为本技术实施例提供的又一种表情迁移方法的流程示意图。可选地,如图7所示,上述根据各语义区域的稠密运动场,将驱动面部图像的表情迁移至被驱动面部图像,包括:
93.s701、对各语义区域的稠密运动场进行求和,得到被驱动面部图像的稠密运动场。
94.s702、根据被驱动面部图像的稠密运动场,将驱动面部图像的表情迁移至被驱动面部图像。
95.其中,语义区域可以包括刚性运动区域和非刚性运动区域,被驱动面部图像的稠密运动场可以通过对各语义区域的稠密运动场进行求和得到,得到被驱动面部图像更为准确的稠密运动场。进而后续在进行迁移时,由于可以通过各语义区域的稠密运动场更好地刻画出各语义区域的运动特性,进而根据各语义区域的稠密运动场进行表情迁移时,可以使得迁移后的被驱动面部图像更为逼真。
96.值得说明的是,若语义区域还包括静止区域,被驱动面部图像的稠密运动场依然可以通过对各语义区域的稠密运动场进行求和得到。
97.其中,记刚性运动区域的稠密运动场为f1、非刚性运动区域的稠密运动场为f2、静止区域的稠密运动场为f3,则被驱动面部图像的稠密运动场可以表示为:f=f1+f2+f3。
98.图8为本技术实施例提供的另一种表情迁移方法的流程示意图。可选地,如图8所示,上述根据被驱动面部图像的稠密运动场,将驱动面部图像的表情迁移至被驱动面部图像,包括:
99.s801、采用第一卷积神经网络获取被驱动面部图像的图像特征。
100.s802、根据被驱动面部图像的稠密运动场,对被驱动面部图像的图像特征进行像素位移操作,获取移位后的图像特征。
101.s803、采用第二卷积神经网络对移位后的图像特征进行上采样操作,将驱动面部图像的表情迁移至被驱动面部图像。
102.其中,通过将被驱动面部图像输入第一卷积神经网络,可以获取得到被驱动面部图像的图像特征;进一步地,基于被驱动面部图像的稠密运动场,可以对被驱动面部图像的图像特征进行像素位移,从而得到移位后的图像特征,改变被驱动面部图像的表情和头部姿态;第二卷积神经网络可以是第一卷积神经网络的逆操作,将移位后的图像特征输入第
二卷积神经网络,则可以实现将驱动面部图像的表情迁移至被驱动面部图像的迁移结果。
103.其中,第一卷积神经网络可以是下采样卷积神经网络、第二卷积神经网络可以是上采样卷积神经网络,当然,本技术在此并不限定第一卷积神经网络和第二卷积神经网络的层数,根据实际的应用场景可以有所不同。
104.图9为本技术实施例提供的又一种表情迁移方法的流程示意图。图10为本技术实施例提供的一种驱动面部图像的迁移系数的获取框架。可选地,如图9所示,对驱动面部图像进行三维面部重建,获取驱动面部图像的迁移系数,可以包括:
105.s901、检测驱动面部图像中的第一关键点。
106.s902、根据各第一关键点,对驱动面部图像进行三维面部重建,获取三维面部模型。
107.s903、根据预设优化算法,基于三维面部模型获取驱动面部图像的迁移系数。
108.以第一个体和第二个体分别为人物个体为例进行说明,结合图10所示,其中,重建过程可参见下述内容,可以使用三维形变人脸模型3dmm(3dmorphable model)拟合出与驱动面部图像中第一人物的外貌和表情一致的人脸,从而将人脸重建了出来,重建的过程可参见下述内容:先基于人脸检测技术,检测出驱动面部图像中的第一关键点,可选地,该第一关键点的数量可以是68或108,在此不作限定;在3dmm上将第一关键点对应的网格点标记出来,然后将3dmm上的网格点使用正交投影的方法投影到二维图像中,根据预设优化算法,可以实现三维面部的重建,得到三维面部模型。其中,预设优化算法的优化目标可以是网格投影点和人脸关键点尽可能重合,具体优化时,可以参见下述公式实现:
[0109][0110]
其中,sp表示驱动面部图像的面部外貌系数(也称面部id系数),ep表示驱动面部图像的面部表情系数,s,r,t表示驱动面部图像的面部姿态系数,n表示第一关键点的数量,l表示驱动面部图像中各第一关键点的序号,p
l
表示驱动面部图像中检测的第l个关键点,表示第l个关键点对应的三维面部模型上的点。
[0111]
此外,值得说明的是,被驱动面部图像的面部外貌系数可参见上述公式得到,在此不再赘述。
[0112]
可选地,根据被驱动面部图像中不同区域的运动特性,上述刚性运动区域包括:被驱动面部图像的头发区域和上半身躯干区域,非刚性运动区域包括:被驱动面部图像的面部内脸区域,静止区域包括:被驱动面部图像的背景区域。
[0113]
其中,结合上述计算过程来看,记被驱动面部图像的头发区域的稠密运动场为fh、被驱动面部图像的上半身躯干区域的稠密运动场为f
t
、被驱动面部图像的面部内脸区域的稠密运动场为fi、被驱动面部图像的背景区域的稠密运动场为fb,被驱动面部图像的稠密运动场为f,则f=fi+fh+f
t
+fb。关于各区域运动场的计算过程可参见前述的相关部分,在此不再赘述。
[0114]
结合前述实施例,图11为本技术实施例提供的一种多个语义区域的示意图,若被驱动面部图像为被驱动人脸图像,如图11所示,基于运动特性,可以利用面部区域分割网络
对该被驱动人脸图像进行语义区域划分,该语义区域可以包括:被驱动人脸图像的头发区域11、被驱动人脸图像的上半身躯干区域12、被驱动人脸图像的人脸内脸区域13、被驱动人脸图像的背景区域14。
[0115]
图12为本技术实施例提供的一种表情迁移装置的功能模块示意图,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。如图12所示,该表情迁移装置100包括:
[0116]
获取模块110,用于对驱动面部图像进行三维面部重建,获取所述驱动面部图像的迁移系数;
[0117]
分割模块120,用于基于运动特性,利用面部区域分割网络对被驱动面部图像进行语义区域划分,得到多个语义区域,并根据所述驱动面部图像的迁移系数计算各所述语义区域的稠密运动场,所述语义区域包括:刚性运动区域和非刚性运动区域;
[0118]
迁移模块130,用于根据各所述语义区域的稠密运动场,将所述驱动面部图像的表情迁移至所述被驱动面部图像。
[0119]
在可选的实施方式中,所述分割模块120,具体用于基于面部区域分割网络获取所述被驱动面部图像中各像素点属于各所述语义区域的概率;
[0120]
根据所述被驱动面部图像中各像素点属于各所述语义区域的概率,确定各所述语义区域的区域掩模图像,所述区域掩模图像包括非刚性运动区域的掩码图像和刚性运动区域的掩码图像;
[0121]
根据所述驱动面部图像的迁移系数和各所述语义区域的区域掩模图像,计算各所述语义区域的稠密运动场。
[0122]
在可选的实施方式中,所述分割模块120,具体用于根据所述驱动面部图像的迁移系数,计算所述被驱动面部图像的初始运动场,所述初始运动场包括第一方向上的子初始运动场和第二方向上的子初始运动场,所述第一方向与所述第二方向不同;
[0123]
根据所述被驱动面部图像的初始运动场和各所述语义区域的区域掩模图像,分别计算所述刚性运动区域的稠密运动场和所述非刚性运动区域的稠密运动场。
[0124]
在可选的实施方式中,上述迁移系数包括:面部表情系数和面部姿态系数;所述分割模块120,具体用于基于所述面部表情系数和面部姿态系数,根据预设神经网络模型分别计算所述刚性运动区域的运动系数,所述运动系数包括:平移系数和旋转系数;
[0125]
根据所述刚性运动区域的运动系数,对所述被驱动面部图像中的各第一像素点坐标进行变换,得到变换后的各第二像素点坐标;
[0126]
根据各所述第一像素点坐标和各所述第二像素点坐标,确定所述被驱动面部图像的第一运动场。
[0127]
在可选的实施方式中,上述迁移系数包括:面部表情系数和面部姿态系数;所述分割模块120,具体用于基于三维面部重建技术,获取所述被驱动面部图像对应的三维面部;
[0128]
根据所述面部表情系数和所述面部姿态系数,对所述三维面部进行变形,得到形变图像;
[0129]
分别获取所述三维面部中各顶点在二维平面上的第一坐标和所述形变图像中各顶点在二维平面上的第二坐标,并根据各顶点对应的所述第二坐标和所述第一坐标计算各所述顶点在二维平面上的空间位移,将各所述顶点在二维平面上的空间位移作为所述被驱
动面部图像的第二运动场。
[0130]
在可选的实施方式中,所述语义区域还包括:静止区域,所述迁移模块130,具体用于获取静止区域的掩码图像和所述被驱动面部图像的第三运动场;
[0131]
根据所述第三运动场和所述静止区域的掩码图像,计算得到所述静止区域的稠密运动场;
[0132]
根据所述刚性运动区域的稠密运动场、非刚性运动区域的稠密运动场以及所述静止区域的稠密运动场,将所述驱动面部图像的表情迁移至所述被驱动面部图像。
[0133]
在可选的实施方式中,所述迁移模块130,具体用于对各所述语义区域的稠密运动场进行求和,得到所述被驱动面部图像的稠密运动场;
[0134]
根据所述被驱动面部图像的稠密运动场,将所述驱动面部图像的表情迁移至所述被驱动面部图像。
[0135]
在可选的实施方式中,所述迁移模块130,具体用于采用第一卷积神经网络获取所述被驱动面部图像的图像特征;
[0136]
根据所述被驱动面部图像的稠密运动场,对所述被驱动面部图像的图像特征进行像素位移操作,获取移位后的图像特征;
[0137]
采用第二卷积神经网络对所述移位后的图像特征进行上采样操作,将所述驱动面部图像的表情迁移至所述被驱动面部图像。
[0138]
在可选的实施方式中,所述获取模块110,具体用于检测所述驱动面部图像中的第一关键点;
[0139]
根据各所述第一关键点,对所述驱动面部图像进行三维面部重建,获取三维面部模型;
[0140]
根据预设优化算法,基于所述三维面部模型获取所述驱动面部图像的迁移系数。
[0141]
在可选的实施方式中,所述刚性运动区域包括:所述被驱动面部图像的头发区域和上半身躯干区域,所述非刚性运动区域包括:所述被驱动面部图像的面部内脸区域,所述静止区域包括:所述被驱动面部图像的背景区域。
[0142]
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
[0143]
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
[0144]
图13为本技术实施例提供的一种电子设备结构示意图,该电子设备可以是表情迁移装置。如图13所示,该电子设备可以包括:处理器210、存储介质220和总线230,存储介质220存储有处理器210可执行的机器可读指令,当电子设备运行时,处理器210与存储介质220之间通过总线230通信,处理器210执行机器可读指令,以执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
[0145]
可选地,本技术还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
[0146]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0147]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0148]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0149]
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本技术各个实施例方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-only memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0150]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0151]
以上仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1