CN115311720B - 一种基于Transformer的deepfake生成方法 - Google Patents

一种基于Transformer的deepfake生成方法 Download PDF

Info

Publication number
CN115311720B
CN115311720B CN202210964397.0A CN202210964397A CN115311720B CN 115311720 B CN115311720 B CN 115311720B CN 202210964397 A CN202210964397 A CN 202210964397A CN 115311720 B CN115311720 B CN 115311720B
Authority
CN
China
Prior art keywords
vector
module
input
picture
swin
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210964397.0A
Other languages
English (en)
Other versions
CN115311720A (zh
Inventor
舒明雷
曹伟
王英龙
董安明
高天雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qilu University of Technology
Shandong Institute of Artificial Intelligence
Original Assignee
Qilu University of Technology
Shandong Institute of Artificial Intelligence
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qilu University of Technology, Shandong Institute of Artificial Intelligence filed Critical Qilu University of Technology
Priority to CN202210964397.0A priority Critical patent/CN115311720B/zh
Publication of CN115311720A publication Critical patent/CN115311720A/zh
Application granted granted Critical
Publication of CN115311720B publication Critical patent/CN115311720B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Processing (AREA)

Abstract

一种基于Transformer的deepfake生成方法,通过将预处理得到的源身份人脸和目标身份人脸图片,放入基于Swin Transformer为主干网络的编码器,得到图片中的人脸整体编码特征,再将编码特征进行特征向量嵌入得到最终编码向量,再放入基于注意力的解码器生成特定的身份图片之前,将编码向量进行嵌出。之后嵌出向量通过基于注意力的解码器即可生成特定身份的高分辨图片。之后为了提升图片生成质量,使用图片块判别器进行更加大的区域感知。最后再利用人脸转化中的人脸扭曲和插值模块、肤色校正模块和人脸融合拼接模块生成最终的人脸交换结果。本专利不仅加强了编码和解码过程中人脸表情和身份信息的控制而且最终得到高分辨图片人脸交换的结果。

Description

一种基于Transformer的deepfake生成方法
技术领域
本发明涉及视频或图片中人脸交换领域,具体涉及一种基于Transformer的deepfake生成方法。
背景技术
随着深度学习技术的发展、自媒体的兴起而产生的大量人脸数据,deepfake技术随之产生。Deepfake生成是指给定任意两个人脸图片,选定一个为源身份人脸图片,另一个则为目标身份人脸图片。具体来说,是通过二者最终生成的人脸,应当包含源身份人脸的身份信息,同时保证与目标身份人脸的属性信息(表情、姿势和光照等等)保持一致。
之前的这些deepfake生成方法,都是基于卷积神经网络为主要框架的。人们设计了各种各样的卷积神经网络模块来满足换脸需求。从最开始的上采样、下采样模块到之后的身份信息模块、人脸属性分离模块以及其它模块,这些功能模块在提高deepfake生成效率上发挥了一定的作用,但是也存在一定的问题。首先,由于卷积神经网络自身的局限性,存在归纳偏置的问题,无法对图片的长距离关系进行把握。因此使用卷积神经网络设计的编码模块不可避免地导致编码向量缺乏人脸表情和身份的丰富特征信息。其次,现有绝大部分的生成方法无法在高分辨率图片做到清晰的生成。
发明内容
本发明为了克服以上技术的不足,提供了一种使用Swin Transformer作为编码器以及包含注意力的解码器,来加强编码和解码过程中人脸表情和身份信息的控制的基于Transformer的deepfake生成方法。
本发明克服其技术问题所采用的技术方案是:
一种基于Transformer的deepfake生成方法,包括:
a)对包含源身份人脸的源视频Vs进行人脸识别及人脸对齐操作,得到源身份人脸图片Ps,对包含目标身份人脸的目标视频Vt进行人脸识别及人脸对齐操作,得到目标身份人脸图片Pt
b)建立网络模型,该网络模型由Swin Transformer编码器E、向量嵌入单元Vin、源身份的向量嵌出单元Vouts、目标身份的向量嵌出单元Voutt、源身份的基于注意力的解码器Gs、目标身份的基于注意力的解码器Gt、源身份图片的判别器Ds以及目标身份图片的判别器Dt构成;
c)将源身份人脸图片Ps和目标身份人脸图片Pt输入Swin Transformer编码器E中,输出得到源身份人脸图片的编码向量
Figure GDA0004213111860000021
及目标身份人脸图片的编码向量/>
Figure GDA0004213111860000022
d)将源身份人脸图片的编码向量
Figure GDA0004213111860000023
及目标身份人脸图片的编码向量/>
Figure GDA0004213111860000024
分别输入到向量嵌入单元Vin中,输出得到源身份人脸图片的编码向量/>
Figure GDA0004213111860000025
及目标身份人脸图片的编码向量/>
Figure GDA0004213111860000026
/>
e)将源身份人脸图片的编码向量
Figure GDA0004213111860000027
输入到源身份的向量嵌出单元Vouts中,输出得到源身份人脸图片的解码向量Vs,将目标身份人脸图片的编码向量/>
Figure GDA0004213111860000028
输入到目标身份的向量嵌出单元Voutt中,输出得到目标身份人脸图片的解码向量Vt
f)将源身份人脸图片的解码向量Vs输入到源身份的基于注意力的解码器Gs中,输出得到源身份人脸图片的重建高分辨率图片Rs,将目标身份人脸图片的解码向量Vt输入到目标身份的基于注意力的解码器Gt中,输出得到目标身份人脸图片的重建高分辨率图片Rt
g)将高分辨率图片Rs输入到源身份图片的判别器Ds中,采用PatchGAN判别器对高分辨率图片Rs进行判别,得到判别结果
Figure GDA0004213111860000029
将高分辨率图片Rt输入到目标身份图片的判别器Dt中,采用PatchGAN判别器对高分辨率图片Rt进行判别,得到判别结果/>
Figure GDA00042131118600000210
完成模型建立;h)通过损失函数lall利用Adam优化器迭代步骤c)至g)中模型的参数,得到优化后的模型;i)将目标身份人脸图片Pt输入到步骤h)中优化后的模型内,依次经过优化后的模型的Swin Transformer编码器E、向量嵌入单元Vin、源身份的向量嵌出单元Vouts、源身份的基于注意力的解码器Gs后输出得到高分辨率图片解码结果Rt2s,利用dlib库对目标身份人脸图片Pt检测分别得到目标身份人脸的人脸特征点fk、目标人脸图片Pt p及目标人脸背景图片Pt c
j)根据高分辨率图片解码结果Rt2s、目标身份人脸的人脸特征点fk、目标人脸图片Pt p及目标人脸背景图片Pt c得到最终换脸结果Routput
进一步的,步骤a)中使用InsightFace工具对包含源身份人脸的源视频Vs以及包含目标身份人脸的目标视频Vt进行人脸识别及人脸对齐操作。
优选的,步骤a)中源身份人脸图片Ps及目标身份人脸图片Pt的大小均设置为224*224。
进一步的,步骤c)包括如下步骤:
c-1)Swin Transformer编码器E依次由patch Partition模块、第一处理模块、第二处理模块、第三处理模块及第四处理模块构成;
c-2)所述patch Partition模块由一个卷积核为4*4、步长为4的卷积层构成,将源身份人脸图片Ps和目标身份人脸图片Pt分别输入到patch Partition模块中,输出得到不重叠的源身份人脸图片的图片块Ps patch及目标身份人脸图片的图片块Pt patch,将图片块Ps patch及图片块Pt patch加上绝对位置编码,分别得到编码向量Ps e和编码向量Pt e
c-3)所述第一处理模块依次由Linear Embeding层、第一Swin Transformerblock、第二Swin Transformer block构成,Linear Embeding层由一个卷积核为1*1、输出特征通道数为33的卷积层构成,第一Swin Transformer block与第二Swin Transformerblock均由Swin Transformer网络中以移动窗口所构成的注意力计算单元构成,第一SwinTransformer block与第二Swin Transformer block的多头个数设置为3,将编码向量Ps e和编码向量Pt e输入到第一处理模块后,分别输出得到编码向量
Figure GDA0004213111860000031
和编码向量/>
Figure GDA0004213111860000032
c-4)所述第二处理模块依次由Swin Transformer网络中的patch merging层、第一Swin Transformer block、第二Swin Transformer block构成,第一Swin Transformerblock与第二Swin Transformer block均由Swin Transformer网络中以移动窗口所构成的注意力计算单元构成,第一Swin Transformer block与第二Swin Transformer block的多头个数设置为6,将编码向量
Figure GDA0004213111860000033
和编码向量/>
Figure GDA0004213111860000034
输入到第二处理模块后,分别输出得到编码向量/>
Figure GDA0004213111860000035
和编码向量/>
Figure GDA0004213111860000036
c-5)所述第三处理模块依次由Swin Transformer网络中的patch merging层、第一Swin Transformer block、第二Swin Transformer block、第三Swin Transformerblock、第四Swin Transformer block、第五Swin Transformer block、第六SwinTransformer block构成,第一Swin Transformer block、第二Swin Transformer block、第三Swin Transformer block、第四Swin Transformer block、第五Swin Transformerblock、第六Swin Transformer block均由Swin Transformer网络中以移动窗口所构成的注意力计算单元构成,第一Swin Transformer block、第二Swin Transformer block、第三Swin Transformer block、第四Swin Transformer block、第五Swin Transformer block、第六Swin Transformer block的多头个数设置为12,将编码向量
Figure GDA0004213111860000041
和编码向量/>
Figure GDA0004213111860000042
输入到第三处理模块后,分别输出得到编码向量/>
Figure GDA0004213111860000043
和编码向量/>
Figure GDA0004213111860000044
c-6)所述第四处理模块依次由Swin Transformer网络中的patch merging层、第一Swin Transformer block、第二SwinTransformer block、第三Swin Transformer block、第四Swin Transformer block、第五Swin Transformer block、第六Swin Transformer block构成,第一Swin Transformerblock、第二Swin Transformer block、第三Swin Transformer block、第四SwinTransformer block、第五Swin Transformer block、第六Swin Transformer block均由Swin Transformer网络中以移动窗口所构成的注意力计算单元构成,第一SwinTransformer block、第二Swin Transformer block、第三Swin Transformer block、第四Swin Transformer block、第五Swin Transformer block、第六Swin Transformer block的多头个数设置为12,将编码向量/>
Figure GDA0004213111860000045
和编码向量/>
Figure GDA0004213111860000046
输入到第四处理模块后,分别输出得到编码向量/>
Figure GDA0004213111860000047
和编码向量/>
Figure GDA0004213111860000048
优选的,步骤d)中向量嵌入单元Vin由一个卷积核为1*1、输出特征通道数为256的卷积层构成;步骤e)中源身份的向量嵌出单元Vouts及目标身份的向量嵌出单元Voutt均依次由两个卷积核为1*1、输出特征通道数为256的卷积层构成。
进一步的,步骤f)包括如下步骤:
f-1)源身份的基于注意力的解码器Gs和目标身份的基于注意力的解码器Gt均依次由3*3卷积核的第一卷积层、第一残差模块、第二残差模块、第一上采样单元、第二上采样单元、第三上采样单元、第四上采样单元、第三残差模块、第四残差模块、第五残差模块、第一自注意力模块、第二自注意力模块、第三自注意力模块、第一上采样模块、第二上采样模块、第三上采样模块、第二卷积层构成;
f-2)第一上采样单元、第二上采样单元、第三上采样单元、第四上采样单元均依次由残差模块和上采样模块构成,所述第一残差模块、第二残差模块、第三残差模块、第四残差模块、第五残差模块以及第一上采样单元、第二上采样单元、第三上采样单元、第四上采样单元中的残差模块均由第一分支和第二分支构成,所述第一分支依次由第一批标准化层、第一ReLU函数层、卷积核为3*3的第一卷积层、卷积核为2*2最大池化层、第二批标准化层、第二ReLU函数层及卷积核为3*3第二卷积层构成,所述第二分支依次由第三批标准化层、ReLU函数层及卷积核为3*3的第三卷积层构成,第一自注意力模块、第二自注意力模块、第三自注意力模块均由第一分支、第二分支构成,所述第一分支由归一化层、第一卷积层、第二卷积层、第三卷积层、第一乘法模块、Softmax函数层、第二乘法模块及第四卷积层构成;
f-3)将源身份人脸图片的解码向量Vs输入到源身份的基于注意力的解码器Gs中,经第一卷积层卷积后,输出得到向量
Figure GDA0004213111860000051
将向量/>
Figure GDA0004213111860000052
输入到第一残差模块中的第一分支后输出得到向量/>
Figure GDA0004213111860000053
将向量/>
Figure GDA0004213111860000054
输入到第一残差模块中的第二分支后输出得到向量/>
Figure GDA0004213111860000055
将向量
Figure GDA0004213111860000056
与向量/>
Figure GDA0004213111860000057
相加得到向量/>
Figure GDA0004213111860000058
将向量/>
Figure GDA0004213111860000059
输入到第二残差模块中的第一分支后输出得到向量/>
Figure GDA00042131118600000510
将向量/>
Figure GDA00042131118600000511
输入到第二残差模块中的第二分支后输出得到向量/>
Figure GDA00042131118600000512
将向量/>
Figure GDA00042131118600000513
与向量/>
Figure GDA00042131118600000514
相加得到向量/>
Figure GDA00042131118600000515
将向量/>
Figure GDA00042131118600000516
输入到第一上采样单元的残差模块第一个分支后输出得到向量/>
Figure GDA00042131118600000517
将向量/>
Figure GDA00042131118600000518
输入到第一上采样单元的残差模块第二个分支后输出得到向量
Figure GDA00042131118600000519
将向量/>
Figure GDA00042131118600000520
与向量/>
Figure GDA00042131118600000521
相加得到向量/>
Figure GDA00042131118600000522
将向量/>
Figure GDA00042131118600000523
输入到第一上采样单元的上采样模块中,输出得到向量/>
Figure GDA00042131118600000547
将向量/>
Figure GDA00042131118600000524
输入到第二上采样单元的残差模块第一个分支后输出得到向量/>
Figure GDA00042131118600000525
将向量/>
Figure GDA00042131118600000526
输入到第二上采样单元的残差模块第二个分支后输出得到向量/>
Figure GDA00042131118600000527
将向量/>
Figure GDA00042131118600000528
与向量/>
Figure GDA00042131118600000529
相加得到向量/>
Figure GDA00042131118600000530
将向量/>
Figure GDA00042131118600000531
输入到第二上采样单元的上采样模块中,输出得到向量/>
Figure GDA00042131118600000532
将向量/>
Figure GDA00042131118600000533
输入到第三上采样单元的残差模块第一个分支后输出得到向量/>
Figure GDA00042131118600000534
将向量/>
Figure GDA00042131118600000535
输入到第三上采样单元的残差模块第二个分支后输出得到向量/>
Figure GDA00042131118600000536
将向量/>
Figure GDA00042131118600000537
与向量/>
Figure GDA00042131118600000538
相加得到向量/>
Figure GDA00042131118600000539
将向量/>
Figure GDA00042131118600000548
输入到第三上采样单元的上采样模块中,输出得到向量/>
Figure GDA00042131118600000540
将向量/>
Figure GDA00042131118600000541
输入到第四上采样单元的残差模块第一个分支后输出得到向量/>
Figure GDA00042131118600000542
将向量/>
Figure GDA00042131118600000543
输入到第四上采样单元的残差模块第二个分支后输出得到向量/>
Figure GDA00042131118600000544
将向量/>
Figure GDA00042131118600000545
与向量/>
Figure GDA00042131118600000546
相加得到向量/>
Figure GDA0004213111860000061
将向量/>
Figure GDA0004213111860000062
输入到第四上采样单元的上采样模块中,输出得到向量/>
Figure GDA0004213111860000063
将向量/>
Figure GDA00042131118600000651
输入到第三残差模块的第一分支后,输出得到向量/>
Figure GDA0004213111860000064
将向量/>
Figure GDA0004213111860000065
输入到第三残差模块的第二分支后,输出得到向量/>
Figure GDA0004213111860000066
将向量/>
Figure GDA0004213111860000067
与向量/>
Figure GDA0004213111860000068
相加得到向量/>
Figure GDA0004213111860000069
将向量/>
Figure GDA00042131118600000610
输入到第四残差模块的第一分支后,输出得到向量
Figure GDA00042131118600000611
将向量/>
Figure GDA00042131118600000612
输入到第四残差模块的第二分支后,输出得到向量/>
Figure GDA00042131118600000613
将向量/>
Figure GDA00042131118600000614
与向量
Figure GDA00042131118600000615
相加得到向量/>
Figure GDA00042131118600000616
将向量/>
Figure GDA00042131118600000617
输入到第五残差模块的第一分支后,输出得到向量/>
Figure GDA00042131118600000618
将向量/>
Figure GDA00042131118600000619
输入到第五残差模块的第二分支后,输出得到向量/>
Figure GDA00042131118600000620
将向量/>
Figure GDA00042131118600000621
与向量/>
Figure GDA00042131118600000622
相加得到向量/>
Figure GDA00042131118600000623
将向量/>
Figure GDA00042131118600000624
输入到第一自注意力模块的第一分支的归一化层归一化处理后得到向量/>
Figure GDA00042131118600000625
将向量/>
Figure GDA00042131118600000626
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量/>
Figure GDA00042131118600000627
将特征映射/>
Figure GDA00042131118600000628
及/>
Figure GDA00042131118600000629
输入到第一乘法模块中进行相乘计算,得到空间向量/>
Figure GDA00042131118600000630
将空间向量/>
Figure GDA00042131118600000631
输入到Softmax函数层中,得到激活函数值
Figure GDA00042131118600000632
式中softmax(·)为Softmax激活函数,T为转置,dks1为空间向量/>
Figure GDA00042131118600000649
的维度,将激活函数值/>
Figure GDA00042131118600000633
及空间向量/>
Figure GDA00042131118600000650
一同输入到第二乘法模块中进行相乘计算,通过公式/>
Figure GDA00042131118600000634
计算得到注意力
Figure GDA00042131118600000635
将注意力/>
Figure GDA00042131118600000636
输入到第四卷积层中,输出得到向量/>
Figure GDA00042131118600000637
将向量/>
Figure GDA00042131118600000638
与第一自注意力模块的第二分支输入的向量/>
Figure GDA00042131118600000639
相加得到向量/>
Figure GDA00042131118600000640
将向量/>
Figure GDA00042131118600000641
输入到第二自注意力模块的第一分支的归一化层归一化处理后,得到向量/>
Figure GDA00042131118600000642
将向量/>
Figure GDA00042131118600000643
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure GDA00042131118600000644
将特征映射/>
Figure GDA00042131118600000645
及/>
Figure GDA00042131118600000646
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure GDA00042131118600000647
将空间向量/>
Figure GDA00042131118600000648
输入到Softmax函数层中,得到激活函数值/>
Figure GDA0004213111860000071
式中dks2为空间向量/>
Figure GDA0004213111860000072
的维度,将激活函数值/>
Figure GDA0004213111860000073
及空间向量/>
Figure GDA0004213111860000074
一同输入到第二乘法模块中进行相乘计算,通过公式/>
Figure GDA0004213111860000075
计算得到注意力/>
Figure GDA0004213111860000076
将注意力/>
Figure GDA0004213111860000077
输入到第四卷积层中,输出得到向量/>
Figure GDA0004213111860000078
将向量/>
Figure GDA0004213111860000079
与第二自注意力模块的第二分支输入的向量/>
Figure GDA00042131118600000710
相加得到向量
Figure GDA00042131118600000711
将向量/>
Figure GDA00042131118600000712
输入到第三自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure GDA00042131118600000713
将向量/>
Figure GDA00042131118600000714
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量/>
Figure GDA00042131118600000715
将特征映射/>
Figure GDA00042131118600000716
及/>
Figure GDA00042131118600000717
输入到第一乘法模块中进行相乘计算,得到空间向量/>
Figure GDA00042131118600000718
将空间向量/>
Figure GDA00042131118600000719
输入到Softmax函数层中,得到激活函数值
Figure GDA00042131118600000720
式中dks3为空间向量/>
Figure GDA00042131118600000731
的维度,将激活函数值/>
Figure GDA00042131118600000721
及空间向量/>
Figure GDA00042131118600000722
一同输入到第二乘法模块中进行相乘计算,通过公式
Figure GDA00042131118600000723
计算得到注意力/>
Figure GDA00042131118600000724
将注意力
Figure GDA00042131118600000725
输入到第四卷积层中,输出得到向量/>
Figure GDA00042131118600000726
将向量/>
Figure GDA00042131118600000727
与第三自注意力模块的第二分支输入的向量/>
Figure GDA00042131118600000728
相加得到向量/>
Figure GDA00042131118600000729
将向量/>
Figure GDA00042131118600000730
依次输入到源身份的基于注意力的解码器Gs的第一上采样模块、第二上采样模块、第三上采样模块、第二卷积层后输出得到高分辨图片Rs
f-4)将目标身份人脸图片的解码向量Vt输入到目标身份的基于注意力的解码器Gt中,经第一卷积层卷积后,输出得到向量
Figure GDA0004213111860000081
将向量/>
Figure GDA0004213111860000082
输入到第一残差模块中的第一分支后输出得到向量/>
Figure GDA0004213111860000083
将向量/>
Figure GDA0004213111860000084
输入到第一残差模块中的第二分支后输出得到向量/>
Figure GDA0004213111860000085
将向量/>
Figure GDA0004213111860000086
与向量/>
Figure GDA0004213111860000087
相加得到向量/>
Figure GDA0004213111860000088
将向量/>
Figure GDA0004213111860000089
输入到第二残差模块中的第一分支后输出得到向量/>
Figure GDA00042131118600000810
将向量/>
Figure GDA00042131118600000811
输入到第二残差模块中的第二分支后输出得到向量/>
Figure GDA00042131118600000812
将向量/>
Figure GDA00042131118600000813
与向量/>
Figure GDA00042131118600000814
相加得到向量/>
Figure GDA00042131118600000815
将向量/>
Figure GDA00042131118600000816
输入到第一上采样单元的残差模块第一个分支后输出得到向量/>
Figure GDA00042131118600000817
将向量/>
Figure GDA00042131118600000818
输入到第一上采样单元的残差模块第二个分支后输出得到向量
Figure GDA00042131118600000819
将向量/>
Figure GDA00042131118600000820
与向量/>
Figure GDA00042131118600000821
相加得到向量/>
Figure GDA00042131118600000822
将向量/>
Figure GDA00042131118600000823
输入到第一上采样单元的上采样模块中,输出得到向量/>
Figure GDA00042131118600000824
将向量/>
Figure GDA00042131118600000825
输入到第二上采样单元的残差模块第一个分支后输出得到向量/>
Figure GDA00042131118600000826
将向量/>
Figure GDA00042131118600000827
输入到第二上采样单元的残差模块第二个分支后输出得到向量
Figure GDA00042131118600000828
将向量/>
Figure GDA00042131118600000829
与向量/>
Figure GDA00042131118600000830
相加得到向量/>
Figure GDA00042131118600000831
将向量/>
Figure GDA00042131118600000832
输入到第二上采样单元的上采样模块中,输出得到向量/>
Figure GDA00042131118600000833
将向量/>
Figure GDA00042131118600000834
输入到第三上采样单元的残差模块第一个分支后输出得到向量/>
Figure GDA00042131118600000835
将向量/>
Figure GDA00042131118600000836
输入到第三上采样单元的残差模块第二个分支后输出得到向量/>
Figure GDA00042131118600000837
将向量/>
Figure GDA00042131118600000838
与向量/>
Figure GDA00042131118600000839
相加得到向量/>
Figure GDA00042131118600000840
将向量/>
Figure GDA00042131118600000841
输入到第三上采样单元的上采样模块中,输出得到向量/>
Figure GDA00042131118600000842
将向量/>
Figure GDA00042131118600000843
输入到第四上采样单元的残差模块第一个分支后输出得到向量/>
Figure GDA00042131118600000844
将向量/>
Figure GDA00042131118600000845
输入到第四上采样单元的残差模块第二个分支后输出得到向量/>
Figure GDA00042131118600000846
将向量/>
Figure GDA00042131118600000847
与向量/>
Figure GDA00042131118600000848
相加得到向量/>
Figure GDA00042131118600000849
将向量/>
Figure GDA00042131118600000850
输入到第四上采样单元的上采样模块中,输出得到向量/>
Figure GDA00042131118600000851
将向量Rt u输入到第三残差模块的第一分支后,输出得到向量/>
Figure GDA00042131118600000852
将向量/>
Figure GDA00042131118600000853
输入到第三残差模块的第二分支后,输出得到向量/>
Figure GDA00042131118600000854
将向量/>
Figure GDA00042131118600000855
与向量/>
Figure GDA00042131118600000856
相加得到向量/>
Figure GDA00042131118600000857
将向量/>
Figure GDA00042131118600000858
输入到第四残差模块的第一分支后,输出得到向量/>
Figure GDA00042131118600000859
将向量/>
Figure GDA00042131118600000860
输入到第四残差模块的第二分支后,输出得到向量/>
Figure GDA00042131118600000861
将向量/>
Figure GDA00042131118600000862
与向量/>
Figure GDA00042131118600000863
相加得到向量/>
Figure GDA00042131118600000864
将向量/>
Figure GDA00042131118600000865
输入到第五残差模块的第一分支后,输出得到向量
Figure GDA00042131118600000866
将向量/>
Figure GDA00042131118600000867
输入到第五残差模块的第二分支后,输出得到向量/>
Figure GDA00042131118600000868
将向量/>
Figure GDA00042131118600000869
与向量
Figure GDA00042131118600000870
相加得到向量/>
Figure GDA0004213111860000091
将向量/>
Figure GDA0004213111860000092
输入到第一自注意力模块的第一分支的归一化层归一化处理后,得到向量/>
Figure GDA0004213111860000093
将向量/>
Figure GDA0004213111860000094
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量/>
Figure GDA0004213111860000095
将特征映射/>
Figure GDA0004213111860000096
及/>
Figure GDA0004213111860000097
输入到第一乘法模块中进行相乘计算,得到空间向量/>
Figure GDA0004213111860000098
将空间向量/>
Figure GDA0004213111860000099
输入到Softmax函数层中,得到激活函数值/>
Figure GDA00042131118600000910
式中dkt1为空间向量/>
Figure GDA00042131118600000911
的维度,将激活函数值/>
Figure GDA00042131118600000912
及空间向量/>
Figure GDA00042131118600000913
一同输入到第二乘法模块中进行相乘计算,通过公式
Figure GDA00042131118600000914
计算得到注意力/>
Figure GDA00042131118600000915
将注意力
Figure GDA00042131118600000916
输入到第四卷积层中,输出得到向量/>
Figure GDA00042131118600000917
将向量/>
Figure GDA00042131118600000918
与第一自注意力模块的第二分支输入的向量/>
Figure GDA00042131118600000919
相加得到向量/>
Figure GDA00042131118600000920
将向量/>
Figure GDA00042131118600000921
输入到第二自注意力模块的第一分支的归一化层归一化处理后,得到向量/>
Figure GDA00042131118600000922
将向量/>
Figure GDA00042131118600000923
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量/>
Figure GDA00042131118600000924
将特征映射/>
Figure GDA00042131118600000925
Figure GDA00042131118600000926
输入到第一乘法模块中进行相乘计算,得到空间向量/>
Figure GDA00042131118600000927
将空间向量/>
Figure GDA00042131118600000928
输入到Softmax函数层中,得到激活函数值/>
Figure GDA00042131118600000929
式中dkt2为空间向量/>
Figure GDA00042131118600000930
的维度,将激活函数值/>
Figure GDA00042131118600000931
及空间向量/>
Figure GDA00042131118600000932
一同输入到第二乘法模块中进行相乘计算,通过公式/>
Figure GDA00042131118600000933
计算得到注意力/>
Figure GDA00042131118600000934
将注意力/>
Figure GDA00042131118600000935
输入到第四卷积层中,输出得到向量/>
Figure GDA0004213111860000101
将向量/>
Figure GDA0004213111860000102
与第二自注意力模块的第二分支输入的向量/>
Figure GDA0004213111860000103
相加得到向量/>
Figure GDA0004213111860000104
将向量/>
Figure GDA0004213111860000105
输入到第三自注意力模块的第一分支的归一化层归一化处理后,得到向量/>
Figure GDA0004213111860000106
将向量/>
Figure GDA0004213111860000107
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量/>
Figure GDA0004213111860000108
将特征映射/>
Figure GDA0004213111860000109
及/>
Figure GDA00042131118600001010
输入到第一乘法模块中进行相乘计算,得到空间向量/>
Figure GDA00042131118600001011
将空间向量
Figure GDA00042131118600001012
输入到Softmax函数层中,得到激活函数值/>
Figure GDA00042131118600001013
式中dkt3为空间向量/>
Figure GDA00042131118600001014
的维度,将激活函数值/>
Figure GDA00042131118600001015
及空间向量Vt 3一同输入到第二乘法模块中进行相乘计算,通过公式/>
Figure GDA00042131118600001016
计算得到注意力
Figure GDA00042131118600001017
将注意力/>
Figure GDA00042131118600001018
输入到第四卷积层中,输出得到向量
Figure GDA00042131118600001019
将向量/>
Figure GDA00042131118600001020
与第三自注意力模块的第二分支输入的向量/>
Figure GDA00042131118600001021
相加得到向量/>
Figure GDA00042131118600001022
将向量
Figure GDA00042131118600001023
依次输入到目标身份的基于注意力的解码器Gt的第一上采样模块、第二上采样模块、第三上采样模块、第二卷积层后输出得到高分辨图片Rt
进一步的,步骤c-2)中通过随机生成一组相同的维度的可学习参数得到绝对位置编码。
优选的,步骤f-1)中第二卷积层的卷积核为3*3、步长为1、填充为1及输出特征通道数为3,第一上采样模块、第二上采样模块、第三上采样模块均依次由最近邻插值算法单元及一个卷积核为3*3、步长为1、填充为1的卷积层构成,步骤f-2)中第一上采样单元、第二上采样单元、第三上采样单元、第四上采样单元中的上采样模块依次由最近邻插值算法单元及一个卷积核为3*3、步长为1、填充为1的卷积层构成,步骤f-2)中第一自注意力模块、第二自注意力模块、第三自注意力模块中的第一卷积层、第二卷积层、第三卷积层的卷积核大小为3*3、步长为1,第四卷积层的卷积核大小为1*1、步长为1。
进一步的,步骤h)中通过公式lall=lrec+ld+llpips计算得到损失函数lall,式中lrec为重建图片损失,ld为判别损失,llpips为感知相似性损失,lrec=||Rs-Ps||2+||Rt-Pt||2
Figure GDA0004213111860000111
式中Ds(Ps)为将源身份人脸图片Ps输入到源身份图片的判别器Ds中,采用PatchGAN判别器对源身份人脸图片Ps进行判别后的判别结果,Dt(Pt)为将目标身份人脸图片Pt输入到目标身份图片的判别器中,采用PatchGAN判别器对目标身份人脸图片Pt进行判别后的判别结果,
Figure GDA0004213111860000112
式中Ci为VGG网络第i层的特征通道数,Hi为VGG网络第i层的特征长度,Wi为VGG网络第i层的特征宽度,i∈{1,...,n},n为VGG网络的总层数,VGGi(Rs)为将高分辨率图片Rs输入到VGG网络第i层后得到的输出结果,VGGi(Ps)为将源身份人脸图片Ps输入到VGG网络第i层后得到的输出结果,VGGi(Rt)为将高分辨率图片Rt输入到VGG网络第i层后得到的输出结果,VGGi(Pt)为将目标身份人脸图片Pt输入到VGG网络第i层后得到的输出结果。
进一步的,步骤j)包括如下步骤:
j-1)将目标身份人脸图片Pt根据Delaunay三角剖分算法和人脸特征点fk计算得到图片Pt d
j-2)将高分辨率图片解码结果Rt2s根据图片Pt d中的人脸特征点使用双线性插值和仿射变换得到人脸插值结果RV
j-3)将图片Pt d利用凸包算法和目标身份人脸的人脸特征点fk计算得到相应的目标人脸掩膜Mt
j-4)将图片Pt d通过剪裁操作后得到背景为黑色的图片Pt f
j-5)将图片Pt f进行高斯模糊化操作,得到图片Pt b,将人脸插值结果RV进行高斯模糊化操作,得到图片
Figure GDA0004213111860000113
j-6)通过公式
Figure GDA0004213111860000114
计算得到肤色转化结果Rc
j-7)通过公式
Figure GDA0004213111860000115
计算得到人脸融合结果/>
Figure GDA0004213111860000116
式中⊙为同或逻辑运算,通过公式/>
Figure GDA0004213111860000121
来优化人脸融合结果/>
Figure GDA0004213111860000122
的像素值P(Mt,Rc,Pt p),式中||·||2为L2范数,▽为梯度算子,f为目标人脸图片Pt p与肤色转化结果Rc连接边缘区域;
j-8)将人脸融合结果
Figure GDA0004213111860000123
和目标人脸背景图片Pt c拼接得到最终换脸结果Routput
本发明的有益效果是:通过将预处理得到的源身份人脸和目标身份人脸图片,放入基于Swin Transformer为主干网络的编码器,得到图片中的人脸整体编码特征(包含眼睛、鼻子、嘴巴、肤色、背景等等特征),再将编码特征进行特征向量嵌入得到最终编码向量,再放入基于注意力的解码器生成特定的身份图片之前,将编码向量进行嵌出。之后嵌出向量通过基于注意力的解码器即可生成特定身份的高分辨图片,同时该图片保留目标身份的表情、姿势、光照等等特征。最后为了提升图片生成质量,使用图片块判别器进行更加大的区域感知,提升对图片细节的把控,来使得生成图片的细节更加清晰、内容更加完整。该方法模型不仅加强了编码和解码过程中人脸表情和身份信息的控制而且最终得到高分辨图片人脸交换的结果。
附图说明
图1为本发明的网络模型结构图;
图2为本发明的Swin Transformer编码器模型图;
图3为本发明的基于注意力的解码器模型图;
图4为本发明的残差模块网络模型图;
图5为本发明的自注意力模块网络模型图;
图6为本发明的人脸转化过程图。
具体实施方式
下面结合附图1至附图6对本发明做进一步说明。
如附图6所示,一种基于Transformer的deepfake生成方法,包括:
a)对包含源身份人脸的源视频Vs进行人脸识别及人脸对齐操作,得到源身份人脸图片Ps,对包含目标身份人脸的目标视频Vt进行人脸识别及人脸对齐操作,得到目标身份人脸图片Pt
b)如附图1所示,建立网络模型,该网络模型由Swin Transformer编码器E、向量嵌入单元Vin、源身份的向量嵌出单元Vouts、目标身份的向量嵌出单元Voutt、源身份的基于注意力的解码器Gs、目标身份的基于注意力的解码器Gt、源身份图片的判别器Ds以及目标身份图片的判别器Dt构成。
c)将源身份人脸图片Ps和目标身份人脸图片Pt输入Swin Transformer编码器E中,输出得到源身份人脸图片的编码向量
Figure GDA0004213111860000131
及目标身份人脸图片的编码向量/>
Figure GDA0004213111860000132
d)将源身份人脸图片的编码向量
Figure GDA0004213111860000133
及目标身份人脸图片的编码向量/>
Figure GDA0004213111860000134
分别输入到向量嵌入单元Vin中,输出得到源身份人脸图片的编码向量/>
Figure GDA0004213111860000135
及目标身份人脸图片的编码向量/>
Figure GDA0004213111860000136
e)将源身份人脸图片的编码向量
Figure GDA0004213111860000137
输入到源身份的向量嵌出单元Vouts中,输出得到源身份人脸图片的解码向量Vs,将目标身份人脸图片的编码向量/>
Figure GDA0004213111860000138
输入到目标身份的向量嵌出单元Voutt中,输出得到目标身份人脸图片的解码向量Vt
f)将源身份人脸图片的解码向量Vs输入到源身份的基于注意力的解码器Gs中,输出得到源身份人脸图片的重建高分辨率图片Rs,将目标身份人脸图片的解码向量Vt输入到目标身份的基于注意力的解码器Gt中,输出得到目标身份人脸图片的重建高分辨率图片Rt
g)将高分辨率图片Rs输入到源身份图片的判别器Ds中,采用PatchGAN判别器对高分辨率图片Rs进行判别,得到判别结果
Figure GDA0004213111860000139
将高分辨率图片Rt输入到目标身份图片的判别器Dt中,采用PatchGAN判别器对高分辨率图片Rt进行判别,得到判别结果/>
Figure GDA00042131118600001310
完成模型建立。h)通过损失函数lall利用Adam优化器迭代步骤c)至g)中模型的参数,得到优化后的模型。i)将目标身份人脸图片Pt输入到步骤h)中优化后的模型内,依次经过优化后的模型的Swin Transformer编码器E、向量嵌入单元Vin、源身份的向量嵌出单元Vouts、源身份的基于注意力的解码器Gs后输出得到高分辨率图片解码结果Rt2s,利用dlib库对目标身份人脸图片Pt检测分别得到目标身份人脸的人脸特征点fk、目标人脸图片Pt p及目标人脸背景图片Pt c
j)根据高分辨率图片解码结果Rt2s、目标身份人脸的人脸特征点fk、目标人脸图片Pt p及目标人脸背景图片Pt c得到最终换脸结果Routput
利用Swin Transformer编码器的层级式架构来学习到人脸图片多尺度的丰富特征。为了便于对特征的学习,进一步对编码器提取的特征压缩并且在生成特定身份图片之前对特征进行嵌出。然后为了生成特定目标身份的高分辨图片,本发明使用基于注意力的解码器来完成高分辨图片的重建。基于注意力的解码器中利用Transformer来补充卷积神经网络的不足,使得解码器可以进行长距离把控,加强了编码和解码过程中人脸表情和身份信息的控制。最终再利用人脸转化中的人脸扭曲和插值模块、肤色校正模块和人脸融合拼接模块生成最终的人脸交换结果。解决了人脸交换领域目前存在的两个问题:(1)生成的人脸交换结果对身份信息和表情信息控制得不够细致。(2)绝大部分方法无法在高分辨率的图片上进行清晰的生成。
实施例1:
步骤a)中使用InsightFace工具对包含源身份人脸的源视频Vs以及包含目标身份人脸的目标视频Vt进行人脸识别及人脸对齐操作。
实施例2:
步骤a)中源身份人脸图片Ps及目标身份人脸图片Pt的大小均设置为224*224。
实施例3:
如附图2所示,步骤c)包括如下步骤:
c-1)Swin Transformer编码器E依次由patch Partition模块、第一处理模块、第二处理模块、第三处理模块及第四处理模块构成。
c-2)所述patch Partition模块由一个卷积核为4*4、步长为4的卷积层构成,将源身份人脸图片Ps和目标身份人脸图片Pt分别输入到patch Partition模块中,输出得到不重叠的源身份人脸图片的图片块Ps patch及目标身份人脸图片的图片块Pt patch,将图片块Ps patch及图片块Pt patch加上绝对位置编码,分别得到编码向量Ps e和编码向量Pt e
c-3)所述第一处理模块依次由Linear Embeding层、第一Swin Transformerblock、第二Swin Transformer block构成,Linear Embeding层由一个卷积核为1*1、输出特征通道数为33的卷积层构成,第一Swin Transformer block与第二Swin Transformerblock均由Swin Transformer网络中以移动窗口所构成的注意力计算单元构成,第一SwinTransformer block与第二Swin Transformer block的多头个数设置为3,将编码向量Ps e和编码向量Pt e输入到第一处理模块后,分别输出得到编码向量
Figure GDA0004213111860000151
和编码向量/>
Figure GDA0004213111860000152
c-4)所述第二处理模块依次由Swin Transformer网络中的patch merging层、第一SwinTransformer block、第二Swin Transformer block构成,第一Swin Transformer block与第二Swin Transformer block均由Swin Transformer网络中以移动窗口所构成的注意力计算单元构成,第一Swin Transformer block与第二Swin Transformer block的多头个数设置为6,将编码向量/>
Figure GDA0004213111860000153
和编码向量/>
Figure GDA0004213111860000154
输入到第二处理模块后,分别输出得到编码向量
Figure GDA0004213111860000155
和编码向量/>
Figure GDA0004213111860000156
c-5)所述第三处理模块依次由Swin Transformer网络中的patch merging层、第一Swin Transformer block、第二Swin Transformer block、第三Swin Transformerblock、第四Swin Transformer block、第五Swin Transformer block、第六SwinTransformer block构成,第一Swin Transformer block、第二Swin Transformer block、第三Swin Transformer block、第四Swin Transformer block、第五Swin Transformerblock、第六Swin Transformer block均由Swin Transformer网络中以移动窗口所构成的注意力计算单元构成,第一Swin Transformer block、第二Swin Transformer block、第三Swin Transformer block、第四Swin Transformer block、第五Swin Transformer block、第六Swin Transformer block的多头个数设置为12,将编码向量
Figure GDA0004213111860000157
和编码向量/>
Figure GDA0004213111860000158
输入到第三处理模块后,分别输出得到编码向量/>
Figure GDA0004213111860000159
和编码向量/>
Figure GDA00042131118600001510
c-6)所述第四处理模块依次由Swin Transformer网络中的patch merging层、第一Swin Transformer block、第二SwinTransformer block、第三Swin Transformer block、第四Swin Transformer block、第五Swin Transformer block、第六Swin Transformer block构成,第一Swin Transformerblock、第二Swin Transformer block、第三Swin Transformer block、第四SwinTransformer block、第五Swin Transformer block、第六Swin Transformer block均由Swin Transformer网络中以移动窗口所构成的注意力计算单元构成,第一SwinTransformer block、第二Swin Transformer block、第三Swin Transformer block、第四Swin Transformer block、第五Swin Transformer block、第六Swin Transformer block的多头个数设置为12,将编码向量/>
Figure GDA0004213111860000161
和编码向量/>
Figure GDA0004213111860000162
输入到第四处理模块后,分别输出得到编码向量/>
Figure GDA0004213111860000163
和编码向量/>
Figure GDA0004213111860000164
实施例4:
步骤d)中向量嵌入单元Vin由一个卷积核为1*1、输出特征通道数为256的卷积层构成;步骤e)中源身份的向量嵌出单元Vouts及目标身份的向量嵌出单元Voutt均依次由两个卷积核为1*1、输出特征通道数为256的卷积层构成。
实施例5:
如附图3所示,步骤f)包括如下步骤:
f-1)源身份的基于注意力的解码器Gs和目标身份的基于注意力的解码器Gt均依次由3*3卷积核的第一卷积层、第一残差模块、第二残差模块、第一上采样单元、第二上采样单元、第三上采样单元、第四上采样单元、第三残差模块、第四残差模块、第五残差模块、第一自注意力模块、第二自注意力模块、第三自注意力模块、第一上采样模块、第二上采样模块、第三上采样模块、第二卷积层构成。
f-2)如附图4所示,第一上采样单元、第二上采样单元、第三上采样单元、第四上采样单元均依次由残差模块和上采样模块构成,所述第一残差模块、第二残差模块、第三残差模块、第四残差模块、第五残差模块以及第一上采样单元、第二上采样单元、第三上采样单元、第四上采样单元中的残差模块均由第一分支和第二分支构成,所述第一分支依次由第一批标准化层(Batch Normalization)、第一ReLU函数层、卷积核为3*3的第一卷积层、卷积核为2*2最大池化层、第二批标准化层(Batch Normalization)、第二ReLU函数层及卷积核为3*3第二卷积层构成,所述第二分支依次由第三批标准化层(Batch Normalization)、ReLU函数层及卷积核为3*3的第三卷积层构成,如附图5所示,第一自注意力模块、第二自注意力模块、第三自注意力模块均由第一分支、第二分支构成,所述第一分支由归一化层、第一卷积层、第二卷积层、第三卷积层、第一乘法模块、Softmax函数层、第二乘法模块及第四卷积层构成。
f-3)将源身份人脸图片的解码向量Vs输入到源身份的基于注意力的解码器Gs中,经第一卷积层卷积后,输出得到向量
Figure GDA0004213111860000165
将向量/>
Figure GDA0004213111860000166
输入到第一残差模块中的第一分支后输出得到向量/>
Figure GDA0004213111860000171
将向量/>
Figure GDA0004213111860000172
输入到第一残差模块中的第二分支后输出得到向量/>
Figure GDA0004213111860000173
将向量
Figure GDA0004213111860000174
与向量/>
Figure GDA0004213111860000175
相加得到向量/>
Figure GDA0004213111860000176
将向量/>
Figure GDA0004213111860000177
输入到第二残差模块中的第一分支后输出得到向量/>
Figure GDA0004213111860000178
将向量/>
Figure GDA0004213111860000179
输入到第二残差模块中的第二分支后输出得到向量/>
Figure GDA00042131118600001710
将向量/>
Figure GDA00042131118600001711
与向量/>
Figure GDA00042131118600001712
相加得到向量/>
Figure GDA00042131118600001713
将向量/>
Figure GDA00042131118600001714
输入到第一上采样单元的残差模块第一个分支后输出得到向量/>
Figure GDA00042131118600001715
将向量/>
Figure GDA00042131118600001716
输入到第一上采样单元的残差模块第二个分支后输出得到向量
Figure GDA00042131118600001717
将向量/>
Figure GDA00042131118600001718
与向量/>
Figure GDA00042131118600001719
相加得到向量/>
Figure GDA00042131118600001720
将向量/>
Figure GDA00042131118600001721
输入到第一上采样单元的上采样模块中,输出得到向量/>
Figure GDA00042131118600001722
将向量/>
Figure GDA00042131118600001723
输入到第二上采样单元的残差模块第一个分支后输出得到向量/>
Figure GDA00042131118600001724
将向量/>
Figure GDA00042131118600001725
输入到第二上采样单元的残差模块第二个分支后输出得到向量
Figure GDA00042131118600001726
将向量/>
Figure GDA00042131118600001727
与向量/>
Figure GDA00042131118600001728
相加得到向量/>
Figure GDA00042131118600001729
将向量/>
Figure GDA00042131118600001730
输入到第二上采样单元的上采样模块中,输出得到向量/>
Figure GDA00042131118600001731
将向量/>
Figure GDA00042131118600001732
输入到第三上采样单元的残差模块第一个分支后输出得到向量/>
Figure GDA00042131118600001733
将向量/>
Figure GDA00042131118600001734
输入到第三上采样单元的残差模块第二个分支后输出得到向量/>
Figure GDA00042131118600001735
将向量/>
Figure GDA00042131118600001736
与向量/>
Figure GDA00042131118600001737
相加得到向量/>
Figure GDA00042131118600001738
将向量/>
Figure GDA00042131118600001739
输入到第三上采样单元的上采样模块中,输出得到向量/>
Figure GDA00042131118600001740
将向量/>
Figure GDA00042131118600001741
输入到第四上采样单元的残差模块第一个分支后输出得到向量/>
Figure GDA00042131118600001742
将向量/>
Figure GDA00042131118600001743
输入到第四上采样单元的残差模块第二个分支后输出得到向量/>
Figure GDA00042131118600001744
将向量/>
Figure GDA00042131118600001745
与向量/>
Figure GDA00042131118600001746
相加得到向量/>
Figure GDA00042131118600001747
将向量/>
Figure GDA00042131118600001748
输入到第四上采样单元的上采样模块中,输出得到向量/>
Figure GDA00042131118600001749
将向量/>
Figure GDA00042131118600001750
输入到第三残差模块的第一分支后,输出得到向量/>
Figure GDA00042131118600001751
将向量/>
Figure GDA00042131118600001752
输入到第三残差模块的第二分支后,输出得到向量/>
Figure GDA00042131118600001753
将向量/>
Figure GDA00042131118600001754
与向量/>
Figure GDA00042131118600001755
相加得到向量/>
Figure GDA00042131118600001756
将向量/>
Figure GDA00042131118600001757
输入到第四残差模块的第一分支后,输出得到向量
Figure GDA00042131118600001758
将向量/>
Figure GDA00042131118600001759
输入到第四残差模块的第二分支后,输出得到向量/>
Figure GDA00042131118600001760
将向量/>
Figure GDA00042131118600001761
与向量
Figure GDA00042131118600001762
相加得到向量/>
Figure GDA00042131118600001763
将向量/>
Figure GDA00042131118600001764
输入到第五残差模块的第一分支后,输出得到向量
Figure GDA00042131118600001765
将向量/>
Figure GDA00042131118600001766
输入到第五残差模块的第二分支后,输出得到向量/>
Figure GDA00042131118600001767
将向量/>
Figure GDA00042131118600001768
与向量/>
Figure GDA00042131118600001769
相加得到向量/>
Figure GDA00042131118600001770
将向量/>
Figure GDA00042131118600001771
输入到第一自注意力模块的第一分支的归一化层归一化处理后得到向量/>
Figure GDA0004213111860000181
将向量/>
Figure GDA0004213111860000182
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量/>
Figure GDA0004213111860000183
将特征映射/>
Figure GDA0004213111860000184
及/>
Figure GDA0004213111860000185
输入到第一乘法模块中进行相乘计算,得到空间向量/>
Figure GDA0004213111860000186
将空间向量/>
Figure GDA0004213111860000187
输入到Softmax函数层中,得到激活函数值/>
Figure GDA0004213111860000188
式中softmax(·)为Softmax激活函数,T为转置,dks1为空间向量/>
Figure GDA0004213111860000189
的维度,将激活函数值/>
Figure GDA00042131118600001810
及空间向量/>
Figure GDA00042131118600001811
一同输入到第二乘法模块中进行相乘计算,通过公式/>
Figure GDA00042131118600001812
计算得到注意力
Figure GDA00042131118600001813
将注意力/>
Figure GDA00042131118600001814
输入到第四卷积层中,输出得到向量/>
Figure GDA00042131118600001815
将向量/>
Figure GDA00042131118600001816
与第一自注意力模块的第二分支输入的向量/>
Figure GDA00042131118600001817
相加得到向量/>
Figure GDA00042131118600001818
将向量/>
Figure GDA00042131118600001819
输入到第二自注意力模块的第一分支的归一化层归一化处理后,得到向量/>
Figure GDA00042131118600001820
将向量/>
Figure GDA00042131118600001821
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure GDA00042131118600001822
将特征映射/>
Figure GDA00042131118600001823
及/>
Figure GDA00042131118600001824
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure GDA00042131118600001825
将空间向量/>
Figure GDA00042131118600001826
输入到Softmax函数层中,得到激活函数值/>
Figure GDA00042131118600001827
式中dks2为空间向量/>
Figure GDA00042131118600001828
的维度,将激活函数值/>
Figure GDA00042131118600001829
及空间向量/>
Figure GDA00042131118600001830
一同输入到第二乘法模块中进行相乘计算,通过公式/>
Figure GDA00042131118600001831
计算得到注意力/>
Figure GDA00042131118600001832
将注意力/>
Figure GDA00042131118600001833
输入到第四卷积层中,输出得到向量/>
Figure GDA00042131118600001834
将向量/>
Figure GDA00042131118600001835
与第二自注意力模块的第二分支输入的向量/>
Figure GDA00042131118600001836
相加得到向量/>
Figure GDA0004213111860000191
将向量/>
Figure GDA0004213111860000192
输入到第三自注意力模块的第一分支的归一化层归一化处理后,得到向量/>
Figure GDA0004213111860000193
将向量/>
Figure GDA0004213111860000194
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量/>
Figure GDA0004213111860000195
将特征映射/>
Figure GDA0004213111860000196
及/>
Figure GDA0004213111860000197
输入到第一乘法模块中进行相乘计算,得到空间向量/>
Figure GDA0004213111860000198
将空间向量/>
Figure GDA0004213111860000199
输入到Softmax函数层中,得到激活函数值
Figure GDA00042131118600001910
式中dks3为空间向量/>
Figure GDA00042131118600001911
的维度,将激活函数值/>
Figure GDA00042131118600001912
及空间向量/>
Figure GDA00042131118600001913
一同输入到第二乘法模块中进行相乘计算,通过公式
Figure GDA00042131118600001914
计算得到注意力/>
Figure GDA00042131118600001915
将注意力
Figure GDA00042131118600001916
输入到第四卷积层中,输出得到向量/>
Figure GDA00042131118600001917
将向量/>
Figure GDA00042131118600001918
与第三自注意力模块的第二分支输入的向量/>
Figure GDA00042131118600001919
相加得到向量/>
Figure GDA00042131118600001920
将向量/>
Figure GDA00042131118600001921
依次输入到源身份的基于注意力的解码器Gs的第一上采样模块、第二上采样模块、第三上采样模块、第二卷积层后输出得到高分辨图片Rs
f-4)将目标身份人脸图片的解码向量Vt输入到目标身份的基于注意力的解码器Gt中,经第一卷积层卷积后,输出得到向量
Figure GDA00042131118600001922
将向量/>
Figure GDA00042131118600001923
输入到第一残差模块中的第一分支后输出得到向量/>
Figure GDA00042131118600001924
将向量/>
Figure GDA00042131118600001925
输入到第一残差模块中的第二分支后输出得到向量/>
Figure GDA00042131118600001926
将向量/>
Figure GDA00042131118600001927
与向量/>
Figure GDA00042131118600001928
相加得到向量/>
Figure GDA00042131118600001929
将向量/>
Figure GDA00042131118600001930
输入到第二残差模块中的第一分支后输出得到向量/>
Figure GDA00042131118600001931
将向量/>
Figure GDA00042131118600001932
输入到第二残差模块中的第二分支后输出得到向量/>
Figure GDA00042131118600001933
将向量
Figure GDA00042131118600001934
与向量/>
Figure GDA00042131118600001935
相加得到向量/>
Figure GDA00042131118600001936
将向量/>
Figure GDA00042131118600001937
输入到第一上采样单元的残差模块第一个分支后输出得到向量/>
Figure GDA00042131118600001938
将向量/>
Figure GDA00042131118600001939
输入到第一上采样单元的残差模块第二个分支后输出得到向量/>
Figure GDA00042131118600001940
将向量/>
Figure GDA00042131118600001941
与向量/>
Figure GDA00042131118600001942
相加得到向量/>
Figure GDA00042131118600001943
将向量/>
Figure GDA00042131118600001944
输入到第一上采样单元的上采样模块中,输出得到向量/>
Figure GDA00042131118600001945
将向量/>
Figure GDA00042131118600001946
输入到第二上采样单元的残差模块第一个分支后输出得到向量/>
Figure GDA0004213111860000201
将向量/>
Figure GDA0004213111860000202
输入到第二上采样单元的残差模块第二个分支后输出得到向量/>
Figure GDA0004213111860000203
将向量/>
Figure GDA0004213111860000204
与向量/>
Figure GDA0004213111860000205
相加得到向量/>
Figure GDA0004213111860000206
将向量/>
Figure GDA0004213111860000207
输入到第二上采样单元的上采样模块中,输出得到向量/>
Figure GDA0004213111860000208
将向量/>
Figure GDA0004213111860000209
输入到第三上采样单元的残差模块第一个分支后输出得到向量/>
Figure GDA00042131118600002010
将向量/>
Figure GDA00042131118600002011
输入到第三上采样单元的残差模块第二个分支后输出得到向量/>
Figure GDA00042131118600002012
将向量/>
Figure GDA00042131118600002013
与向量/>
Figure GDA00042131118600002014
相加得到向量/>
Figure GDA00042131118600002015
将向量/>
Figure GDA00042131118600002016
输入到第三上采样单元的上采样模块中,输出得到向量/>
Figure GDA00042131118600002017
将向量/>
Figure GDA00042131118600002018
输入到第四上采样单元的残差模块第一个分支后输出得到向量/>
Figure GDA00042131118600002019
将向量/>
Figure GDA00042131118600002020
输入到第四上采样单元的残差模块第二个分支后输出得到向量/>
Figure GDA00042131118600002021
将向量/>
Figure GDA00042131118600002022
与向量/>
Figure GDA00042131118600002023
相加得到向量/>
Figure GDA00042131118600002024
将向量/>
Figure GDA00042131118600002025
输入到第四上采样单元的上采样模块中,输出得到向量/>
Figure GDA00042131118600002026
将向量/>
Figure GDA00042131118600002027
输入到第三残差模块的第一分支后,输出得到向量/>
Figure GDA00042131118600002028
将向量/>
Figure GDA00042131118600002029
输入到第三残差模块的第二分支后,输出得到向量/>
Figure GDA00042131118600002030
将向量
Figure GDA00042131118600002031
与向量/>
Figure GDA00042131118600002032
相加得到向量/>
Figure GDA00042131118600002033
将向量/>
Figure GDA00042131118600002034
输入到第四残差模块的第一分支后,输出得到向量/>
Figure GDA00042131118600002035
将向量/>
Figure GDA00042131118600002036
输入到第四残差模块的第二分支后,输出得到向量/>
Figure GDA00042131118600002037
将向量
Figure GDA00042131118600002038
与向量/>
Figure GDA00042131118600002039
相加得到向量/>
Figure GDA00042131118600002040
将向量/>
Figure GDA00042131118600002041
输入到第五残差模块的第一分支后,输出得到向量/>
Figure GDA00042131118600002042
将向量/>
Figure GDA00042131118600002043
输入到第五残差模块的第二分支后,输出得到向量/>
Figure GDA00042131118600002044
将向量
Figure GDA00042131118600002045
与向量/>
Figure GDA00042131118600002046
相加得到向量/>
Figure GDA00042131118600002047
将向量/>
Figure GDA00042131118600002048
输入到第一自注意力模块的第一分支的归一化层归一化处理后,得到向量/>
Figure GDA00042131118600002049
将向量/>
Figure GDA00042131118600002050
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量/>
Figure GDA00042131118600002051
将特征映射/>
Figure GDA00042131118600002052
及/>
Figure GDA00042131118600002053
输入到第一乘法模块中进行相乘计算,得到空间向量/>
Figure GDA00042131118600002054
将空间向量/>
Figure GDA00042131118600002055
输入到Softmax函数层中,得到激活函数值/>
Figure GDA00042131118600002056
式中dkt1为空间向量/>
Figure GDA00042131118600002057
的维度,将激活函数值
Figure GDA00042131118600002058
及空间向量/>
Figure GDA00042131118600002059
一同输入到第二乘法模块中进行相乘计算,通过公式/>
Figure GDA0004213111860000211
计算得到注意力/>
Figure GDA0004213111860000212
将注意力
Figure GDA0004213111860000213
输入到第四卷积层中,输出得到向量/>
Figure GDA0004213111860000214
将向量/>
Figure GDA0004213111860000215
与第一自注意力模块的第二分支输入的向量/>
Figure GDA0004213111860000216
相加得到向量/>
Figure GDA0004213111860000217
将向量/>
Figure GDA0004213111860000218
输入到第二自注意力模块的第一分支的归一化层归一化处理后,得到向量/>
Figure GDA0004213111860000219
将向量/>
Figure GDA00042131118600002110
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量/>
Figure GDA00042131118600002111
将特征映射/>
Figure GDA00042131118600002112
Figure GDA00042131118600002113
输入到第一乘法模块中进行相乘计算,得到空间向量/>
Figure GDA00042131118600002114
将空间向量/>
Figure GDA00042131118600002115
输入到Softmax函数层中,得到激活函数值/>
Figure GDA00042131118600002116
式中dkt2为空间向量/>
Figure GDA00042131118600002117
的维度,将激活函数值/>
Figure GDA00042131118600002118
及空间向量/>
Figure GDA00042131118600002119
一同输入到第二乘法模块中进行相乘计算,通过公式/>
Figure GDA00042131118600002120
计算得到注意力/>
Figure GDA00042131118600002121
将注意力/>
Figure GDA00042131118600002122
输入到第四卷积层中,输出得到向量/>
Figure GDA00042131118600002123
将向量/>
Figure GDA00042131118600002124
与第二自注意力模块的第二分支输入的向量/>
Figure GDA00042131118600002125
相加得到向量/>
Figure GDA00042131118600002126
将向量/>
Figure GDA00042131118600002127
输入到第三自注意力模块的第一分支的归一化层归一化处理后,得到向量/>
Figure GDA00042131118600002128
将向量/>
Figure GDA00042131118600002129
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量/>
Figure GDA00042131118600002130
将特征映射/>
Figure GDA00042131118600002131
及/>
Figure GDA00042131118600002132
输入到第一乘法模块中进行相乘计算,得到空间向量/>
Figure GDA00042131118600002133
将空间向量
Figure GDA00042131118600002134
输入到Softmax函数层中,得到激活函数值/>
Figure GDA00042131118600002135
式中dkt3为空间向量
Figure GDA00042131118600002136
的维度,将激活函数值/>
Figure GDA0004213111860000221
及空间向量/>
Figure GDA0004213111860000222
一同输入到第二乘法模块中进行相乘计算,通过公式/>
Figure GDA0004213111860000223
计算得到注意力
Figure GDA0004213111860000224
将注意力/>
Figure GDA0004213111860000225
输入到第四卷积层中,输出得到向量
Figure GDA0004213111860000226
将向量/>
Figure GDA0004213111860000227
与第三自注意力模块的第二分支输入的向量/>
Figure GDA0004213111860000228
相加得到向量/>
Figure GDA0004213111860000229
将向量
Figure GDA00042131118600002210
依次输入到目标身份的基于注意力的解码器Gt的第一上采样模块、第二上采样模块、第三上采样模块、第二卷积层后输出得到高分辨图片Rt
实施例6:
步骤c-2)中通过随机生成一组相同的维度的可学习参数得到绝对位置编码。
实施例7:
步骤f-1)中第二卷积层的卷积核为3*3、步长为1、填充为1及输出特征通道数为3,第一上采样模块、第二上采样模块、第三上采样模块均依次由最近邻插值算法单元及一个卷积核为3*3、步长为1、填充为1的卷积层构成,步骤f-2)中第一上采样单元、第二上采样单元、第三上采样单元、第四上采样单元中的上采样模块依次由最近邻插值算法单元及一个卷积核为3*3、步长为1、填充为1的卷积层构成,步骤f-2)中第一自注意力模块、第二自注意力模块、第三自注意力模块中的第一卷积层、第二卷积层、第三卷积层的卷积核大小为3*3、步长为1,第四卷积层的卷积核大小为1*1、步长为1。
实施例8:
为了提升重建图像真实性,计算重建高分辨率图片Rs、重建高分辨率图片Rt和源身份人脸图片Ps、目标身份人脸图片Pt之间的重建图片损失lrec,计算判别结果
Figure GDA00042131118600002211
判别结果
Figure GDA00042131118600002212
和源身份人脸图片Ps、目标身份人脸图片Pt之间的判别损失ld,计算重建高分辨率图片Rs、重建高分辨率图片Rt和源身份人脸图片Ps、目标身份人脸图片Pt之间的感知相似性损失llpips。具体的,步骤h)中通过公式lall=lrec+ld+llpips计算得到损失函数lall,lrec=||Rs-Ps||2+||Rt-Pt||2,/>
Figure GDA0004213111860000231
式中Ds(Ps)为将源身份人脸图片Ps输入到源身份图片的判别器Ds中,采用PatchGAN判别器对源身份人脸图片Ps进行判别后的判别结果,Dt(Pt)为将目标身份人脸图片Pt输入到目标身份图片的判别器中,采用PatchGAN判别器对目标身份人脸图片Pt进行判别后的判别结果,
Figure GDA0004213111860000232
式中Ci为VGG网络第i层的特征通道数,Hi为VGG网络第i层的特征长度,Wi为VGG网络第i层的特征宽度,i∈{1,...,n},n为VGG网络的总层数,VGGi(Rs)为将高分辨率图片Rs输入到VGG网络第i层后得到的输出结果,VGGi(Ps)为将源身份人脸图片Ps输入到VGG网络第i层后得到的输出结果,VGGi(Rt)为将高分辨率图片Rt输入到VGG网络第i层后得到的输出结果,VGGi(Pt)为将目标身份人脸图片Pt输入到VGG网络第i层后得到的输出结果。
实施例9:
步骤j)包括如下步骤:
j-1)将目标身份人脸图片Pt根据Delaunay三角剖分算法和人脸特征点fk计算得到图片Pt d
j-2)将高分辨率图片解码结果Rt2s根据图片Pt d中的人脸特征点使用双线性插值和仿射变换得到人脸插值结果RV
j-3)将图片Pt d利用凸包算法和目标身份人脸的人脸特征点fk计算得到相应的目标人脸掩膜Mt
j-4)将图片Pt d通过剪裁操作后得到背景为黑色的图片Pt f
j-5)将图片Pt f进行高斯模糊化操作,得到图片Pt b,将人脸插值结果RV进行高斯模糊化操作,得到图片
Figure GDA0004213111860000233
j-6)通过公式
Figure GDA0004213111860000234
计算得到肤色转化结果Rc
j-7)通过公式
Figure GDA0004213111860000241
计算得到人脸融合结果/>
Figure GDA0004213111860000242
式中⊙为同或逻辑运算。由于目标人脸图片Pt p与肤色转化结果Rc存在不同的光照条件,因为同时使用泊松融合来优化人脸融合结果/>
Figure GDA0004213111860000243
的像素值,具体的,通过公式
Figure GDA0004213111860000244
来优化人脸融合结果/>
Figure GDA0004213111860000245
的像素值P(Mt,Rc,Pt p),式中||·||2为L2范数,▽为梯度算子,f为目标人脸图片Pt p与肤色转化结果Rc连接边缘区域。
j-8)将人脸融合结果
Figure GDA0004213111860000246
和目标人脸背景图片Pt c拼接得到最终换脸结果Routput
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于Transformer的deepfake生成方法,其特征在于,包括:
a)对包含源身份人脸的源视频Vs进行人脸识别及人脸对齐操作,得到源身份人脸图片Ps,对包含目标身份人脸的目标视频Vt进行人脸识别及人脸对齐操作,得到目标身份人脸图片Pt
b)建立网络模型,该网络模型由Swin Transformer编码器E、向量嵌入单元Vin、源身份的向量嵌出单元Vouts、目标身份的向量嵌出单元Voutt、源身份的基于注意力的解码器Gs、目标身份的基于注意力的解码器Gt、源身份图片的判别器Ds以及目标身份图片的判别器Dt构成;
c)将源身份人脸图片Ps和目标身份人脸图片Pt输入Swin Transformer编码器E中,输出得到源身份人脸图片的编码向量
Figure FDA0004213111850000011
及目标身份人脸图片的编码向量/>
Figure FDA0004213111850000012
d)将源身份人脸图片的编码向量
Figure FDA0004213111850000013
及目标身份人脸图片的编码向量/>
Figure FDA0004213111850000014
分别输入到向量嵌入单元Vin中,输出得到源身份人脸图片的编码向量/>
Figure FDA0004213111850000015
及目标身份人脸图片的编码向量/>
Figure FDA0004213111850000016
e)将源身份人脸图片的编码向量
Figure FDA0004213111850000017
输入到源身份的向量嵌出单元Vouts中,输出得到源身份人脸图片的解码向量Vs,将目标身份人脸图片的编码向量/>
Figure FDA0004213111850000018
输入到目标身份的向量嵌出单元Voutt中,输出得到目标身份人脸图片的解码向量Vt
f)将源身份人脸图片的解码向量Vs输入到源身份的基于注意力的解码器Gs中,输出得到源身份人脸图片的重建高分辨率图片Rs,将目标身份人脸图片的解码向量Vt输入到目标身份的基于注意力的解码器Gt中,输出得到目标身份人脸图片的重建高分辨率图片Rt
g)将高分辨率图片Rs输入到源身份图片的判别器Ds中,采用PatchGAN判别器对高分辨率图片Rs进行判别,得到判别结果
Figure FDA0004213111850000021
将高分辨率图片Rt输入到目标身份图片的判别器Dt中,采用PatchGAN判别器对高分辨率图片Rt进行判别,得到判别结果/>
Figure FDA0004213111850000022
完成模型建立;
h)通过损失函数lall利用Adam优化器迭代步骤c)至g)中模型的参数,得到优化后的模型;
i)将目标身份人脸图片Pt输入到步骤h)中优化后的模型内,依次经过优化后的模型的Swin Transformer编码器E、向量嵌入单元Vin、源身份的向量嵌出单元Vouts、源身份的基于注意力的解码器Gs后输出得到高分辨率图片解码结果Rt2s,利用dlib库对目标身份人脸图片Pt检测分别得到目标身份人脸的人脸特征点fk、目标人脸图片Pt p及目标人脸背景图片Pt c
j)根据高分辨率图片解码结果Rt2s、目标身份人脸的人脸特征点fk、目标人脸图片Pt p及目标人脸背景图片Pt c得到最终换脸结果Routput
步骤j)包括如下步骤:
j-1)将目标身份人脸图片Pt根据Delaunay三角剖分算法和人脸特征点fk计算得到图片Pt d
j-2)将高分辨率图片解码结果Rt2s根据图片Pt d中的人脸特征点使用双线性插值和仿射变换得到人脸插值结果RV
j-3)将图片Pt d利用凸包算法和目标身份人脸的人脸特征点fk计算得到相应的目标人脸掩膜Mt
j-4)将图片Pt d通过剪裁操作后得到背景为黑色的图片Pt f
j-5)将图片Pt f进行高斯模糊化操作,得到图片Pt b,将人脸插值结果RV进行高斯模糊化操作,得到图片
Figure FDA0004213111850000031
j-6)通过公式
Figure FDA0004213111850000032
计算得到肤色转化结果Rc
j-7)通过公式
Figure FDA0004213111850000033
计算得到人脸融合结果/>
Figure FDA0004213111850000034
式中⊙为同或逻辑运算,通过公式/>
Figure FDA0004213111850000035
来优化人脸融合结果
Figure FDA0004213111850000036
的像素值P(Mt,Rc,Pt p),式中||·||2为L2范数,▽为梯度算子,f为目标人脸图片Pt p与肤色转化结果Rc连接边缘区域;
j-8)将人脸融合结果
Figure FDA0004213111850000037
和目标人脸背景图片Pt c拼接得到最终换脸结果Routput
2.根据权利要求1所述的基于Transformer的deepfake生成方法,其特征在于:步骤a)中使用InsightFace工具对包含源身份人脸的源视频Vs以及包含目标身份人脸的目标视频Vt进行人脸识别及人脸对齐操作。
3.根据权利要求1所述的基于Transformer的deepfake生成方法,其特征在于:步骤a)中源身份人脸图片Ps及目标身份人脸图片Pt的大小均设置为224*224。
4.根据权利要求1所述的基于Transformer的deepfake生成方法,其特征在于,步骤c)包括如下步骤:
c-1)Swin Transformer编码器E依次由patch Partition模块、第一处理模块、第二处理模块、第三处理模块及第四处理模块构成;
c-2)所述patch Partition模块由一个卷积核为4*4、步长为4的卷积层构成,将源身份人脸图片Ps和目标身份人脸图片Pt分别输入到patch Partition模块中,输出得到不重叠的源身份人脸图片的图片块Ps patch及目标身份人脸图片的图片块Pt patch,将图片块Ps patch及图片块Pt patch加上绝对位置编码,分别得到编码向量Ps e和编码向量Pt e
c-3)所述第一处理模块依次由Linear Embeding层、第一Swin Transformer block、第二Swin Transformer block构成,Linear Embeding层由一个卷积核为1*1、输出特征通道数为33的卷积层构成,第一Swin Transformer block与第二Swin Transformer block均由Swin Transformer网络中以移动窗口所构成的注意力计算单元构成,第一SwinTransformer block与第二Swin Transformer block的多头个数设置为3,将编码向量Ps e和编码向量Pt e输入到第一处理模块后,分别输出得到编码向量
Figure FDA0004213111850000041
和编码向量/>
Figure FDA0004213111850000042
c-4)所述第二处理模块依次由Swin Transformer网络中的patch merging层、第一Swin Transformer block、第二Swin Transformer block构成,第一Swin Transformerblock与第二Swin Transformer block均由Swin Transformer网络中以移动窗口所构成的注意力计算单元构成,第一Swin Transformer block与第二Swin Transformer block的多头个数设置为6,将编码向量
Figure FDA0004213111850000043
和编码向量/>
Figure FDA0004213111850000044
输入到第二处理模块后,分别输出得到编码向量/>
Figure FDA0004213111850000045
和编码向量/>
Figure FDA0004213111850000046
c-5)所述第三处理模块依次由Swin Transformer网络中的patchmerging层、第一Swin Transformer block、第二Swin Transformer block、第三SwinTransformer block、第四Swin Transformer block、第五Swin Transformer block、第六Swin Transformer block构成,第一Swin Transformer block、第二Swin Transformerblock、第三Swin Transformer block、第四Swin Transformer block、第五SwinTransformer block、第六Swin Transformer block均由Swin Transformer网络中以移动窗口所构成的注意力计算单元构成,第一Swin Transformer block、第二SwinTransformer block、第三Swin Transformer block、第四Swin Transformer block、第五Swin Transformer block、第六Swin Transformer block的多头个数设置为12,将编码向量/>
Figure FDA0004213111850000047
和编码向量/>
Figure FDA0004213111850000048
输入到第三处理模块后,分别输出得到编码向量/>
Figure FDA0004213111850000049
和编码向量/>
Figure FDA00042131118500000410
c-6)所述第四处理模块依次由Swin Transformer网络中的patch merging层、第一SwinTransformer block、第二Swin Transformer block、第三Swin Transformer block、第四Swin Transformer block、第五Swin Transformer block、第六Swin Transformer block构成,第一Swin Transformer block、第二Swin Transformer block、第三SwinTransformer block、第四Swin Transformer block、第五Swin Transformer block、第六Swin Transformer block均由Swin Transformer网络中以移动窗口所构成的注意力计算单元构成,第一Swin Transformer block、第二Swin Transformer block、第三SwinTransformer block、第四Swin Transformer block、第五Swin Transformer block、第六Swin Transformer block的多头个数设置为12,将编码向量/>
Figure FDA0004213111850000051
和编码向量/>
Figure FDA0004213111850000052
输入到第四处理模块后,分别输出得到编码向量/>
Figure FDA0004213111850000053
和编码向量/>
Figure FDA0004213111850000054
5.根据权利要求1所述的基于Transformer的deepfake生成方法,其特征在于:步骤d)中向量嵌入单元Vin由一个卷积核为1*1、输出特征通道数为256的卷积层构成;步骤e)中源身份的向量嵌出单元Vouts及目标身份的向量嵌出单元Voutt均依次由两个卷积核为1*1、输出特征通道数为256的卷积层构成。
6.根据权利要求1所述的基于Transformer的deepfake生成方法,其特征在于,步骤f)包括如下步骤:
f-1)源身份的基于注意力的解码器Gs和目标身份的基于注意力的解码器Gt均依次由3*3卷积核的第一卷积层、第一残差模块、第二残差模块、第一上采样单元、第二上采样单元、第三上采样单元、第四上采样单元、第三残差模块、第四残差模块、第五残差模块、第一自注意力模块、第二自注意力模块、第三自注意力模块、第一上采样模块、第二上采样模块、第三上采样模块、第二卷积层构成;f-2)第一上采样单元、第二上采样单元、第三上采样单元、第四上采样单元均依次由残差模块和上采样模块构成,所述第一残差模块、第二残差模块、第三残差模块、第四残差模块、第五残差模块以及第一上采样单元、第二上采样单元、第三上采样单元、第四上采样单元中的残差模块均由第一分支和第二分支构成,所述第一分支依次由第一批标准化层、第一ReLU函数层、卷积核为3*3的第一卷积层、卷积核为2*2最大池化层、第二批标准化层、第二ReLU函数层及卷积核为3*3第二卷积层构成,所述第二分支依次由第三批标准化层、ReLU函数层及卷积核为3*3的第三卷积层构成,第一自注意力模块、第二自注意力模块、第三自注意力模块均由第一分支、第二分支构成,所述第一分支由归一化层、第一卷积层、第二卷积层、第三卷积层、第一乘法模块、Softmax函数层、第二乘法模块及第四卷积层构成;
f-3)将源身份人脸图片的解码向量Vs输入到源身份的基于注意力的解码器Gs中,经第一卷积层卷积后,输出得到向量
Figure FDA0004213111850000061
将向量/>
Figure FDA0004213111850000062
输入到第一残差模块中的第一分支后输出得到向量/>
Figure FDA0004213111850000063
将向量/>
Figure FDA0004213111850000064
输入到第一残差模块中的第二分支后输出得到向量/>
Figure FDA0004213111850000065
将向量/>
Figure FDA0004213111850000066
与向量/>
Figure FDA0004213111850000067
相加得到向量/>
Figure FDA0004213111850000068
将向量/>
Figure FDA0004213111850000069
输入到第二残差模块中的第一分支后输出得到向量/>
Figure FDA00042131118500000610
将向量/>
Figure FDA00042131118500000611
输入到第二残差模块中的第二分支后输出得到向量/>
Figure FDA00042131118500000612
将向量/>
Figure FDA00042131118500000613
与向量/>
Figure FDA00042131118500000614
相加得到向量/>
Figure FDA00042131118500000615
将向量/>
Figure FDA00042131118500000616
输入到第一上采样单元的残差模块第一个分支后输出得到向量/>
Figure FDA00042131118500000617
将向量/>
Figure FDA00042131118500000618
输入到第一上采样单元的残差模块第二个分支后输出得到向量
Figure FDA00042131118500000619
将向量/>
Figure FDA00042131118500000620
与向量/>
Figure FDA00042131118500000621
相加得到向量/>
Figure FDA00042131118500000622
将向量/>
Figure FDA00042131118500000623
输入到第一上采样单元的上采样模块中,输出得到向量/>
Figure FDA00042131118500000624
将向量/>
Figure FDA00042131118500000625
输入到第二上采样单元的残差模块第一个分支后输出得到向量/>
Figure FDA00042131118500000626
将向量/>
Figure FDA00042131118500000627
输入到第二上采样单元的残差模块第二个分支后输出得到向量
Figure FDA00042131118500000628
将向量/>
Figure FDA00042131118500000629
与向量/>
Figure FDA00042131118500000630
相加得到向量/>
Figure FDA00042131118500000631
将向量/>
Figure FDA00042131118500000632
输入到第二上采样单元的上采样模块中,输出得到向量/>
Figure FDA00042131118500000633
将向量/>
Figure FDA00042131118500000634
输入到第三上采样单元的残差模块第一个分支后输出得到向量/>
Figure FDA00042131118500000635
将向量/>
Figure FDA00042131118500000636
输入到第三上采样单元的残差模块第二个分支后输出得到向量/>
Figure FDA00042131118500000637
将向量/>
Figure FDA00042131118500000638
与向量/>
Figure FDA00042131118500000639
相加得到向量/>
Figure FDA00042131118500000640
将向量/>
Figure FDA00042131118500000641
输入到第三上采样单元的上采样模块中,输出得到向量/>
Figure FDA0004213111850000071
将向量/>
Figure FDA0004213111850000072
输入到第四上采样单元的残差模块第一个分支后输出得到向量/>
Figure FDA0004213111850000073
将向量/>
Figure FDA0004213111850000074
输入到第四上采样单元的残差模块第二个分支后输出得到向量/>
Figure FDA0004213111850000075
将向量/>
Figure FDA0004213111850000076
与向量/>
Figure FDA0004213111850000077
相加得到向量/>
Figure FDA0004213111850000078
将向量/>
Figure FDA0004213111850000079
输入到第四上采样单元的上采样模块中,输出得到向量/>
Figure FDA00042131118500000710
将向量/>
Figure FDA00042131118500000711
输入到第三残差模块的第一分支后,输出得到向量/>
Figure FDA00042131118500000712
将向量/>
Figure FDA00042131118500000713
输入到第三残差模块的第二分支后,输出得到向量/>
Figure FDA00042131118500000714
将向量/>
Figure FDA00042131118500000715
与向量/>
Figure FDA00042131118500000716
相加得到向量/>
Figure FDA00042131118500000717
将向量/>
Figure FDA00042131118500000718
输入到第四残差模块的第一分支后,输出得到向量/>
Figure FDA00042131118500000719
将向量/>
Figure FDA00042131118500000720
输入到第四残差模块的第二分支后,输出得到向量/>
Figure FDA00042131118500000721
将向量/>
Figure FDA00042131118500000722
与向量/>
Figure FDA00042131118500000723
相加得到向量/>
Figure FDA00042131118500000724
将向量/>
Figure FDA00042131118500000725
输入到第五残差模块的第一分支后,输出得到向量
Figure FDA00042131118500000726
将向量/>
Figure FDA00042131118500000727
输入到第五残差模块的第二分支后,输出得到向量/>
Figure FDA00042131118500000728
将向量/>
Figure FDA00042131118500000729
与向量
Figure FDA00042131118500000730
相加得到向量/>
Figure FDA00042131118500000731
将向量/>
Figure FDA00042131118500000732
输入到第一自注意力模块的第一分支的归一化层归一化处理后得到向量/>
Figure FDA00042131118500000733
将向量/>
Figure FDA00042131118500000734
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量/>
Figure FDA00042131118500000735
Vs 1,将特征映射/>
Figure FDA00042131118500000736
及/>
Figure FDA00042131118500000737
输入到第一乘法模块中进行相乘计算,得到空间向量/>
Figure FDA00042131118500000738
将空间向量/>
Figure FDA00042131118500000739
输入到Softmax函数层中,得到激活函数值/>
Figure FDA00042131118500000740
式中softmax(·)为Softmax激活函数,T为转置,dks1为空间向量/>
Figure FDA00042131118500000741
的维度,将激活函数值/>
Figure FDA00042131118500000742
及空间向量Vs 1一同输入到第二乘法模块中进行相乘计算,通过公式/>
Figure FDA00042131118500000743
计算得到注意力
Figure FDA0004213111850000081
将注意力/>
Figure FDA0004213111850000082
输入到第四卷积层中,输出得到向量
Figure FDA0004213111850000083
将向量/>
Figure FDA0004213111850000084
与第一自注意力模块的第二分支输入的向量/>
Figure FDA0004213111850000085
相加得到向量/>
Figure FDA0004213111850000086
将向量
Figure FDA0004213111850000087
输入到第二自注意力模块的第一分支的归一化层归一化处理后,得到向量/>
Figure FDA0004213111850000088
将向量
Figure FDA0004213111850000089
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure FDA00042131118500000810
Figure FDA00042131118500000811
将特征映射/>
Figure FDA00042131118500000812
及/>
Figure FDA00042131118500000813
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure FDA00042131118500000814
将空间向量/>
Figure FDA00042131118500000815
输入到Softmax函数层中,得到激活函数值/>
Figure FDA00042131118500000816
式中dks2为空间向量/>
Figure FDA00042131118500000817
的维度,将激活函数值/>
Figure FDA00042131118500000818
及空间向量/>
Figure FDA00042131118500000819
一同输入到第二乘法模块中进行相乘计算,通过公式/>
Figure FDA00042131118500000820
计算得到注意力/>
Figure FDA00042131118500000821
将注意力/>
Figure FDA00042131118500000822
输入到第四卷积层中,输出得到向量/>
Figure FDA00042131118500000823
将向量/>
Figure FDA00042131118500000824
与第二自注意力模块的第二分支输入的向量/>
Figure FDA00042131118500000825
相加得到向量
Figure FDA00042131118500000826
将向量/>
Figure FDA00042131118500000827
输入到第三自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure FDA00042131118500000828
将向量/>
Figure FDA00042131118500000829
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量/>
Figure FDA00042131118500000830
将特征映射/>
Figure FDA00042131118500000831
及/>
Figure FDA00042131118500000832
输入到第一乘法模块中进行相乘计算,得到空间向量/>
Figure FDA00042131118500000833
将空间向量/>
Figure FDA00042131118500000834
输入到Softmax函数层中,得到激活函数值
Figure FDA00042131118500000835
式中dks3为空间向量/>
Figure FDA00042131118500000836
的维度,将激活函数值/>
Figure FDA0004213111850000091
及空间向量/>
Figure FDA0004213111850000092
一同输入到第二乘法模块中进行相乘计算,通过公式
Figure FDA0004213111850000093
计算得到注意力/>
Figure FDA0004213111850000094
将注意力
Figure FDA0004213111850000095
输入到第四卷积层中,输出得到向量/>
Figure FDA0004213111850000096
将向量/>
Figure FDA0004213111850000097
与第三自注意力模块的第二分支输入的向量/>
Figure FDA0004213111850000098
相加得到向量/>
Figure FDA0004213111850000099
将向量/>
Figure FDA00042131118500000910
依次输入到源身份的基于注意力的解码器Gs的第一上采样模块、第二上采样模块、第三上采样模块、第二卷积层后输出得到高分辨图片Rs
f-4)将目标身份人脸图片的解码向量Vt输入到目标身份的基于注意力的解码器Gt中,经第一卷积层卷积后,输出得到向量
Figure FDA00042131118500000911
将向量/>
Figure FDA00042131118500000912
输入到第一残差模块中的第一分支后输出得到向量/>
Figure FDA00042131118500000913
将向量/>
Figure FDA00042131118500000914
输入到第一残差模块中的第二分支后输出得到向量/>
Figure FDA00042131118500000915
将向量/>
Figure FDA00042131118500000916
与向量/>
Figure FDA00042131118500000917
相加得到向量/>
Figure FDA00042131118500000918
将向量/>
Figure FDA00042131118500000919
输入到第二残差模块中的第一分支后输出得到向量/>
Figure FDA00042131118500000920
将向量/>
Figure FDA00042131118500000921
输入到第二残差模块中的第二分支后输出得到向量/>
Figure FDA00042131118500000922
将向量/>
Figure FDA00042131118500000923
与向量/>
Figure FDA00042131118500000924
相加得到向量/>
Figure FDA00042131118500000925
将向量/>
Figure FDA00042131118500000926
输入到第一上采样单元的残差模块第一个分支后输出得到向量/>
Figure FDA00042131118500000927
将向量/>
Figure FDA00042131118500000928
输入到第一上采样单元的残差模块第二个分支后输出得到向量
Figure FDA00042131118500000929
将向量/>
Figure FDA00042131118500000930
与向量/>
Figure FDA00042131118500000931
相加得到向量/>
Figure FDA00042131118500000932
将向量/>
Figure FDA00042131118500000933
输入到第一上采样单元的上采样模块中,输出得到向量/>
Figure FDA00042131118500000934
将向量/>
Figure FDA00042131118500000935
输入到第二上采样单元的残差模块第一个分支后输出得到向量/>
Figure FDA00042131118500000936
将向量/>
Figure FDA00042131118500000937
输入到第二上采样单元的残差模块第二个分支后输出得到向量
Figure FDA00042131118500000938
将向量/>
Figure FDA00042131118500000939
与向量/>
Figure FDA00042131118500000940
相加得到向量/>
Figure FDA00042131118500000941
将向量/>
Figure FDA00042131118500000942
输入到第二上采样单元的上采样模块中,输出得到向量/>
Figure FDA0004213111850000101
将向量/>
Figure FDA0004213111850000102
输入到第三上采样单元的残差模块第一个分支后输出得到向量/>
Figure FDA0004213111850000103
将向量/>
Figure FDA0004213111850000104
输入到第三上采样单元的残差模块第二个分支后输出得到向量/>
Figure FDA0004213111850000105
将向量/>
Figure FDA0004213111850000106
与向量/>
Figure FDA0004213111850000107
相加得到向量/>
Figure FDA0004213111850000108
将向量/>
Figure FDA0004213111850000109
输入到第三上采样单元的上采样模块中,输出得到向量/>
Figure FDA00042131118500001010
将向量/>
Figure FDA00042131118500001011
输入到第四上采样单元的残差模块第一个分支后输出得到向量/>
Figure FDA00042131118500001012
将向量/>
Figure FDA00042131118500001013
输入到第四上采样单元的残差模块第二个分支后输出得到向量/>
Figure FDA00042131118500001014
将向量/>
Figure FDA00042131118500001015
与向量/>
Figure FDA00042131118500001016
相加得到向量/>
Figure FDA00042131118500001017
将向量/>
Figure FDA00042131118500001018
输入到第四上采样单元的上采样模块中,输出得到向量/>
Figure FDA00042131118500001019
将向量/>
Figure FDA00042131118500001020
输入到第三残差模块的第一分支后,输出得到向量/>
Figure FDA00042131118500001021
将向量/>
Figure FDA00042131118500001022
输入到第三残差模块的第二分支后,输出得到向量/>
Figure FDA00042131118500001023
将向量
Figure FDA00042131118500001024
与向量/>
Figure FDA00042131118500001025
相加得到向量/>
Figure FDA00042131118500001026
将向量/>
Figure FDA00042131118500001027
输入到第四残差模块的第一分支后,输出得到向量/>
Figure FDA00042131118500001028
将向量/>
Figure FDA00042131118500001029
输入到第四残差模块的第二分支后,输出得到向量/>
Figure FDA00042131118500001030
将向量
Figure FDA00042131118500001031
与向量/>
Figure FDA00042131118500001032
相加得到向量/>
Figure FDA00042131118500001033
将向量/>
Figure FDA00042131118500001034
输入到第五残差模块的第一分支后,输出得到向量/>
Figure FDA00042131118500001035
将向量/>
Figure FDA00042131118500001036
输入到第五残差模块的第二分支后,输出得到向量/>
Figure FDA00042131118500001037
将向量/>
Figure FDA00042131118500001038
与向量/>
Figure FDA00042131118500001039
相加得到向量/>
Figure FDA00042131118500001040
将向量/>
Figure FDA00042131118500001041
输入到第一自注意力模块的第一分支的归一化层归一化处理后,得到向量/>
Figure FDA00042131118500001042
将向量/>
Figure FDA00042131118500001043
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量/>
Figure FDA00042131118500001044
Vt 1,将特征映射/>
Figure FDA00042131118500001045
及/>
Figure FDA00042131118500001046
输入到第一乘法模块中进行相乘计算,得到空间向量/>
Figure FDA00042131118500001047
将空间向量/>
Figure FDA00042131118500001048
输入到Softmax函数层中,得到激活函数值/>
Figure FDA00042131118500001049
式中dkt1为空间向量/>
Figure FDA0004213111850000111
的维度,将激活函数值
Figure FDA0004213111850000112
及空间向量Vt 1一同输入到第二乘法模块中进行相乘计算,通过公式
Figure FDA0004213111850000113
计算得到注意力/>
Figure FDA0004213111850000114
将注意力
Figure FDA0004213111850000115
输入到第四卷积层中,输出得到向量/>
Figure FDA0004213111850000116
将向量/>
Figure FDA0004213111850000117
与第一自注意力模块的第二分支输入的向量/>
Figure FDA0004213111850000118
相加得到向量/>
Figure FDA0004213111850000119
将向量/>
Figure FDA00042131118500001110
输入到第二自注意力模块的第一分支的归一化层归一化处理后,得到向量/>
Figure FDA00042131118500001111
将向量/>
Figure FDA00042131118500001112
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量/>
Figure FDA00042131118500001113
Vt 2,将特征映射/>
Figure FDA00042131118500001114
及/>
Figure FDA00042131118500001115
输入到第一乘法模块中进行相乘计算,得到空间向量/>
Figure FDA00042131118500001116
将空间向量/>
Figure FDA00042131118500001117
输入到Softmax函数层中,得到激活函数值/>
Figure FDA00042131118500001118
式中dkt2为空间向量/>
Figure FDA00042131118500001119
的维度,将激活函数值/>
Figure FDA00042131118500001120
及空间向量Vt 2一同输入到第二乘法模块中进行相乘计算,通过公式/>
Figure FDA00042131118500001121
计算得到注意力/>
Figure FDA00042131118500001122
将注意力/>
Figure FDA00042131118500001123
输入到第四卷积层中,输出得到向量/>
Figure FDA00042131118500001124
将向量/>
Figure FDA00042131118500001125
与第二自注意力模块的第二分支输入的向量/>
Figure FDA00042131118500001126
相加得到向量/>
Figure FDA00042131118500001127
将向量/>
Figure FDA00042131118500001128
输入到第三自注意力模块的第一分支的归一化层归一化处理后,得到向量/>
Figure FDA00042131118500001129
将向量/>
Figure FDA00042131118500001130
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量/>
Figure FDA0004213111850000121
Vt 3,将特征映射/>
Figure FDA0004213111850000122
及/>
Figure FDA0004213111850000123
输入到第一乘法模块中进行相乘计算,得到空间向量/>
Figure FDA0004213111850000124
将空间向量/>
Figure FDA0004213111850000125
输入到Softmax函数层中,得到激活函数值/>
Figure FDA0004213111850000126
式中dkt3为空间向量/>
Figure FDA0004213111850000127
的维度,将激活函数值/>
Figure FDA0004213111850000128
及空间向量Vt 3一同输入到第二乘法模块中进行相乘计算,通过公式/>
Figure FDA0004213111850000129
计算得到注意力
Figure FDA00042131118500001210
将注意力/>
Figure FDA00042131118500001211
输入到第四卷积层中,输出得到向量
Figure FDA00042131118500001212
将向量/>
Figure FDA00042131118500001213
与第三自注意力模块的第二分支输入的向量/>
Figure FDA00042131118500001214
相加得到向量/>
Figure FDA00042131118500001215
将向量
Figure FDA00042131118500001216
依次输入到目标身份的基于注意力的解码器Gt的第一上采样模块、第二上采样模块、第三上采样模块、第二卷积层后输出得到高分辨图片Rt
7.根据权利要求4所述的基于Transformer的deepfake生成方法,其特征在于:步骤c-2)中通过随机生成一组相同的维度的可学习参数得到绝对位置编码。
8.根据权利要求6所述的基于Transformer的deepfake生成方法,其特征在于:步骤f-1)中第二卷积层的卷积核为3*3、步长为1、填充为1及输出特征通道数为3,第一上采样模块、第二上采样模块、第三上采样模块均依次由最近邻插值算法单元及一个卷积核为3*3、步长为1、填充为1的卷积层构成,步骤f-2)中第一上采样单元、第二上采样单元、第三上采样单元、第四上采样单元中的上采样模块依次由最近邻插值算法单元及一个卷积核为3*3、步长为1、填充为1的卷积层构成,步骤f-2)中第一自注意力模块、第二自注意力模块、第三自注意力模块中的第一卷积层、第二卷积层、第三卷积层的卷积核大小为3*3、步长为1,第四卷积层的卷积核大小为1*1、步长为1。
9.根据权利要求1所述的基于Transformer的deepfake生成方法,其特征在于:步骤h)中通过公式lall=lrec+ld+llpips计算得到损失函数lall,式中lrec为重建图片损失,ld为判别损失,llpips为感知相似性损失,lrec=||Rs-Ps||2+||Rt-Pt||2
Figure FDA0004213111850000131
式中Ds(Ps)为将源身份人脸图片Ps输入到源身份图片的判别器Ds中,采用PatchGAN判别器对源身份人脸图片Ps进行判别后的判别结果,Dt(Pt)为将目标身份人脸图片Pt输入到目标身份图片的判别器中,采用PatchGAN判别器对目标身份人脸图片Pt进行判别后的判别结果,
Figure FDA0004213111850000132
,式中Ci为VGG网络第i层的特征通道数,Hi为VGG网络第i层的特征长度,Wi为VGG网络第i层的特征宽度,i∈{1,...,n},n为VGG网络的总层数,VGGi(Rs)为将高分辨率图片Rs输入到VGG网络第i层后得到的输出结果,VGGi(Ps)为将源身份人脸图片Ps输入到VGG网络第i层后得到的输出结果,VGGi(Rt)为将高分辨率图片Rt输入到VGG网络第i层后得到的输出结果,VGGi(Pt)为将目标身份人脸图片Pt输入到VGG网络第i层后得到的输出结果。/>
CN202210964397.0A 2022-08-11 2022-08-11 一种基于Transformer的deepfake生成方法 Active CN115311720B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210964397.0A CN115311720B (zh) 2022-08-11 2022-08-11 一种基于Transformer的deepfake生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210964397.0A CN115311720B (zh) 2022-08-11 2022-08-11 一种基于Transformer的deepfake生成方法

