CN115565238B - 换脸模型的训练方法、装置、设备、存储介质和程序产品 - Google Patents

换脸模型的训练方法、装置、设备、存储介质和程序产品 Download PDF

Info

Publication number
CN115565238B
CN115565238B CN202211468062.6A CN202211468062A CN115565238B CN 115565238 B CN115565238 B CN 115565238B CN 202211468062 A CN202211468062 A CN 202211468062A CN 115565238 B CN115565238 B CN 115565238B
Authority
CN
China
Prior art keywords
image
face
network
features
changed
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
CN202211468062.6A
Other languages
English (en)
Other versions
CN115565238A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211468062.6A priority Critical patent/CN115565238B/zh
Publication of CN115565238A publication Critical patent/CN115565238A/zh
Application granted granted Critical
Publication of CN115565238B publication Critical patent/CN115565238B/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/168Feature extraction; Face representation
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/806Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
    • 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/172Classification, e.g. identification

Abstract

本申请涉及一种换脸模型的训练方法、装置、设备、存储介质和程序产品。该方法涉及人工智能技术,该方法包括:通过拼接模板图像的表情特征与脸源图像的身份特征,得到组合特征,通过换脸模型的生成网络,根据脸源图像与模板图像进行编码,得到编码特征,根据融合编码特征与组合特征得到的融合特征进行解码,得到换脸图像,通过换脸模型的判别网络,根据换脸图像与参考图像,得到相应的图像属性判别结果,基于换脸图像的表情特征与模板图像的表情特征的差异、换脸图像的身份特征与脸源图像的身份特征的差异以及图像属性判别结果,更新生成网络与判别网络。采用本方法能够在模板图像的表情复杂时,输出的换脸图像仍能保持该复杂表情,提升换脸效果。

Description

