一种基于视频驱动图像的活体视频生成方法与流程
未命名
08-13
阅读:161
评论:0
1.本发明属于人工智能领域,具体涉及一种基于视频驱动图像的活体视频生成方法。
背景技术:
2.随着深度学习在计算机视觉领域的快速发展,活体人脸视频学习已经获得了内容创造类应用的广泛兴趣,例如,人脸重现、头像动画、以及语音驱动人脸说话等。活体人脸视频学习的核心在于提取不同目标人物的面部信息,包括身份信息、几何信息和姿势运动信息等,并将所获得的信息进行整合及训练,以实现改变视频主体人物的身份、动作、表情等目的。
3.现有活体人脸视频生成技术主要是基于语音信息驱动的人脸说话视频生成。基于语音信息驱动的人脸视频生成任务实现了音频的听觉信息与视觉信息间的映射,对于给定的语音片段和目标人物图像,可以生成令目标人物图像说出指定语音信息的视频。但是基于语音信息驱动生成的活体视频只能生成说话视频,对于不说话、只包含面部五官动作的视频生成仍是一个关键挑战。
4.中国专利申请号cn202211248353.4公开了一种基于音频和图像驱动的用于生成人脸说话视频的训练方法,处理方法为:构建人脸说话视频生成模型,利用音频特征提取器对视频样本的音频进行特征提取,得到音频特征向量;利用图像编码器对视频样本进行投影处理,得到视频图像的扩展潜在向量;利用音频-表情映射网络处理音频特征向量和扩展潜在向量得到加权扩展潜在向量;利用生成器处理加权扩展潜在向量得到生成视频。该专利申请基于sty legan2生成器网络,根据加权潜在向量生成唇型与音频基本同步的真实人脸说话视频。但是该专利申请仅着重于说话时唇部运动的处理,其他动作的刻画没有进行深入研究,例如,摇头、眨眼等;且生成视频清晰度不高,对于除唇部外的其他部位的细节处理比较模糊。
技术实现要素:
5.本发明公开了一种基于视频驱动图像的活体视频生成方法,拟解决现有仅着重于说话时唇部运动的处理,其他动作的刻画没有进行深入研究,例如,摇头、眨眼等;且生成视频清晰度不高,对于除唇部外的其他部位的细节处理比较模糊的技术问题。
6.为解决上述存在的技术问题,本发明采用的技术方案如下:
7.一种基于视频驱动图像的活体视频生成方法,包括以下步骤:
8.步骤1:获取驱动视频和源图片,并对驱动视频和源图片进行预处理;
9.步骤2:基于外观特征提取网络、三维关键点检测网络、面部姿势估计网络、面部表情估计网络提取预处理后的源图片对应的外观特征及关键点;
10.步骤3:基于面部姿势估计网络、面部表情估计网络提取所有驱动视频帧图片对应的关键点;
11.步骤4:基于运动场估计网络、生成网络,将驱动视频与源图片关键点对应,并映射运动信息,生成活体视频;
12.步骤5:基于损失函数对活体视频进行优化训练,并输出优化后的活体视频;
13.步骤6:将优化后的活体视频进行分帧,并逐帧进行优化修复,获得修复后的帧图片;
14.步骤7:合并优化修复后的帧图片,活体视频优化完毕。
15.优选的,步骤1中,所述对驱动视频和源图片进行预处理具体包括以下步骤:
16.步骤1.1:对驱动视频帧图片,识别面部主要关键点,并进行裁剪;
17.步骤1.2:对源图片按照给定裁剪规范进行裁剪。
18.优选的,所述步骤2具体包括以下步骤:
19.步骤2.1:通过外观特征提取网络获得源图片s的外观特征fs;
20.步骤2.2:将外观特征fs映射到三维空间,便于后续驱动时的旋转和平移;
21.步骤2.3:使用三维关键点检测网络提取k个源图片s中目标人物身份特定的规范化的三维关键点x
c,k
∈r3;
22.步骤2.4:使用面部姿势估计网络提取源图片s的面部姿势,表示为旋转矩阵rs∈r3×3和平移向量ts∈r3;
23.步骤2.5:使用面部表情估计网络表示源图片s关键点的运动变形,表示为δ
s,k
;
24.步骤2.6:将上述提取的身份特定的规范化关键点x
c,k
与旋转矩阵rs、平移向量ts、表情变形δ
s,k
相结合,得到源图片s中目标人物的关键点{x
s,k
},其结合公式如下:
25.x
s,k
=t(x
c,k
,rs,ts,δ
s,k
)=psx
s,k
+ts+δ
s,k
。
26.优选的,所述步骤3具体包括以下步骤:
27.步骤3.1:通过分帧,将驱动视频d分为帧图片,图片集合为:
28.{d1,d2,d3,
…
,dn},
29.其中di表示每一帧图片,n表示驱动视频d的帧图片总数;
30.步骤3.2:提取步骤2.3中已经提取的k个规范化的三维关键点x
c,k
∈r3;
31.步骤3.3:使用面部姿势估计网络来提取当前帧图片d1的面部姿势,表示为旋转矩阵和平移向量
32.步骤3.4:使用面部表情估计网络来表示当前帧图片d1关键点的运动变形,表示为
33.步骤3.5:将上述提取的身份特定的规范化关键点x
c,k
与旋转矩阵平移向量表情变形相结合,得到当前帧图片d1中目标人物的关键点转换公式为:
[0034][0035]
步骤3.6:对所有帧图片{d1,d2,d3,
…
,dn}重复上述操作3.2-3.5,得到驱动视频帧图片对应的关键点
[0036]
优选的,所述步骤4具体包括以下步骤:
[0037]
步骤4.1:将源图片关键点{x
s,k
}、驱动视频帧图片关键点结合,得到每个关键点的运动趋势wk;
[0038]
步骤4.2:将步骤4.1获得的各个关键点的运动趋势与步骤2.1获得的源图片外观特征fs结合,得到w1(fs),w2(fs),
…
,wk(fs)源特征变换趋势;
[0039]
步骤4.3:将步骤4.2获得的源特征变换趋势w1(fs),w2(fs),
…
,wk(fs)输入到运动场估计网络生成变换组成掩膜m;
[0040]
步骤4.4:将源特征变换趋势w1(fs),w2(fs),
…
,wk(fs)和变换组成掩膜m进行线性组合得到混合变换w;
[0041]
步骤4.5:将步骤4.4获得的混合变换w与步骤2.1获得的源图片外观特征fs输入到视频生成网络,生成活体视频。
[0042]
优选的,所述步骤5具体包括以下步骤:
[0043]
步骤5:使用损失函数优化训练,输出活体视频;
[0044]
步骤5.1:对于步骤4.5生成的每一个活体视频,计算其损失值;
[0045]
步骤5.2:根据步骤5.1计算的损失值不断优化训练过程中的参数,最小化损失值,输出优化后的活体视频。
[0046]
优选的,所述步骤6具体包括以下步骤:
[0047]
步骤6.1:将人脸说话视频y分帧得到{y1,y2,
…
,yn};
[0048]
步骤6.2:对步骤6.1得到的所有帧图片使用三元域翻译网络进行全局优化;
[0049]
步骤6.3:使用人脸检测技术检测裁剪优化后的帧图片,提取人脸区域
[0050]
步骤6.4:将步骤6.3获得的人脸区域使用渐进生成器网络进行面部增强,得到
[0051]
步骤6.5:将步骤7.4增强后的面部区域与原帧图片合并,图片修复完成。
[0052]
综上所述,由于采用了上述技术方案,本发明的有益效果是:
[0053]
本发明克服了前述基于语音信息驱动的人脸视频生成方法的不足,提出了一种基于视频驱动图像的活体视频生成方法。该方法摆脱了语音驱动的人脸说话视频的限制,可以生成仅包含面部五官动作的活体视频;并且对生成的视频进行了优化修复,面部、人物背景的细节部分处理得更好;可以生成分辨率更高、更清晰的视频。
附图说明
[0054]
本发明将通过例子并参照附图的方式说明,其中:
[0055]
图1为本发明中基于视频驱动图像的活体视频生成方法流程;
[0056]
图2为本发明中源图片裁剪规范的示意图。
具体实施方式
[0057]
为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例及附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和标示出的本技术实施例的组件可以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施
例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0058]
在本技术实施例的描述中,需要说明的是,术语“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0059]
下面结合图1-图2对本发明作详细说明;
[0060]
一种基于视频驱动图像的活体视频生成方法,包括以下步骤:
[0061]
步骤1:获取驱动视频和源图片,并对驱动视频和源图片进行预处理;
[0062]
步骤1中,所述对驱动视频和源图片进行预处理具体包括以下步骤:
[0063]
步骤1.1:对驱动视频帧图片,识别面部主要关键点,并进行裁剪;
[0064]
对驱动视频帧图片,首先定位寻找人脸所在位置,并识别出68个面部主要关键点(主要包括面部轮廓、五官所在位置),根据识别得到的关键点范围成比例裁剪图片,保证人脸图像在尺寸分布不变的情况下放大图片中所操作人脸的占比;
[0065]
步骤1.2:对源图片按照给定裁剪规范进行裁剪。
[0066]
对源图片,按照图2给定的规范进行裁剪,裁剪过程中在保证图片为正方形的前提下只能对图片进行成比例放大缩小,不能只对某一条边进行压缩和伸展,以防止后续生成视频的过程中发生脸型畸变;
[0067]
步骤2:基于外观特征提取网络、三维关键点检测网络、面部姿势估计网络、面部表情估计网络提取预处理后的源图片对应的外观特征及关键点;
[0068]
所述步骤2具体包括以下步骤:
[0069]
步骤2.1:通过外观特征提取网络获得源图片s的外观特征fs;
[0070]
通过外观特征提取网络获得源图片s的外观特征fs,外观特征提取网络由一系列下采样块、卷积层、三维残差快堆叠而成;
[0071]
步骤2.2:将外观特征fs映射到三维空间,便于后续驱动时的旋转和平移;
[0072]
将外观特征fs映射到三维空间,得到的三维特征包括宽度(width)、高度(height)、深度(depth),以便于后续过程中可以在三维空间中通过关键点的旋转和平移来控制人脸的动作;
[0073]
步骤2.3:使用三维关键点检测网络提取k个源图片s中目标人物身份特定的规范化的三维关键点x
c,k
∈r3;
[0074]
使用三维关键点检测网络提取k个源图片s中目标人物身份特定的规范化的三维关键点x
c,k
∈r3,三维关键点检测网络应用u-net风格的编码器-解码器来提取规范原图像关键点。这些关键点独立于面部的表情和姿势,表示在一个自然的表情和姿势的编码下提取的人脸面部几何特征;
[0075]
步骤2.4:使用面部姿势估计网络提取源图片s的面部姿势,表示为旋转矩阵rs∈r3×3和平移向量ts∈r3;
[0076]
堆叠一系列resnet块,再使用不同的线性层来估计旋转角度、平移向量和变形表
达式,由此构成面部姿势估计网络和表情估计网络。使用面部姿势估计网络提取源图片s的面部姿势,表示为旋转矩阵rs∈r3×3和平移向量ts∈r3;
[0077]
步骤2.5:使用面部表情估计网络表示源图片s关键点的运动变形,表示为δ
s,k
;
[0078]
使用步骤2.4获得的面部表情估计网络表示源图片s关键点的运动变形,表示为δ
s,k
。此步骤提出的关键点运动变形是指从在步骤2.3中提出的在自然表情基础下的关键点出发的变形;
[0079]
步骤2.6:将上述提取的身份特定的规范化关键点x
c,k
与旋转矩阵δs、平移向量ts、表情变形δ
s,k
相结合,得到源图片s中目标人物的关键点{x
s,k
},其结合公式如下:
[0080]
x
s,k
=t(x
c,k
,rs,ts,δ
s,k
)=rsx
c,k
+ts+δ
s,k
。
[0081]
步骤3:基于面部姿势估计网络、面部表情估计网络提取所有驱动视频帧图片对应的关键点;
[0082]
所述步骤3具体包括以下步骤:
[0083]
步骤3.1:通过分帧,将驱动视频d分为帧图片,图片集合为:
[0084]
{d1,d2,d3,
…
,dn},
[0085]
其中di表示每一帧图片,n表示驱动视频d的帧图片总数;
[0086]
步骤3.2:提取步骤2.3中已经提取的k个规范化的三维关键点x
c,k
∈r3;
[0087]
步骤3.3:使用面部姿势估计网络来提取当前帧图片d1的面部姿势,表示为旋转矩阵和平移向量
[0088]
步骤3.4:使用面部表情估计网络来表示当前帧图片d1关键点的运动变形,表示为
[0089]
步骤3.5:将上述提取的身份特定的规范化关键点x
c,k
与旋转矩阵平移向量
[0090]
表情变形相结合,得到当前帧图片d1中目标人物的关键点转换公式为:
[0091][0092]
步骤3.6:对所有帧图片{d1,d2,d3,
…
,dn}重复上述操作3.2-3.5,得到驱动视频帧图片对应的关键点
[0093]
步骤4:基于运动场估计网络、生成网络,将驱动视频与源图片关键点对应,并映射运动信息,生成活体视频;
[0094]
所述步骤4具体包括以下步骤:
[0095]
步骤4.1:将源图片关键点{x
s,k
}、驱动视频帧图片关键点结合,得到每个关键点的运动趋势wk;
[0096]
步骤4.2:将步骤4.1获得的各个关键点的运动趋势与步骤2.1获得的源图片外观特征fs结合,得到w1(fs),w2(fs),
…
,wk(fs)源特征变换趋势;
[0097]
设驱动图像d特征体中的三维坐标为pd,将pd映射到原图像s的三维特征体坐标ps,映射过程为:由此建立了源图像和驱动视频之间的映
射;
[0098]
步骤4.3:将步骤4.2获得的源特征变换趋势w1(fs),w2(fs),
…
,wk(fs)输入到运动场估计网络生成变换组成掩膜m;
[0099]
将步骤4.2获得的源特征变换趋势w1(fs),w2(fs),
…
,wk(fs)输入到三维网络(运动场估计网络)来提取特征,使用softmax函数来合成掩膜m,该掩膜由k个三维掩膜m1,m2…
mk组成,对于每一个三维坐标pd,这些掩膜需要满足∑
k mk(pd)=1,0≤mk(pd)≤1;
[0100]
步骤4.4:将源特征变换趋势w1(fs),w2(fs),
…
,wk(fs)和变换组成掩膜m进行线性组合得到混合变换w;
[0101]
步骤4.5:将步骤4.4获得的混合变换w与步骤2.1获得的源图片外观特征fs输入到视频生成网络,生成活体视频。视频生成网络g获取三维运动变换趋势w(fs)并且将它们映射回二维空间,然后将这些变换趋势与由运动场估计网络得到的遮挡掩膜o相结合,最终应用一系列二维残差块和上采样层来获得最终图像。
[0102]
步骤5:基于损失函数对活体视频进行优化训练,并输出优化后的活体视频;
[0103]
所述步骤5具体包括以下步骤:
[0104]
步骤5:使用损失函数优化训练,输出活体视频;
[0105]
步骤5.1:对于步骤4.5生成的每一个活体视频,计算其损失值;
[0106]
对于步骤4.6生成的每一个活体视频,计算其损失值,损失值由三部分组成:使生成图像与真实图像更相似的感知损失、使预测关键点保持一致的关键点损失、限制估计的头部姿态和关键点扰动的变型先验损失;
[0107]
步骤5.2:根据步骤5.1计算的损失值不断优化训练过程中的参数,最小化损失值,输出优化后的活体视频。
[0108]
步骤6:将优化后的活体视频进行分帧,并逐帧进行优化修复,获得修复后的帧图片;
[0109]
优选的,所述步骤6具体包括以下步骤:
[0110]
步骤6.1:将人脸说话视频y分帧得到{y1,y2,
…
,yn};
[0111]
步骤6.2:对步骤6.1得到的所有帧图片使用三元域翻译网络进行全局优化;
[0112]
将两个变分自编码器配对,分别将优化前后的照片转为两个潜在空间,并在两个潜在空间中融合了处理噪声和模糊等缺陷的局部分支,由此构成三元域翻译网络。对步骤6.1得到的所有帧图片使用三元域翻译网络进行全局优化;
[0113]
步骤6.3:使用人脸检测技术检测裁剪优化后的帧图片,提取人脸区域
[0114]
步骤6.4:将步骤6.3获得的人脸区域使用渐进生成器网络进行面部增强,得到
[0115]
步骤6.5:将步骤6.4增强后的面部区域与原帧图片合并,图片修复完成。
[0116]
步骤7:合并优化修复后的帧图片,活体视频优化完毕。
[0117]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明
将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种基于视频驱动图像的活体视频生成方法,其特征在于,包括以下步骤:步骤1:获取驱动视频和源图片,并对驱动视频和源图片进行预处理;步骤2:基于外观特征提取网络、三维关键点检测网络、面部姿势估计网络、面部表情估计网络提取预处理后的源图片对应的外观特征及关键点;步骤3:基于面部姿势估计网络、面部表情估计网络提取所有驱动视频帧图片对应的关键点;步骤4:基于运动场估计网络、生成网络,将驱动视频与源图片关键点对应,并映射运动信息,生成活体视频;步骤5:基于损失函数对活体视频进行优化训练,并输出优化后的活体视频;步骤6:将优化后的活体视频进行分帧,并逐帧进行优化修复,获得修复后的帧图片;步骤7:合并优化修复后的帧图片,活体视频优化完毕。2.根据权利要求1所述的一种基于视频驱动图像的活体视频生成方法,其特征在于,步骤1中,所述对驱动视频和源图片进行预处理具体包括以下步骤:步骤1.1:对驱动视频帧进行分帧得到帧图片,识别面部主要关键点,并进行裁剪;步骤1.2:对源图片按照给定裁剪规范进行裁剪。3.根据权利要求1所述的一种基于视频驱动图像的活体视频生成方法,其特征在于,所述步骤2具体包括以下步骤:步骤2.1:通过外观特征提取网络获得源图片s的外观特征f
s
;步骤2.2:将外观特征f
s
映射到三维空间,便于后续驱动时的旋转和平移;步骤2.3:使用三维关键点检测网络提取k个源图片s中目标人物身份特定的规范化的三维关键点x
c,k
∈r3;步骤2.4:使用面部姿势估计网络提取源图片s的面部姿势,表示为旋转矩阵r
s
∈r3×3和平移向量t
s
∈r3;步骤2.5:使用面部表情估计网络表示源图片s关键点的运动变形,表示为δ
s,k
;步骤2.6:将上述提取的身份特定的规范化关键点x
c,k
与旋转矩阵r
s
、平移向量t
s
、表情变形δ
s,k
相结合,得到源图片s中目标人物的关键点{x
s,k
},其结合公式如下:x
s,k
=t(x
c,k
,r
s
,t
s
,δ
s,k
)=δ
s
x
c,k
+t
s
+δ
s,k
。4.根据权利要求3所述的一种基于视频驱动图像的活体视频生成方法,其特征在于,所述步骤3具体包括以下步骤:步骤3.1:通过分帧,将驱动视频d分为帧图片,图片集合为:{d1,d2,d3,
…
,d
n
},其中d
i
表示每一帧图片,n表示驱动视频d的帧图片总数;步骤3.2:提取步骤2.3中已经提取的k个规范化的三维关键点x
c,k
∈r3;步骤3.3:使用面部姿势估计网络来提取当前帧图片d1的面部姿势,表示为旋转矩阵和平移向量步骤3.4:使用面部表情估计网络来表示当前帧图片d1关键点的运动变形,表示为步骤3.5:将上述提取的身份特定的规范化关键点x
c,k
与旋转矩阵平移向量表情变形相结合,得到当前帧图片d1中目标人物的关键点转换公式为:
步骤3.6:对所有帧图片{d1,d2,d3,
…
,d
n
}重复上述操作3.2-3.5,得到驱动视频帧图片对应的关键点5.根据权利要求4所述的一种基于视频驱动图像的活体视频生成方法,其特征在于,所述步骤4具体包括以下步骤:步骤4.1:将源图片关键点{x
s,k
}、驱动视频帧图片关键点结合,得到每个关键点的运动趋势w
k
;步骤4.2:将步骤4.1获得的各个关键点的运动趋势与步骤2.1获得的源图片外观特征f
s
结合,得到w1(f
s
),w2(f
s
),
…
,w
k
(f
s
)源特征变换趋势;步骤4.3:将步骤4.2获得的源特征变换趋势w1(f
s
),w2(f
s
),
…
,w
k
(f
s
)输入到运动场估计网络生成变换组成掩膜m;步骤4.4:将源特征变换趋势w1(f
s
),w2(f
s
),
…
,w
k
(f
s
)和变换组成掩膜m进行线性组合得到混合变换w;步骤4.5:将步骤4.4获得的混合变换w与步骤2.1获得的源图片外观特征f
s
输入到视频生成网络,生成活体视频。6.根据权利要求5所述的一种基于视频驱动图像的活体视频生成方法,其特征在于,所述步骤5具体包括以下步骤:步骤5:使用损失函数优化训练,输出活体视频;步骤5.1:对于步骤4.5生成的每一个活体视频,计算其损失值;步骤5.2:根据步骤5.1计算的损失值不断优化训练过程中的参数,最小化损失值,输出优化后的活体视频。7.根据权利要求6所述的一种基于视频驱动图像的活体视频生成方法,其特征在于,所述步骤6具体包括以下步骤:步骤6.1:将人脸说话视频y分帧得到{y1,y2,
…
,y
n
};步骤6.2:对步骤6.1得到的所有帧图片使用三元域翻译网络进行全局优化;步骤6.3:使用人脸检测技术检测裁剪优化后的帧图片,提取人脸区域步骤6.4:将步骤6.3获得的人脸区域使用渐进生成器网络进行面部增强,得到步骤6.5:将步骤6.4增强后的面部区域与原帧图片合并,图片修复完成。
技术总结
本发明公开了一种基于视频驱动图像的活体视频生成方法,属于人工智能技术领域,拟解决现有仅着重于说话时唇部运动的处理,其他动作的刻画没有进行深入研究,例如,摇头、眨眼等;且生成视频清晰度不高,对于除唇部外的其他部位的细节处理比较模糊的技术问题;该方法摆脱了语音驱动的人脸说话视频的限制,可以生成仅包含面部五官动作的活体视频;并且对生成的视频进行了优化修复,面部、人物背景的细节部分处理得更好;可以生成分辨率更高、更清晰的视频。的视频。的视频。
技术研发人员:杨洋 常晋源 林昱 刘曼璐 王紫蕊
受保护的技术使用者:四川新网银行股份有限公司
技术研发日:2023.05.08
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种光变油墨的颜色测量方法 下一篇:一种基于图文多模态特征融合的枸杞虫害识别方法