Publications (2)

Publication Number Publication Date
CN115311720A CN115311720A (zh) 2022-11-08
CN115311720B true CN115311720B (zh) 2023-06-06

Family

ID=83861757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210964397.0A Active CN115311720B (zh) 2022-08-11 2022-08-11 一种基于Transformer的deepfake生成方法

Country Status (1)

Country Link
CN (1) CN115311720B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115713680B (zh) * 2022-11-18 2023-07-25 山东省人工智能研究院 一种基于语义引导的人脸图像身份合成方法
CN116152887B (zh) * 2022-12-08 2023-09-26 山东省人工智能研究院 一种基于ds证据理论的动态人脸表情识别方法
CN116524563B (zh) * 2023-04-28 2024-01-19 山东省人工智能研究院 一种基于transformer与不确定性的动态人脸表情识别方法
CN116612211B (zh) * 2023-05-08 2024-02-02 山东省人工智能研究院 一种基于gan和3d系数重建的人脸图像身份合成方法
CN116524408B (zh) * 2023-05-09 2024-02-02 山东省人工智能研究院 基于面部特征增强以及光流评估的虚假视频检测方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113379606A (zh) * 2021-08-16 2021-09-10 之江实验室 一种基于预训练生成模型的人脸超分辨方法
CN113536990A (zh) * 2021-06-29 2021-10-22 复旦大学 深度伪造人脸数据鉴别方法
CN114445889A (zh) * 2022-01-26 2022-05-06 武汉理工大学 基于双重注意力机制的轻量级人脸老化方法
CN114743148A (zh) * 2022-04-27 2022-07-12 中国刑事警察学院 多尺度特征融合篡改视频检测方法、系统、介质和设备
CN114757832A (zh) * 2022-06-14 2022-07-15 之江实验室 基于交叉卷积注意力对抗学习的人脸超分辨方法和装置
CN114842524A (zh) * 2022-03-16 2022-08-02 电子科技大学 一种基于不规则显著性像素簇的人脸鉴伪方法
CN114842034A (zh) * 2022-04-19 2022-08-02 山东省人工智能研究院 一种基于放大模糊操作痕迹的图片真假检测方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116888602A (zh) * 2020-12-17 2023-10-13 乌姆奈有限公司 可解释转导器变换器
CN112733625B (zh) * 2020-12-28 2022-06-14 华南理工大学 基于时域自注意力机制的假脸视频篡改检测方法及系统
CN112766160B (zh) * 2021-01-20 2023-07-28 西安电子科技大学 基于多级属性编码器和注意力机制的人脸替换方法
CN113887573A (zh) * 2021-09-10 2022-01-04 合肥高维数据技术有限公司 基于视觉转换器的人脸伪造检测方法
RU2768797C1 (ru) * 2021-10-19 2022-03-24 Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) Способ и система для определения синтетически измененных изображений лиц на видео
CN114155139B (zh) * 2021-11-23 2022-07-22 山东省人工智能研究院 一种基于向量离散化表示的deepfake生成方法
CN113903073A (zh) * 2021-11-23 2022-01-07 山东省人工智能研究院 一种基于局部增强transformer的假视频检测方法
CN114387641A (zh) * 2021-12-21 2022-04-22 中山大学 基于多尺度卷积网络和ViT的虚假视频检测方法及系统
CN114758272A (zh) * 2022-03-31 2022-07-15 中国人民解放军战略支援部队信息工程大学 基于频域自注意力的伪造视频检测方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113536990A (zh) * 2021-06-29 2021-10-22 复旦大学 深度伪造人脸数据鉴别方法
CN113379606A (zh) * 2021-08-16 2021-09-10 之江实验室 一种基于预训练生成模型的人脸超分辨方法
CN114445889A (zh) * 2022-01-26 2022-05-06 武汉理工大学 基于双重注意力机制的轻量级人脸老化方法
CN114842524A (zh) * 2022-03-16 2022-08-02 电子科技大学 一种基于不规则显著性像素簇的人脸鉴伪方法
CN114842034A (zh) * 2022-04-19 2022-08-02 山东省人工智能研究院 一种基于放大模糊操作痕迹的图片真假检测方法
CN114743148A (zh) * 2022-04-27 2022-07-12 中国刑事警察学院 多尺度特征融合篡改视频检测方法、系统、介质和设备
CN114757832A (zh) * 2022-06-14 2022-07-15 之江实验室 基于交叉卷积注意力对抗学习的人脸超分辨方法和装置