换脸模型的训练方法、装置、设备、存储介质和程序产品
技术领域
本申请涉及计算机技术领域,特别是涉及一种换脸模型的训练方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术与人工智能技术的迅速发展,出现了人脸替换技术,人脸替换即换脸,是指将待进行人脸替换的图像(即模板图像)中的人脸,替换为脸源图像中的人脸,换脸技术的目标是,通过换脸得到换脸图像中的人脸能够保持模板图像中人脸的表情、角度、背景等信息,还需要与脸源图像中的人脸尽可能相像。人脸替换有非常多的应用场景,例如视频换脸可以应用于影视人像制作、游戏人物设计、虚拟形象、隐私保护等。
丰富表情的保持能力,对于人脸替换技术而言,既是重点也是难点。目前,大多数换脸算法在普通表情场景下能取得令人满意的效果,比如微笑等。但在一些表情较为丰富的场景下,比如嘟嘴、闭眼、眨单眼、生气等,换脸图像的表情保持效果不佳,甚至一些较难的表情保持不住,导致换脸效果较差。
发明内容
基于此,有必要针对上述技术问题,提供一种换脸模型的训练方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,能够在模板图像的表情较为复杂时,输出的换脸图像仍能保持这种复杂表情,提升换脸效果。
第一方面,本申请提供了一种换脸模型的训练方法。所述方法包括:
获取样本三元组,所述样本三元组包括脸源图像、模板图像与参考图像;
拼接所述模板图像的表情特征与所述脸源图像的身份特征,得到组合特征;
通过所述换脸模型的生成网络,根据所述脸源图像与所述模板图像进行编码,得到换脸所需的编码特征,并根据融合所述编码特征与所述组合特征得到的融合特征进行解码,得到换脸图像;
通过所述换脸模型的判别网络,根据所述换脸图像与所述参考图像,得到相应的图像属性判别结果,所述图像属性包括伪造图像和非伪造图像;
基于所述换脸图像的表情特征与所述模板图像的表情特征之间的差异、所述换脸图像的身份特征与所述脸源图像的身份特征之间的差异、以及所述图像属性判别结果,更新所述生成网络与所述判别网络。
第二方面,本申请还提供了一种换脸模型的训练装置。所述装置包括:
获取模块,用于获取样本三元组,所述样本三元组包括脸源图像、模板图像与参考图像;
拼接模块,用于拼接所述模板图像的表情特征与所述脸源图像的身份特征,得到组合特征;
生成模块,用于通过所述换脸模型的生成网络,根据所述脸源图像与所述模板图像进行编码,得到换脸所需的编码特征,并根据融合所述编码特征与所述组合特征得到的融合特征进行解码,得到换脸图像;
判别模块,用于通过所述换脸模型的判别网络,根据所述换脸图像与所述参考图像,得到相应的图像属性判别结果,所述图像属性包括伪造图像和非伪造图像;
更新模块,用于基于所述换脸图像的表情特征与所述模板图像的表情特征之间的差异、所述换脸图像的身份特征与所述脸源图像的身份特征之间的差异、以及所述图像属性判别结果,更新所述生成网络与所述判别网络。
在一个实施例中,所述获取模块,还用于获取第一图像与第二图像,所述第一图像与第二图像对应相同的身份属性,且对应不同的非身份属性;获取第三图像,所述第三图像与所述第一图像对应不同的身份属性;将所述第二图像中的对象替换为所述第三图像中的对象,得到第四图像; 将所述第一图像作为脸源图像、所述第四图像作为模板图像、所述第二图像作为参考图像,作为一个样本三元组。
在一个实施例中,所述装置还包括:
表情识别模块,用于通过所述换脸模型的表情识别网络,对所述模板图像进行特征提取,得到所述模板图像的表情特征;
人脸识别模块,用于通过所述换脸模型的人脸识别网络,对所述脸源图像进行特征提取,得到所述脸源图像的身份特征;
其中,所述表情识别网络与所述人脸识别网络,均为预先训练好的神经网络模型。
在一个实施例中,所述生成模块,还用于将所述脸源图像与模板图像进行拼接,得到输入图像;将所述输入图像输入至所述换脸模型;通过所述换脸模型的生成网络,对所述输入图像进行编码,得到对所述模板图像进行换脸所需的编码特征。
在一个实施例中,所述装置还包括:
融合模块,用于分别计算所述编码特征、所述组合特征的均值与标准差;根据所述编码特征的均值与标准差,对所述编码特征进行归一化处理,得到归一化后的编码特征;根据所述组合特征的均值与标准差,将所述组合特征的风格迁移至所述归一化后的编码特征,得到所述融合特征。
在一个实施例中,所述判别模块,还用于将所述换脸图像输入所述换脸模型的判别网络,得到所述换脸图像属于非伪造图像的第一概率;将所述参考图像输入所述换脸模型的判别网络,得到所述参考图像属于非伪造图像的第二概率。
在一个实施例中,所述装置还包括:
表情识别模块,用于通过所述换脸模型的表情识别网络,对所述换脸图像进行特征提取,得到所述换脸图像的表情特征;
人脸识别模块,用于通过所述换脸模型的人脸识别网络,对所述换脸图像进行特征提取,得到所述换脸图像的身份特征;
其中,所述表情识别网络与所述人脸识别网络,均为预先训练好的神经网络模型。
在一个实施例中,所述更新模块,还用于交替地,在固定所述生成网络的网络参数的情况下,根据所述换脸图像属于非伪造图像的第一概率与所述参考图像属于非伪造图像的第二概率,构建关于所述判别网络的判别损失,利用所述判别损失更新所述判别网络的网络参数;在固定所述判别网络的网络参数的情况下,根据所述换脸图像属于非伪造图像的第一概率,构建生成网络的生成损失,根据所述换脸图像的表情特征与所述模板图像的表情特征之间的差异,构建表情损失,根据所述换脸图像的身份特征与所述脸源图像的身份特征之间的差异,构建身份损失,根据所述生成损失、表情损失与所述身份损失,构建关于所述生成网络的换脸损失,利用所述换脸损失更新所述生成网络的网络参数,直至满足训练停止条件时交替结束,得到训练好的判别网络与生成网络。
在一个实施例中,所述装置还包括:
关键点定位模块,用于通过预先训练好的人脸关键点网络,分别对所述模板图像与所述换脸图像进行人脸关键点识别,得到各自的人脸关键点信息;
所述更新模块,还用于根据所述模板图像与所述换脸图像各自的人脸关键点信息之间的差异,构建关键点损失;所述关键点损失用于参与所述换脸模型的生成网络的训练。
在一个实施例中,所述装置还包括:
图像特征提取模块,用于通过预先训练好的特征提取网络,分别对所述换脸图像与所述参考图像进行图像特征提取,得到各自的图像特征;
所述更新模块,还用于根据所述换脸图像与所述参考图像各自的图像特征之间的差异,构建相似度损失;所述相似度损失用于参与所述换脸模型的生成网络的训练。
在一个实施例中,所述更新模块还用于根据所述换脸图像与所述参考图像之间的像素级差异,构建重建损失;其中,所述重建损失用于参与所述换脸模型的生成网络的训练。
在一个实施例中,所述装置还包括:
换脸模块,用于获取待换脸视频与包含目标人脸的脸源图像;对于所述待换脸视频的每一视频帧,获取所述视频帧的表情特征;获取所述包含目标人脸的脸源图像的身份特征;拼接所述表情特征与所述身份特征,得到组合特征;通过训练好的所述换脸模型的生成网络,根据所述包含目标人脸的脸源图像与所述视频帧进行编码,得到换脸所需的编码特征,根据融合所述编码特征与所述组合特征得到的融合特征进行解码,输出将所述视频帧中的对象替换为所述目标人脸的换脸视频。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取样本三元组,所述样本三元组包括脸源图像、模板图像与参考图像;
拼接所述模板图像的表情特征与所述脸源图像的身份特征,得到组合特征;
通过所述换脸模型的生成网络,根据所述脸源图像与所述模板图像进行编码,得到换脸所需的编码特征,并根据融合所述编码特征与所述组合特征得到的融合特征进行解码,得到换脸图像;
通过所述换脸模型的判别网络,根据所述换脸图像与所述参考图像,得到相应的图像属性判别结果,所述图像属性包括伪造图像和非伪造图像;
基于所述换脸图像的表情特征与所述模板图像的表情特征之间的差异、所述换脸图像的身份特征与所述脸源图像的身份特征之间的差异、以及所述图像属性判别结果,更新所述生成网络与所述判别网络。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取样本三元组,所述样本三元组包括脸源图像、模板图像与参考图像;
拼接所述模板图像的表情特征与所述脸源图像的身份特征,得到组合特征;
通过所述换脸模型的生成网络,根据所述脸源图像与所述模板图像进行编码,得到换脸所需的编码特征,并根据融合所述编码特征与所述组合特征得到的融合特征进行解码,得到换脸图像;
通过所述换脸模型的判别网络,根据所述换脸图像与所述参考图像,得到相应的图像属性判别结果,所述图像属性包括伪造图像和非伪造图像;
基于所述换脸图像的表情特征与所述模板图像的表情特征之间的差异、所述换脸图像的身份特征与所述脸源图像的身份特征之间的差异、以及所述图像属性判别结果,更新所述生成网络与所述判别网络。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取样本三元组,所述样本三元组包括脸源图像、模板图像与参考图像;
拼接所述模板图像的表情特征与所述脸源图像的身份特征,得到组合特征;
通过所述换脸模型的生成网络,根据所述脸源图像与所述模板图像进行编码,得到换脸所需的编码特征,并根据融合所述编码特征与所述组合特征得到的融合特征进行解码,得到换脸图像;
通过所述换脸模型的判别网络,根据所述换脸图像与所述参考图像,得到相应的图像属性判别结果,所述图像属性包括伪造图像和非伪造图像;
基于所述换脸图像的表情特征与所述模板图像的表情特征之间的差异、所述换脸图像的身份特征与所述脸源图像的身份特征之间的差异、以及所述图像属性判别结果,更新所述生成网络与所述判别网络。
上述换脸模型的训练方法、装置、计算机设备、存储介质和计算机程序产品,在训练换脸模型时,不仅模板图像与脸源图像本身的编码特征参与解码以输出换脸图像,模板图像的表情特征与脸源图像的身份特征,也会参与解码以输出换脸图像,使得输出的换脸图像既能够具备模板图像的表情信息,又能够具备脸源图像的身份信息,也即,在保持模板图像的表情的同时,还能与脸源图像相像。此外,通过模板图像的表情特征与换脸图像的表情特征之间的差异,脸源图像的身份特征与换脸图像的身份特征之间的差异,来更新换脸模型,前者可以约束换脸图像与模板图像之间的表情相似度,后者可以约束换脸图像与脸源图像之间的身份相似度,这样,即便模板图像的表情较为复杂,输出的换脸图像仍能保持这种复杂表情,提升换脸效果。而且,更新换脸模型的生成网络与判别网络的网络参数时,还会依据判别网络对换脸图像与参考图像预测的图像属性判别结果,使生成网络与判别网络对抗训练,整体上提升换脸模型输出换脸图像的图像质量。
附图说明
图1为一个实施例中图像换脸的示意图;
图2为一个实施例中换脸模型的训练方法的应用环境图;
图3为一个实施例中换脸模型的训练方法的流程示意图;
图4为一个实施例中换脸模型的模型结构示意图;
图5为一个实施例中换脸模型的训练方法的流程示意图;
图6为一个实施例中换脸模型的训练框架示意图;
图7为一个实施例中人脸关键点的示意图;
图8为另一个实施例中换脸模型的训练框架示意图;
图9为一个实施例中特征提取网络的示意图;
图10为又一个实施例中换脸模型的训练框架示意图;
图11为一个实施例中视频换脸的流程示意图;
图12为一个实施例中对照片进行换脸的效果示意图;
图13为一个实施例中换脸模型的训练装置的结构框图;
图14为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的换脸模型的训练方法,涉及人工智能技术。人工智能(ArtificialIntelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
计算机视觉技术(Computer Vision, CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
生成对抗网络(Generative Adversarial Network,简称GAN):非监督式学习的一种方法,通过让两个神经网络相互博弈的方式进行学习。由一个生成网络与一个判别网络组成。生成网络从潜在空间(latent space)中随机取样作为输入,其输出结果需要尽量模仿训练集中的真实样本。判别网络的输入则为真实样本(即真值)或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能分辨出来。而生成网络则要尽可能地欺骗判别网络。两个网络相互对抗、不断更新参数,最终生成以假乱真的图片。
换脸:是将输入的脸源图像换到模板图像上,并使输出的换脸图像保持模板图像的表情、角度、背景等信息。如图1所示,输入的脸源图像中是人脸A,模板图像中的人像是另一个人脸B,输出结果是一张将模板图像中的人脸B换成人脸A的照片。
视频换脸有非常多的应用场景,比如影视人像制作、游戏人物设计、虚拟形象、隐私保护等。影视制作中,当演员无法完成专业动作时,可专业人员先完成,后期可以利用换脸技术自动将人脸替换为演员。当需要替换演员时,刻通过换脸技术替换新的人脸,避免重新拍摄,可以节约大量的成本。在虚拟形象设计中,例如在直播场景中,用户可以利用虚拟人物进行换脸,提高直播的趣味性和保护个人隐私。视频换脸的结果,还可以为人脸核身等业务提供对抗攻击训练素材。
GT: Ground Truth,真值,也称参考信息、标注信息或监督信息。
目前,相关技术中,通过设计较为复杂的换脸网络,进行换脸模型的训练,可在普通表情场景下能取得令人满意的效果,比如微笑等。但在一些表情较为丰富的场景下,比如嘟嘴、闭眼、眨单眼、生气等,换脸图像的表情保持效果不佳,甚至一些较难的表情保持不住,导致换脸效果较差。
本申请实施例提供的换脸模型的训练方法,可以应用于如图2所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,服务器104可以获取样本三元组,样本三元组包括脸源图像、模板图像与参考图像,接着,拼接模板图像的表情特征与脸源图像的身份特征,得到组合特征,通过换脸模型的生成网络,根据脸源图像与模板图像进行编码,得到换脸所需的编码特征,并根据融合编码特征与组合特征得到的融合特征进行解码,得到换脸图像;接着,通过换脸模型的判别网络,根据换脸图像与参考图像,得到相应的图像属性判别结果,图像属性包括伪造图像和非伪造图像;继而,基于换脸图像的表情特征与模板图像的表情特征之间的差异、换脸图像的身份特征与脸源图像的身份特征之间的差异、以及图像属性判别结果,更新生成网络与判别网络。
本申请在训练换脸模型时,不仅模板图像与脸源图像本身的编码特征参与解码以输出换脸图像,模板图像的表情特征与脸源图像的身份特征,也会参与解码以输出换脸图像,使得输出的换脸图像既能够具备模板图像的表情信息,又能够具备脸源图像的身份信息,也即,在保持模板图像的表情的同时,还能与脸源图像相像。此外,通过模板图像的表情特征与换脸图像的表情特征之间的差异,脸源图像的身份特征与换脸图像的身份特征之间的差异,来更新换脸模型,前者可以约束换脸图像与模板图像之间的表情相似度,后者可以约束换脸图像与脸源图像之间的身份相似度,这样,即便模板图像的表情较为复杂,输出的换脸图像仍能保持这种复杂表情,提升换脸效果。而且,更新换脸模型的生成网络与判别网络的网络参数时,还会依据判别网络对换脸图像与参考图像预测的图像属性判别结果,使生成网络与判别网络对抗训练,整体上提升换脸模型输出换脸图像的图像质量。
在一个实施例中,其中上述终端102中可以具有应用客户端,服务器104可以是该应用客户端的后台服务器,应用客户端可以将终端102采集的图像或视频发送至服务器104,服务器104可以通过上述的换脸模型的训练方法,得到训练好的换脸模型之后,通过训练好的换脸模型的生成网络,将终端102采集的图像或视频中的人脸替换为另一人脸或虚拟形象,然后再实时返回至终端102,终端102通过应用客户端展示换脸后的图像或视频。该应用客户端,可以是视频客户端、社交应用客户端、即时通信客户端,等等。
图3是本申请提供的一种换脸模型的训练方法的流程示意图。本实施例的执行主体可以是一个计算机设备或者多个计算机设备所构成的计算机设备集群。该计算机设备可以是服务器,也可以终端。因此,本申请实施例中的执行主体可以是服务器,也可以是终端,还可以是由服务器和终端共同构成。此处以本申请实施例中的执行主体是服务器为例进行说明,包括以下步骤:
步骤302,获取样本三元组,样本三元组包括脸源图像、模板图像与参考图像。
本申请中,服务器可以获取多个样本三元组,用于训练换脸模型。每个样本三元组包括脸源图像、模板图像与参考图像,其中,脸源图像是提供人脸的图像,称为source,模板图像是提供人脸的表情、姿态、图像背景等信息的图像,也称模板图像,即template,换脸即将模板图像中的人脸替换为脸源图像中的人脸,同时保持模板图像的表情、姿态、图像背景等。参考图像是作为训练换脸模型所需的监督信息的图像,记为GT。由于采用各个样本三元组(或一批次样本三元组)对换脸模型进行训练的原理相同,因此,此处以通过一个样本三元组训练换脸模型的过程为例进行说明,请参见下述内容。
可以理解,基于换脸的定义,对于每个样本三元组而言,用于提供模型训练所需监督信息的参考图像,应当与脸源图像具有相同的身份属性,且与模板图像具有相同的非身份属性。此外,为保证换脸效果,脸源图像应当与模板图像具有不同的身份属性。人脸通常具有唯一性,身份属性是指图像中人脸所表征的身份,具有相同的身份属性是指图像中为同一张人脸。非身份属性是指图像中人脸的姿态、表情、妆容,还包括图像的风格、背景等属性。
例如,在视频换脸场景中,脸源图像中的人脸与参考图像中的人脸是同一个人的人脸,但是二者的人脸的表情、妆容、该人的姿态和图像中的背景可以部分相同或不同。脸源图像中的人脸与模板图像中的人脸,是不同的两个人的人脸。可以理解的是,脸源图像和参考图像也可以为相同的一张图像。
在一个实施例中,样本三元组可以通过以下方式构造:获取第一图像与第二图像,第一图像与第二图像对应相同的身份属性,且对应不同的非身份属性;获取第三图像,第三图像与第一图像对应不同的身份属性;将第二图像中的对象替换为第三图像中的对象,得到第四图像; 将第一图像作为脸源图像、第四图像作为模板图像、第二图像作为参考图像,作为一个样本三元组。
具体地,服务器可随机获取第一图像,确定第一图像中人脸对应的身份信息,再获取与该身份信息对应的另一个图像,作为第二图像,从而,第一图像与第二图像具有相同的人脸,也就是具有相同的身份属性。接着,服务器可随机获取第三图像,第三图像与第一图像对应不同的身份属性,即第三图像中的人脸与第一图像中的人脸并非同一个人的人脸。服务器可以将第二图像与第三图像输入换脸模型,通过换脸模型的生成器,将第二图像中的人脸替换为第三图像中的对象,得到第四图像,且第四图像保持第二图像中的表情、姿态、图像背景等特点。
例如,第一图像中包含男士A的人脸,且第一图像的人脸表情为大笑,图像背景为背景1。第二图像中包含男士A的人脸,且第二图像的人脸表情为微笑,图像背景为背景2。第三图像中包含女士B的人脸,且第三图像的人脸表情为愤怒,图像背景为背景3。显然,男士A的人脸与女士B的人脸不同,也就是,第三图像与第一图像、第二图像均具有不同的人脸。服务器将第二图像中男士A的人脸替换为女士B的人脸,得到第四图像,第四图像的表情维持第二图像的微笑表情,背景维持图像背景2。从而,将第一图像作为脸源图像,即提供男士A的人脸、大笑表情与图像背景1;将第四图像作为模板图像,提供女士B的人脸、微笑表情与图像背景2;将第二图像作为参考图像,提供男士A的人脸、微笑表情与图像背景2,从而构造样本三元组。由此可见,参考图像是真实图像,而非伪造图像或合成图像。
本实施例中,作为参考图像的第二图像,是真实图像,而非伪造图像,以这样的参考图像作为参照,使得生成器输出的换脸图像不断接近真实的参考图像,能够保证输出的换脸图像在形状、光照、动作等各方面与非合成部分能够保持连贯性、流畅性,得到高质量的换脸图像或视频,换脸效果较佳。
在一个实施例中,服务器获取到上述的样本三元组之后,可以直接输入至换脸模型中,对换脸模型进行模型训练。
在一个实施例中,服务器获取到上述的样本三元组之后,先对样本三元组中三个图像分别进行图像预处理,使用预处理得到的图像,对换脸模型进行训练。具体而言,预处理可以包括以下几个方面:一、由于人脸在图像中,往往仅占据图像的一部分位置,服务器可以先对图像进行人脸检测,获得人脸区域。人脸检测所需的人脸检测网络或人脸检测算法,可采用预先训练好的神经网络模型。二、人脸关键点检测,在人脸区域内进行关键点检测,获得人脸的关键点,例如人的眼睛、嘴角、脸部轮廓的关键点。三、人脸配准,人脸配准即根据识别出的关键点,使用仿射变换将人脸统一“摆正”对齐,尽量去消除姿势不同带来的误差,人脸配准后裁剪出人脸图像。
服务器可以通过上述预处理步骤,获得裁剪后的脸源图像、模板图像与参考图像,将裁剪后的图像输入至换脸模型,换脸模型输出的换脸图像仅包含人脸,再利用该输出的换脸图像替换模板图像中的人脸区域,即得到最终输出的换脸图像。这样,可以保证换脸模型的训练效果。
步骤304,拼接模板图像的表情特征与脸源图像的身份特征,得到组合特征。
其中,图像的表情特征,能够反映图像所表达的表情信息,是对人脸的器官特征、纹理区域和预定义的特征点进行定位和提取得到的有关人脸的表情方面的特征,表情特征是表情识别中的关键,它决定着最终的表情识别结果。图像的身份特征,是可用于身份识别的生物特征,如人的脸部特征、瞳孔特征、指纹特征、掌纹特征等等。本申请中,身份特征是基于人的脸部识别出的面部特征,可用于人脸识别。
在一个实施例中,服务器可以通过换脸模型的表情识别网络,对模板图像进行特征提取,得到模板图像的表情特征;通过换脸模型的人脸识别网络,对脸源图像进行特征提取,得到脸源图像的身份特征。
本实施例中,换脸模型除了包括生成网络与判别网络,还包括已经预先训练好的表情识别网络与人脸识别网络,表情识别网络与人脸识别网络,均为预先训练好的神经网络模型。
表情识别网络可基于卷积神经网络(Convolutional Neural Networks,CNN)搭建。表情识别网络可通过一系列图片和对应的表情标签来训练,训练好的表情识别网络可用于提取图像的表情特征,表情特征在本申请中可用来约束表情的一致性,即约束换脸图像与模板图像之间的表情相似度。服务器可以通过表情识别网络直接对模板图像进行特征提取,得到相应的表情特征。服务器还可以通过表情识别网络对模板图像进行人脸检测,根据检测结果确定模板图像中的人脸区域,再对人脸区域进行特征提取,得到相应的表情特征。模板图像的表情特征可记为template_exp_features。
人脸识别网络可基于卷积神经网络(Convolutional Neural Networks,CNN)搭建。人脸识别网络可通过一系列图片和对应的身份标签来训练,训练好的人脸识别网络可用于提取图像的身份特征,身份特征在本申请中可用来约束身份的一致性,即约束换脸图像与脸源图像之间的身份相似度。服务器可以通过人脸识别网络直接对脸源图像进行特征提取,得到相应的身份特征。服务器还可以通过人脸识别网络对模板图像进行人脸检测,根据检测结果确定脸源图像中的人脸区域,再对人脸区域进行特征提取,得到相应的身份特征。脸源图像的身份特征可记为source_id_features。
组合特征,是服务器将模板图像的表情特征与脸源图像的身份特征拼接得到的特征。例如,比如表情特征为1024维的特征,身份特征为512维的特征,将二者按特征维度进行拼接(concat),可以得到1536维的组合特征。当然,拼接方式不仅限于此,本申请实施例对此不作限制。例如,还可以采用多尺度特征融合的方式,从两个网络不同层抽取不同尺度的特征进行融合,得到组合特征。组合特征可记为id_exp_features。
服务器得到的组合特征,可在后续与换脸所需的编码特征一起参与解码,输出换脸图像。也就是说,本申请中,在训练换脸模型时,不仅模板图像与脸源图像本身的编码特征参与解码以输出换脸图像,模板图像的表情特征与脸源图像的身份特征,也会参与解码以输出换脸图像,使得输出的换脸图像既能够具备模板图像的表情信息,又能够具备脸源图像的身份信息,也即,在保持模板图像的表情的同时,还能与脸源图像相像。
步骤306,通过换脸模型的生成网络,根据脸源图像与模板图像进行编码,得到换脸所需的编码特征,并根据融合编码特征与组合特征得到的融合特征进行解码,得到换脸图像。
如图4所示,为一个实施例中换脸模型的模型结构示意图。参照图4,换脸模型包括人脸识别网络、表情识别网络、生成网络与判别网络。
本申请中,换脸模型通过生成网络(Generator Network)与判别网络(Discriminator Network)形成的生成对抗网络(Generative Adversarial Network,简称GAN)进行训练。在一个实施例中,参照图4,生成网络包括编码器和解码器两部分,编码器通过卷积计算将输入图像的尺寸(分辨率)不断减半,通道数量逐渐增加,解码器则进行反卷积运算,将特征的尺寸逐渐增倍,通道数逐渐减少。
在一个实施例中,通过换脸模型的生成网络,根据脸源图像与模板图像进行编码,得到换脸所需的编码特征,包括:将脸源图像与模板图像进行拼接,得到输入图像;将输入图像输入至换脸模型;通过换脸模型的生成网络,对输入图像进行编码,得到对模板图像进行换脸所需的编码特征。
具体地,脸源图像与模板图像均为三通道图像,服务器可以将脸源图像与模板图像按图像通道进行拼接,拼接后得到的六通道的输入图像,被输入至生成网络的编码器中,通过该编码器,对输入图像逐步编码,得到在隐空间中一个中间结果,即编码特征(可记为swap_features)。例如,输入图像从分辨率为512*512*6,逐步编码为256*256* 32、128*128* 64、64*64* 128、32*32* 256,以此类推,最终得到在隐空间得到一个中间结果,称为编码特征,即swap_features。该编码特征同样兼具脸源图像的图像信息与模板图像的图像信息。
进一步地,服务器可以将编码特征与上述的组合特征进行融合,得到融合特征,该融合特征兼具编码特征的内容与组合特征的风格。
在一个实施例中,服务器可以分别计算编码特征、组合特征的均值与标准差;根据编码特征的均值与标准差,对编码特征进行归一化处理,得到归一化后的编码特征;根据组合特征的均值与标准差,将组合特征的风格迁移至归一化后的编码特征,得到融合特征。
具体地,服务器可以通过AdaIN (Adaptive Instance Normalization)的方式,将编码特征与组合特征进行融合,得到融合特征。具体原理通过如下公式示出:
Figure 558582DEST_PATH_IMAGE002
其中,
Figure 318727DEST_PATH_IMAGE004
Figure 523444DEST_PATH_IMAGE006
分别是编码特征与组合特征,
Figure 660027DEST_PATH_IMAGE008
Figure 266589DEST_PATH_IMAGE010
分别是标准差与均值,该公式将 编码特征的均值和标准差与组合特征进行对齐。
Figure 197636DEST_PATH_IMAGE012
为编码特征的均值,
Figure 889648DEST_PATH_IMAGE014
为编码特征的 标准差,
Figure 829922DEST_PATH_IMAGE016
为组合特征的标准差,
Figure 290991DEST_PATH_IMAGE018
为组合特征的均值。可以理解,编码特征与组合特 征均为一个多通道二维矩阵,例如,编码特征的矩阵大小为32*32* 256,对于每个通道,可 以根据所有元素的值计算相应通道的均值与标准差,得到编码特征在每个通道的均值与标 准差。对于组合特征,亦是如此。
首先,服务器利用编码特征的均值与标准差,对编码特征进行归一化处理,也就是,将编码特征减去编码特征的均值后除以编码特征的标准差,就可以得到归一化后的编码特征,编码特征通过归一化处理,归一化处理后的特征的均值为0,标准差为1,也就剔除了编码特征原本的风格,保留了编码特征原本的内容。接着,利用组合特征的均值与标准差,将组合特征的风格迁移至归一化后的编码特征,也就是,将归一化后的编码特征乘以组合特征的标准差再加上组合特征的均值,得到融合特征,这样,使得到的融合特征保留了编码特征的内容而兼具组合特征的风格。
可以理解,前文提到,编码特征兼具脸源图像的图像信息与模板图像的图像信息,组合特征兼具换脸所需的表情特征与身份特征,那么,通过这种方式融合编码特征与组合特征,得到的融合特征,能够使解码得到的换脸图像中的人脸与脸源图像中的人脸相像的同时,还能使换脸图像保留模板图像中人脸的表情、姿态以及图像背景等特点。
当然,服务器还可以通过其它方式对编码特征与组合特征进行融合。例如,标准化方法(Batch Normalization)、快速标准化方法(Instance Normalization)、有条件的快速标准化方法(Conditional Instance Normalization),等等。
在得到该融合特征之后,服务器将该融合特征输入生成网络的解码器,通过解码器的反卷积运算,将融合特征的分辨率逐渐增倍、通道数逐渐减少,输出换脸图像。例如,融合特征的分辨率为32*32*256、通过解码器的逐步进行反卷积运算,依次输出64*64* 128、128*128* 64、 256*256* 32、512*512* 3,最终输出换脸图像。
步骤308,通过换脸模型的判别网络,根据换脸图像与参考图像,得到相应的图像属性判别结果,图像属性包括伪造图像和非伪造图像。
参照图4,换脸模型还包括判别网络,判别网络用于判断输入的图像是伪造图像还是非伪造图像。在通过生成器输出换脸图像后,服务器将该换脸图像输入判别网络,通过判别网络对于输入的换脸图像进行特征提取得到低维度的判别信息,基于提取的判别进行图像属性的分类,得到相应的图像属性判别结果。本申请中,判别网络的分类是关于图像属性的二分类,即判别图像为伪造图像或是非伪造图像。伪造图像也称合成图像,非伪造图像也称真实图像。
此外,服务器还会将样本三元组中的参考图像输入判别网络,通过判别网络对于输入的参考图像进行特征提取得到低维度的判别信息,基于提取的判别进行图像属性的分类,得到相应的图像属性判别结果。
在一个实施例中,通过换脸模型的判别网络,根据换脸图像与参考图像,得到相应的图像属性判别结果,包括:将换脸图像输入换脸模型的判别网络,得到换脸图像属于非伪造图像的第一概率;将参考图像输入换脸模型的判别网络,得到参考图像属于非伪造图像的第二概率。
步骤310,基于换脸图像的表情特征与模板图像的表情特征之间的差异、换脸图像的身份特征与脸源图像的身份特征之间的差异、以及图像属性判别结果,更新生成网络与判别网络。
本申请中,换脸模型包括生成网络与判别网络,生成网络与判别网络基于判别网络对真实的参考数据与输出的伪造数据的图像属性判别结果进行对抗训练。此外,本申请实施例中,参照图4,为了使输出的换脸图像尽可能保留模板图像中人脸的表情、且保留脸源图像的身份属性,在训练过程中,服务器还会根据换脸图像的表情特征与模板图像的表情特征之间的差异、换脸图像的身份特征与脸源图像的身份特征之间的差异,更新生成网络与判别网络的网络参数。换脸图像的表情特征可通过上述的表情识别网络进行图像特征提取得到,换脸图像的身份特征可通过上述的人脸识别网络进行图像特征提取得到。
在一个实施例中,服务器交替地,在固定生成网络的网络参数的情况下,根据换脸图像属于非伪造图像的第一概率与参考图像属于非伪造图像的第二概率,构建关于判别网络的判别损失,利用判别损失更新判别网络的网络参数;在固定判别网络的网络参数的情况下,根据换脸图像属于非伪造图像的第一概率,构建生成网络的生成损失,根据换脸图像的表情特征与模板图像的表情特征之间的差异,构建表情损失,根据换脸图像的身份特征与脸源图像的身份特征之间的差异,构建身份损失,根据生成损失、表情损失与身份损失,构建关于生成网络的换脸损失,利用换脸损失更新生成网络的网络参数;直至满足训练停止条件时交替结束,得到训练好的判别网络与生成网络。
本实施例中,换脸模型的训练包括两个交替进行的阶段,阶段一是训练判别网络,阶段二是训练生成网络。
阶段一的训练目标是使判别网络尽量将换脸图像判别为伪造图像,且使判别网络尽量将参考图像判别为非伪造图像,因此,在阶段一,固定生成网络的参数,将样本三元组输入换脸模型,输出换脸图像后,服务器根据判别网络分别预测的关于换脸图像与参考图像的图像属性判别结果,对判别网络的网络参数进行更新。也即,服务器在固定生成网络的网络参数的情况下,根据换脸图像属于非伪造图像的第一概率与参考图像属于非伪造图像的第二概率,构建关于判别网络的判别损失,利用判别损失更新判别网络的网络参数。其中,判别网络的判别损失可通过如下公式表示:
Figure 392939DEST_PATH_IMAGE020
其中,D表示判别网络,GT为参考图像,fake为换脸图像,
Figure 572248DEST_PATH_IMAGE022
表示换脸图像属于 非伪造图像的第一概率,
Figure 50633DEST_PATH_IMAGE024
表示参考图像属于非伪造图像的第二概率。
阶段二的训练目标是使生成网络输出的换脸图像尽可能“欺骗”判别网络,被判别网络预测为非伪造图像,因此,在阶段二,固定判别网络的参数,将同一批样本三元组,输入换脸模型,通过生成网络输出换脸图像后,根据判别网络分别预测的关于换脸图像与参考图像的图像属性判别结果,构造用于训练生成网络的损失函数,根据该损失函数对生成网络的网络参数进行更新。
在阶段二中,用于训练生成网络的损失函数中,除了生成网络的生成损失,服务器还会引入表情损失与身份损失。具体而言,服务器通过换脸模型的表情识别网络,对换脸图像进行特征提取,得到换脸图像的表情特征;通过换脸模型的人脸识别网络,对换脸图像进行特征提取,得到换脸图像的身份特征;其中,表情识别网络与人脸识别网络,均为预先训练好的神经网络模型。
从而,在阶段二,服务器可以根据换脸图像属于非伪造图像的第一概率,构建生成网络的生成损失,根据换脸图像的表情特征与模板图像的表情特征之间的差异,构建表情损失,根据换脸图像的身份特征与脸源图像的身份特征之间的差异,构建身份损失,根据生成损失、表情损失与身份损失,构建关于生成网络的换脸损失,利用换脸损失更新生成网络的网络参数。
在一个实施例中,生成网络的生成损失可通过如下公式表示:
Figure 366208DEST_PATH_IMAGE026
在一个实施例中,生成网络的表情损失可通过如下公式表示:
Figure 904637DEST_PATH_IMAGE028
其中,
Figure 305662DEST_PATH_IMAGE030
为模板图像的表情特征,
Figure 576020DEST_PATH_IMAGE032
为换脸图像的表情特征。
在一个实施例中,生成网络的身份损失可通过如下公式表示:
Figure 746102DEST_PATH_IMAGE034
其中,
Figure 455432DEST_PATH_IMAGE036
为余弦相似度,
Figure 343753DEST_PATH_IMAGE038
为换脸图 像的身份特征,
Figure 163942DEST_PATH_IMAGE040
为脸源图像的身份特征。
如图5所示,为一个实施例中换脸模型的训练方法的流程示意图。包括以下步骤:
步骤502,获取样本三元组,样本三元组包括脸源图像、模板图像与参考图像;
步骤504,通过换脸模型的表情识别网络,对模板图像进行特征提取,得到模板图像的表情特征;
步骤506,通过换脸模型的人脸识别网络,对脸源图像进行特征提取,得到脸源图像的身份特征;
步骤508,拼接模板图像的表情特征与脸源图像的身份特征,得到组合特征;
步骤510,将脸源图像与模板图像进行拼接,得到输入图像,将输入图像输入至换脸模型,通过换脸模型的生成网络,对输入图像进行编码,得到对模板图像进行换脸所需的编码特征;
步骤512,分别计算编码特征、组合特征的均值与标准差,根据编码特征的均值与标准差,对编码特征进行归一化处理,得到归一化后的编码特征,根据组合特征的均值与标准差,将组合特征的风格迁移至归一化后的编码特征,得到融合特征;
步骤514,通过换脸模型的生成网络,对融合特征进行解码,得到换脸图像;
步骤516,将换脸图像输入换脸模型的判别网络,得到换脸图像属于非伪造图像的第一概率;
步骤518,将参考图像输入换脸模型的判别网络,得到参考图像属于非伪造图像的第二概率;
步骤520,在固定生成网络的网络参数的情况下,根据换脸图像属于非伪造图像的第一概率与参考图像属于非伪造图像的第二概率,构建关于判别网络的判别损失,利用判别损失更新判别网络的网络参数;
步骤522,在固定判别网络的网络参数的情况下,通过换脸模型的表情识别网络,对换脸图像进行特征提取,得到换脸图像的表情特征;通过换脸模型的人脸识别网络,对换脸图像进行特征提取,得到换脸图像的身份特征;以及根据换脸图像属于非伪造图像的第一概率,构建生成网络的生成损失,根据换脸图像的表情特征与模板图像的表情特征之间的差异,构建表情损失,根据换脸图像的身份特征与脸源图像的身份特征之间的差异,构建身份损失,根据生成损失、表情损失与身份损失,构建关于生成网络的换脸损失,利用换脸损失更新生成网络的网络参数。
上述换脸模型的训练方法中,在训练换脸模型时,不仅模板图像与脸源图像本身的编码特征参与解码以输出换脸图像,模板图像的表情特征与脸源图像的身份特征,也会参与解码以输出换脸图像,使得输出的换脸图像既能够具备模板图像的表情信息,又能够具备脸源图像的身份信息,也即,在保持模板图像的表情的同时,还能与脸源图像相像。此外,通过模板图像的表情特征与换脸图像的表情特征之间的差异,脸源图像的身份特征与换脸图像的身份特征之间的差异,来更新换脸模型,前者可以约束换脸图像与模板图像之间的表情相似度,后者可以约束换脸图像与脸源图像之间的身份相似度,这样,即便模板图像的表情较为复杂,输出的换脸图像仍能保持这种复杂表情,提升换脸效果。而且,更新换脸模型的生成网络与判别网络的网络参数时,还会依据判别网络对换脸图像与参考图像预测的图像属性判别结果,使生成网络与判别网络对抗训练,整体上提升换脸模型输出换脸图像的图像质量。
在一个实施例中,如图6所示,本申请在训练换脸模型时,还引入了预先训练好的人脸关键点网络,根据模板图像与换脸图像各自的人脸关键点信息之间的差异,训练换脸模型的生成网络。具体地,上述方法还可以包括:通过预先训练好的人脸关键点网络,分别对模板图像与换脸图像进行人脸关键点识别,得到各自的人脸关键点信息;根据模板图像与换脸图像各自的人脸关键点信息之间的差异,构建关键点损失;关键点损失用于参与换脸模型的生成网络的训练。
为了更好的达到在模板图像中人脸的表情较为特殊复杂时,生成的换脸图像依旧能够保持这种复杂表情的效果,本申请中在训练换脸模型时,还引入了人脸关键点网络。人脸关键点网络可以定位出图像上人脸关键点的位置,从而根据模板图像与换脸图像各自的人脸关键点信息之间的差异,构建关键点损失,参与生成网络的训练,可保证模板图像与换脸图像的表情一致性。
人脸关键点是图像中人脸上与人脸表情相关的五官所在像素点,如眉毛、嘴巴、眼睛、鼻子、脸部轮廓等所在的像素点。如图7所示,为一个实施例中人脸关键点的示意图,图7中,示意出了97个人脸关键点,0-32点是脸部轮廓,33-50是眉毛轮廓,51-59是鼻子,60-75是眼部轮廓,76-95是嘴巴轮廓,96、97是瞳孔所在位置。当然,人脸关键点网络还可以定位出更多的人脸关键点,比如有些可以定位出256个人脸关键点。
在一个实施例中,服务器通过人脸关键点网络分别定位出换脸图像与模板图像的 人脸关键点,对于部分或所有的人脸关键点,根据换脸图像与模板图像对应同一人脸关键 点的特征值,计算特征值差异的平方,再进行求和,记为关键点损失
Figure 454109DEST_PATH_IMAGE042
。在训 练时,希望关键点损失越小越好。比如,对于第95号关键点,根据换脸图像的表情特征
Figure 334340DEST_PATH_IMAGE044
与模板图像的表情特征
Figure 647641DEST_PATH_IMAGE046
各自对应第95号人脸关键点的特 征值,计算差异的平方,按照这样的方式对人脸关键点求和,即为关键点损失。当然,在一些 实施例中,服务器也可以仅根据眉毛、嘴巴、眼睛所在关键点的特征值的差异来表征换脸图 像与模板图像的表情差异。
本实施例中,通过在训练换脸模型时,引入了人脸关键点网络与关键点损失,可以使训练好的换脸模型的生成网络输出表情保留效果较好的换脸图像。
在一个实施例中,如图8所示,本申请在训练换脸模型时,还引入了预先训练好的特征提取网络,根据模板图像与换脸图像各自的图像特征之间的差异,训练换脸模型的生成网络。具体地,上述方法还可以包括:通过预先训练好的特征提取网络,分别对换脸图像与参考图像进行图像特征提取,得到各自的图像特征;根据换脸图像与参考图像各自的图像特征之间的差异,构建相似度损失;相似度损失用于参与换脸模型的生成网络的训练。
本实施例中,为了度量换脸图像与参考图像在特征级别上的差异,希望生成的换脸图像与参考图像的特征较为相似,在训练换脸模型时,还引入了相似度损失,相似度损失例如可以是学习感知图像块相似度(Learned Perceptual Image Patch Similarity,LPIPS)。预训练好的特征提取网络,用于分别提取换脸图像与参考图像在不同层级的特征,比较换脸图像与参考图像在对应同一层级的特征差异,构造相似度损失。训练时,希望换脸图像与参考图像的特征差异越小越好。
如图9所示,为一个实施例中特征提取网络的示意图。参照图9,特征提取过程中,层级越深,特征的分辨率越小,低层级的特征能够表示线条、颜色等低层级特征,高层级的特征能够表示部件、对象等高层级特征,通过比较对两个图像提取的图像特征,可以用来衡量两个图像整体的相似度。
参照图9,为不同网络层的特征可视化情况。该特征提取网络包括5个卷积操作,输 入图像的分辨率为224*224*3,经过第一层级的卷积操作Conv1,提取得到第一层级的图像 特征,记为
Figure 271520DEST_PATH_IMAGE048
,分辨率为55*55*96,再经过第二层级的卷积Conv2与池化操作,提 取得到第二层级的图像特征,记为
Figure 416194DEST_PATH_IMAGE050
,分辨率为27*27*256,再经过第三层级的 卷积Conv3与池化操作,提取得到第三层级的图像特征,记为
Figure 467327DEST_PATH_IMAGE052
,分辨率为13* 13*384,最后再通过第四层级的卷积操作Conv5与池化操作得到图像特征,记为
Figure 330240DEST_PATH_IMAGE054
,分辨率为13*13*256,最后通过全连接层获得一个维度为1000的输出向量, 用于图像分类或目标检测。
在一个实施例中,服务器通过特征提取网络对换脸图像提取的图像特征可记为:
Figure 492231DEST_PATH_IMAGE056
类似地,服务器通过特征提取网络对参考图像提取的图像特征可记为:
Figure 756991DEST_PATH_IMAGE058
则相似度损失可通过如下公式表示:
Figure 713445DEST_PATH_IMAGE060
本实施例中,通过在训练换脸模型时,根据换脸图像与参考图像的特征之间的相似度,构建相似度损失,参与换脸模型的生成网络的训练,能够使训练好的换脸模型的生成网络可以输出换脸效果真切的换脸图像。
在一个实施例中,本申请在训练换脸模型时,还引入了重建损失,根据参考图像与换脸图像之间的像素级差异,构建重建损失,训练换脸模型的生成网络。具体地,上述方法还可以包括:根据换脸图像与参考图像之间的像素级差异,构建重建损失;其中,重建损失用于参与换脸模型的生成网络的训练。在训练时,希望换脸图像和参考图像之间的像素级差异越小越好。重建损失可通过如下公式表示:
Figure 63655DEST_PATH_IMAGE062
可以理解的是,在训练换脸模型时,在生成网络的训练阶段,可同时引入上述的生成损失、表情损失、身份损失、关键点损失、相似度损失与重建损失,构建生成网络整体的换脸损失,以期望通过这些方方面面的约束,实现更好的保留复杂表情的换脸效果。
如图10所示,为一个具体的实施例中换脸模型的训练架构示意图。参照图10,训练换脸模型时引入的网络包括:生成网络、判别网络、表情识别网络、人脸识别网络、人脸关键点网络、特征提取网络。结合图10,对换脸模型的训练过程进行说明如下:
服务器获取训练样本,训练样本包括多个样本三元组,样本三元组包括脸源图像、模板图像与参考图像。
接着,服务器通过预先训练好的表情识别网络,对模板图像进行特征提取,得到模板图像的表情特征。通过预先训练好的人脸识别网络,对脸源图像进行特征提取,得到脸源图像的身份特征,拼接模板图像的表情特征与脸源图像的身份特征,得到组合特征。
接着,服务器还将脸源图像与模板图像进行拼接,得到输入图像,将输入图像输入至换脸模型,通过换脸模型的生成网络,对输入图像进行编码,得到对模板图像进行换脸所需的编码特征。
接着,服务器融合编码特征与组合特征,得到融合特征,并通过换脸模型的生成网络,根据融合特征进行解码,得到换脸图像。
接着,服务器通过换脸模型的判别网络,将换脸图像输入换脸模型的判别网络,得到换脸图像属于非伪造图像的第一概率,将参考图像输入换脸模型的判别网络,得到参考图像属于非伪造图像的第二概率。
接着,在固定生成网络的网络参数的情况下,根据换脸图像属于非伪造图像的第一概率与参考图像属于非伪造图像的第二概率,构建关于判别网络的判别损失,利用判别损失更新判别网络的网络参数。
接着,在固定判别网络的网络参数的情况下,服务器重新将换脸图像输入更新后的判别网络,得到换脸图像属于非伪造图像的第一概率,根据换脸图像属于非伪造图像的第一概率,构建生成网络的生成损失。通过换脸模型的表情识别网络,对换脸图像进行特征提取,得到换脸图像的表情特征,根据换脸图像的表情特征与模板图像的表情特征之间的差异,构建表情损失。通过换脸模型的人脸识别网络,对换脸图像进行特征提取,得到换脸图像的身份特征,根据换脸图像的身份特征与脸源图像的身份特征之间的差异,构建身份损失。通过预先训练好的人脸关键点网络,分别对模板图像与换脸图像进行人脸关键点识别,得到各自的人脸关键点信息,根据模板图像与换脸图像各自的人脸关键点信息之间的差异,构建关键点损失。通过预先训练好的特征提取网络,分别对换脸图像与参考图像进行图像特征提取,得到各自的图像特征,根据换脸图像与参考图像各自的图像特征之间的差异,构建相似度损失。根据换脸图像与参考图像之间的像素级差异,构建重建损失。最后,根据生成损失、表情损失、身份损失、关键点损失、相似度损失、重建损失,构建关于生成网络的换脸损失,利用换脸损失更新生成网络的网络参数。
按照这样交替的训练方式,在满足训练停止条件时,就可以得到训练好的换脸模型。
在一个实施例中,在得到训练好的换脸模型之后,服务器可以利用训练好的换脸模型中的生成网络、预先训练好的表情识别网络与人脸识别网络,对目标图像或目标视频进行换脸,得到换脸图像或换脸视频。
以对目标视频进行换脸为例,包括以下的步骤:视频采集->图像输入->人脸检测->人脸区域的裁剪->进行表情优化的视频换脸->结果展示。
如图11所示,为一个实施例中视频换脸的流程示意图。本实施例的执行主体可以是一个计算机设备或者多个计算机设备所构成的计算机设备集群。该计算机设备可以是服务器,也可以是终端。参照图11,包括以下步骤:
步骤1102,获取待换脸视频与包含目标人脸的脸源图像。
脸源图像可以是包含人脸的原始图像,也可以是对原始图像进行人脸检测、配置后得到的仅包含人脸的裁剪图像。
步骤1104,对于待换脸视频的每一视频帧,通过训练好的表情识别网络,对视频帧进行特征提取,得到视频帧的表情特征。
服务器可以直接对视频帧进行后续的处理,也可以对视频帧进行人脸检测、配置后得到的仅包含人脸的裁剪图像。
步骤1106,通过训练好的人脸识别网络,对脸源图像进行特征提取,得到脸源图像的身份特征。
步骤1108,拼接表情特征与身份特征,得到组合特征。
步骤1110,通过训练好的换脸模型的生成网络,根据包含目标人脸的脸源图像与视频帧进行编码,得到换脸所需的编码特征。
步骤1112,融合编码特征与组合特征,得到融合特征。
步骤1114,通过训练好的换脸模型的生成网络,根据融合特征进行解码,输出将视频帧中的对象替换为目标人脸的换脸视频。
如图12所示,为一个实施例中对照片进行换脸的效果示意图。通过本申请实施例提供的换脸模型的训练方法训练好的换脸模型,可在复杂表情下依旧能保持较好的换脸效果,可以用于证件照制作,影视人像制作、游戏人物设计、虚拟形象、隐私保护等多种场景中。在复杂的表情下依旧能够保持好模板图像中人脸的表情,还可满足影视中一些复杂表情场景下的换脸需求,而且,在视频场景下,表情的保持是流畅自然的。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的换脸模型的训练方法的换脸模型的训练装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个换脸模型的训练装置实施例中的具体限定可以参见上文中对于换脸模型的训练方法的限定,在此不再赘述。
在一个实施例中,如图13所示,提供了一种换脸模型的训练装置1300,包括:获取模块1302、拼接模块1304、生成模块1306、判别模块1308和更新模块1310,其中:
获取模块1302,用于获取样本三元组,样本三元组包括脸源图像、模板图像与参考图像;
拼接模块1304,用于拼接模板图像的表情特征与脸源图像的身份特征,得到组合特征;
生成模块1306,用于通过换脸模型的生成网络,根据脸源图像与模板图像进行编码,得到换脸所需的编码特征,并根据融合编码特征与组合特征得到的融合特征进行解码,得到换脸图像;
判别模块1308,用于通过换脸模型的判别网络,根据换脸图像与参考图像,得到相应的图像属性判别结果,图像属性包括伪造图像和非伪造图像;
更新模块1310,用于基于换脸图像的表情特征与模板图像的表情特征之间的差异、换脸图像的身份特征与脸源图像的身份特征之间的差异、以及图像属性判别结果,更新生成网络与判别网络。
在一个实施例中,获取模块1302,还用于获取第一图像与第二图像,第一图像与第二图像对应相同的身份属性,且对应不同的非身份属性;获取第三图像,第三图像与第一图像对应不同的身份属性;将第二图像中的对象替换为第三图像中的对象,得到第四图像;将第一图像作为脸源图像、第四图像作为模板图像、第二图像作为参考图像,作为一个样本三元组。
在一个实施例中,换脸模型的训练装置1300还包括:
表情识别模块,用于通过换脸模型的表情识别网络,对模板图像进行特征提取,得到模板图像的表情特征;
人脸识别模块,用于通过换脸模型的人脸识别网络,对脸源图像进行特征提取,得到脸源图像的身份特征;
其中,表情识别网络与人脸识别网络,均为预先训练好的神经网络模型。
在一个实施例中,生成模块1306,还用于将脸源图像与模板图像进行拼接,得到输入图像;将输入图像输入至换脸模型;通过换脸模型的生成网络,对输入图像进行编码,得到对模板图像进行换脸所需的编码特征。
在一个实施例中,换脸模型的训练装置1300还包括:
融合模块,用于分别计算编码特征、组合特征的均值与标准差;根据编码特征的均值与标准差,对编码特征进行归一化处理,得到归一化后的编码特征;根据组合特征的均值与标准差,将组合特征的风格迁移至归一化后的编码特征,得到融合特征。
在一个实施例中,判别模块1308,还用于将换脸图像输入换脸模型的判别网络,得到换脸图像属于非伪造图像的第一概率;将参考图像输入换脸模型的判别网络,得到参考图像属于非伪造图像的第二概率。
在一个实施例中,换脸模型的训练装置1300还包括:
表情识别模块,用于通过换脸模型的表情识别网络,对换脸图像进行特征提取,得到换脸图像的表情特征;
人脸识别模块,用于通过换脸模型的人脸识别网络,对换脸图像进行特征提取,得到换脸图像的身份特征;
其中,表情识别网络与人脸识别网络,均为预先训练好的神经网络模型。
在一个实施例中,更新模块1310,还用于交替地,在固定生成网络的网络参数的情况下,根据换脸图像属于非伪造图像的第一概率与参考图像属于非伪造图像的第二概率,构建关于判别网络的判别损失,利用判别损失更新判别网络的网络参数;在固定判别网络的网络参数的情况下,根据换脸图像属于非伪造图像的第一概率,构建生成网络的生成损失,根据换脸图像的表情特征与模板图像的表情特征之间的差异,构建表情损失,根据换脸图像的身份特征与脸源图像的身份特征之间的差异,构建身份损失,根据生成损失、表情损失与身份损失,构建关于生成网络的换脸损失,利用换脸损失更新生成网络的网络参数,直至满足训练停止条件时交替结束,得到训练好的判别网络与生成网络。
在一个实施例中,换脸模型的训练装置1300还包括:
关键点定位模块,用于通过预先训练好的人脸关键点网络,分别对模板图像与换脸图像进行人脸关键点识别,得到各自的人脸关键点信息;
更新模块1310,还用于根据模板图像与换脸图像各自的人脸关键点信息之间的差异,构建关键点损失;关键点损失用于参与换脸模型的生成网络的训练。
在一个实施例中,换脸模型的训练装置1300还包括:
图像特征提取模块,用于通过预先训练好的特征提取网络,分别对换脸图像与参考图像进行图像特征提取,得到各自的图像特征;
更新模块1310,还用于根据换脸图像与参考图像各自的图像特征之间的差异,构建相似度损失;相似度损失用于参与换脸模型的生成网络的训练。
在一个实施例中,更新模块1310还用于根据换脸图像与参考图像之间的像素级差异,构建重建损失;其中,重建损失用于参与换脸模型的生成网络的训练。
在一个实施例中,换脸模型的训练装置1300还包括:
换脸模块,用于获取待换脸视频与包含目标人脸的脸源图像;对于待换脸视频的每一视频帧,获取视频帧的表情特征;获取包含目标人脸的脸源图像的身份特征;拼接表情特征与身份特征,得到组合特征;通过训练好的换脸模型的生成网络,根据包含目标人脸的脸源图像与视频帧进行编码,得到换脸所需的编码特征,根据融合编码特征与组合特征得到的融合特征进行解码,输出将视频帧中的对象替换为目标人脸的换脸视频。
上述换脸模型的训练装置1300中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器或终端,其内部结构图可以如图14所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部设备通过网络连接通信。该计算机程序被处理器执行时以实现一种换脸模型的训练方法。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现本申请任一实施例提供的换脸模型的训练方法步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请任一实施例提供的换脸模型的训练方法步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请任一实施例提供的换脸模型的训练方法步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (18)

1.一种换脸模型的训练方法,其特征在于,所述方法包括:
获取样本三元组,所述样本三元组包括脸源图像、模板图像与参考图像;
通过预先训练好的表情识别网络,对所述模板图像进行特征提取,得到所述模板图像的表情特征;
通过预先训练好的人脸识别网络,对所述脸源图像进行特征提取,得到所述脸源图像的身份特征;
拼接所述模板图像的表情特征与所述脸源图像的身份特征,得到组合特征;
通过所述换脸模型的生成网络,根据所述脸源图像与所述模板图像进行编码,得到换脸所需的编码特征,并根据融合所述编码特征与所述组合特征得到的融合特征进行解码,得到换脸图像;其中,融合所述编码特征与所述组合特征得到所述融合特征的步骤包括:分别计算所述编码特征、所述组合特征的均值与标准差,根据所述编码特征的均值与标准差,对所述编码特征进行归一化处理,得到归一化后的编码特征,将所述归一化后的编码特征乘以所述组合特征的标准差再加上所述组合特征的均值,得到所述融合特征,所述融合特征保留了所述编码特征的内容而兼具所述组合特征的风格;
通过预先训练好的所述表情识别网络,对所述换脸图像进行特征提取,得到所述换脸图像的表情特征;
通过预先训练好的所述人脸识别网络,对所述换脸图像进行特征提取,得到所述换脸图像的身份特征;
通过预先训练好的包括多个网络层级的特征提取网络,分别提取所述换脸图像与所述参考图像在不同层级的图像特征,根据所述换脸图像与所述参考图像对应同一层级的图像特征的差异,构造相似度损失;
通过所述换脸模型的判别网络,根据所述换脸图像与所述参考图像,得到相应的图像属性判别结果,所述图像属性包括伪造图像和非伪造图像;
根据基于所述换脸图像的表情特征与所述模板图像的表情特征之间的差异所构建的表情损失、基于所述换脸图像的身份特征与所述脸源图像的身份特征之间的差异所构建的身份损失、所述相似度损失以及所述图像属性判别结果,更新所述生成网络与所述判别网络。
2.根据权利要求1所述的方法,其特征在于,所述获取样本三元组,包括:
获取第一图像与第二图像,所述第一图像与第二图像对应相同的身份属性,且对应不同的非身份属性;
获取第三图像,所述第三图像与所述第一图像对应不同的身份属性;
将所述第二图像中的对象替换为所述第三图像中的对象,得到第四图像;
将所述第一图像作为脸源图像、所述第四图像作为模板图像、所述第二图像作为参考图像,作为一个样本三元组。
3.根据权利要求1所述的方法,其特征在于,所述通过所述换脸模型的生成网络,根据所述脸源图像与所述模板图像进行编码,得到换脸所需的编码特征,包括:
将所述脸源图像与模板图像进行拼接,得到输入图像;
将所述输入图像输入至所述换脸模型;
通过所述换脸模型的生成网络,对所述输入图像进行编码,得到对所述模板图像进行换脸所需的编码特征。
4.根据权利要求1所述的方法,其特征在于,所述通过所述换脸模型的判别网络,根据所述换脸图像与所述参考图像,得到相应的图像属性判别结果,包括:
将所述换脸图像输入所述换脸模型的判别网络,得到所述换脸图像属于非伪造图像的第一概率;
将所述参考图像输入所述换脸模型的判别网络,得到所述参考图像属于非伪造图像的第二概率。
5.根据权利要求1所述的方法,其特征在于,所述根据基于所述换脸图像的表情特征与所述模板图像的表情特征之间的差异所构建的表情损失、基于所述换脸图像的身份特征与所述脸源图像的身份特征之间的差异所构建的身份损失、所述相似度损失以及所述图像属性判别结果,更新所述生成网络与所述判别网络,包括:
交替地,在固定所述生成网络的网络参数的情况下,根据所述换脸图像属于非伪造图像的第一概率与所述参考图像属于非伪造图像的第二概率,构建关于所述判别网络的判别损失,利用所述判别损失更新所述判别网络的网络参数;
在固定所述判别网络的网络参数的情况下,根据所述换脸图像属于非伪造图像的第一概率,构建生成网络的生成损失,根据所述换脸图像的表情特征与所述模板图像的表情特征之间的差异,构建表情损失,根据所述换脸图像的身份特征与所述脸源图像的身份特征之间的差异,构建身份损失,根据所述生成损失、表情损失、所述身份损失与所述相似度损失,构建关于所述生成网络的换脸损失,利用所述换脸损失更新所述生成网络的网络参数;
直至满足训练停止条件时交替结束,得到训练好的判别网络与生成网络。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过预先训练好的人脸关键点网络,分别对所述模板图像与所述换脸图像进行人脸关键点识别,得到各自的人脸关键点信息;
根据所述模板图像与所述换脸图像各自的人脸关键点信息之间的差异,构建关键点损失;所述关键点损失用于参与所述换脸模型的生成网络的训练。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述换脸图像与所述参考图像之间的像素级差异,构建重建损失;
其中,所述重建损失用于参与所述换脸模型的生成网络的训练。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
获取待换脸视频与包含目标人脸的脸源图像;
对于所述待换脸视频的每一视频帧,获取所述视频帧的表情特征;
获取所述包含目标人脸的脸源图像的身份特征;
拼接所述表情特征与所述身份特征,得到组合特征;
通过训练好的所述换脸模型的生成网络,根据所述包含目标人脸的脸源图像与所述视频帧进行编码,得到换脸所需的编码特征,根据融合所述编码特征与所述组合特征得到的融合特征进行解码,输出将所述视频帧中的对象替换为所述目标人脸的换脸视频。
9.一种换脸模型的训练装置,其特征在于,所述装置包括:
获取模块,用于获取样本三元组,所述样本三元组包括脸源图像、模板图像与参考图像;
表情识别模块,用于通过预先训练好的表情识别网络,对所述模板图像进行特征提取,得到所述模板图像的表情特征;
人脸识别模块,用于通过预先训练好的人脸识别网络,对所述脸源图像进行特征提取,得到所述脸源图像的身份特征;
拼接模块,用于拼接所述模板图像的表情特征与所述脸源图像的身份特征,得到组合特征;
生成模块,用于通过所述换脸模型的生成网络,根据所述脸源图像与所述模板图像进行编码,得到换脸所需的编码特征,并根据融合所述编码特征与所述组合特征得到的融合特征进行解码,得到换脸图像;其中,融合所述编码特征与所述组合特征得到所述融合特征的步骤包括:分别计算所述编码特征、所述组合特征的均值与标准差,根据所述编码特征的均值与标准差,对所述编码特征进行归一化处理,得到归一化后的编码特征,将所述归一化后的编码特征乘以所述组合特征的标准差再加上所述组合特征的均值,得到所述融合特征,所述融合特征保留了所述编码特征的内容而兼具所述组合特征的风格;
所述表情识别模块,用于通过预先训练好的所述表情识别网络,对所述换脸图像进行特征提取,得到所述换脸图像的表情特征;
所述人脸识别模块,用于通过预先训练好的所述人脸识别网络,对所述换脸图像进行特征提取,得到所述换脸图像的身份特征;
图像特征提取模块,用于通过预先训练好的包括多个网络层级的特征提取网络,分别提取所述换脸图像与所述参考图像在不同层级的图像特征,根据所述换脸图像与所述参考图像对应同一层级的图像特征的差异,构造相似度损失;
判别模块,用于通过所述换脸模型的判别网络,根据所述换脸图像与所述参考图像,得到相应的图像属性判别结果,所述图像属性包括伪造图像和非伪造图像;
更新模块,用于根据基于所述换脸图像的表情特征与所述模板图像的表情特征之间的差异所构建的表情损失、基于所述换脸图像的身份特征与所述脸源图像的身份特征之间的差异所构建的身份损失、所述相似度损失以及所述图像属性判别结果,更新所述生成网络与所述判别网络。
10.根据权利要求9所述的装置,其特征在于,所述获取模块,还用于获取第一图像与第二图像,所述第一图像与第二图像对应相同的身份属性,且对应不同的非身份属性;获取第三图像,所述第三图像与所述第一图像对应不同的身份属性;将所述第二图像中的对象替换为所述第三图像中的对象,得到第四图像; 将所述第一图像作为脸源图像、所述第四图像作为模板图像、所述第二图像作为参考图像,作为一个样本三元组。
11.根据权利要求9所述的装置,其特征在于,所述生成模块,还用于将所述脸源图像与模板图像进行拼接,得到输入图像;将所述输入图像输入至所述换脸模型;通过所述换脸模型的生成网络,对所述输入图像进行编码,得到对所述模板图像进行换脸所需的编码特征。
12.根据权利要求9所述的装置,其特征在于,所述判别模块,还用于将所述换脸图像输入所述换脸模型的判别网络,得到所述换脸图像属于非伪造图像的第一概率;将所述参考图像输入所述换脸模型的判别网络,得到所述参考图像属于非伪造图像的第二概率。
13.根据权利要求9所述的装置,其特征在于,所述更新模块,还用于交替地,在固定所述生成网络的网络参数的情况下,根据所述换脸图像属于非伪造图像的第一概率与所述参考图像属于非伪造图像的第二概率,构建关于所述判别网络的判别损失,利用所述判别损失更新所述判别网络的网络参数;在固定所述判别网络的网络参数的情况下,根据所述换脸图像属于非伪造图像的第一概率,构建生成网络的生成损失,根据所述换脸图像的表情特征与所述模板图像的表情特征之间的差异,构建表情损失,根据所述换脸图像的身份特征与所述脸源图像的身份特征之间的差异,构建身份损失,根据所述生成损失、表情损失、所述身份损失与所述相似度损失,构建关于所述生成网络的换脸损失,利用所述换脸损失更新所述生成网络的网络参数,直至满足训练停止条件时交替结束,得到训练好的判别网络与生成网络。
14.根据权利要求9所述的装置,其特征在于,所述装置还包括:
关键点定位模块,用于通过预先训练好的人脸关键点网络,分别对所述模板图像与所述换脸图像进行人脸关键点识别,得到各自的人脸关键点信息;
所述更新模块,还用于根据所述模板图像与所述换脸图像各自的人脸关键点信息之间的差异,构建关键点损失;所述关键点损失用于参与所述换脸模型的生成网络的训练。
15.根据权利要求9所述的装置,其特征在于,所述更新模块还用于根据所述换脸图像与所述参考图像之间的像素级差异,构建重建损失;其中,所述重建损失用于参与所述换脸模型的生成网络的训练。
16.根据权利要求9至15中任一项所述的装置,其特征在于,所述装置还包括:
换脸模块,用于获取待换脸视频与包含目标人脸的脸源图像;对于所述待换脸视频的每一视频帧,获取所述视频帧的表情特征;获取所述包含目标人脸的脸源图像的身份特征;拼接所述表情特征与所述身份特征,得到组合特征;通过训练好的所述换脸模型的生成网络,根据所述包含目标人脸的脸源图像与所述视频帧进行编码,得到换脸所需的编码特征,根据融合所述编码特征与所述组合特征得到的融合特征进行解码,输出将所述视频帧中的对象替换为所述目标人脸的换脸视频。
17.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
CN202211468062.6A 2022-11-22 2022-11-22 换脸模型的训练方法、装置、设备、存储介质和程序产品 Active CN115565238B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211468062.6A CN115565238B (zh) 2022-11-22 2022-11-22 换脸模型的训练方法、装置、设备、存储介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211468062.6A CN115565238B (zh) 2022-11-22 2022-11-22 换脸模型的训练方法、装置、设备、存储介质和程序产品

Publications (2)

Publication Number Publication Date
CN115565238A CN115565238A (zh) 2023-01-03
CN115565238B true CN115565238B (zh) 2023-03-28

Family

ID=84770880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211468062.6A Active CN115565238B (zh) 2022-11-22 2022-11-22 换脸模型的训练方法、装置、设备、存储介质和程序产品

Country Status (1)

Country Link
CN (1) CN115565238B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116229214B (zh) * 2023-03-20 2023-12-01 北京百度网讯科技有限公司 模型训练方法、装置及电子设备
CN116739893A (zh) * 2023-08-14 2023-09-12 北京红棉小冰科技有限公司 一种换脸方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111353546A (zh) * 2020-03-09 2020-06-30 腾讯科技(深圳)有限公司 图像处理模型的训练方法、装置、计算机设备和存储介质
CN111401216A (zh) * 2020-03-12 2020-07-10 腾讯科技(深圳)有限公司 图像处理、模型训练方法、装置、计算机设备和存储介质
CN114387656A (zh) * 2022-01-14 2022-04-22 平安科技(深圳)有限公司 基于人工智能的换脸方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111553267B (zh) * 2020-04-27 2023-12-01 腾讯科技(深圳)有限公司 图像处理方法、图像处理模型训练方法及设备
CN111783603A (zh) * 2020-06-24 2020-10-16 有半岛(北京)信息科技有限公司 生成对抗网络训练方法、图像换脸、视频换脸方法及装置
CN113705290A (zh) * 2021-02-26 2021-11-26 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备和存储介质
CN115171199B (zh) * 2022-09-05 2022-11-18 腾讯科技(深圳)有限公司 图像处理方法、装置及计算机设备、存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111353546A (zh) * 2020-03-09 2020-06-30 腾讯科技(深圳)有限公司 图像处理模型的训练方法、装置、计算机设备和存储介质
CN111401216A (zh) * 2020-03-12 2020-07-10 腾讯科技(深圳)有限公司 图像处理、模型训练方法、装置、计算机设备和存储介质
CN114387656A (zh) * 2022-01-14 2022-04-22 平安科技(深圳)有限公司 基于人工智能的换脸方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115565238A (zh) 2023-01-03

Similar Documents

Publication Publication Date Title
Zeng et al. Srnet: Improving generalization in 3d human pose estimation with a split-and-recombine approach
CN111401216B (zh) 图像处理、模型训练方法、装置、计算机设备和存储介质
CN111754596B (zh) 编辑模型生成、人脸图像编辑方法、装置、设备及介质
CN111553267B (zh) 图像处理方法、图像处理模型训练方法及设备
Shi et al. A facial expression recognition method based on a multibranch cross-connection convolutional neural network
CN115565238B (zh) 换脸模型的训练方法、装置、设备、存储介质和程序产品
CN111354079A (zh) 三维人脸重建网络训练及虚拟人脸形象生成方法和装置
CN112990054A (zh) 紧凑的无语言面部表情嵌入和新颖三元组的训练方案
Seow et al. A comprehensive overview of Deepfake: Generation, detection, datasets, and opportunities
CN110288513B (zh) 用于改变人脸属性的方法、装置、设备和存储介质
CN113177616B (zh) 图像分类方法、装置、设备及存储介质
CN113705290A (zh) 图像处理方法、装置、计算机设备和存储介质
CN115050064A (zh) 人脸活体检测方法、装置、设备及介质
CN113822953A (zh) 图像生成器的处理方法、图像生成方法及装置
CN113011387A (zh) 网络训练及人脸活体检测方法、装置、设备及存储介质
CN115115969A (zh) 视频检测方法、装置、设备、存储介质和程序产品
CN114494543A (zh) 动作生成方法及相关装置、电子设备和存储介质
CN114973349A (zh) 面部图像处理方法和面部图像处理模型的训练方法
CN113705301A (zh) 图像处理方法及装置
CN116977714A (zh) 图像分类方法、装置、设备、存储介质和程序产品
CN113538254A (zh) 图像恢复方法、装置、电子设备及计算机可读存储介质
CN116958324A (zh) 图像生成模型的训练方法、装置、设备及存储介质
Zhao et al. ChildPredictor: A child face prediction framework with disentangled learning
CN114972016A (zh) 图像处理方法、装置、计算机设备、存储介质及程序产品
CN117011449A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40079081

Country of ref document: HK