CN117173006A - 一种数据处理方法、装置、设备及可读存储介质 - Google Patents
一种数据处理方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN117173006A CN117173006A CN202311140169.2A CN202311140169A CN117173006A CN 117173006 A CN117173006 A CN 117173006A CN 202311140169 A CN202311140169 A CN 202311140169A CN 117173006 A CN117173006 A CN 117173006A
- Authority
- CN
- China
- Prior art keywords
- face
- video
- time
- space
- frame
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 28
- 230000004927 fusion Effects 0.000 claims abstract description 90
- 230000006870 function Effects 0.000 claims description 82
- 230000003287 optical effect Effects 0.000 claims description 77
- 238000010586 diagram Methods 0.000 claims description 59
- 238000000034 method Methods 0.000 claims description 57
- 238000004364 calculation method Methods 0.000 claims description 35
- 238000001514 detection method Methods 0.000 claims description 15
- 230000002123 temporal effect Effects 0.000 claims description 12
- 239000002131 composite material Substances 0.000 claims description 5
- 230000001815 facial effect Effects 0.000 abstract description 5
- 230000008859 change Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 7
- 238000000605 extraction Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000002513 implantation Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 239000007943 implant Substances 0.000 description 3
- 230000008485 antagonism Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005314 correlation function Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 108091026890 Coding region Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 210000000697 sensory organ Anatomy 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本发明提供了一种数据处理方法、装置、设备及可读存储介质,其中,数据处理方法,包括:根据待处理视频,获取第一人物的空域特征和时域特征;根据所述空域特征和时域特征,获取第一时空融合特征;根据所述第一时空融合特征和第二人物的人脸特征,得到第二时空融合特征;根据所述第二时空融合特征,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频。本发明实施例能够很好的解决现有技术中针对人脸替换的数据处理方案存在生成的结果视频的脸部动作流畅度不足和/或光影连贯度不足的问题。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、设备及可读存储介质。
背景技术
现有技术方案在图像人脸替换领域已取得较多突破和应用,而视频人脸替换场景则面临更多的技术瓶颈。具体的,现有视频人脸替换技术通常是将视频拆解成一系列独立的帧,再分别基于图像人脸替换技术逐帧进行处理,帧与帧之间的处理相互独立,最后将完成图像换脸的帧序列进行编码输出结果视频。换言之,现有视频换脸技术整体上仅仅为图像换脸技术的多帧化处理。基于此,现有视频人脸替换技术方案通常存在以下问题:
帧与帧之间的处理相互独立,导致生成的结果视频容易出现脸部动作流畅度不足和/或光影连贯度不足的问题。
发明内容
本发明的目的在于提供一种数据处理方法、装置、设备及可读存储介质,以解决现有技术中针对人脸替换的数据处理方案存在生成的结果视频的脸部动作流畅度不足和/或光影连贯度不足的问题。
为了解决上述技术问题,本发明提供一种数据处理方法,包括:
根据待处理视频,获取第一人物的空域特征和时域特征;
根据所述空域特征和时域特征,获取第一时空融合特征;
根据所述第一时空融合特征和第二人物的人脸特征,得到第二时空融合特征;
根据所述第二时空融合特征,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频。
可选的,根据待处理视频,获取第一人物的时域特征,包括:
针对待处理视频所包含的视频帧进行跨帧光流估计,得到帧间光流图;
将各视频帧的前序帧间光流图和后序帧间光流图进行合并,得到前后文光流图;其中,所述前序帧间光流图是指当前视频帧与前序视频帧之间的帧间光流图;所述后序帧间光流图是指当前视频帧与后序视频帧之间的帧间光流图;
根据所述前后文光流图,获取第一人物的时域特征。
可选的,所述根据所述前后文光流图,获取第一人物的时域特征,包括:
针对所述视频帧进行人脸检测,得到在所述视频帧中第一人物的人脸位置;
根据所述人脸位置对所述前后文光流图进行裁切,得到对应的前后文光流切图;
根据所述前后文光流切图,得到第一人物的时域特征。
可选的,所述根据所述第二时空融合特征,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频,包括:
根据所述第二时空融合特征,生成目标人脸切图;
利用所述目标人脸切图,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频。
可选的,还包括:
利用训练数据和目标损失函数,训练双流时空特征提取器、人脸标识植入器以及人脸合成器;
其中,所述目标损失函数为包括身份损失函数、空域损失函数和时域损失函数的复合函数;
所述身份损失函数用于表示结果视频中的合成人脸相对所述第二人物人脸的损失;
所述空域损失函数用于表示结果视频中的视频帧相对所述待处理视频的视频帧在空域维度的损失;
所述时域损失函数用于表示结果视频相对所述待处理视频在时域维度的损失;
所述双流时空特征提取器用于提取所述第一人物的空域特征和时域特征;
所述人脸标识植入器用于获取所述第二人物的人脸特征,并结合第一时空融合特征生成第二时空融合特征;
所述人脸合成器用于根据所述第二时空融合特征,生成目标人脸切图。
可选的,所述身份损失函数包括在所述结果视频内基于合成人脸帧序列的跨帧比对的身份损失计算。
可选的,所述空域损失函数包括所述待处理视频和结果视频进行序列比对的空域损失计算。
本发明还提供了一种数据处理装置,包括:
第一模块,用于根据待处理视频,获取第一人物的空域特征和时域特征;
第二模块,用于根据所述空域特征和时域特征,获取第一时空融合特征;
第三模块,用于根据所述第一时空融合特征和第二人物的人脸特征,得到第二时空融合特征;
第四模块,用于根据所述第二时空融合特征,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频。
可选的,根据待处理视频,获取第一人物的时域特征,包括:
针对待处理视频所包含的视频帧进行跨帧光流估计,得到帧间光流图;
将各视频帧的前序帧间光流图和后序帧间光流图进行合并,得到前后文光流图;其中,所述前序帧间光流图是指当前视频帧与前序视频帧之间的帧间光流图;所述后序帧间光流图是指当前视频帧与后序视频帧之间的帧间光流图;
根据所述前后文光流图,获取第一人物的时域特征。
可选的,所述根据所述前后文光流图,获取第一人物的时域特征,包括:
针对所述视频帧进行人脸检测,得到在所述视频帧中第一人物的人脸位置;
根据所述人脸位置对所述前后文光流图进行裁切,得到对应的前后文光流切图;
根据所述前后文光流切图,得到第一人物的时域特征。
可选的,所述根据所述第二时空融合特征,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频,包括:
根据所述第二时空融合特征,生成目标人脸切图;
利用所述目标人脸切图,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频。
可选的,还包括:
第五模块,用于利用训练数据和目标损失函数,训练双流时空特征提取器、人脸标识植入器以及人脸合成器;
其中,所述目标损失函数为包括身份损失函数、空域损失函数和时域损失函数的复合函数;
所述身份损失函数用于表示结果视频中的合成人脸相对所述第二人物人脸的损失;
所述空域损失函数用于表示结果视频中的视频帧相对所述待处理视频的视频帧在空域维度的损失;
所述时域损失函数用于表示结果视频相对所述待处理视频在时域维度的损失;
所述双流时空特征提取器用于提取所述第一人物的空域特征和时域特征;
所述人脸标识植入器用于获取所述第二人物的人脸特征,并结合第一时空融合特征生成第二时空融合特征;
所述人脸合成器用于根据所述第二时空融合特征,生成目标人脸切图。
可选的,所述身份损失函数包括在所述结果视频内基于合成人脸帧序列的跨帧比对的身份损失计算。
可选的,所述空域损失函数包括所述待处理视频和结果视频进行序列比对的空域损失计算。
本发明还提供了一种数据处理设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器执行所述程序时实现上述的数据处理方法。
本发明还提供了一种可读存储介质,其上存储有程序,该程序被处理器执行时实现上述的数据处理方法中的步骤。
本发明的上述技术方案的有益效果如下:
上述方案中,所述数据处理方法通过根据待处理视频,获取第一人物的空域特征和时域特征;根据所述空域特征和时域特征,获取第一时空融合特征;根据所述第一时空融合特征和第二人物的人脸特征,得到第二时空融合特征;根据所述第二时空融合特征,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频;能够实现利用时空融合特征以结合待处理视频自身的时序特性来进行各视频帧的处理,从而实现帧与帧之间的动作处理相互关联和/或光影处理相互关联,进而保证生成的结果视频的脸部动作流畅度更强和/或光影连贯性更强。
附图说明
图1为本发明实施例的数据处理方法流程示意图;
图2为本发明实施例的数据处理方法具体实现流程示意图;
图3为本发明实施例的时空特征融合示意图;
图4为本发明实施例的目标人脸切图生成示意图;
图5为本发明实施例的数据处理方法实现装置示意图;
图6为本发明实施例的数据处理方法实现设备示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的技术中针对人脸替换的数据处理方案存在生成的结果视频的脸部动作流畅度不足和/或光影连贯度不足的问题,提供一种数据处理方法,如图1所示,包括:
步骤101:根据待处理视频,获取第一人物的空域特征和时域特征;
步骤102:根据所述空域特征和时域特征,获取第一时空融合特征;
步骤103:根据所述第一时空融合特征和第二人物的人脸特征,得到第二时空融合特征;
步骤104:根据所述第二时空融合特征,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频。
其中,人脸特征具体可为人脸标识FaceID编码,但并不以此为限;结果视频可以理解为:人脸替换后得到的视频。第一人物可以理解为待替换人物,第二人物可以理解为目标人物,本方案可适用于多种场景,比如将视频中演员替换的场景,可以假设第一人物(待替换人物)为演员A,第二人物(目标人物)为演员B,本方案可以实现根据包含演员A的待处理视频,经过本方案处理后,得到包含演员B的视频(可以是演员B替换演员A),该视频中演员B的五官与演员B自身一致,但姿态、表情动作与待处理视频中的演员A一致,但并不以此为限。
本发明实施例提供的所述数据处理方法通过根据待处理视频,获取第一人物的空域特征和时域特征;根据所述空域特征和时域特征,获取第一时空融合特征;根据所述第一时空融合特征和第二人物的人脸特征,得到第二时空融合特征;根据所述第二时空融合特征,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频;能够实现利用时空融合特征以结合待处理视频自身的时序特性来进行各视频帧的处理,从而实现帧与帧之间的动作处理相互关联和/或光影处理相互关联,进而保证生成的结果视频的脸部动作流畅度更强和/或光影连贯性更强。
其中,根据待处理视频,获取第一人物的时域特征,包括:针对待处理视频所包含的视频帧进行跨帧光流估计,得到帧间光流图;将各视频帧的前序帧间光流图和后序帧间光流图进行合并,得到前后文光流图;其中,所述前序帧间光流图是指当前视频帧与前序视频帧之间的帧间光流图;所述后序帧间光流图是指当前视频帧与后序视频帧之间的帧间光流图;根据所述前后文光流图,获取第一人物的时域特征。
这样可以准确得到第一人物的时域特征。其中,“将各视频帧的前序帧间光流图和后序帧间光流图进行合并,得到前后文光流图”,可包括:将每个视频帧对应的前序帧间光流图和后序帧间光流图基于通道进行合并,得到前后文光流图,但并不以此为限。本发明实施例中,“根据待处理视频,获取第一人物的空域特征”,可以包括:根据待处理视频所包含的视频帧的单帧像素信息,获取第一人物的空域特征,但并不以此为限。其中“前序视频帧”可以为前X视频帧,X为大于或等于1的整数;“后序视频帧”可以为后Y视频帧,Y为大于或等于1的整数。
本发明实施例中,所述根据所述前后文光流图,获取第一人物的时域特征,包括:针对所述视频帧进行人脸检测,得到在所述视频帧中第一人物的人脸位置;根据所述人脸位置对所述前后文光流图进行裁切,得到对应的前后文光流切图;根据所述前后文光流切图,得到第一人物的时域特征。
这样可以更具体的得到第一人物的时域特征。
其中,所述根据所述第二时空融合特征,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频,包括:根据所述第二时空融合特征,生成目标人脸切图;利用所述目标人脸切图,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频。
这样可以准确得到结果视频;其中,目标人脸切图所对应的FaceID编码(人脸特征)与第二人物的人脸一致,表情动作、运动模糊和光影变化等属性信息与待替换人物(第一人物)的人脸切图一致,但并不以此为限。
进一步的,所述的数据处理方法,还包括:利用训练数据和目标损失函数,训练双流时空特征提取器、人脸标识植入器以及人脸合成器;其中,所述目标损失函数为包括身份损失函数、空域损失函数和时域损失函数的复合函数;所述身份损失函数用于表示结果视频中的合成人脸相对所述第二人物人脸的损失;所述空域损失函数用于表示结果视频中的视频帧相对所述待处理视频的视频帧在空域维度的损失;所述时域损失函数用于表示结果视频相对所述待处理视频在时域维度的损失;所述双流时空特征提取器用于提取所述第一人物的空域特征和时域特征;所述人脸标识植入器用于获取所述第二人物的人脸特征,并结合第一时空融合特征生成第二时空融合特征;所述人脸合成器用于根据所述第二时空融合特征,生成目标人脸切图。
这样可以准确得到双流时空特征提取器、人脸标识植入器以及人脸合成器。
其中,所述身份损失函数包括在所述结果视频内基于合成人脸帧序列的跨帧比对的身份损失计算。
这样可以准确获得结果视频对应的身份损失。
本发明实施例中,所述空域损失函数包括所述待处理视频和结果视频进行序列比对的空域损失计算。
这样可以准确获得待处理视频对应的空域损失。
下面对上述数据处理方法进行进一步说明,其中,人脸特征以人脸标识FaceID编码为例,图像(比如人脸切图)以RGB(对应红绿蓝通道)图像为例。
本发明实施例的数据处理方法,具体可实现为一种基于时空特征融合的视频人脸替换方案,可以结合视频天然的时序特性(视频自身的时序特性),提供动作流畅度更高、光影连贯性更强、运动模糊更真实的换脸效果。本发明实施例提供的方案主要涉及:通过人脸RGB切图序列、前后文光流切图和FaceID编码得到包含第一人脸(对应于第一人物的人脸)的时空特征(对应于上述第一时空融合特征)和包含第二人脸特征的第二时空融合特征编码,并基于预先训练好的人脸合成器,生成人脸FaceID与第二人脸(对应于第二人物的人脸)一致,表情动作、运动模糊和光影变化等属性信息与目标帧第一人脸切图(对应于上述第一人物的人脸切图)一致的第三人脸。
整体而言,本发明实施例的视频人脸替换方法主要基于深度学习神经网络实现,并包含双流时空特征提取器、人脸FaceID植入器(对应于上述人脸标识植入器)和人脸合成器这3个子模型,其使用流程可分为训练和推理2个阶段,如图2所示。
其中,推理阶段(该阶段所有模型均已完成相应训练)主要包含以下步骤:
1.获取一段第一人脸的待处理视频,将其解码成帧序列(得到目标帧序列,包含上述待处理视频的视频帧);
2.对帧序列所有相邻帧进行光流(Optical Flow)估计,获得帧间光流图序列(对应于上述针对待处理视频所包含的视频帧进行跨帧光流估计,得到帧间光流图);其中,光流图可捕捉两帧之间的像素运动并矢量化(即帧间变化),包括强度和方向,可用于推断物体运动信息和光影变化。
3.对目标帧序列逐帧(均为RGB图像)进行人脸检测,获得人脸位置并裁切出来,生成第一人脸的人脸RGB切图序列;其中,人脸裁切时可选择进行人脸对齐以提升人脸切图序列的位置一致性。
4.将每个目标帧(即待处理视频包含的帧)对应的前序(帧间)光流图和后序(帧间)光流图基于通道合并,获得前后文光流图(Contextual Optical Flow Map),再参照人脸RGB切图相同的位置进行裁切,生成与之对应的人脸前后文光流切图序列(即再参照各帧人脸RGB切图的位置进行裁切,得到对应的人脸前后文光流切图序列);对应于上述将各视频帧的前序帧间光流图和后序帧间光流图进行合并,得到前后文光流图;针对所述视频帧进行人脸检测,得到在所述视频帧中第一人物的人脸位置;根据所述人脸位置对所述前后文光流图进行裁切,得到对应的前后文光流切图;根据所述前后文光流切图,得到第一人物的时域特征。其中,人脸前后文光流切图序列也可称为人脸前后帧光流切图序列,人脸前后文光流切图也可简称为前后文光流切图。
5.针对每个目标帧,将其人脸RGB切图和人脸前后文光流切图一同输入双流时空特征提取器(Two-Stream Spatio-Temporal Feature Extractor),其以双通道的形式分别提取时域特征和空域特征(对应于上述双流时空特征提取器用于提取所述第一人物的空域特征和时域特征),再进行特征融合,生成第一时空融合特征编码;对应于上述根据所述空域特征和时域特征,获取第一时空融合特征。
6.获取第二人脸的源图像,使用人脸FaceID植入器(FaceID Implanter)对源图像进行人脸识别并提取第二人脸的FaceID编码,再将其(第二人脸的FaceID编码)植入每个目标帧的第一时空融合特征编码中,获得第二时空融合特征编码(对应于上述获取所述第二人物的人脸特征,并结合第一时空融合特征生成第二时空融合特征);如第二人脸的源数据包含多张人脸图像,可根据使用场景选取最希望在待处理视频中呈现的第二人脸状态;如源数据包含视频,可对其解码后加入候选图像集,在此不作限定。
7.针对每个目标帧,将其第二时空融合特征编码输入人脸合成器,生成第三人脸的人脸RGB切图(对应于上述根据所述第二时空融合特征,生成目标人脸切图),其人脸FaceID与第二人脸一致,表情动作、运动模糊和光影变化等属性信息与目标帧第一人脸切图一致。
8.针对每个目标帧,将第三人脸的人脸RGB切图移至第一人脸的人脸RGB切图原始位置,并使用图像融合技术将第三人脸融入目标帧中,生成换脸结果帧,实现对第一人脸的替换。进一步的可如图4中(b)所示,对换脸结果帧进行人脸识别得到对应的FaceID编码fidr,然后结合源人脸图像对应的FaceID编码fids(对应于上述第二人物的人脸编码)进行下述的ID Loss获取。
9.对待处理视频的每一帧执行上述5-8计算,生成结果帧序列,再对其编码,获得换脸结果视频(即结果视频);对应于上述利用所述目标人脸切图,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频。
其中训练阶段主要包含以下步骤(神经网络的训练流程主要是针对双流时空特征提取器、人脸FaceID植入器和人脸合成器3个子模型的端到端联合训练;对应于上述利用训练数据和目标损失函数,训练双流时空特征提取器、人脸标识植入器以及人脸合成器):
1.采集大量不同人物的人脸视频和图像,基于原始视频生成大量仅有几帧长度的迷你视频,构建待处理数据集;同时使用与推理阶段相同的人脸识别方法从原始视频和图像中提取大量不同人物的人脸FaceID编码,构建源数据集。其中,待处理数据集和源数据集对应于上述训练数据。
2.随机或按一定规则从待处理数据集选取迷你训练视频,使用与推理阶段相同的光流估计、人脸检测、图像裁切后,将人脸RGB切图序列和人脸前后文光流切图序列逐帧配对输入双流时空特征提取器,生成第一时空融合特征编码,再随机或按一定规则从源数据集选取FaceID编码,通过人脸FaceID植入器进行植入,生成第二时空融合特征编码,继而由人脸合成器生成第三人脸合成图,并与迷你训练视频(即迷你待处理视频)的原始帧进行图像融合,生成换脸后的结果帧序列。
3.根据结果帧序列(即结果视频的视频帧序列)与换脸前的原始帧序列(即待处理视频的视频帧序列)以及源人脸FaceID编码(对应于上述第二人物的人脸编码)进行Loss(损失)计算,再基于反向传播(Back Propagation)更新(双流时空特征提取器、人脸标识植入器以及人脸合成器的)模型参数;其中Loss函数(对应于上述目标损失函数)包含对身份维度、空域维度和时域维度建模的3个子函数,并可基于权重和(Weighted Sum)机制来调节构成方式,也可使用其中部分子函数,各子函数介绍如下:
ID Loss(对应于上述身份损失函数):身份维度的Loss主要用于优化结果视频(或帧序列)中合成人脸(即第三人脸)与源人脸(即第二人物人脸)的相似度,可基于第三人脸合成图(或换脸结果帧)与第二人脸源图像的FaceID相似度实现(具体可对结果帧序列进行与上述步骤2一致的人脸检测和人脸识别处理,得到对应的FaceID编码序列,从而计算合成人脸序列与源人脸之间的相似度),或基于其他具有同等意义的函数,在此不作限定。
Spatial Loss(对应于上述空域损失函数):空域维度的Loss主要用于优化换脸结果帧(即结果视频中的视频帧)与对应的待处理视频帧在身份维度之外的相似度,常见的相关函数包括:Structural Similarity/Dis-similarity、L1 Loss、L2 Loss、PerceptualLoss等;也可理解为,空域维度的Loss主要用于优化换脸结果帧与对应的待处理视频帧在空域维度的相似度,可采用同一人脸数据计算结果帧序列和原始帧序列(即待处理视频对应的帧序列)在空域维度的相似度。
Temporal Loss(对应于上述时域损失函数):时域维度的Loss主要用于优化结果视频(或帧序列)时序变化与待处理视频(或帧序列)时序变化之间的相似度。相关函数包括计算两个光流图之间的Endpoint Error(端点误差)等;也可理解为,时域维度的Loss主要用于优化结果视频和待处理视频在时域维度的相似度,具体可:针对同一人脸进行人脸替换得到结果帧,通过推理过程中的光流估计方法获取结果帧的帧间光流图,比较原始帧序列与结果帧序列的帧间光流图之间的相似度,得到L1;此外,由于时域损失函数影响训练效率,本发明实施例可再加入一个抽象光流损失函数,通过编码器分别生成结果帧序列和原始帧序列的光流编码,通过比较光流编码的相似度得到L2;结合上述L1和L2得到调节训练模型的复合函数。
基于以上,下面对视频人脸替换方法进行具体举例。
推理阶段
步骤A1:获取一段第一人脸的待处理视频,可使用FFMPEG库中的开源解码算法将其解码成帧序列<I1,..,In>。
步骤A2:对待处理视频中所有相邻帧使用FlowNet算法进行光流估计,获得(帧间)光流图序列<O1,2,..,On-1,n>。
步骤A3:使用RetinaFace算法对帧序列逐帧进行人脸检测,获得人脸框,再对人脸框区域(可适当扩大以应对检测误差)进行人脸关键点检测,其后将图像基于人脸关键点对齐至模板人脸并裁切人脸区域,获得对齐后的人脸RGB切图序列<F1,..,Fn>;对应于上述根据待处理视频所包含的视频帧的单帧像素信息,获取第一人物的空域特征。
其中,人脸模板的主要用途是作为人脸对齐的统一参照物,可根据使用场景自行创建,也可使用开源模板,在此不作限定。
步骤A4:针对任意帧It(1≤t≤n),将其对应的前序光流图Ot-1,t和后续光流图Ot,t+1基于通道合并,生成前后文光流图,再裁切与步骤A3相同的区域,获得人脸前后文光流切图Ct;依此方法逐帧处理,获得人脸前后文光流切图序列<C1,..,Cn>,其中首帧I1和尾帧In分别缺乏前序光流图和后序光流图,可使用缺省值替代,例如均设为0,但并不以此为限。
步骤A5:针对任意帧It,将其人脸RGB切图Ft和前后文光流切图Ct输入图3所示的双流时空特征提取器,该提取器分别从Ft和Ct中提取空域特征和时域特征,再将时域特征汇入空域流,实现时空特征融合(具体可基于通道维度合并进行时空特征融合)。该过程中,如图3所示,时域(特征)流下的时域特征和空域流下的空域特征进行多次相同的降采样操作并最终向量化,并在每个尺度空间和向量空间都进行一次特征融合,最终生成第一时空融合特征编码Et。其中,“进行多次相同的降采样操作”,可理解为:对应空间下的时域特征和空域特征进行的降采样操作是相同的。
步骤A6:将第一时空融合特征编码Et标记为输入如图4中(a)所示的人脸FaceID植入器进行以下处理:
步骤A6.1:从数据源中选取一张希望进行换脸操作的图像(如为视频则截取相应的视频帧)作为源人脸图像(Source Face Image),使用RetinaFace算法对其进行人脸检测,并对检测到的人脸(即第二人脸)使用ArcFace算法进行人脸识别,生成源人脸FaceID编码fids;
其中:选取正脸无表情图像作为源人脸图像有利于提升换脸效果。
步骤A6.2:使用类似SimSwap图像人脸替换算法中的ID植入流程,通过Convolution、Adaptive Instance Normalization、ReLU等操作,将fids植入中,生成第二时空融合特征编码/>
步骤A6.3:重复步骤A6.2对再次进行人脸FaceID植入,生成/>并重复至k次迭代(即将步骤A6.2的输出作为输入再次运行,直至运行总共k次,具体可参见图4中(b)),生成/>图4中/>所涉及的i=0、1、···k-1。
其中:k为可调节参数,可根据实际情况配置,在SimSwap算法中默认次数为9次,可作为参考值。
步骤A7:将步骤A6最终生成的输入如图4中(b)所示的人脸合成器中,经过多层卷积和上采样处理,生成结果人脸切图(Result Face Image)Rt,即第三人脸切图(对应于上述目标人脸切图)。
步骤A8:将第三人脸切图Rt移至第一人脸切图Ft在待处理视频帧It的位置,再基于图像融合技术合成换脸结果帧
步骤A9:对目标帧序列<I1,..,In>中的所有帧进行步骤A4-A8的计算,获得换脸后的结果帧序列并使用FFMPEG库开源工具提取待处理视频中的音轨与合并,再进行编码生成(换脸)结果视频。
训练阶段
步骤B1:采集大量不同人物的人脸视频,将每段视频解码成帧序列,并提取其中所有的5帧子序列,编码为迷你待处理视频,再归集所有迷你待处理视频,构建待处理数据集;
以帧序列<I1,..,In>为例,其包含的5帧子序列有<I1,..,I5>,<I2,..,I6>,……,<In-4,..,In>。
步骤B2:采集大量不同人物的人脸图像(如有视频则提取其中的人脸帧),使用与步骤A6.1相同的人脸检测和人脸识别算法,生成人脸FaceID编码;其后归集所有FaceID编码,构建源数据集(即第二人物对应的数据集)。
步骤B3:从待处理数据集随机抽取一个迷你待处理视频,并从源数据集中随机抽取一个FaceID编码fids,构建一轮迭代训练任务,进行以下计算步骤:
步骤B3.1:对迷你待处理视频进行步骤A1-A2的处理,生成帧序列<It-2,It-1,It,It+1,It+2>和光流图序列<Ot-2,t-1,Ot-1,t,Ot,t+1,Ot+1,T+2>;
步骤B3.2:对It-1,It,It+1分别进行步骤A3-A8的处理,其中步骤A6.1直接使用本轮迭代训练任务中选取的FaceID编码fids,生成换脸结果帧
步骤B3.3:进行如下Loss计算:
loss=λiD·lid+λspatial·lspatial+λtemporal·ltemporal+λaux·laux;
其中,λid表示身份标识损失函数的权值,lid表示身份标识损失函数,λspatial表示空域损失函数的权值,lapstial表示空域损失函数,λtemporal表示时域损失函数的权值,ltemporal表示时域损失函数,λaux表示辅助损失函数的权值,laux表示辅助损失函数。
以上获取Loss的函数主要包括3个核心Loss子函数和1个辅助Loss子函数(即辅助损失函数):
ID Loss(身份标识损失):主流的身份比对Loss包括提取两张人脸图片的FaceID编码再计算L2距离或Cosine Similarity(余弦相似度)等,但与源人脸FaceID编码fids相同的距离仍可出现多种不同的FaceID编码,影响合成人脸序列的时序一致性。因此本实施例同时对进行与步骤B2一样的人脸检测和人脸识别处理,获得对应的FaceID编码/>再与fids进行以下计算:
该Loss函数为基于帧序列的身份比对Loss函数(对应于上述身份损失函数用于表示结果视频中的合成人脸相对所述第二人物人脸的损失;所述身份损失函数包括在所述结果视频内基于合成人脸帧序列的跨帧比对的身份损失计算),可以强化视频场景的换脸学习任务,可以称之为Serial ID Loss(序列身份损失),其中上述公式的fid比对(即IDLoss)借鉴了L2距离的计算,实际使用中也可使用Cosine Similarity等其他常见距离函数作为两两对比的基础函数,在此不作限定。α表示权值。
Spatial Loss(空域损失):该Loss旨在优化换脸结果帧与待处理视频帧在空域维度的相似度(对应于上述空域损失函数用于表示结果视频中的视频帧相对所述待处理视频的视频帧在空域维度的损失),但当两者为不同人脸时,RGB像素分布会受到身份差异的显著干扰。因此图像换脸方案通常选择在训练过程中加入部分第一人脸和第二人脸均为同一人物人脸的数据,再结合L1或L2Loss来实现训练,本实施例沿用该方法并直接对帧序列进行简单的Loss叠加(对应于上述空域损失函数包括所述待处理视频和结果视频进行序列比对的空域损失计算),如下:
以上公式表示fidt+x与的距离小于阈值τ,则认为对应的两个人脸是同一人脸,进行空域损失计算,否则认为空域损失为0。
Temporal Loss(时域损失):该Loss旨在优化结果视频和待处理视频在时域维度的相似度(对应于上述时域损失函数用于表示结果视频相对所述待处理视频在时域维度的损失)。本发明实施例参照空域维度的处理,使用第一人脸和第二人脸为同一人物的数据,通过将与待处理视频帧It-2,It+2组成新的序列/>并计算帧间光流图/>再与<Ot-2,tt-1,Ot-1,t,Ot,t+1,Ot+1,t+2>比对的方法来构建Loss,如下:
以上公式表示fidt与fids的距离小于阈值τ,则认为对应的两个人脸是同一人脸,进行时域损失计算,否则认为空域损失为0。
其中,l1表示L1 loss,然而,该loss受限于第一人脸和第二人脸为同一人物的约束条件,一定程度上影响训练效率。但当两者为不同人脸时,光流图的像素级差异则会受到身份差异的显著干扰而难以有效捕捉人脸的动作变化和光影变化。另一方面,FlowNet(光流网络)由编码器和解码器构成,当使用FlowNet进行光流估计时,会先由编码器从两图之间生成光流编码∈,再由解码器解析光流编码生成光流图。因此,光流编码带有最终光流图的核心信息,因此本发明实施例进一步提出Abstract Flow Loss(抽象光流损失),其通过FlowNet编码器分别生成帧序列<It-2,It-1,It,It+1,,It+2>和的光流编码:<∈t-2,t-1,∈t-1,t,∈t,t+1,∈t+1,t+2>和/>再计算L2loss,如下:
其中,l2表示L2loss。
此外,l1和l2还可结合为复合函数,并基于参数ω调节贡献比例,如下:
ltemporal=ω·l1+(1-ω)·l2;
Auxiliary Loss(辅助损失):图像换脸方案通常还会在训练的中后期加入GAN(对抗生成网络)Loss lgan以提升合成人脸的逼真感,即训练一个判别器(Discriminator)来判断合成人脸是否为真实人脸,并基于对抗产生一个不断自我优化的动态Loss;该操作通常可以提升人脸合成在皮肤等细节方面的处理。不仅如此,因本发明实施例的FaceID植入方法借鉴了SimSwap相关方法,故可搭配与之对应的Weak Feature Matching Loss(弱特征匹配损失)来减少FaceID植入过程对第一人脸非身份属性的干扰,如下:
其中,D(i)(It)分别为判别器提取/>It特征时其第i层特征提取层得到的特征图,总共使用的特征提取层数为Ni。最终lgan和lwfm加权求和组成辅助损失laux,如下:
laux=lgan+β·lwfm;
步骤B3.4:基于步骤B3.3计算获得的综合Loss,对模型进行反向传播,更新相关参数权重,完成一轮端到端的迭代训练;
步骤B4:不断重复步骤B3的迭代训练,直至模型收敛,得到训练完成的双流时空特征提取器、人脸标识植入器以及人脸合成器。
针对以上方法,本发明实施例可采用对应的装置(对应于上述数据处理装置)进行实现,具体可如图5所示,该系统包括如下7个模块:
1.视频基础处理模块M1:核心功能在于执行上述方法中视频的编解码、音轨提取与合并、抽帧与图像裁切,以及视频的输入和输出等基础操作;具体的,该模块可集成FFMPEG、OpenCV、InsightFace等计算库,用于上述方法中推理阶段步骤A1、A3、A4和A9,以及训练阶段步骤B1、B2的相关计算,包括视频编解码、人脸检测、人脸对齐、图像裁切等。
2.光流估计模块M2:核心功能在于执行上述方法中RGB图像之间的光流计算,尤其是计算帧序列相邻帧间的光流信息;具体的,该模块可用于上述方法中推理阶段步骤A2,以及训练阶段步骤B3.1的相关计算。
3.双流时空特征提取模块M3(包含上述第一模块和第二模块):核心功能在于执行上述方法中时域和空域特征的提取与融合的相关计算;具体的,该模块可用于上述方法中推理阶段步骤A5,以及训练阶段步骤B3.2的相关计算;可输入人脸RGB切图和前后帧光流切图,提取时域特征和空域特征,并生成时空融合特征编码。
4.人脸FaceID植入模块M4(包含上述第三模块):核心功能在于执行上述方法中将源人脸FaceID植入目标帧序列的第一时空融合特征编码生成第二时空融合特征编码的相关计算;具体的,该模块可用集成InsightFace等计算库,与上述方法中推理阶段步骤A6,以及训练阶段步骤B3.2的相关计算,从源图像中提取源人脸FaceID编码,并植入双流时空特征提取模块所生成的时空融合特征编码中,生成带有源人脸FaceID信息的时空融合特征编码。
5.人脸合成模块M5:核心功能在于执行上述方法中基于第二时空融合特征编码合成第三人脸的相关计算;具体的,该模块可用于上述方法中推理阶段步骤A7,以及训练阶段步骤B3.2的相关计算,基于源人脸FaceID植入后的时空融合特征编码生成第三人脸图像。
6.图像融合模块M6:核心功能在于执行上述方法中将合成的第三人脸与目标帧进行图像融合,实现对第一人脸替换的相关计算;具体的,该模块可用于上述方法中推理阶段步骤A8,以及训练阶段步骤B3.2的相关计算,将人脸合成模块生成的第三人脸图像移至目标图像相应位置并进行图像融合。
7.模型训练模块M7:核心功能在于执行上述方法中模型训练的相关计算,包括Loss计算、反向传播和模型参数更新等;具体的,该模块可用于上述方法中训练阶段的各种基础操作,尤其是步骤B3.3-3.4和B4的相关计算,包括Loss计算、反向传播、模型参数更新、训练终止等。
其中,人脸合成模块M5+图像融合模块M6,对应于上述第四模块;上述数据处理方法的所述实现实施例均适用于该装置的实施例中,也能达到相同的技术效果,在此不再赘述。
需要说明的是,此说明书中所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
此外,针对以上方法,本发明实施例可采用对应的(视频人脸替换)设备(对应于上述数据处理设备),具体可如图6所示,该(视频人脸替换)设备D1包括:一个或多个处理器D1.1、存储器D1.2,以及一个或多个程序,能够执行相应指令实现上述的视频人脸替换方法。其中:
(1)设备D1可为运行上述系统的物理载体并执行上述视频人脸替换的方法;
(2)处理器D1.1可用于运行上述系统和执行上述视频人脸替换方法的实施例涉及的相关计算,其存在形式包括但不限于中央处理器CPU、现场可编程门阵列FPGA、图形处理器GPU、张量处理器TPU、神经网络处理器NPU、专用集成电路ASIC、系统级芯片SOC,并且可以是任意一个或多个的组合;
(3)存储器D1.2可用于保存上述方法计算过程中所有长期和短期的计算数据,其存在形式可以是手机内存、数码相机内存、U盘、移动硬盘、CD-ROM(只读光盘)光盘存储装置等物理介质,可以由单个或多个物理介质构成,且其逻辑介质包含Read-Only Memory(ROM,只读存储器)和/或Random Access Memory(RAM,随机存取存储器)模块,但并不以此为限。
其中,上述数据处理方法的所述实现实施例均适用于该设备的实施例中,也能达到相同的技术效果,在此不再赘述。
本发明实施例还提供了一种可读存储介质,其上存储有程序,该程序被处理器执行时实现上述的数据处理方法中的步骤。
其中,上述数据处理方法的所述实现实施例均适用于该可读存储介质的实施例中,也能达到相同的技术效果。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述原理前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
根据待处理视频,获取第一人物的空域特征和时域特征;
根据所述空域特征和时域特征,获取第一时空融合特征;
根据所述第一时空融合特征和第二人物的人脸特征,得到第二时空融合特征;
根据所述第二时空融合特征,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频。
2.根据权利要求1所述的数据处理方法,其特征在于,根据待处理视频,获取第一人物的时域特征,包括:
针对待处理视频所包含的视频帧进行跨帧光流估计,得到帧间光流图;
将各视频帧的前序帧间光流图和后序帧间光流图进行合并,得到前后文光流图;其中,所述前序帧间光流图是指当前视频帧与前序视频帧之间的帧间光流图;所述后序帧间光流图是指当前视频帧与后序视频帧之间的帧间光流图;
根据所述前后文光流图,获取第一人物的时域特征。
3.根据权利要求2所述的数据处理方法,其特征在于,所述根据所述前后文光流图,获取第一人物的时域特征,包括:
针对所述视频帧进行人脸检测,得到在所述视频帧中第一人物的人脸位置;
根据所述人脸位置对所述前后文光流图进行裁切,得到对应的前后文光流切图;
根据所述前后文光流切图,得到第一人物的时域特征。
4.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述第二时空融合特征,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频,包括:
根据所述第二时空融合特征,生成目标人脸切图;
利用所述目标人脸切图,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频。
5.根据权利要求1所述的数据处理方法,其特征在于,还包括:
利用训练数据和目标损失函数,训练双流时空特征提取器、人脸标识植入器以及人脸合成器;
其中,所述目标损失函数为包括身份损失函数、空域损失函数和时域损失函数的复合函数;
所述身份损失函数用于表示结果视频中的合成人脸相对所述第二人物人脸的损失;
所述空域损失函数用于表示结果视频中的视频帧相对所述待处理视频的视频帧在空域维度的损失;
所述时域损失函数用于表示结果视频相对所述待处理视频在时域维度的损失;
所述双流时空特征提取器用于提取所述第一人物的空域特征和时域特征;
所述人脸标识植入器用于获取所述第二人物的人脸特征,并结合第一时空融合特征生成第二时空融合特征;
所述人脸合成器用于根据所述第二时空融合特征,生成目标人脸切图。
6.根据权利要求5所述的数据处理方法,其特征在于,所述身份损失函数包括在所述结果视频内基于合成人脸帧序列的跨帧比对的身份损失计算。
7.根据权利要求5所述的数据处理方法,其特征在于,所述空域损失函数包括所述待处理视频和结果视频进行序列比对的空域损失计算。
8.一种数据处理装置,其特征在于,包括:
第一模块,用于根据待处理视频,获取第一人物的空域特征和时域特征;
第二模块,用于根据所述空域特征和时域特征,获取第一时空融合特征;
第三模块,用于根据所述第一时空融合特征和第二人物的人脸特征,得到第二时空融合特征;
第四模块,用于根据所述第二时空融合特征,对所述待处理视频中的第一人物的人脸进行替换,得到结果视频。
9.一种数据处理设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,所述处理器执行所述程序时实现如权利要求1至7中任一项所述的数据处理方法。
10.一种可读存储介质,其上存储有程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任一项所述的数据处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311140169.2A CN117173006A (zh) | 2023-09-05 | 2023-09-05 | 一种数据处理方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311140169.2A CN117173006A (zh) | 2023-09-05 | 2023-09-05 | 一种数据处理方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117173006A true CN117173006A (zh) | 2023-12-05 |
Family
ID=88933225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311140169.2A Pending CN117173006A (zh) | 2023-09-05 | 2023-09-05 | 一种数据处理方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117173006A (zh) |
-
2023
- 2023-09-05 CN CN202311140169.2A patent/CN117173006A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11055828B2 (en) | Video inpainting with deep internal learning | |
WO2022267641A1 (zh) | 一种基于循环生成对抗网络的图像去雾方法及系统 | |
CN112149459B (zh) | 一种基于交叉注意力机制的视频显著性物体检测模型及系统 | |
CN113673307A (zh) | 一种轻量型的视频动作识别方法 | |
CN110689599A (zh) | 基于非局部增强的生成对抗网络的3d视觉显著性预测方法 | |
WO2023151529A1 (zh) | 人脸图像的处理方法及相关设备 | |
Sun et al. | Masked lip-sync prediction by audio-visual contextual exploitation in transformers | |
CN111462274A (zh) | 一种基于smpl模型的人体图像合成方法及系统 | |
Xu et al. | Deep video inverse tone mapping | |
Sun et al. | MOSO: Decomposing motion, scene and object for video prediction | |
CN112990356B (zh) | 一种视频实例分割系统和方法 | |
WO2022164680A1 (en) | Simultaneously correcting image degradations of multiple types in an image of a face | |
CN111738092B (zh) | 一种基于深度学习的恢复被遮挡人体姿态序列方法 | |
CN117689592A (zh) | 一种基于级联自适应网络的水下图像增强方法 | |
CN117315069A (zh) | 基于图像特征对齐的人体姿态迁移方法 | |
CN117173006A (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
US20230319223A1 (en) | Method and system for deep learning based face swapping with multiple encoders | |
CN116978057A (zh) | 图像中人体姿态迁移方法、装置、计算机设备和存储介质 | |
Naderi et al. | SFI-swin: Symmetric face inpainting with swin transformer by distinctly learning face components distributions | |
Zeng et al. | Swin-CasUNet: cascaded U-Net with Swin Transformer for masked face restoration | |
Ghafoor et al. | Walk like me: Video to video action transfer | |
Mourot et al. | Jumps: Joints upsampling method for pose sequences | |
CN117392180B (zh) | 基于自监督光流学习的交互式视频人物跟踪方法及系统 | |
Zhou et al. | BPQA: A blind point cloud quality assessment method | |
US20230316587A1 (en) | Method and system for latent-space facial feature editing in deep learning based face swapping |
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 |