Also Published As

Publication number Publication date
CN115311720A (zh) 2022-11-08

Similar Documents

Publication Publication Date Title
CN115311720B (zh) 一种基于Transformer的deepfake生成方法
Bashir et al. A comprehensive review of deep learning-based single image super-resolution
Liu et al. Video super-resolution based on deep learning: a comprehensive survey
WO2022267641A1 (zh) 一种基于循环生成对抗网络的图像去雾方法及系统
CN111080511A (zh) 一种端到端的高分辨率多特征提取的人脸交换方法
CN111861880B (zh) 基于区域信息增强与块自注意力的图像超分与融合方法
CN113191953A (zh) 一种基于Transformer的人脸图像超分辨的方法
CN115205122B (zh) 保持结构和纹理的超分图像生成方法、系统、装置和介质
CN115953582B (zh) 一种图像语义分割方法及系统
CN115082774A (zh) 基于双流自注意力神经网络的图像篡改定位方法及系统
CN116434252A (zh) 图像识别模型的训练及图像识别方法、装置、介质、设备
CN114723760B (zh) 人像分割模型的训练方法、装置及人像分割方法、装置
Chen et al. MICU: Image super-resolution via multi-level information compensation and U-net
CN114155139B (zh) 一种基于向量离散化表示的deepfake生成方法
CN113379606B (zh) 一种基于预训练生成模型的人脸超分辨方法
CN115082306A (zh) 一种基于蓝图可分离残差网络的图像超分辨率方法
CN114494786A (zh) 一种基于多层协调卷积神经网络的细粒度图像分类方法
CN117274059A (zh) 基于图像编码-解码的低分辨率图像重构方法及其系统
CN117314808A (zh) 一种结合Transformer与CNN双编码器的红外与可见光图像融合方法
CN116703725A (zh) 感知多重特征的双分支网络实现针对真实世界文本图像的超分辨率的方法
Lai et al. Generative focused feedback residual networks for image steganalysis and hidden information reconstruction
CN113781376B (zh) 一种基于分治融合的高清人脸属性编辑方法
CN115131414A (zh) 基于深度学习的无人机图像对齐方法、电子设备和存储介质
CN113850719A (zh) 基于联合隐式图像函数的rgb图像引导深度图超分辨率方法
CN117392392B (zh) 一种割胶线识别与生成方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant