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

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

Info

Publication number
CN115311720A
CN115311720A CN202210964397.0A CN202210964397A CN115311720A CN 115311720 A CN115311720 A CN 115311720A CN 202210964397 A CN202210964397 A CN 202210964397A CN 115311720 A CN115311720 A CN 115311720A
Authority
CN
China
Prior art keywords
vector
module
input
swin
branch
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.)
Granted
Application number
CN202210964397.0A
Other languages
English (en)
Other versions
CN115311720B (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 BDA0003792511730000021
及目标身份人脸图片的编码向量
Figure BDA0003792511730000022
d)将源身份人脸图片的编码向量
Figure BDA0003792511730000023
及目标身份人脸图片的编码向量
Figure BDA0003792511730000024
分别输入到向量嵌入单元Vin中,输出得到源身份人脸图片的编码向量
Figure BDA0003792511730000025
及目标身份人脸图片的编码向量
Figure BDA0003792511730000026
e)将源身份人脸图片的编码向量
Figure BDA0003792511730000027
输入到源身份的向量嵌出单元Vouts中,输出得到源身份人脸图片的解码向量Vs,将目标身份人脸图片的编码向量
Figure BDA0003792511730000028
输入到目标身份的向量嵌出单元Voutt中,输出得到目标身份人脸图片的解码向量Vt
f)将源身份人脸图片的解码向量Vs输入到源身份的基于注意力的解码器Gs中,输出得到源身份人脸图片的重建高分辨率图片Rs,将目标身份人脸图片的解码向量Vt输入到目标身份的基于注意力的解码器Gt中,输出得到目标身份人脸图片的重建高分辨率图片Rt
g)将高分辨率图片Rs输入到源身份图片的判别器Ds中,采用PatchGAN判别器对高分辨率图片Rs进行判别,得到判别结果
Figure BDA0003792511730000029
将高分辨率图片Rt输入到目标身份图片的判别器Dt中,采用PatchGAN判别器对高分辨率图片Rt进行判别,得到判别结果
Figure BDA00037925117300000210
完成模型建立;
h)通过损失函数lall利用Adam优化器迭代步骤c)至g)中模型的参数,得到优化后的模型;
i)将目标身份人脸图片Pt输入到步骤h)中优化后的模型内,依次经过优化后的模型的SwinTransformer编码器E、向量嵌入单元Vin、源身份的向量嵌出单元Vouts、源身份的基于注意力的解码器Gs后输出得到高分辨率图片解码结果Rt2s,利用dlib库对目标身份人脸图片Pt检测分别得到目标身份人脸的人脸特征点fk、目标人脸图片
Figure BDA00037925117300000211
及目标人脸背景图片
Figure BDA00037925117300000212
j)根据高分辨率图片解码结果Rt2s、目标身份人脸的人脸特征点fk、目标人脸图片
Figure BDA0003792511730000031
及目标人脸背景图片
Figure BDA0003792511730000032
得到最终换脸结果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模块中,输出得到不重叠的源身份人脸图片的图片块
Figure BDA0003792511730000033
及目标身份人脸图片的图片块
Figure BDA0003792511730000034
将图片块
Figure BDA0003792511730000035
及图片块
Figure BDA0003792511730000036
加上绝对位置编码,分别得到编码向量
Figure BDA0003792511730000037
和编码向量
Figure BDA0003792511730000038
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,将编码向量
Figure BDA0003792511730000039
和编码向量
Figure BDA00037925117300000310
输入到第一处理模块后,分别输出得到编码向量
Figure BDA00037925117300000311
和编码向量
Figure BDA00037925117300000312
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 BDA00037925117300000313
和编码向量
Figure BDA00037925117300000314
输入到第二处理模块后,分别输出得到编码向量
Figure BDA00037925117300000315
和编码向量
Figure BDA00037925117300000316
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 BDA0003792511730000041
和编码向量
Figure BDA0003792511730000042
输入到第三处理模块后,分别输出得到编码向量
Figure BDA0003792511730000043
和编码向量
Figure BDA0003792511730000044
c-6)所述第四处理模块依次由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 BDA0003792511730000045
和编码向量
Figure BDA0003792511730000046
输入到第四处理模块后,分别输出得到编码向量
Figure BDA0003792511730000047
和编码向量
Figure BDA0003792511730000048
优选的,步骤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 BDA0003792511730000051
将向量
Figure BDA0003792511730000052
输入到第一残差模块中的第一分支后输出得到向量
Figure BDA0003792511730000053
将向量
Figure BDA0003792511730000054
输入到第一残差模块中的第二分支后输出得到向量
Figure BDA0003792511730000055
将向量
Figure BDA0003792511730000056
与向量
Figure BDA0003792511730000057
相加得到向量
Figure BDA0003792511730000058
将向量
Figure BDA0003792511730000059
输入到第二残差模块中的第一分支后输出得到向量
Figure BDA00037925117300000510
将向量
Figure BDA00037925117300000511
输入到第二残差模块中的第二分支后输出得到向量
Figure BDA00037925117300000512
将向量
Figure BDA00037925117300000513
与向量
Figure BDA00037925117300000514
相加得到向量
Figure BDA00037925117300000515
将向量
Figure BDA00037925117300000516
输入到第一上采样单元的残差模块第一个分支后输出得到向量
Figure BDA00037925117300000517
将向量
Figure BDA00037925117300000518
输入到第一上采样单元的残差模块第二个分支后输出得到向量
Figure BDA00037925117300000519
将向量
Figure BDA00037925117300000520
与向量
Figure BDA00037925117300000521
相加得到向量
Figure BDA00037925117300000522
将向量
Figure BDA00037925117300000523
输入到第一上采样单元的上采样模块中,输出得到向量
Figure BDA00037925117300000524
将向量
Figure BDA00037925117300000525
输入到第二上采样单元的残差模块第一个分支后输出得到向量
Figure BDA00037925117300000526
将向量
Figure BDA00037925117300000527
输入到第二上采样单元的残差模块第二个分支后输出得到向量
Figure BDA00037925117300000528
将向量
Figure BDA00037925117300000529
与向量
Figure BDA00037925117300000530
相加得到向量
Figure BDA00037925117300000531
将向量
Figure BDA00037925117300000532
输入到第二上采样单元的上采样模块中,输出得到向量
Figure BDA00037925117300000533
将向量
Figure BDA00037925117300000534
输入到第三上采样单元的残差模块第一个分支后输出得到向量
Figure BDA00037925117300000535
将向量
Figure BDA00037925117300000536
输入到第三上采样单元的残差模块第二个分支后输出得到向量
Figure BDA00037925117300000537
将向量
Figure BDA00037925117300000538
与向量
Figure BDA00037925117300000539
相加得到向量
Figure BDA00037925117300000540
将向量
Figure BDA00037925117300000541
输入到第三上采样单元的上采样模块中,输出得到向量
Figure BDA00037925117300000542
将向量
Figure BDA00037925117300000543
输入到第四上采样单元的残差模块第一个分支后输出得到向量
Figure BDA00037925117300000544
将向量
Figure BDA00037925117300000545
输入到第四上采样单元的残差模块第二个分支后输出得到向量
Figure BDA00037925117300000546
将向量
Figure BDA00037925117300000547
与向量
Figure BDA00037925117300000548
相加得到向量
Figure BDA0003792511730000061
将向量
Figure BDA0003792511730000062
输入到第四上采样单元的上采样模块中,输出得到向量
Figure BDA0003792511730000063
将向量
Figure BDA0003792511730000064
输入到第三残差模块的第一分支后,输出得到向量
Figure BDA0003792511730000065
将向量
Figure BDA0003792511730000066
输入到第三残差模块的第二分支后,输出得到向量
Figure BDA0003792511730000067
将向量
Figure BDA0003792511730000068
与向量
Figure BDA0003792511730000069
相加得到向量
Figure BDA00037925117300000610
将向量
Figure BDA00037925117300000611
输入到第四残差模块的第一分支后,输出得到向量
Figure BDA00037925117300000612
将向量
Figure BDA00037925117300000613
输入到第四残差模块的第二分支后,输出得到向量
Figure BDA00037925117300000614
将向量
Figure BDA00037925117300000615
与向量
Figure BDA00037925117300000616
相加得到向量
Figure BDA00037925117300000617
将向量
Figure BDA00037925117300000618
输入到第五残差模块的第一分支后,输出得到向量
Figure BDA00037925117300000619
将向量
Figure BDA00037925117300000620
输入到第五残差模块的第二分支后,输出得到向量
Figure BDA00037925117300000621
将向量
Figure BDA00037925117300000622
与向量
Figure BDA00037925117300000623
相加得到向量
Figure BDA00037925117300000624
将向量
Figure BDA00037925117300000625
输入到第一自注意力模块的第一分支的归一化层归一化处理后得到向量
Figure BDA00037925117300000626
将向量
Figure BDA00037925117300000627
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure BDA00037925117300000628
将征映射
Figure BDA00037925117300000629
Figure BDA00037925117300000630
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure BDA00037925117300000631
将空间向量
Figure BDA00037925117300000632
输入到Softmax函数层中,得到激活函数值
Figure BDA00037925117300000633
式中softmax(·)为Softmax激活函数,T为转置,dks1为空间向量
Figure BDA00037925117300000634
的维度,将激活函数值
Figure BDA00037925117300000635
及空间向量
Figure BDA00037925117300000636
一同输入到第二乘法模块中进行相乘计算,通过公式
Figure BDA00037925117300000637
计算得到注意力
Figure BDA00037925117300000638
将注意力
Figure BDA00037925117300000639
输入到第四卷积层中,输出得到向量
Figure BDA00037925117300000640
将向量
Figure BDA00037925117300000641
与第一自注意力模块的第二分支输入的向量
Figure BDA00037925117300000642
相加得到向量
Figure BDA00037925117300000643
将向量
Figure BDA00037925117300000644
输入到第二自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure BDA00037925117300000645
将向量
Figure BDA00037925117300000646
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure BDA00037925117300000647
将征映射
Figure BDA00037925117300000648
Figure BDA00037925117300000649
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure BDA00037925117300000650
将空间向量
Figure BDA00037925117300000651
输入到Softmax函数层中,得到激活函数值
Figure BDA0003792511730000071
式中dks2为空间向量
Figure BDA0003792511730000072
的维度,将激活函数值
Figure BDA0003792511730000073
及空间向量
Figure BDA0003792511730000074
一同输入到第二乘法模块中进行相乘计算,通过公式
Figure BDA0003792511730000075
计算得到注意力
Figure BDA0003792511730000076
将注意力
Figure BDA0003792511730000077
输入到第四卷积层中,输出得到向量
Figure BDA0003792511730000078
将向量
Figure BDA0003792511730000079
与第二自注意力模块的第二分支输入的向量
Figure BDA00037925117300000710
相加得到向量
Figure BDA00037925117300000711
将向量
Figure BDA00037925117300000712
输入到第三自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure BDA00037925117300000713
将向量
Figure BDA00037925117300000714
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure BDA00037925117300000715
将征映射
Figure BDA00037925117300000716
Figure BDA00037925117300000717
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure BDA00037925117300000718
将空间向量
Figure BDA00037925117300000719
输入到Softmax函数层中,得到激活函数值
Figure BDA00037925117300000720
式中dks3为空间向量
Figure BDA00037925117300000721
的维度,将激活函数值
Figure BDA00037925117300000722
及空间向量
Figure BDA00037925117300000723
一同输入到第二乘法模块中进行相乘计算,通过公式
Figure BDA00037925117300000724
计算得到注意力
Figure BDA00037925117300000725
将注意力
Figure BDA00037925117300000726
输入到第四卷积层中,输出得到向量
Figure BDA00037925117300000727
将向量
Figure BDA00037925117300000728
与第三自注意力模块的第二分支输入的向量
Figure BDA00037925117300000729
相加得到向量
Figure BDA00037925117300000730
将向量
Figure BDA00037925117300000731
依次输入到源身份的基于注意力的解码器Gs的第一上采样模块、第二上采样模块、第三上采样模块、第二卷积层后输出得到高分辨图片Rs
f-4)将目标身份人脸图片的解码向量Vt输入到目标身份的基于注意力的解码器Gt中,经第一卷积层卷积后,输出得到向量
Figure BDA0003792511730000081
将向量
Figure BDA0003792511730000082
输入到第一残差模块中的第一分支后输出得到向量
Figure BDA0003792511730000083
将向量
Figure BDA0003792511730000084
输入到第一残差模块中的第二分支后输出得到向量
Figure BDA0003792511730000085
将向量
Figure BDA0003792511730000086
与向量
Figure BDA0003792511730000087
相加得到向量
Figure BDA0003792511730000088
将向量
Figure BDA0003792511730000089
输入到第二残差模块中的第一分支后输出得到向量
Figure BDA00037925117300000810
将向量
Figure BDA00037925117300000811
输入到第二残差模块中的第二分支后输出得到向量
Figure BDA00037925117300000812
将向量
Figure BDA00037925117300000813
与向量
Figure BDA00037925117300000814
相加得到向量
Figure BDA00037925117300000815
将向量
Figure BDA00037925117300000816
输入到第一上采样单元的残差模块第一个分支后输出得到向量
Figure BDA00037925117300000817
将向量
Figure BDA00037925117300000818
输入到第一上采样单元的残差模块第二个分支后输出得到向量
Figure BDA00037925117300000819
将向量
Figure BDA00037925117300000820
与向量
Figure BDA00037925117300000821
相加得到向量
Figure BDA00037925117300000822
将向量
Figure BDA00037925117300000823
输入到第一上采样单元的上采样模块中,输出得到向量
Figure BDA00037925117300000824
将向量
Figure BDA00037925117300000825
输入到第二上采样单元的残差模块第一个分支后输出得到向量
Figure BDA00037925117300000826
将向量
Figure BDA00037925117300000827
输入到第二上采样单元的残差模块第二个分支后输出得到向量
Figure BDA00037925117300000828
将向量
Figure BDA00037925117300000829
与向量
Figure BDA00037925117300000830
相加得到向量
Figure BDA00037925117300000831
将向量
Figure BDA00037925117300000832
输入到第二上采样单元的上采样模块中,输出得到向量
Figure BDA00037925117300000833
将向量
Figure BDA00037925117300000834
输入到第三上采样单元的残差模块第一个分支后输出得到向量
Figure BDA00037925117300000835
将向量
Figure BDA00037925117300000836
输入到第三上采样单元的残差模块第二个分支后输出得到向量
Figure BDA00037925117300000837
将向量
Figure BDA00037925117300000838
与向量
Figure BDA00037925117300000839
相加得到向量
Figure BDA00037925117300000840
将向量
Figure BDA00037925117300000841
输入到第三上采样单元的上采样模块中,输出得到向量
Figure BDA00037925117300000842
将向量
Figure BDA00037925117300000843
输入到第四上采样单元的残差模块第一个分支后输出得到向量
Figure BDA00037925117300000844
将向量
Figure BDA00037925117300000845
输入到第四上采样单元的残差模块第二个分支后输出得到向量
Figure BDA00037925117300000846
将向量
Figure BDA00037925117300000847
与向量
Figure BDA00037925117300000848
相加得到向量
Figure BDA00037925117300000849
将向量
Figure BDA00037925117300000850
输入到第四上采样单元的上采样模块中,输出得到向量
Figure BDA00037925117300000851
将向量
Figure BDA00037925117300000852
输入到第三残差模块的第一分支后,输出得到向量
Figure BDA00037925117300000853
将向量
Figure BDA00037925117300000854
输入到第三残差模块的第二分支后,输出得到向量
Figure BDA00037925117300000855
将向量
Figure BDA00037925117300000856
与向量
Figure BDA00037925117300000857
相加得到向量
Figure BDA00037925117300000858
将向量
Figure BDA00037925117300000859
输入到第四残差模块的第一分支后,输出得到向量
Figure BDA00037925117300000860
将向量
Figure BDA00037925117300000861
输入到第四残差模块的第二分支后,输出得到向量
Figure BDA00037925117300000862
将向量
Figure BDA00037925117300000863
与向量
Figure BDA00037925117300000864
相加得到向量
Figure BDA00037925117300000865
将向量
Figure BDA00037925117300000866
输入到第五残差模块的第一分支后,输出得到向量
Figure BDA00037925117300000867
将向量
Figure BDA00037925117300000868
输入到第五残差模块的第二分支后,输出得到向量
Figure BDA00037925117300000869
将向量
Figure BDA00037925117300000870
与向量
Figure BDA00037925117300000871
相加得到向量
Figure BDA0003792511730000091
将向量
Figure BDA0003792511730000092
输入到第一自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure BDA0003792511730000093
将向量
Figure BDA0003792511730000094
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure BDA0003792511730000095
将征映射
Figure BDA0003792511730000096
Figure BDA0003792511730000097
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure BDA0003792511730000098
将空间向量
Figure BDA0003792511730000099
输入到Softmax函数层中,得到激活函数值
Figure BDA00037925117300000910
式中dkt1为空间向量
Figure BDA00037925117300000911
的维度,将激活函数值
Figure BDA00037925117300000912
及空间向量
Figure BDA00037925117300000913
一同输入到第二乘法模块中进行相乘计算,通过公式
Figure BDA00037925117300000914
计算得到注意力
Figure BDA00037925117300000915
将注意力
Figure BDA00037925117300000916
输入到第四卷积层中,输出得到向量
Figure BDA00037925117300000917
将向量
Figure BDA00037925117300000918
与第一自注意力模块的第二分支输入的向量
Figure BDA00037925117300000919
相加得到向量
Figure BDA00037925117300000920
将向量
Figure BDA00037925117300000921
输入到第二自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure BDA00037925117300000922
将向量
Figure BDA00037925117300000923
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure BDA00037925117300000924
将征映射
Figure BDA00037925117300000925
Figure BDA00037925117300000926
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure BDA00037925117300000927
将空间向量
Figure BDA00037925117300000928
输入到Softmax函数层中,得到激活函数值
Figure BDA00037925117300000929
式中dkt2为空间向量
Figure BDA00037925117300000930
的维度,将激活函数值
Figure BDA00037925117300000931
及空间向量
Figure BDA00037925117300000932
一同输入到第二乘法模块中进行相乘计算,通过公式
Figure BDA00037925117300000933
计算得到注意力
Figure BDA00037925117300000934
将注意力
Figure BDA00037925117300000935
输入到第四卷积层中,输出得到向量
Figure BDA00037925117300000936
将向量
Figure BDA00037925117300000937
与第二自注意力模块的第二分支输入的向量
Figure BDA00037925117300000938
相加得到向量
Figure BDA0003792511730000101
将向量
Figure BDA0003792511730000102
输入到第三自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure BDA0003792511730000103
将向量
Figure BDA0003792511730000104
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure BDA0003792511730000105
将征映射
Figure BDA0003792511730000106
Figure BDA0003792511730000107
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure BDA0003792511730000108
将空间向量
Figure BDA0003792511730000109
输入到Softmax函数层中,得到激活函数值
Figure BDA00037925117300001010
式中dkt3为空间向量
Figure BDA00037925117300001011
的维度,将激活函数值
Figure BDA00037925117300001012
及空间向量
Figure BDA00037925117300001013
一同输入到第二乘法模块中进行相乘计算,通过公式
Figure BDA00037925117300001014
计算得到注意力
Figure BDA00037925117300001015
将注意力
Figure BDA00037925117300001016
输入到第四卷积层中,输出得到向量
Figure BDA00037925117300001017
将向量
Figure BDA00037925117300001018
与第三自注意力模块的第二分支输入的向量
Figure BDA00037925117300001019
相加得到向量
Figure BDA00037925117300001020
将向量
Figure BDA00037925117300001021
依次输入到目标身份的基于注意力的解码器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-P|||2+||Rt-Pt||2
Figure BDA00037925117300001022
式中Ds(Ps)为将源身份人脸图片Ps输入到源身份图片的判别器Ds中,采用PatchGAN判别器对源身份人脸图片Ps进行判别后的判别结果,Dt(Pt)为将目标身份人脸图片Pt输入到目标身份图片的判别器中,采用PatchGAN判别器对目标身份人脸图片Pt进行判别后的判别结果,
Figure BDA0003792511730000111
中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计算得到图片
Figure BDA0003792511730000112
j-2)将高分辨率图片解码结果Rt2s根据图片
Figure BDA0003792511730000113
中的人脸特征点使用双线性插值和仿射变换得到人脸插值结果RV
j-3)将图片
Figure BDA0003792511730000114
利用凸包算法和目标身份人脸的人脸特征点fk计算得到相应的目标人脸掩膜Mt
j-4)将图片
Figure BDA0003792511730000115
通过剪裁操作后得到背景为黑色的图片
Figure BDA0003792511730000116
j-5)将图片
Figure BDA0003792511730000117
进行高斯模糊化操作,得到图片
Figure BDA0003792511730000118
将人脸插值结果RV进行高斯模糊化操作,得到图片
Figure BDA0003792511730000119
j-6)通过公式
Figure BDA00037925117300001110
计算得到肤色转化结果Rc
j-7)通过公式
Figure BDA00037925117300001111
计算得到人脸融合结果
Figure BDA00037925117300001112
式中⊙为同或逻辑运算,通过公式
Figure BDA0003792511730000121
来优化人脸融合结果
Figure BDA0003792511730000122
的像素值
Figure BDA0003792511730000123
式中||·||2为L2范数,▽为梯度算子,f为目标人脸图片
Figure BDA0003792511730000124
与肤色转化结果Rc连接边缘区域;
j-8)将人脸融合结果
Figure BDA0003792511730000125
和目标人脸背景图片
Figure BDA0003792511730000126
拼接得到最终换脸结果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 BDA0003792511730000131
及目标身份人脸图片的编码向量
Figure BDA0003792511730000132
d)将源身份人脸图片的编码向量
Figure BDA0003792511730000133
及目标身份人脸图片的编码向量
Figure BDA0003792511730000134
分别输入到向量嵌入单元Vin中,输出得到源身份人脸图片的编码向量
Figure BDA0003792511730000135
及目标身份人脸图片的编码向量
Figure BDA0003792511730000136
e)将源身份人脸图片的编码向量
Figure BDA0003792511730000137
输入到源身份的向量嵌出单元Vouts中,输出得到源身份人脸图片的解码向量Vs,将目标身份人脸图片的编码向量
Figure BDA0003792511730000138
输入到目标身份的向量嵌出单元Voutt中,输出得到目标身份人脸图片的解码向量Vt
f)将源身份人脸图片的解码向量Vs输入到源身份的基于注意力的解码器Gs中,输出得到源身份人脸图片的重建高分辨率图片Rs,将目标身份人脸图片的解码向量Vt输入到目标身份的基于注意力的解码器Gt中,输出得到目标身份人脸图片的重建高分辨率图片Rt
g)将高分辨率图片Rs输入到源身份图片的判别器Ds中,采用PatchGAN判别器对高分辨率图片Rs进行判别,得到判别结果
Figure BDA0003792511730000139
将高分辨率图片Rt输入到目标身份图片的判别器Dt中,采用PatchGAN判别器对高分辨率图片Rt进行判别,得到判别结果
Figure BDA00037925117300001310
完成模型建立。
h)通过损失函数lall利用Adam优化器迭代步骤c)至g)中模型的参数,得到优化后的模型。
i)将目标身份人脸图片Pt输入到步骤h)中优化后的模型内,依次经过优化后的模型的Swin Transformer编码器E、向量嵌入单元Vin、源身份的向量嵌出单元Vouts、源身份的基于注意力的解码器Gs后输出得到高分辨率图片解码结果Rt2s,利用dlib库对目标身份人脸图片Pt检测分别得到目标身份人脸的人脸特征点fk、目标人脸图片
Figure BDA0003792511730000141
及目标人脸背景图片
Figure BDA0003792511730000142
j)根据高分辨率图片解码结果Rt2s、目标身份人脸的人脸特征点fk、目标人脸图片
Figure BDA0003792511730000143
及目标人脸背景图片
Figure BDA0003792511730000144
得到最终换脸结果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模块中,输出得到不重叠的源身份人脸图片的图片块
Figure BDA0003792511730000145
及目标身份人脸图片的图片块
Figure BDA0003792511730000146
将图片块
Figure BDA0003792511730000147
及图片块
Figure BDA0003792511730000148
加上绝对位置编码,分别得到编码向量
Figure BDA0003792511730000149
和编码向量
Figure BDA00037925117300001410
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,将编码向量
Figure BDA0003792511730000151
和编码向量
Figure BDA0003792511730000152
输入到第一处理模块后,分别输出得到编码向量
Figure BDA0003792511730000153
和编码向量
Figure BDA0003792511730000154
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 BDA0003792511730000155
和编码向量
Figure BDA0003792511730000156
输入到第二处理模块后,分别输出得到编码向量
Figure BDA0003792511730000157
和编码向量
Figure BDA0003792511730000158
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 BDA0003792511730000159
和编码向量
Figure BDA00037925117300001510
输入到第三处理模块后,分别输出得到编码向量
Figure BDA00037925117300001511
和编码向量
Figure BDA00037925117300001512
c-6)所述第四处理模块依次由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 BDA0003792511730000161
和编码向量
Figure BDA0003792511730000162
输入到第四处理模块后,分别输出得到编码向量
Figure BDA0003792511730000163
和编码向量
Figure BDA0003792511730000164
实施例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 BDA0003792511730000165
将向量
Figure BDA0003792511730000166
输入到第一残差模块中的第一分支后输出得到向量
Figure BDA0003792511730000171
将向量
Figure BDA0003792511730000172
输入到第一残差模块中的第二分支后输出得到向量
Figure BDA0003792511730000173
将向量
Figure BDA0003792511730000174
与向量
Figure BDA0003792511730000175
相加得到向量
Figure BDA0003792511730000176
将向量
Figure BDA0003792511730000177
输入到第二残差模块中的第一分支后输出得到向量
Figure BDA0003792511730000178
将向量
Figure BDA0003792511730000179
输入到第二残差模块中的第二分支后输出得到向量
Figure BDA00037925117300001710
将向量
Figure BDA00037925117300001711
与向量
Figure BDA00037925117300001712
相加得到向量
Figure BDA00037925117300001713
将向量
Figure BDA00037925117300001714
输入到第一上采样单元的残差模块第一个分支后输出得到向量
Figure BDA00037925117300001715
将向量
Figure BDA00037925117300001716
输入到第一上采样单元的残差模块第二个分支后输出得到向量
Figure BDA00037925117300001717
将向量
Figure BDA00037925117300001718
与向量
Figure BDA00037925117300001719
相加得到向量
Figure BDA00037925117300001720
将向量
Figure BDA00037925117300001721
输入到第一上采样单元的上采样模块中,输出得到向量
Figure BDA00037925117300001722
将向量
Figure BDA00037925117300001723
输入到第二上采样单元的残差模块第一个分支后输出得到向量
Figure BDA00037925117300001724
将向量
Figure BDA00037925117300001725
输入到第二上采样单元的残差模块第二个分支后输出得到向量
Figure BDA00037925117300001726
将向量
Figure BDA00037925117300001727
与向量
Figure BDA00037925117300001728
相加得到向量
Figure BDA00037925117300001729
将向量
Figure BDA00037925117300001730
输入到第二上采样单元的上采样模块中,输出得到向量
Figure BDA00037925117300001731
将向量
Figure BDA00037925117300001732
输入到第三上采样单元的残差模块第一个分支后输出得到向量
Figure BDA00037925117300001733
将向量
Figure BDA00037925117300001734
输入到第三上采样单元的残差模块第二个分支后输出得到向量
Figure BDA00037925117300001735
将向量
Figure BDA00037925117300001736
与向量
Figure BDA00037925117300001737
相加得到向量
Figure BDA00037925117300001738
将向量
Figure BDA00037925117300001739
输入到第三上采样单元的上采样模块中,输出得到向量
Figure BDA00037925117300001740
将向量
Figure BDA00037925117300001741
输入到第四上采样单元的残差模块第一个分支后输出得到向量
Figure BDA00037925117300001742
将向量
Figure BDA00037925117300001743
输入到第四上采样单元的残差模块第二个分支后输出得到向量
Figure BDA00037925117300001744
将向量
Figure BDA00037925117300001745
与向量
Figure BDA00037925117300001746
相加得到向量
Figure BDA00037925117300001747
将向量
Figure BDA00037925117300001748
输入到第四上采样单元的上采样模块中,输出得到向量
Figure BDA00037925117300001749
将向量
Figure BDA00037925117300001750
输入到第三残差模块的第一分支后,输出得到向量
Figure BDA00037925117300001751
将向量
Figure BDA00037925117300001752
输入到第三残差模块的第二分支后,输出得到向量
Figure BDA00037925117300001753
将向量
Figure BDA00037925117300001754
与向量
Figure BDA00037925117300001755
相加得到向量
Figure BDA00037925117300001756
将向量
Figure BDA00037925117300001757
输入到第四残差模块的第一分支后,输出得到向量
Figure BDA00037925117300001758
将向量
Figure BDA00037925117300001759
输入到第四残差模块的第二分支后,输出得到向量
Figure BDA00037925117300001760
将向量
Figure BDA00037925117300001761
与向量
Figure BDA00037925117300001762
相加得到向量
Figure BDA00037925117300001763
将向量
Figure BDA00037925117300001764
输入到第五残差模块的第一分支后,输出得到向量
Figure BDA00037925117300001765
将向量
Figure BDA00037925117300001766
输入到第五残差模块的第二分支后,输出得到向量
Figure BDA00037925117300001767
将向量
Figure BDA00037925117300001768
与向量
Figure BDA00037925117300001769
相加得到向量
Figure BDA00037925117300001770
将向量
Figure BDA00037925117300001771
输入到第一自注意力模块的第一分支的归一化层归一化处理后得到向量
Figure BDA0003792511730000181
将向量
Figure BDA0003792511730000182
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure BDA0003792511730000183
将征映射
Figure BDA0003792511730000184
Figure BDA0003792511730000185
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure BDA0003792511730000186
将空间向量
Figure BDA0003792511730000187
输入到Softmax函数层中,得到激活函数值
Figure BDA0003792511730000188
式中softmax(·)为Softmax激活函数,T为转置,dks1为空间向量
Figure BDA0003792511730000189
的维度,将激活函数值
Figure BDA00037925117300001810
及空间向量
Figure BDA00037925117300001811
一同输入到第二乘法模块中进行相乘计算,通过公式
Figure BDA00037925117300001812
计算得到注意力
Figure BDA00037925117300001813
将注意力
Figure BDA00037925117300001814
输入到第四卷积层中,输出得到向量
Figure BDA00037925117300001815
将向量
Figure BDA00037925117300001816
与第一自注意力模块的第二分支输入的向量
Figure BDA00037925117300001817
相加得到向量
Figure BDA00037925117300001818
将向量
Figure BDA00037925117300001819
输入到第二自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure BDA00037925117300001820
将向量
Figure BDA00037925117300001821
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure BDA00037925117300001822
将征映射
Figure BDA00037925117300001823
Figure BDA00037925117300001824
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure BDA00037925117300001825
将空间向量
Figure BDA00037925117300001826
输入到Softmax函数层中,得到激活函数值
Figure BDA00037925117300001827
式中dks2为空间向量
Figure BDA00037925117300001828
的维度,将激活函数值
Figure BDA00037925117300001829
及空间向量
Figure BDA00037925117300001830
一同输入到第二乘法模块中进行相乘计算,通过公式
Figure BDA00037925117300001831
计算得到注意力
Figure BDA00037925117300001832
将注意力
Figure BDA00037925117300001833
输入到第四卷积层中,输出得到向量
Figure BDA00037925117300001834
将向量
Figure BDA00037925117300001835
与第二自注意力模块的第二分支输入的向量
Figure BDA00037925117300001836
相加得到向量
Figure BDA0003792511730000191
将向量
Figure BDA0003792511730000192
输入到第三自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure BDA0003792511730000193
将向量
Figure BDA0003792511730000194
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure BDA0003792511730000195
将征映射
Figure BDA0003792511730000196
Figure BDA0003792511730000197
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure BDA0003792511730000198
将空间向量
Figure BDA0003792511730000199
输入到Softmax函数层中,得到激活函数值
Figure BDA00037925117300001910
式中dks3为空间向量
Figure BDA00037925117300001911
的维度,将激活函数值
Figure BDA00037925117300001912
及空间向量
Figure BDA00037925117300001913
一同输入到第二乘法模块中进行相乘计算,通过公式
Figure BDA00037925117300001914
计算得到注意力
Figure BDA00037925117300001915
将注意力
Figure BDA00037925117300001916
输入到第四卷积层中,输出得到向量
Figure BDA00037925117300001917
将向量
Figure BDA00037925117300001918
与第三自注意力模块的第二分支输入的向量
Figure BDA00037925117300001919
相加得到向量
Figure BDA00037925117300001920
将向量
Figure BDA00037925117300001921
依次输入到源身份的基于注意力的解码器Gs的第一上采样模块、第二上采样模块、第三上采样模块、第二卷积层后输出得到高分辨图片Rs
f-4)将目标身份人脸图片的解码向量Vt输入到目标身份的基于注意力的解码器Gt中,经第一卷积层卷积后,输出得到向量
Figure BDA00037925117300001922
将向量
Figure BDA00037925117300001923
输入到第一残差模块中的第一分支后输出得到向量
Figure BDA00037925117300001924
将向量
Figure BDA00037925117300001925
输入到第一残差模块中的第二分支后输出得到向量
Figure BDA00037925117300001926
将向量
Figure BDA00037925117300001927
与向量
Figure BDA00037925117300001928
相加得到向量
Figure BDA00037925117300001929
将向量
Figure BDA00037925117300001930
输入到第二残差模块中的第一分支后输出得到向量
Figure BDA00037925117300001931
将向量
Figure BDA00037925117300001932
输入到第二残差模块中的第二分支后输出得到向量
Figure BDA00037925117300001933
将向量
Figure BDA00037925117300001934
与向量
Figure BDA00037925117300001935
相加得到向量
Figure BDA00037925117300001936
将向量
Figure BDA00037925117300001937
输入到第一上采样单元的残差模块第一个分支后输出得到向量
Figure BDA00037925117300001938
将向量
Figure BDA00037925117300001939
输入到第一上采样单元的残差模块第二个分支后输出得到向量
Figure BDA00037925117300001940
将向量
Figure BDA00037925117300001941
与向量
Figure BDA00037925117300001942
相加得到向量
Figure BDA00037925117300001943
将向量
Figure BDA00037925117300001944
输入到第一上采样单元的上采样模块中,输出得到向量
Figure BDA00037925117300001945
将向量
Figure BDA00037925117300001946
输入到第二上采样单元的残差模块第一个分支后输出得到向量
Figure BDA0003792511730000201
将向量
Figure BDA0003792511730000202
输入到第二上采样单元的残差模块第二个分支后输出得到向量
Figure BDA0003792511730000203
将向量
Figure BDA0003792511730000204
与向量
Figure BDA0003792511730000205
相加得到向量
Figure BDA0003792511730000206
将向量
Figure BDA0003792511730000207
输入到第二上采样单元的上采样模块中,输出得到向量
Figure BDA0003792511730000208
将向量
Figure BDA0003792511730000209
输入到第三上采样单元的残差模块第一个分支后输出得到向量
Figure BDA00037925117300002010
将向量
Figure BDA00037925117300002011
输入到第三上采样单元的残差模块第二个分支后输出得到向量
Figure BDA00037925117300002012
将向量
Figure BDA00037925117300002013
与向量
Figure BDA00037925117300002014
相加得到向量
Figure BDA00037925117300002015
将向量
Figure BDA00037925117300002016
输入到第三上采样单元的上采样模块中,输出得到向量
Figure BDA00037925117300002017
将向量
Figure BDA00037925117300002018
输入到第四上采样单元的残差模块第一个分支后输出得到向量
Figure BDA00037925117300002019
将向量
Figure BDA00037925117300002020
输入到第四上采样单元的残差模块第二个分支后输出得到向量
Figure BDA00037925117300002021
将向量
Figure BDA00037925117300002022
与向量
Figure BDA00037925117300002023
相加得到向量
Figure BDA00037925117300002024
将向量
Figure BDA00037925117300002025
输入到第四上采样单元的上采样模块中,输出得到向量
Figure BDA00037925117300002026
将向量
Figure BDA00037925117300002027
输入到第三残差模块的第一分支后,输出得到向量
Figure BDA00037925117300002028
将向量
Figure BDA00037925117300002029
输入到第三残差模块的第二分支后,输出得到向量
Figure BDA00037925117300002030
将向量
Figure BDA00037925117300002031
与向量
Figure BDA00037925117300002032
相加得到向量
Figure BDA00037925117300002033
将向量
Figure BDA00037925117300002034
输入到第四残差模块的第一分支后,输出得到向量
Figure BDA00037925117300002035
将向量
Figure BDA00037925117300002036
输入到第四残差模块的第二分支后,输出得到向量
Figure BDA00037925117300002037
将向量
Figure BDA00037925117300002038
与向量
Figure BDA00037925117300002039
相加得到向量
Figure BDA00037925117300002040
将向量
Figure BDA00037925117300002041
输入到第五残差模块的第一分支后,输出得到向量
Figure BDA00037925117300002042
将向量
Figure BDA00037925117300002043
输入到第五残差模块的第二分支后,输出得到向量
Figure BDA00037925117300002044
将向量
Figure BDA00037925117300002045
与向量
Figure BDA00037925117300002046
相加得到向量
Figure BDA00037925117300002047
将向量
Figure BDA00037925117300002048
输入到第一自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure BDA00037925117300002049
将向量
Figure BDA00037925117300002050
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure BDA00037925117300002051
将征映射
Figure BDA00037925117300002052
Figure BDA00037925117300002053
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure BDA00037925117300002054
将空间向量
Figure BDA00037925117300002055
输入到Softmax函数层中,得到激活函数值
Figure BDA00037925117300002056
式中dkt1为空间向量
Figure BDA00037925117300002057
的维度,将激活函数值
Figure BDA00037925117300002058
及空间向量
Figure BDA00037925117300002059
一同输入到第二乘法模块中进行相乘计算,通过公式
Figure BDA0003792511730000211
计算得到注意力
Figure BDA0003792511730000212
将注意力
Figure BDA0003792511730000213
输入到第四卷积层中,输出得到向量
Figure BDA0003792511730000214
将向量
Figure BDA0003792511730000215
与第一自注意力模块的第二分支输入的向量
Figure BDA0003792511730000216
相加得到向量
Figure BDA0003792511730000217
将向量
Figure BDA0003792511730000218
输入到第二自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure BDA0003792511730000219
将向量
Figure BDA00037925117300002110
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure BDA00037925117300002111
将征映射
Figure BDA00037925117300002112
Figure BDA00037925117300002113
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure BDA00037925117300002114
将空间向量
Figure BDA00037925117300002115
输入到Softmax函数层中,得到激活函数值
Figure BDA00037925117300002116
式中dkt2为空间向量
Figure BDA00037925117300002117
的维度,将激活函数值
Figure BDA00037925117300002118
及空间向量
Figure BDA00037925117300002119
一同输入到第二乘法模块中进行相乘计算,通过公式
Figure BDA00037925117300002120
计算得到注意力
Figure BDA00037925117300002121
将注意力
Figure BDA00037925117300002122
输入到第四卷积层中,输出得到向量
Figure BDA00037925117300002123
将向量
Figure BDA00037925117300002124
与第二自注意力模块的第二分支输入的向量
Figure BDA00037925117300002125
相加得到向量
Figure BDA00037925117300002126
将向量
Figure BDA00037925117300002127
输入到第三自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure BDA00037925117300002128
将向量
Figure BDA00037925117300002129
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure BDA00037925117300002130
将征映射
Figure BDA00037925117300002131
Figure BDA00037925117300002132
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure BDA00037925117300002133
将空间向量
Figure BDA00037925117300002134
输入到Softmax函数层中,得到激活函数值
Figure BDA00037925117300002135
式中dkt3为空间向量
Figure BDA00037925117300002136
的维度,将激活函数值
Figure BDA0003792511730000221
及空间向量
Figure BDA0003792511730000222
一同输入到第二乘法模块中进行相乘计算,通过公式
Figure BDA0003792511730000223
计算得到注意力
Figure BDA0003792511730000224
将注意力
Figure BDA0003792511730000225
输入到第四卷积层中,输出得到向量
Figure BDA0003792511730000226
将向量
Figure BDA0003792511730000227
与第三自注意力模块的第二分支输入的向量
Figure BDA0003792511730000228
相加得到向量
Figure BDA0003792511730000229
将向量
Figure BDA00037925117300002210
依次输入到目标身份的基于注意力的解码器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 BDA00037925117300002211
判别结果
Figure BDA00037925117300002212
和源身份人脸图片Ps、目标身份人脸图片Pt之间的判别损失ld,计算重建高分辨率图片Rs、重建高分辨率图片Rt和源身份人脸图片Ps、目标身份人脸图片Pt之间的感知相似性损失llpips。具体的,步骤h)中通过公式lall=lrec+ld+llpips计算得到损失函数lall,lrec=||Rs-P|||2+||Rt-Pt||2
Figure BDA0003792511730000231
式中Ds(Ps)为将源身份人脸图片Ps输入到源身份图片的判别器Ds中,采用PatchGAN判别器对源身份人脸图片Ps进行判别后的判别结果,Dt(Pt)为将目标身份人脸图片Pt输入到目标身份图片的判别器中,采用PatchGAN判别器对目标身份人脸图片Pt进行判别后的判别结果,
Figure BDA0003792511730000232
式中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计算得到图片
Figure BDA0003792511730000233
j-2)将高分辨率图片解码结果Rt2s根据图片
Figure BDA0003792511730000234
中的人脸特征点使用双线性插值和仿射变换得到人脸插值结果RV
j-3)将图片
Figure BDA0003792511730000235
利用凸包算法和目标身份人脸的人脸特征点fk计算得到相应的目标人脸掩膜Mt
j-4)将图片
Figure BDA0003792511730000236
通过剪裁操作后得到背景为黑色的图片
Figure BDA0003792511730000237
j-5)将图片
Figure BDA0003792511730000238
进行高斯模糊化操作,得到图片
Figure BDA0003792511730000239
将人脸插值结果RV进行高斯模糊化操作,得到图片
Figure BDA00037925117300002310
j-6)通过公式
Figure BDA00037925117300002311
计算得到肤色转化结果Rc
j-7)通过公式
Figure BDA0003792511730000241
计算得到人脸融合结果
Figure BDA0003792511730000242
式中⊙为同或逻辑运算。由于目标人脸图片
Figure BDA0003792511730000243
与肤色转化结果Rc存在不同的光照条件,因为同时使用泊松融合来优化人脸融合结果
Figure BDA0003792511730000244
的像素值,具体的,通过公式
Figure BDA0003792511730000245
来优化人脸融合结果
Figure BDA0003792511730000246
的像素值
Figure BDA0003792511730000247
式中||·||2为L2范数,▽为梯度算子,f为目标人脸图片
Figure BDA0003792511730000248
与肤色转化结果Rc连接边缘区域。
j-8)将人脸融合结果
Figure BDA0003792511730000249
和目标人脸背景图片
Figure BDA00037925117300002410
拼接得到最终换脸结果Routput
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

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 FDA0003792511720000011
及目标身份人脸图片的编码向量
Figure FDA0003792511720000012
d)将源身份人脸图片的编码向量
Figure FDA0003792511720000013
及目标身份人脸图片的编码向量
Figure FDA0003792511720000014
分别输入到向量嵌入单元Vin中,输出得到源身份人脸图片的编码向量
Figure FDA0003792511720000015
及目标身份人脸图片的编码向量
Figure FDA0003792511720000016
e)将源身份人脸图片的编码向量
Figure FDA0003792511720000017
输入到源身份的向量嵌出单元Vouts中,输出得到源身份人脸图片的解码向量Vs,将目标身份人脸图片的编码向量
Figure FDA0003792511720000018
输入到目标身份的向量嵌出单元Voutt中,输出得到目标身份人脸图片的解码向量Vt
f)将源身份人脸图片的解码向量Vs输入到源身份的基于注意力的解码器Gs中,输出得到源身份人脸图片的重建高分辨率图片Rs,将目标身份人脸图片的解码向量Vt输入到目标身份的基于注意力的解码器Gt中,输出得到目标身份人脸图片的重建高分辨率图片Rt
g)将高分辨率图片Rs输入到源身份图片的判别器Ds中,采用PatchGAN判别器对高分辨率图片Rs进行判别,得到判别结果
Figure FDA0003792511720000021
将高分辨率图片Rt输入到目标身份图片的判别器Dt中,采用PatchGAN判别器对高分辨率图片Rt进行判别,得到判别结果
Figure FDA0003792511720000022
完成模型建立;
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
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 FDA0003792511720000031
和编码向量
Figure FDA0003792511720000032
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 FDA0003792511720000033
和编码向量
Figure FDA0003792511720000034
输入到第二处理模块后,分别输出得到编码向量
Figure FDA0003792511720000035
和编码向量
Figure FDA0003792511720000036
c-5)所述第三处理模块依次由Swin Transformer网络中的patch merging层、第一Swin Transformer 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 block均由Swin Transformer网络中以移动窗口所构成的注意力计算单元构成,第一Swin Transformer block、第二Swin Transformer block、第三SwinTransformer block、第四Swin Transformer block、第五Swin Transformer block、第六Swin Transformer block的多头个数设置为12,将编码向量
Figure FDA0003792511720000041
和编码向量
Figure FDA0003792511720000042
输入到第三处理模块后,分别输出得到编码向量
Figure FDA0003792511720000043
和编码向量
Figure FDA0003792511720000044
c-6)所述第四处理模块依次由Swin Transformer网络中的patch merging层、第一Swin Transformer 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 block均由Swin Transformer网络中以移动窗口所构成的注意力计算单元构成,第一Swin Transformer block、第二Swin Transformer block、第三SwinTransformer block、第四Swin Transformer block、第五Swin Transformer block、第六Swin Transformer block的多头个数设置为12,将编码向量
Figure FDA0003792511720000045
和编码向量
Figure FDA0003792511720000046
输入到第四处理模块后,分别输出得到编码向量
Figure FDA0003792511720000047
和编码向量
Figure FDA0003792511720000048
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 FDA0003792511720000051
将向量
Figure FDA0003792511720000052
输入到第一残差模块中的第一分支后输出得到向量
Figure FDA0003792511720000053
将向量
Figure FDA0003792511720000054
输入到第一残差模块中的第二分支后输出得到向量
Figure FDA0003792511720000055
将向量
Figure FDA0003792511720000056
与向量
Figure FDA0003792511720000057
相加得到向量
Figure FDA0003792511720000058
将向量
Figure FDA0003792511720000059
输入到第二残差模块中的第一分支后输出得到向量
Figure FDA00037925117200000510
将向量
Figure FDA00037925117200000511
输入到第二残差模块中的第二分支后输出得到向量
Figure FDA00037925117200000512
将向量
Figure FDA00037925117200000513
与向量
Figure FDA00037925117200000514
相加得到向量
Figure FDA00037925117200000515
将向量
Figure FDA00037925117200000516
输入到第一上采样单元的残差模块第一个分支后输出得到向量
Figure FDA00037925117200000517
将向量
Figure FDA00037925117200000518
输入到第一上采样单元的残差模块第二个分支后输出得到向量
Figure FDA00037925117200000519
将向量
Figure FDA00037925117200000520
与向量
Figure FDA00037925117200000521
相加得到向量
Figure FDA00037925117200000522
将向量
Figure FDA00037925117200000523
输入到第一上采样单元的上采样模块中,输出得到向量
Figure FDA00037925117200000524
将向量
Figure FDA00037925117200000525
输入到第二上采样单元的残差模块第一个分支后输出得到向量
Figure FDA00037925117200000526
将向量
Figure FDA00037925117200000527
输入到第二上采样单元的残差模块第二个分支后输出得到向量
Figure FDA00037925117200000528
将向量
Figure FDA00037925117200000529
与向量
Figure FDA00037925117200000530
相加得到向量
Figure FDA00037925117200000531
将向量
Figure FDA00037925117200000532
输入到第二上采样单元的上采样模块中,输出得到向量
Figure FDA00037925117200000533
将向量
Figure FDA00037925117200000534
输入到第三上采样单元的残差模块第一个分支后输出得到向量
Figure FDA0003792511720000061
将向量
Figure FDA0003792511720000062
输入到第三上采样单元的残差模块第二个分支后输出得到向量
Figure FDA0003792511720000063
将向量
Figure FDA0003792511720000064
与向量
Figure FDA0003792511720000065
相加得到向量
Figure FDA0003792511720000066
将向量
Figure FDA0003792511720000067
输入到第三上采样单元的上采样模块中,输出得到向量
Figure FDA0003792511720000068
将向量
Figure FDA0003792511720000069
输入到第四上采样单元的残差模块第一个分支后输出得到向量
Figure FDA00037925117200000610
将向量
Figure FDA00037925117200000611
输入到第四上采样单元的残差模块第二个分支后输出得到向量
Figure FDA00037925117200000612
将向量
Figure FDA00037925117200000613
与向量
Figure FDA00037925117200000614
相加得到向量
Figure FDA00037925117200000615
将向量
Figure FDA00037925117200000616
输入到第四上采样单元的上采样模块中,输出得到向量
Figure FDA00037925117200000617
将向量
Figure FDA00037925117200000618
输入到第三残差模块的第一分支后,输出得到向量
Figure FDA00037925117200000619
将向量
Figure FDA00037925117200000620
输入到第三残差模块的第二分支后,输出得到向量
Figure FDA00037925117200000621
将向量
Figure FDA00037925117200000622
与向量
Figure FDA00037925117200000623
相加得到向量
Figure FDA00037925117200000624
将向量
Figure FDA00037925117200000625
输入到第四残差模块的第一分支后,输出得到向量
Figure FDA00037925117200000626
将向量
Figure FDA00037925117200000627
输入到第四残差模块的第二分支后,输出得到向量
Figure FDA00037925117200000628
将向量
Figure FDA00037925117200000629
与向量
Figure FDA00037925117200000630
相加得到向量
Figure FDA00037925117200000631
将向量
Figure FDA00037925117200000632
输入到第五残差模块的第一分支后,输出得到向量
Figure FDA00037925117200000633
将向量
Figure FDA00037925117200000634
输入到第五残差模块的第二分支后,输出得到向量
Figure FDA00037925117200000635
将向量
Figure FDA00037925117200000636
与向量
Figure FDA00037925117200000637
相加得到向量
Figure FDA00037925117200000638
将向量
Figure FDA00037925117200000639
输入到第一自注意力模块的第一分支的归一化层归一化处理后得到向量
Figure FDA00037925117200000640
将向量
Figure FDA00037925117200000641
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure FDA00037925117200000642
Vs 1,将征映射
Figure FDA00037925117200000643
Figure FDA00037925117200000644
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure FDA00037925117200000645
将空间向量
Figure FDA00037925117200000646
输入到Softmax函数层中,得到激活函数值
Figure FDA00037925117200000647
式中softmax(·)为Softmax激活函数,T为转置,dks1为空间向量
Figure FDA00037925117200000648
的维度,将激活函数值
Figure FDA0003792511720000071
及空间向量Vs 1一同输入到第二乘法模块中进行相乘计算,通过公式
Figure FDA0003792511720000072
计算得到注意力
Figure FDA0003792511720000073
将注意力
Figure FDA0003792511720000074
输入到第四卷积层中,输出得到向量
Figure FDA0003792511720000075
将向量
Figure FDA0003792511720000076
与第一自注意力模块的第二分支输入的向量
Figure FDA0003792511720000077
相加得到向量
Figure FDA0003792511720000078
将向量
Figure FDA0003792511720000079
输入到第二自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure FDA00037925117200000710
将向量
Figure FDA00037925117200000711
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure FDA00037925117200000712
Vs 2,将征映射
Figure FDA00037925117200000713
Figure FDA00037925117200000714
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure FDA00037925117200000715
将空间向量
Figure FDA00037925117200000716
输入到Softmax函数层中,得到激活函数值
Figure FDA00037925117200000717
式中dks2为空间向量
Figure FDA00037925117200000718
的维度,将激活函数值
Figure FDA00037925117200000719
及空间向量Vs 2一同输入到第二乘法模块中进行相乘计算,通过公式
Figure FDA00037925117200000720
计算得到注意力
Figure FDA00037925117200000721
将注意力
Figure FDA00037925117200000722
输入到第四卷积层中,输出得到向量
Figure FDA00037925117200000723
将向量
Figure FDA00037925117200000724
与第二自注意力模块的第二分支输入的向量
Figure FDA00037925117200000725
相加得到向量
Figure FDA00037925117200000726
将向量
Figure FDA00037925117200000727
输入到第三自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure FDA00037925117200000728
将向量
Figure FDA00037925117200000729
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure FDA0003792511720000081
Vs 3,将征映射
Figure FDA0003792511720000082
Figure FDA0003792511720000083
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure FDA0003792511720000084
将空间向量
Figure FDA0003792511720000085
输入到Softmax函数层中,得到激活函数值
Figure FDA0003792511720000086
式中dks3为空间向量
Figure FDA0003792511720000087
的维度,将激活函数值
Figure FDA0003792511720000088
及空间向量Vs 3一同输入到第二乘法模块中进行相乘计算,通过公式
Figure FDA0003792511720000089
计算得到注意力
Figure FDA00037925117200000810
将注意力
Figure FDA00037925117200000811
输入到第四卷积层中,输出得到向量
Figure FDA00037925117200000812
将向量
Figure FDA00037925117200000813
与第三自注意力模块的第二分支输入的向量
Figure FDA00037925117200000814
相加得到向量
Figure FDA00037925117200000815
将向量
Figure FDA00037925117200000816
依次输入到源身份的基于注意力的解码器Gs的第一上采样模块、第二上采样模块、第三上采样模块、第二卷积层后输出得到高分辨图片Rs
f-4)将目标身份人脸图片的解码向量Vt输入到目标身份的基于注意力的解码器Gt中,经第一卷积层卷积后,输出得到向量
Figure FDA00037925117200000817
将向量
Figure FDA00037925117200000818
输入到第一残差模块中的第一分支后输出得到向量
Figure FDA00037925117200000819
将向量
Figure FDA00037925117200000820
输入到第一残差模块中的第二分支后输出得到向量
Figure FDA00037925117200000821
将向量
Figure FDA00037925117200000822
与向量
Figure FDA00037925117200000823
相加得到向量
Figure FDA00037925117200000824
将向量
Figure FDA00037925117200000825
输入到第二残差模块中的第一分支后输出得到向量
Figure FDA00037925117200000826
将向量
Figure FDA00037925117200000827
输入到第二残差模块中的第二分支后输出得到向量
Figure FDA00037925117200000828
将向量
Figure FDA00037925117200000829
与向量
Figure FDA00037925117200000830
相加得到向量
Figure FDA00037925117200000831
将向量
Figure FDA00037925117200000832
输入到第一上采样单元的残差模块第一个分支后输出得到向量
Figure FDA00037925117200000833
将向量
Figure FDA00037925117200000834
输入到第一上采样单元的残差模块第二个分支后输出得到向量
Figure FDA00037925117200000835
将向量
Figure FDA00037925117200000836
与向量
Figure FDA00037925117200000837
相加得到向量
Figure FDA00037925117200000838
将向量
Figure FDA0003792511720000091
输入到第一上采样单元的上采样模块中,输出得到向量
Figure FDA0003792511720000092
将向量
Figure FDA0003792511720000093
输入到第二上采样单元的残差模块第一个分支后输出得到向量
Figure FDA0003792511720000094
将向量
Figure FDA0003792511720000095
输入到第二上采样单元的残差模块第二个分支后输出得到向量
Figure FDA0003792511720000096
将向量
Figure FDA0003792511720000097
与向量
Figure FDA0003792511720000098
相加得到向量
Figure FDA0003792511720000099
将向量
Figure FDA00037925117200000910
输入到第二上采样单元的上采样模块中,输出得到向量
Figure FDA00037925117200000911
将向量
Figure FDA00037925117200000912
输入到第三上采样单元的残差模块第一个分支后输出得到向量
Figure FDA00037925117200000913
将向量
Figure FDA00037925117200000914
输入到第三上采样单元的残差模块第二个分支后输出得到向量
Figure FDA00037925117200000915
将向量
Figure FDA00037925117200000916
与向量
Figure FDA00037925117200000917
相加得到向量
Figure FDA00037925117200000918
将向量
Figure FDA00037925117200000919
输入到第三上采样单元的上采样模块中,输出得到向量
Figure FDA00037925117200000920
将向量
Figure FDA00037925117200000921
输入到第四上采样单元的残差模块第一个分支后输出得到向量
Figure FDA00037925117200000922
将向量
Figure FDA00037925117200000923
输入到第四上采样单元的残差模块第二个分支后输出得到向量
Figure FDA00037925117200000924
将向量
Figure FDA00037925117200000925
与向量
Figure FDA00037925117200000926
相加得到向量
Figure FDA00037925117200000927
将向量
Figure FDA00037925117200000928
输入到第四上采样单元的上采样模块中,输出得到向量
Figure FDA00037925117200000929
将向量
Figure FDA00037925117200000930
输入到第三残差模块的第一分支后,输出得到向量
Figure FDA00037925117200000931
将向量
Figure FDA00037925117200000932
输入到第三残差模块的第二分支后,输出得到向量
Figure FDA00037925117200000933
将向量
Figure FDA00037925117200000934
与向量
Figure FDA00037925117200000935
相加得到向量
Figure FDA00037925117200000936
将向量
Figure FDA00037925117200000937
输入到第四残差模块的第一分支后,输出得到向量
Figure FDA00037925117200000938
将向量
Figure FDA00037925117200000939
输入到第四残差模块的第二分支后,输出得到向量
Figure FDA00037925117200000940
将向量
Figure FDA00037925117200000941
与向量
Figure FDA00037925117200000942
相加得到向量
Figure FDA00037925117200000943
将向量
Figure FDA00037925117200000944
输入到第五残差模块的第一分支后,输出得到向量
Figure FDA00037925117200000945
将向量
Figure FDA00037925117200000946
输入到第五残差模块的第二分支后,输出得到向量
Figure FDA00037925117200000947
将向量
Figure FDA00037925117200000948
与向量
Figure FDA00037925117200000949
相加得到向量
Figure FDA00037925117200000950
将向量
Figure FDA00037925117200000951
输入到第一自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure FDA00037925117200000952
将向量
Figure FDA00037925117200000953
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure FDA00037925117200000954
Vt 1,将征映射
Figure FDA00037925117200000955
Figure FDA00037925117200000956
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure FDA0003792511720000101
将空间向量
Figure FDA0003792511720000102
输入到Softmax函数层中,得到激活函数值
Figure FDA0003792511720000103
式中dkt1为空间向量
Figure FDA0003792511720000104
的维度,将激活函数值
Figure FDA0003792511720000105
及空间向量Vt 1一同输入到第二乘法模块中进行相乘计算,通过公式
Figure FDA0003792511720000106
计算得到注意力
Figure FDA0003792511720000107
将注意力
Figure FDA0003792511720000108
输入到第四卷积层中,输出得到向量
Figure FDA0003792511720000109
将向量
Figure FDA00037925117200001010
与第一自注意力模块的第二分支输入的向量
Figure FDA00037925117200001011
相加得到向量
Figure FDA00037925117200001012
将向量
Figure FDA00037925117200001013
输入到第二自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure FDA00037925117200001014
将向量
Figure FDA00037925117200001015
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure FDA00037925117200001016
Vt 2,将征映射
Figure FDA00037925117200001017
Figure FDA00037925117200001018
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure FDA00037925117200001019
将空间向量
Figure FDA00037925117200001020
输入到Softmax函数层中,得到激活函数值
Figure FDA00037925117200001021
式中dkt2为空间向量
Figure FDA00037925117200001022
的维度,将激活函数值
Figure FDA00037925117200001023
及空间向量Vt 2一同输入到第二乘法模块中进行相乘计算,通过公式
Figure FDA00037925117200001024
计算得到注意力
Figure FDA00037925117200001025
将注意力
Figure FDA00037925117200001026
输入到第四卷积层中,输出得到向量
Figure FDA0003792511720000111
将向量
Figure FDA0003792511720000112
与第二自注意力模块的第二分支输入的向量
Figure FDA0003792511720000113
相加得到向量
Figure FDA0003792511720000114
将向量
Figure FDA0003792511720000115
输入到第三自注意力模块的第一分支的归一化层归一化处理后,得到向量
Figure FDA0003792511720000116
将向量
Figure FDA0003792511720000117
分别输入到第一卷积层、第二卷积层、第三卷积层中,分别输出得到特征映射空间向量
Figure FDA0003792511720000118
Vt 3,将征映射
Figure FDA0003792511720000119
Figure FDA00037925117200001110
输入到第一乘法模块中进行相乘计算,得到空间向量
Figure FDA00037925117200001111
将空间向量
Figure FDA00037925117200001112
输入到Softmax函数层中,得到激活函数值
Figure FDA00037925117200001113
式中dkt3为空间向量
Figure FDA00037925117200001114
的维度,将激活函数值
Figure FDA00037925117200001115
及空间向量Vt 3一同输入到第二乘法模块中进行相乘计算,通过公式
Figure FDA00037925117200001116
计算得到注意力
Figure FDA00037925117200001117
将注意力
Figure FDA00037925117200001118
输入到第四卷积层中,输出得到向量
Figure FDA00037925117200001119
将向量
Figure FDA00037925117200001120
与第三自注意力模块的第二分支输入的向量
Figure FDA00037925117200001121
相加得到向量
Figure FDA00037925117200001122
将向量
Figure FDA00037925117200001123
依次输入到目标身份的基于注意力的解码器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 FDA0003792511720000121
式中Ds(Ps)为将源身份人脸图片Ps输入到源身份图片的判别器Ds中,采用PatchGAN判别器对源身份人脸图片Ps进行判别后的判别结果,Dt(Pt)为将目标身份人脸图片Pt输入到目标身份图片的判别器中,采用PatchGAN判别器对目标身份人脸图片Pt进行判别后的判别结果,
Figure FDA0003792511720000122
,式中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层后得到的输出结果。
10.根据权利要求1所述的基于Transformer的deepfake生成方法,其特征在于,步骤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 FDA0003792511720000131
j-6)通过公式
Figure FDA0003792511720000132
计算得到肤色转化结果Rc
j-7)通过公式
Figure FDA0003792511720000133
计算得到人脸融合结果
Figure FDA0003792511720000134
式中⊙为同或逻辑运算,通过公式
Figure FDA0003792511720000135
来优化人脸融合结果
Figure FDA0003792511720000136
的像素值P(Mt,Rc,Pt p),式中||·||2为L2范数,▽为梯度算子,f为目标人脸图片Pt p与肤色转化结果Rc连接边缘区域;
j-8)将人脸融合结果
Figure FDA0003792511720000137
和目标人脸背景图片Pt c拼接得到最终换脸结果Routput
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 true CN115311720A (zh) 2022-11-08
CN115311720B 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)

Cited By (5)

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

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112733625A (zh) * 2020-12-28 2021-04-30 华南理工大学 基于时域自注意力机制的假脸视频篡改检测方法及系统
CN112766160A (zh) * 2021-01-20 2021-05-07 西安电子科技大学 基于多级属性编码器和注意力机制的人脸替换方法
CN113379606A (zh) * 2021-08-16 2021-09-10 之江实验室 一种基于预训练生成模型的人脸超分辨方法
CN113536990A (zh) * 2021-06-29 2021-10-22 复旦大学 深度伪造人脸数据鉴别方法
CN113887573A (zh) * 2021-09-10 2022-01-04 合肥高维数据技术有限公司 基于视觉转换器的人脸伪造检测方法
CN113903073A (zh) * 2021-11-23 2022-01-07 山东省人工智能研究院 一种基于局部增强transformer的假视频检测方法
CN114155139A (zh) * 2021-11-23 2022-03-08 山东省人工智能研究院 一种基于向量离散化表示的deepfake生成方法
RU2768797C1 (ru) * 2021-10-19 2022-03-24 Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) Способ и система для определения синтетически измененных изображений лиц на видео
CN114387641A (zh) * 2021-12-21 2022-04-22 中山大学 基于多尺度卷积网络和ViT的虚假视频检测方法及系统
CN114445889A (zh) * 2022-01-26 2022-05-06 武汉理工大学 基于双重注意力机制的轻量级人脸老化方法
WO2022129610A1 (en) * 2020-12-17 2022-06-23 UMNAI Limited Explainable transducer transformers
CN114743148A (zh) * 2022-04-27 2022-07-12 中国刑事警察学院 多尺度特征融合篡改视频检测方法、系统、介质和设备
CN114758272A (zh) * 2022-03-31 2022-07-15 中国人民解放军战略支援部队信息工程大学 基于频域自注意力的伪造视频检测方法
CN114757832A (zh) * 2022-06-14 2022-07-15 之江实验室 基于交叉卷积注意力对抗学习的人脸超分辨方法和装置
CN114842524A (zh) * 2022-03-16 2022-08-02 电子科技大学 一种基于不规则显著性像素簇的人脸鉴伪方法
CN114842034A (zh) * 2022-04-19 2022-08-02 山东省人工智能研究院 一种基于放大模糊操作痕迹的图片真假检测方法

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022129610A1 (en) * 2020-12-17 2022-06-23 UMNAI Limited Explainable transducer transformers
CN112733625A (zh) * 2020-12-28 2021-04-30 华南理工大学 基于时域自注意力机制的假脸视频篡改检测方法及系统
CN112766160A (zh) * 2021-01-20 2021-05-07 西安电子科技大学 基于多级属性编码器和注意力机制的人脸替换方法
CN113536990A (zh) * 2021-06-29 2021-10-22 复旦大学 深度伪造人脸数据鉴别方法
CN113379606A (zh) * 2021-08-16 2021-09-10 之江实验室 一种基于预训练生成模型的人脸超分辨方法
CN113887573A (zh) * 2021-09-10 2022-01-04 合肥高维数据技术有限公司 基于视觉转换器的人脸伪造检测方法
RU2768797C1 (ru) * 2021-10-19 2022-03-24 Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) Способ и система для определения синтетически измененных изображений лиц на видео
CN113903073A (zh) * 2021-11-23 2022-01-07 山东省人工智能研究院 一种基于局部增强transformer的假视频检测方法
CN114155139A (zh) * 2021-11-23 2022-03-08 山东省人工智能研究院 一种基于向量离散化表示的deepfake生成方法
CN114387641A (zh) * 2021-12-21 2022-04-22 中山大学 基于多尺度卷积网络和ViT的虚假视频检测方法及系统
CN114445889A (zh) * 2022-01-26 2022-05-06 武汉理工大学 基于双重注意力机制的轻量级人脸老化方法
CN114842524A (zh) * 2022-03-16 2022-08-02 电子科技大学 一种基于不规则显著性像素簇的人脸鉴伪方法
CN114758272A (zh) * 2022-03-31 2022-07-15 中国人民解放军战略支援部队信息工程大学 基于频域自注意力的伪造视频检测方法
CN114842034A (zh) * 2022-04-19 2022-08-02 山东省人工智能研究院 一种基于放大模糊操作痕迹的图片真假检测方法
CN114743148A (zh) * 2022-04-27 2022-07-12 中国刑事警察学院 多尺度特征融合篡改视频检测方法、系统、介质和设备
CN114757832A (zh) * 2022-06-14 2022-07-15 之江实验室 基于交叉卷积注意力对抗学习的人脸超分辨方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BACHIR KADDAR: ""HCIT:deepfake video detection using a hybrid model of cnn features and vision transformer"", 《2021 INTERNATIONAL CONFERENCE ON VISUAL COMMUNICATIONS AND IMAGE PROCESSING》 *
JUNKE WANG: ""M2TR:multi-model multi-scale Transformers for deepfake detection"", 《ARXIV》 *
朱振: ""基于深度学习的深度伪造检测方法"", 《基于深度学习的深度伪造检测方法》, vol. 35, no. 6 *

Cited By (9)

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

Also Published As

Publication number Publication date
CN115311720B (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
CN115311720A (zh) 一种基于Transformer的deepfake生成方法
WO2022267641A1 (zh) 一种基于循环生成对抗网络的图像去雾方法及系统
US11610435B2 (en) Generative adversarial neural network assisted video compression and broadcast
CN113901894A (zh) 一种视频生成方法、装置、服务器及存储介质
CN113642604A (zh) 一种基于云边协同的音视频辅助触觉信号重建方法
CN109996073B (zh) 一种图像压缩方法、系统、可读存储介质及计算机设备
CN114723760B (zh) 人像分割模型的训练方法、装置及人像分割方法、装置
CN113378973B (zh) 一种基于自注意力机制的图像分类方法
CN115908205B (zh) 图像修复方法、装置、电子设备和存储介质
CN115082774A (zh) 基于双流自注意力神经网络的图像篡改定位方法及系统
Li et al. Efficient region-aware neural radiance fields for high-fidelity talking portrait synthesis
CN114387641A (zh) 基于多尺度卷积网络和ViT的虚假视频检测方法及系统
CN114155139B (zh) 一种基于向量离散化表示的deepfake生成方法
CN115829876A (zh) 一种基于交叉注意力机制的真实退化图像盲修复方法
CN116434252A (zh) 图像识别模型的训练及图像识别方法、装置、介质、设备
CN115497139A (zh) 一种融合注意力机制的口罩遮挡人脸检测与识别方法
CN113379606B (zh) 一种基于预训练生成模型的人脸超分辨方法
CN117689592A (zh) 一种基于级联自适应网络的水下图像增强方法
CN113781376B (zh) 一种基于分治融合的高清人脸属性编辑方法
CN116703719A (zh) 一种基于人脸3d先验信息的人脸超分辨率重建装置及方法
CN115131414A (zh) 基于深度学习的无人机图像对齐方法、电子设备和存储介质
WO2020207186A1 (zh) 生成基于视频文件格式的形状识别列表的方法
CN113780209A (zh) 一种基于注意力机制的人脸属性编辑方法
Huo et al. Blind Face Restoration via Multi-head Cross-attention and Generative Priors
CN117609962B (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