CN115222578A - 图像风格迁移方法、程序产品、存储介质及电子设备 - Google Patents
图像风格迁移方法、程序产品、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115222578A CN115222578A CN202210771117.4A CN202210771117A CN115222578A CN 115222578 A CN115222578 A CN 115222578A CN 202210771117 A CN202210771117 A CN 202210771117A CN 115222578 A CN115222578 A CN 115222578A
- Authority
- CN
- China
- Prior art keywords
- image
- migration
- generator
- style
- original
- 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
- 238000013508 migration Methods 0.000 title claims abstract description 298
- 230000005012 migration Effects 0.000 title claims abstract description 298
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 230000036961 partial effect Effects 0.000 claims abstract description 9
- 238000012549 training Methods 0.000 claims description 103
- 238000005070 sampling Methods 0.000 claims description 65
- 238000000605 extraction Methods 0.000 claims description 37
- 230000009466 transformation Effects 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 25
- 238000010606 normalization Methods 0.000 claims description 24
- 238000013527 convolutional neural network Methods 0.000 claims description 15
- 230000000694 effects Effects 0.000 abstract description 36
- 230000009286 beneficial effect Effects 0.000 abstract description 6
- 230000004927 fusion Effects 0.000 description 24
- 230000003042 antagnostic effect Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 14
- 230000002829 reductive effect Effects 0.000 description 11
- 238000013461 design Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000004821 distillation Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000013473 artificial intelligence Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000005457 optimization Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013140 knowledge distillation Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000003796 beauty Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000009529 body temperature measurement Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010428 oil painting Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/778—Active pattern-learning, e.g. online learning of image or video features
- G06V10/7784—Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
- G06V10/7792—Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors the supervisor being an automated module, e.g. "intelligent oracle"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Human Computer Interaction (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供一种图像风格迁移方法、程序产品、存储介质及电子设备。其中,图像风格迁移方法包括:获取待进行风格迁移的原始图像;获取原始图像中的原始人脸图像,原始人脸图像为原始图像中包含人脸的部分图像;利用第一生成模型对原始人脸图像进行风格迁移,得到目标风格的迁移人脸图像,以及,利用第二生成模型对原始图像进行风格迁移,得到目标风格的迁移背景图像;其中,第一生成模型为第一生成对抗网络中的生成器,第二生成模型为第二生成对抗网络中的生成器;对迁移人脸图像和迁移背景图像进行融合,得到迁移图像。该方法有利于改善图像风格迁移的效果。
Description
技术领域
本申请涉及人工智能技术领域,具体而言,涉及一种图像风格迁移方法、程序产品、存储介质及电子设备。
背景技术
人脸风格迁移主要用于将真实的人脸图像转换为目标风格(例如,动漫风格、油画风格、水彩风格)的人脸图像,从而可以满足用户多方面的图像使用需求。然而,目前的人脸风格迁移方法迁移效果欠佳。
发明内容
本申请实施例的目的在于提供一种图像风格迁移方法、程序产品、存储介质及电子设备,以改善上述技术问题。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请实施例提供一种图像风格迁移方法,包括:获取待进行风格迁移的原始图像;获取所述原始图像中的原始人脸图像,所述原始人脸图像为所述原始图像中包含人脸的部分图像;利用第一生成模型对所述原始人脸图像进行风格迁移,得到目标风格的迁移人脸图像,以及,利用第二生成模型对所述原始图像进行风格迁移,得到所述目标风格的迁移背景图像;其中,所述第一生成模型为第一生成对抗网络中的生成器,所述第二生成模型为第二生成对抗网络中的生成器;对所述迁移人脸图像和所述迁移背景图像进行融合,得到迁移图像。
上述方法的有益效果包括:
其一,原始人脸图像(主要代表前景)和原始图像(主要代表背景)分别利用不同的生成模型进行风格迁移,从而两个模型可以针对各自需迁移的部分进行针对性的结构设计和/或参数优化,使得每个模型的拟合难度较低而迁移效果较佳,进而使得图像总体的风格迁移效果也更加精细、自然。并且,由于对原始图像和原始人脸图像的风格迁移是相互独立的,因此二者还可以并行执行,以提高风格迁移的实时性。
其二,借助于生成对抗网络的图像翻译能力(即根据一张图像生成另一张图像)来实现风格迁移,使得在最终融合得到的迁移图像中,既保留了目标风格的艺术特征,又保留了真实人脸的身份特征,风格迁移效果显著改善。
在第一方面的一种实现方式中,所述利用第二生成模型对所述原始图像进行风格迁移,得到所述目标风格的迁移背景图像,包括:对所述原始图像进行下采样,得到下采样图像;将所述下采样图像输入所述第二生成模型进行风格迁移,得到所述第二生成模型输出的所述目标风格的迁移后的下采样图像;将所述迁移后的下采样图像上采样回所述原始图像的分辨率,得到所述迁移背景图像。
在上述实现方式中,由于先对原始图像进行了下采样,再将下采样图像通过第二生成模型,因此其进行风格迁移的计算量显著小于直接将原始图像通过第二生成模型,又由于原始人脸图像只是原始图像的一部分,因此对其进行风格迁移在计算量上也显著小于直接对原始图像进行风格迁移,从而,综合来看上述实现方式中的风格迁移方法具有较好的实时性。
并且,在进行风格迁移时,相对来说用户会更关注人脸的迁移效果,而对于背景部分迁移质量稍差也可以接受,因此为提高风格迁移的实时性而对原始图像进行的下采样操作是合理的。
另外,由于对下采样图像和原始人脸图像的风格迁移是相互独立的,因此可以并行执行,进一步提高方法的实时性。
在第一方面的一种实现方式中,所述利用第一生成模型对所述原始人脸图像进行风格迁移,得到目标风格的迁移人脸图像,包括:确定所述原始人脸图像中的人脸关键点,并根据所述人脸关键点对所述原始人脸图像进行归一化变换,得到归一化人脸图像;将所述归一化人脸图像输入所述第一生成模型进行风格迁移,得到所述第一生成模型输出的所述目标风格的迁移后的归一化人脸图像;对所述迁移后的归一化人脸图像进行所述归一化变换的逆变换,得到所述迁移人脸图像。
在上述实现方式中,先将原始人脸图像归一化(即通过缩放、旋转等手段将原始人脸图像转换为固定大小、且人脸基本正对画面的图像)后再进行风格迁移,有利于降低模型的拟合难度,改善迁移效果。另外,归一化人脸图像可以选择一个较小的,但仍能保留人脸特征的分辨率,以进一步提高方法的实时性。
在第一方面的一种实现方式中,所述目标风格为多种候选迁移风格之一,每种候选迁移风格均对应一个所述第二生成模型和一个所述第一生成模型。
在上述实现方式中,针对每种候选迁移风格都对应有不同的生成模型,有利于降低每种风格下模型的拟合难度,并针对相应的风格进行结构设计和/或参数优化,从而改善风格迁移效果。
在第一方面的一种实现方式中,所述第一生成对抗网络包括判别器、教师生成器以及学生生成器,所述第一生成模型为所述学生生成器;其中,所述教师生成器的网络复杂度大于所述学生生成器的网络复杂度,且所述教师生成器用于监督所述学生生成器的训练。
上述实现方式在第一生成对抗网络的训练过程中融合了知识蒸馏算法,在保证风格迁移效果的前提下,显著压缩了模型的计算量(从网络复杂度较高教师生成器压缩为网络复杂度较低的学生生成器),从而有利于提高风格迁移的实时性。对于第二生成对抗模型的训练,也可以类似处理。
在第一方面的一种实现方式中,所述学生生成器和所述教师生成器的结构包括四项中的至少一项:所述教师生成器和所述学生生成器均包括依次连接的下采样模块、特征提取模块以及上采样模块,且所述学生生成器的下采样模块的下采样倍数大于所述教师生成器的下采样模块的下采样倍数;所述教师生成器和所述学生生成器均包括依次连接的下采样模块、特征提取模块以及上采样模块,且所述学生生成器的特征提取模块的网络复杂度小于所述教师生成器的特征提取模块的网络复杂度;所述教师生成器和所述学生生成器均为卷积神经网络,且所述学生生成器中采用深度可分离卷积的卷积层数量大于所述教师生成器中采用深度可分离卷积的卷积层数量;所述教师生成器和所述学生生成器均为卷积神经网络,且所述学生生成器中的卷积层的输出通道数小于所述教师生成器中的对应卷积层的输出通道数。
上述实现方式提供了四种网络设计策略,可以根据这些策略灵活地设计教师生成器和学生生成器,从而得到网络结构简单且性能较佳的学生生成器。
在第一方面的一种实现方式中,所述第一生成对抗网络利用训练样本对进行训练,每个训练样本对均包括第一训练样本和第二训练样本,所述第一训练样本为真实人脸图像,所述第二训练样本为利用第三生成模型对所述第一训练样本进行风格迁移后得到的图像,所述第三生成模型为第三生成对抗网络中的生成器,且所述第三生成对抗网络的网络复杂度大于所述第一生成对抗网络的网络复杂度。
在上述实现方式中,利用复杂度大于第一生成对抗网络的第三生成对抗网络来产生训练第一生成对抗网络所需的训练样本对,有利于获得高精度的训练样本对,从而提升训练出的第一生成对抗网络的性能,进而也就能够改善风格迁移的效果。
第二方面,本申请实施例提供一种图像风格迁移方法,包括:获取待进行风格迁移的原始图像;获取所述原始图像中的原始人脸图像,所述原始人脸图像为所述原始图像中包含人脸的部分图像;利用第一生成模型对所述原始人脸图像进行风格迁移,得到目标风格的迁移人脸图像;其中,所述第一生成模型为第一生成对抗网络中的生成器,所述目标风格为多种候选迁移风格之一,每种候选迁移风格均对应一个所述第一生成模型;对所述迁移人脸图像和所述原始图像进行融合,得到迁移图像。
上述方法的有益效果包括:
其一,借助于生成对抗网络的图像翻译能力(即根据一张图像生成另一张图像)来实现风格迁移,使得在最终融合得到的迁移图像中,既保留了目标风格的艺术特征,又保留了真实人脸的身份特征,风格迁移效果显著改善。
其二,针对每种候选迁移风格都对应有不同的第一生成模型,有利于降低每种风格下模型的拟合难度,并针对相应的风格进行结构设计和/或参数优化,从而改善风格迁移效果。
在第二方面的一种实现方式中,所述利用第一生成模型对所述原始人脸图像进行风格迁移,得到目标风格的迁移人脸图像,包括:确定所述原始人脸图像中的人脸关键点,并根据所述人脸关键点对所述原始人脸图像进行归一化变换,得到归一化人脸图像;将所述归一化人脸图像输入所述第一生成模型进行风格迁移,得到所述第一生成模型输出的所述目标风格的迁移后的归一化人脸图像;对所述迁移后的归一化人脸图像进行所述归一化变换的逆变换,得到所述迁移人脸图像。
在第二方面的一种实现方式中,所述第一生成对抗网络包括判别器、教师生成器以及学生生成器,所述第一生成模型为所述学生生成器;其中,所述教师生成器的网络复杂度大于所述学生生成器的网络复杂度,且所述教师生成器用于监督所述学生生成器的训练。
在第二方面的一种实现方式中,所述学生生成器和所述教师生成器的结构包括以下四项中的至少一项:所述教师生成器和所述学生生成器均包括依次连接的下采样模块、特征提取模块以及上采样模块,且所述学生生成器的下采样模块的下采样倍数大于所述教师生成器的下采样模块的下采样倍数;所述教师生成器和所述学生生成器均包括依次连接的下采样模块、特征提取模块以及上采样模块,且所述学生生成器的特征提取模块的网络复杂度小于所述教师生成器的特征提取模块的网络复杂度;所述教师生成器和所述学生生成器均为卷积神经网络,且所述学生生成器中采用深度可分离卷积的卷积层数量大于所述教师生成器中采用深度可分离卷积的卷积层数量;所述教师生成器和所述学生生成器均为卷积神经网络,且所述学生生成器中的卷积层的输出通道数小于所述教师生成器中的对应卷积层的输出通道数。
在第二方面的一种实现方式中,所述第一生成对抗网络利用训练样本对进行训练,每个训练样本对均包括第一训练样本和第二训练样本,所述第一训练样本为真实人脸图像,所述第二训练样本为利用第三生成模型对所述第一训练样本进行风格迁移后得到的图像,所述第三生成模型为第三生成对抗网络中的生成器,且所述第三生成对抗网络的网络复杂度大于所述第一生成对抗网络的网络复杂度。
第三方面,本申请实施例提供一种计算机程序产品,包括计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面、第二方面或这两方面的任意一种可能的实现方式提供的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面、第二方面或这两方面的任意一种可能的实现方式提供的方法。
第五方面,本申请实施例提供一种电子设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面、第二方面或这两方面的任意一种可能的实现方式提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的第一种图像风格迁移方法的步骤;
图2示出了图1中方法的一种可能的工作原理;
图3示出了第一生成模型可能具有的结构;
图4示出了在对迁移人脸图像和迁移背景图像进行融合时可使用的图像融合掩膜;
图5示出了第一生成对抗网络可能的训练原理;
图6示出了第一生成对抗网络可能的损失计算方式;
图7示出了本申请实施例提供的第二种图像风格迁移方法的步骤;
图8示出了本申请实施例提供的第一种图像风格迁移装置包含的功能模块;
图9示出了本申请实施例提供的第二种图像风格迁移装置包含的功能模块;
图10示出了本申请实施例提供的电子设备可能具有的结构。
具体实施方式
近年来,基于人工智能的计算机视觉、深度学习、机器学习、图像处理、图像识别等技术研究取得了重要进展。人工智能(Artificial Intelligence,简称AI)是研究、开发用于模拟、延伸人的智能的理论、方法、技术及应用***的新兴科学技术。人工智能学科是一门综合性学科,涉及芯片、大数据、云计算、物联网、分布式存储、深度学习、机器学习、神经网络等诸多技术种类。计算机视觉作为人工智能的一个重要分支,具体是让机器识别世界,计算机视觉技术通常包括人脸识别、活体检测、指纹识别与防伪验证、生物特征识别、人脸检测、行人检测、目标检测、行人识别、图像处理、图像识别、图像语义理解、图像检索、文字识别、视频处理、视频内容识别、三维重建、虚拟现实、增强现实、同步定位与地图构建、计算摄影、机器人导航与定位等技术。随着人工智能技术的研究和进步,该项技术在众多领域展开了应用,例如安全防控、城市管理、交通管理、楼宇管理、园区管理、人脸通行、人脸考勤、物流管理、仓储管理、机器人、智能营销、计算摄影、手机影像、云服务、智能家居、穿戴设备、无人驾驶、自动驾驶、智能医疗、人脸支付、人脸解锁、指纹解锁、人证核验、智慧屏、智能电视、摄像机、移动互联网、网络直播、美颜、美妆、医疗美容、智能测温等领域。本申请实施例中的图像风格迁移方法也利用了人工智能的相关技术。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
术语“第一”、“第二”等仅用于将一个实体或者操作与另一个实体或操作区分开来,而不能理解为指示或暗示相对重要性,也不能理解为要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
图1示出了本申请实施例提供的第一种图像风格迁移方法的步骤。该方法可以但不限于由图10中的电子设备执行,关于该电子设备可能的结构可以参考后文关于图10的阐述。图2则示出了图1中方法的一种可能的工作原理,在阐述图1中的步骤时将适当结合图2内容。参照图1,图像风格迁移方法包括:
步骤S110:获取待进行风格迁移的原始图像。
原始图像的获取方式不限:例如,电子设备可以从摄像头处获取其实时采集的图像作为原始图像;又例如,电子设备可以从网络上下载图像作为原始图像,等等。
原始图像既可能是单一的图像,也可能是某个视频中的一帧。原始图像既可能是针对真实场景采集的(例如,实拍照片),也可能不是针对真实场景采集的(例如,绘画人像、动漫人物图像)。另外,本申请方案中的原始图像默认包含人脸。
风格迁移即将原始图像从其本来的风格迁移为另一种风格的过程。风格可以理解为图像所具有的某种视觉效果,例如,动漫风格、油画风格、水彩风格等。为方便阐述,将此处的“另一种风格”称为目标风格,在进行风格迁移之前,可以预设至少一种候选迁移风格,由用户或计算机程序指定其中一种作为目标风格。特别地,若只有一种候选迁移风格,则默认其作为目标风格即可。
步骤S120:获取原始图像中的原始人脸图像。
其中,原始人脸图像为原始图像中包含人脸的部分图像,即原始人脸图像的分辨率小于原始图像的分辨率。
如何获取原始人脸图像不限:例如,可以通过人脸检测的方法得到原始图像中的人脸框,然后将人脸框中的部分从原始图像中截取出来作为原始人脸图像(此处的“截取”可以理解为将框内部分复制一份,原始图像内容保持不变,后文类似);又例如,若原始图像是视频中的某一帧,则可以通过人脸跟踪的方法得到原始图像中的人脸框,然后将人脸框中的部分从原始图像中截取出来作为原始人脸图像;又例如,若事先可以确保人脸会出现在原始图像中的某个固定区域内,则可以直接将该区域从原始图像中截取出来作为原始人脸图像,等等。可选的,在利用上面得到的人脸框截取原始人脸图像之前,还可以对人脸框进行适当的缩放。
图2最上方示出了通过原始图像截取得到原始人脸图像的过程。
步骤130:利用第一生成模型对原始人脸图像进行风格迁移,得到目标风格的迁移人脸图像,以及,利用第二生成模型对原始图像进行风格迁移,得到目标风格的迁移背景图像。
先简单介绍一下生成对抗网络(Generative Adversarial Networks,简称GAN)的概念:生成对抗网络包括生成器和判别器两个子网络,这两个子网络可以但不限于通过神经网络实现。概括来说,生成器用于生成某种意义上的假数据,判别器则用于鉴别数据的真假,在生成对抗网络的训练过程中,生成器和判别器相互博弈,生成器生成的假数据越来越像真数据,判别器区分真假数据的能力也越来越强。训练完成后,可以只使用生成对抗网络中的生成器用于生成特定目的数据。
回到步骤S130,第一生成模型为第一生成对抗网络中的生成器,第二生成模型为第二生成对抗网络中的生成器,在执行步骤S130时,第一生成对抗网络和第二生成对抗网络可以是已经训练好的。
在步骤S130中,生成器要生成的假数据就是风格迁移后的图像,注意,由于风格迁移本来就是一种视觉效果的转换,因此此处的“假”并不带有迁移效果不佳等负面含义。其中,第一生成模型用于生成迁移人脸图像,即原始人脸图像的迁移结果,其分辨率可以和原始人脸图像相同。第二生成模型用于生成迁移背景图像,即原始图像的初步迁移结果(最终迁移结果为步骤S140中的迁移图像),其分辨率可以和原始图像相同。
第一生成对抗网络和第二生成对抗网络是两个不同的网络,此处的不同可以理解为:或者两个网络的结构相同,但参数不同(可以是训练数据不同导致),或者两个网络结构不同(结构不同参数必然也就不同)。在第一生成对抗网络和第二生成对抗网络不同时,第一生成对抗网络的生成器和第二生成对抗网络的生成器可以不同,第一生成对抗网络的判别器和第二生成对抗网络的判别器可以不同。
其中,第一生成对抗网络是针对原始图像中的前景(即原始图像中的人脸)设置的,即可以针对人脸设计第一生成对抗网络的网络结构和/或选择人脸图像作为第一生成对抗网络的训练数据,从而,其中的第一生成模型对于原始人脸图像(主要代表前景)的迁移效果较好。
例如,第一生成模型可以但不限于采用图3中的网络结构设计,在图3中,第一生成模型包括5个依次连接的网络模块,分别是模块a~模块e,而灰色长方体表示在第一生成模型的处理过程中生成的特征图的形状。在模块a和模块b中,特征图分辨率逐渐缩小,从而模块a和模块b可以统称下采样模块,例如,可以通过卷积实现下采样。在模块c中,特征图分辨率保持不变,主要在进行进一步的特征提取,从而模块c可以称为特征提取模块,例如,可以通过堆叠若干个卷积模块(比如Inverted ResBlock)实现特征提取。在模块d和模块e中,特征图分辨率逐渐增大(最终可以还原为输入图像的分辨率),从而模块d和模块e可以统称上采样模块,例如,可以通过反卷积实现上采样。第一生成模型总体呈现U型结构。
第二生成对抗网络针对原始图像中的背景(即原始图像中除人脸以外的部分)设置的,即可以针对背景设计第二生成对抗网络网络结构和/或选择背景图像(其中可以不包含人脸)作为第二生成对抗网络训练数据,从而,其中的第二生成模型对于原始图像(主要代表背景)的迁移效果较好。
这里需要解释一下“背景”的问题:第二生成对抗网络虽然表面上是对原始图像全图做风格迁移,也就是说原始图像中不管前景还是背景都进行了风格迁移,但在步骤S140的图像融合过程中,迁移背景图像中对应于原始人脸图像的区域将被迁移人脸图像覆盖(或者至少是在相当大的程度上要融合迁移人脸图像中的像素值),因为上面也说了,第一生成模型对于前景的迁移效果会更好,因此实际上第二生成对抗网络主要是在对原始图像中的背景做风格迁移,从而其迁移结果也命名为“迁移背景图像”。
第二生成模型也可以采用图3中的网络结构设计,但也可以设计为其他结构。
步骤S130中之所以要采用两个不同的生成模型来做风格迁移,其原因在于:一方面,在原始图像中,前景和背景具有不同的特点,前景主要是人脸,背景则可能是墙壁、道路、树木、土地、水面、天空等物体,因此利用不同的生成模型分别对前景和背景去做风格迁移效果更佳,模型在拟合时难度也更小,因为不用兼顾太多特点完全不同的输入图像;另一方面,用户对前景和背景的迁移效果预期不一定相同,例如,用户可能希望人脸在迁移时尽可能保持较高的精度,以便在迁移后仍然能够准确地识别出人物的身份,对于背景的迁移则没有太高的要求,只要总体看上去有目标风格下的艺术效果即可,这种需求上的差异也是一个模型难以兼顾的,从而采用两个不同的生成模型会更好。
在步骤S130中,迁移人脸图像和迁移背景图像都是目标风格的图像,从而第一生成模型和第二生成模块也是针对目标风格设置的模型。
若候选迁移风格只有目标风格这一种,则只需设置一组第一生成模型和第二生成模型即可,若候选迁移风格有多种,则可选的,可以针对每种候选迁移风格都设置一组第一生成模型和第二生成模型,专门用于将原始图像迁移到此种候选迁移风格下。此举使得每组生成模型的拟合难度相对降低,并且可以针对相应的候选迁移风格进行结构设计和/或参数优化,从而改善风格迁移效果。
在步骤S130中,“利用第一生成模型对原始人脸图像进行风格迁移,得到目标风格的迁移人脸图像”,并不一定意味着将原始人脸图像直接输入第一生成模型后,第一生成模型直接就输出迁移人脸图像,虽然这也是一种可能的做法,但也有可能会对原始人脸图像进行某些处理(例如,图2中的归一化变换)后才将其输入第一生成模型,同时第一生成模型输出的图像也可能会进行某些处理(例如,图2中的归一化变换的逆变换)后才能得到迁移人脸图像。关于原始人脸图像的归一化变换,后文还会详细阐述。
类似的,“利用第二生成模型对原始图像进行风格迁移,得到目标风格的迁移背景图像”,并不一定意味着将原始图像直接输入第二生成模型后,第二生成模型直接就输出迁移背景图像,虽然这也是一种可能的做法,但也有可能会对原始图像进行某些处理(例如,图2中的下采样)后才将其输入第二生成模型,同时第二生成模型输出的图像也可能会进行某些处理(例如,图2中的上采样)后才能得到迁移背景图像。关于原始图像的下采样,后文还会详细阐述。
另外,还需要指出,步骤S130中对原始图像的风格迁移和原始人脸图像的风格迁移是相互独立的,从而二者可以并行执行,以提高风格迁移的实时性。当然,也不排除二者先后执行的方案。
步骤S140:对迁移人脸图像和迁移背景图像进行融合,得到迁移图像。
迁移图像是目标风格的图像。步骤S140中的图像融合有多种实现方式,在图2中,将这些图像融合方式都概括为图像融合算法。下面列举其中的两类图像融合算法:
直接融合
将迁移人脸图像按照其在原始图像中的位置直接贴到迁移背景图像中,即用迁移人脸图像中像素点的像素值,将迁移背景图像中对应像素点的像素值覆盖掉。此种融合方式简单高效。
进一步的,由于迁移人脸图像中并不一定只包含人脸,还可能包含少量背景(因为人脸并不是矩形),这部分背景原则上在迁移背景图像中的迁移效果会更好(因为第二生成模型更擅长迁移背景),因此也可以先从迁移人脸图像中将人脸分割出来(例如,可以通过一个人脸分割网络实现分割),只将真正的人脸部分贴到迁移背景图像中。
加权融合
将迁移人脸图像中像素点的像素值,与迁移背景图像中对应像素点的像素值进行加权,加权结果作为迁移图像中对应像素点的像素值。例如,加权过程可以用公式表示如下:
O=αT+(1-α)B
其中,O表示迁移图像(中的像素值),B表示迁移背景图像(中的像素值),T表示迁移人脸图像(中的像素值),α表示一个图像融合掩膜,α中每个像素点的像素值取区间[0,1]中的数值,表示一个融合权重,用于对同位置的B和T中的像素值进行加权融合,得到同位置的O中的像素值。进一步的,由于T的分辨率小于B,所以α的分辨率可以和T相同,也就是说只有在T和B中与T对应的区域内才使用α进行融合,B中的其他区域直接维持原来的像素值即可。
α中的像素值可以是预设的,也可以是实时计算出来的,例如,将T和B输入某个神经网络预测出α,图4则示出了α是预设的一种情况。参照图4,若白色表示像素值为1(或者可归一化为1),黑色表示像素值为0,像素值颜色越深取值越接近于0,不难看出,α中的像素点的颜色是从中心向边缘逐渐变深的,不是直接从黑到白的跳变。从而,假设人脸位于T的正中(此假设大部分情况都能满足),则按照图4中的α进行融合时,O的人脸中心的像素值将仅来源于或主要是来源于T,而从人脸中心逐渐向外扩展,B中像素值在融合结果中的占比逐渐提高,直至到达α的边缘(也就是T的边缘)时,像素值仅来源于或主要是来源于B,从而在O中,T与B之间的像素值过渡是平滑的,即加权融合有利于避免O中出现像素值突变、影响迁移效果的情况。
此外,虽然原则上不限定α中像素值的取值,但将α中与T中的人脸对应的像素点的像素值设置得更接近于1是比较合理的做法,因为T是通过第一生成模型迁移的,根据前文可知,第一生成模型对于人脸的迁移效果好于第二生成模型,从而其像素值理应在融合结果中具有更高的占比。
对于加权融合,也可以和方式1中提到的人脸分割相结合,不再详细阐述。
简单总结图1中方法的有益效果:
其一,在该方法中,用于迁移原始人脸图像(主要代表前景)的第一生成模型和用于迁移原始图像(主要代表背景)的第二生成模型可以是两个不同的模型,因此每个模型都可以针对各自需迁移的部分(前景、背景)进行针对性的结构设计和/或参数优化,使得每个模型的拟合难度较低而迁移效果较佳,进而在后续融合后也可以使得图像总体的风格迁移效果也更加精细、自然。
其二,该方法采用了生成对抗网络进行风格迁移,借助于生成器强大的图像翻译能力(即根据一张图像生成另一张图像),使得在最终融合得到的迁移图像中,既保留了目标风格的艺术特征,又保留了真实人脸的身份特征,风格迁移效果显著改善。
下面,在以上实施例的基础上,继续介绍步骤S130中原始人脸图像的一种迁移方式:
在该实现方式中,先确定原始人脸图像中的人脸关键点,并根据人脸关键点对原始人脸图像进行归一化变换,得到归一化人脸图像,然后将归一化人脸图像输入到第一生成模型中进行风格迁移,得到模型输出的、目标风格的迁移后的归一化人脸图像,最后对迁移后的归一化人脸图像进行归一化变换的逆变换,得到目标风格的迁移人脸图像。
其中,人脸关键点可以通过对原始人脸图像执行人脸关键点检测算法得到,人脸关键点检测算法既可以采用传统算法,也可以采用基于深度学习的算法,此处不作限定。
归一化变换的主要目的是通过旋转将原始人脸图像中倾斜的人脸“转正”,并将原始人脸图像缩放至合适的分辨率,此分辨率可以是一个固定值,例如第一生成模型要求输入图像所具有的分辨率。可选的,该固定的分辨率可以选择一个较小的、但仍能保留人脸特征的值,以提高风格迁移的实时性。归一化变换中旋转的角度和缩放的倍数可以根据人脸关键点的坐标进行计算。
不排除某些归一化变换只执行旋转和缩放的其中一种操作,例如,可以事先确保人脸为正脸或基本为正脸的情况,则可以不执行旋转操作。另外,某些归一化变换的实现方式中还可能包括对原始人脸图像中像素值的归一化。
归一化变换的逆变换就是执行归一化变换的反向操作,将迁移后的归一化人脸图像还原为原始人脸图像的状态(虽然风格进行了迁移),例如,原始人脸图像在进行归一化变换时顺时针旋转了5°,缩小了2倍,则执行归一化变换的逆变换时,应将迁移后的归一化人脸图像放大2倍,并逆时针旋转5°,等等。
在上述实现方式中,先将原始人脸图像归一化后再进行风格迁移,有利于统一第一生成模型的输入图像的特征,从而降低模型的拟合难度,进而改善其风格迁移效果。图2右侧示出了该实现方式下执行的操作。
下面,在以上实施例的基础上,继续介绍步骤S130中原始图像的一种迁移方式:
在该实现方式中,先对原始图像进行下采样,得到下采样图像,然后将下采样图像输入到第二生成模型进行风格迁移,得到模型输出的、目标风格的迁移后的下采样图像,最后将迁移后的下采样图像上采样回原始图像的分辨率,得到目标风格的迁移背景图像。
其中,下采样和上采样的方式不限,例如,可以通过池化、隔行取像素点等方式实现下采样,可以通过反池化、线性插值等方式实现上采样,等等。下采样图像所具有的分辨率可以是一个固定值,例如第二生成模型要求输入图像所具有的分辨率。
在上述实现方式中,由于先对原始图像进行了下采样,再将下采样图像通过第二生成模型,因此其进行风格迁移的计算量显著小于直接将原始图像通过第二生成模型,又由于原始人脸图像只是原始图像的一部分,因此对其进行风格迁移在计算量上也显著小于直接对原始图像进行风格迁移,从而,综合来看(指即考虑原始图像的风格迁移又考虑原始人脸图像的风格迁移),此时的风格迁移方法具有较好的实时性,特别是在对下采样图像和原始人脸图像的风格迁移并行执行时,这种实时性将进一步加强。
并且,在多数场景下,进行风格迁移时用户更关注的是人脸的迁移效果,因为人脸中包含身份信息,而对于背景部分迁移质量稍差(比如,画面模糊一点)也可以接受,从而为提高风格迁移的实时性而对原始图像进行的下采样操作是合理的,既满足了用户实时预览迁移结果的需求,又使得用户不会明显感知到迁移结果的质量下降(质量下降指相对于不对原始图像下采样的实现方式而言)。图2左侧示出了该实现方式下执行的操作。
注意,上面提到的步骤S130的两种实现方式(对原始图像进行下采样和对原始人脸图像进行归一化变换)是相互独立的,二者可以自由组合,例如只实现其中一种,或者两种都实现,当然也可以两种都不实现。
下面,在以上实施例的基础上,继续介绍第一生成对抗网络可能采取的结构设计以及训练方式,对于第二生成对抗网络也可以采取类似的结构设计和训练方式(前文提到,第一生成对抗网络和第二生成对抗网络允许采用相同的结构设计,只要训练数据不同即可),将不再重复说明。
可选的,第一生成对抗网络可以实现为条件生成对抗网络(Conditional-GAN,简称CGAN),其采用训练样本对进行训练,每个训练样本对包括两个训练样本(图像),分别称为第一训练样本和第二训练样本。其中,第一训练样本为真实人脸图像,可以从训练集中获取,第二训练样本为对第一训练样本进行风格迁移后得到的图像。其中,若第一生成模型的输入图像是归一化后的,则第一训练样本也可以是归一化后的人脸图像。若第一生成对抗网络是对应于目标风格的,则第二训练样本是将第一训练样本迁移到目标风格下的结果。关于第二训练样本如何获取,稍后再说明。
第一训练样本可以理解为条件生成对抗网络中的条件,第二训练样本则可以理解为条件生成对抗网络中的目标,训练的最终目的是让第一生成对抗网络中的生成器(即第一生成模型)根据指定的条件尽可能生成与目标接近的图像。
图5示出了第一生成对抗网络可能的训练原理,大致描述如下:对于某个训练样本对,参照图5的上半部分,将其中的第一训练样本输入第一生成对抗网络的生成器,得到第一训练样本对应的生成结果,将此生成结果和第一训练样本输入判别器,理想情况下,判别器应判别为假数据,意思是该生成结果并非第一训练样本真实的风格迁移结果(这里的“真实的风格迁移结果”可以理解为符合用户预期的、较好的风格迁移结果),再参照图5的下半部分,将其中的第二训练样本和第一训练样本输入判别器,理想情况下,判别器判别为真数据,意思是第二训练样本是第一训练样本真实的风格迁移结果。
第一生成对抗网络的生成器和判别器进行对抗训练,生成器的训练目的是使得第一训练样本的生成结果越来越接近于第二训练样本,以至于判别器将其生成结果认为是真数据,而判别器的训练目的则是准确地区分生成器的生成结果和第二训练样本,并将其分别判定为假数据和真数据。网络采用的损失函数如下(此为对抗损失,还可能有其他损失,从略):
LGAN(G,D)=Ex,y[logD(x,y)]+Ex[log(1-D(x,G(X))]
其中,LGAN表示对抗损失,G表示生成器,D表示判别器,x表示第一训练样本,y表示第二训练样本G(x)表示生成器针对x的生成结果,D(x,G(x))表示将x和G(x)输入到D中后,D输出的判别结果(可以是一个概率),D(x,y)表示将x和y输入到D中后,D输出的判别结果(可以是一个概率),Ex和Ex,y表示对整个batch(训练过程中的批次)求期望。
在一种实现方式中,可以利用第三生成模型对第一训练样本进行风格迁移,得到第二训练样本。其中,第三生成模型为第三生成对抗网络中的生成器,且第三生成对抗网络的网络复杂度大于第一生成对抗网络的网络复杂度,此处的网络复杂度可以理解为具有更多的网络层数、更多的网络参数、计算量更高的计算方式等一项或几项。更高的网络复杂度意味着网络的消耗的计算资源更多,同时在执行具体任务时的性能也会更好(例如,迁移效果更好)。
换句话说,第三生成对抗网络可以是一个已经训练好的高精度的模型,从而利用第三生成对抗网络中的生成器(即第三生成模型)来产生训练第一生成对抗网络所需的训练样本对,有利于获得高精度的训练样本对,从而提升训练出的第一生成对抗网络的性能,进而也就能够改善风格迁移的效果。注意,由于第三生成对抗网络的网络复杂度较高,不便于部署到一些实际应用场景(例如,手机)中,因此并不会直接用第三生成模型替换掉第一生成模型。
进一步的,在一种实现方式中,可以将知识蒸馏算法与第一生成对抗网络的训练相结合,此时,第一生成对抗网络的生成器包括教师生成器和学生生成器两个子网络,其中学生生成器也就是第一生成模型,而教师生成器则只在训练阶段使用。
教师生成器和学生生成器的功能是相同的,都是对输入图像进行风格迁移,但教师生成器的网络复杂度大于学生生成器的网络复杂度(关于网络复杂度的概念,在前文介绍第三生成对抗网络时已经介绍),进行风格迁移的效果也更好,在训练过程中,教师生成器用于为学生生成器提供监督信号(如何监督可以参考图6的例子),或者说学生生成器是在教师生成器的指导之下进行训练的,从而训练好的学生生成器将具有和教师生成器相接近的迁移能力。由于只有学生成器会实际用于风格迁移,从而相当于以更小的网络复杂度实现了和教师生成器接近的风格迁移效果,或者也可以将学生生成器看作是教师生成器进行运算量压缩的结果,因此便于将学生生成器部署到一些对性能要求较高的场合中(例如,手机),以提高风格迁移的实时性,并且风格迁移效果也有保障。
在融合了知识蒸馏算法以后,第一生成对抗网络有多种不同的训练方式:例如,可以采用离线蒸馏的方式,先训练判别器和教师生成器,然后再训练学生生成器;又例如,可以采用在线蒸馏的方式,判别器、教师生成器、学生生成器一同进行端到端的训练,提高训练效率。
图6示出了在采用在线蒸馏时第一生成对抗网络可能的损失计算方式,对于离线蒸馏的情况,也可以类似计算损失。其中,教师生成器和学生生成器均采用图3中结构(但二者网络复杂度不同,例如教师生成器的模块c可能比学生生成器的模块c中的网络层数更多)。
参照图6,假设教师生成器的模块a输出的特征图为Fa,学生生成器的模块a输出的特征图为fa,Fa和fa的分辨率相同,Fa通过一个1×1的卷积层降维(指减小特征图的通道数)成F′a,F′a和fa的通道数相同,F′a为fa的监督信号,根据二者可以计算蒸馏损失1(KDLoss1):
其中,F′a和fa的形状都是H×W×C(宽×高×通道数),表示F′a的第k通道的像素点(i,j)的像素值,表示F′a的第k通道的所有像素点的像素值均值(全局平均池化),类似的,表示F′a的第k通道的像素点(i,j)的像素值,表示F′a的第k通道的所有像素点的像素值均值,N表示一个batch(批次)的大小,n表示当前的输入图像在batch中的序号,GT和GS分别表示教师生成器和学生成器,KDLoss1的具体形式是L2损失(均方差损失)。
蒸馏损失1表征的含义是教师生成器的模块a输出与学生生成器的模块a输出之间的差异,通过训练这种差异将缩小,即学生生成器的模块a输出将尽可能与教师生成器的模块a输出接近,即学习到了教师生成器的模块a对图像的处理方式。
对于蒸馏损失2~5,可类似蒸馏损失1进行计算,不再重复阐述。此外,教师生成器还要和判别器计算教师对抗损失,用公式表示如下:
LGAN(GT,D)=Ex,y[logD(x,y)]+Ex[log(1-D(x,GT(x))]
该公式和前文给出的LGAN(G,D)的计算公式类似,只是将G换成了GT,其含义不再重复阐述。类似的,学生生成器也要和判别器计算学生对抗损失,用公式表示如下:
LGAN(GS,D)=Ex,y[logD(x,y)]+Ex[log(1-D(x,GS(x))]
该公式和前文给出的LGAN(G,D)的计算公式类似,只是将G换成了GS,其含义不再重复阐述。
以上各项损失(蒸馏损失1~5、教师对抗损失、学生对抗损失)可以进行加权,得到第一生成对抗网络的总损失,并根据总损失进行网络参数的更新。
在图6中,教师生成器的每个模块的输出都对学生生成器的对应模块的输出进行监督,能够使得学生生成器的总体风格迁移效果接近于教师生成器。应当理解,以上各项损失,包括损失函数的形式均为示例,教师生成器也可以采取其他方式对学生生成器的训练进行监督,例如,只设置蒸馏损失1、3、5,或者还可以加入其它损失,等等。
下面在教师生成器的网络复杂度大于学生生成器的网络复杂度的前提下,介绍一下二者可能采取的结构:
结构1:教师生成器和学生生成器均包括依次连接的下采样模块(例如,图3中的模块a和b)、特征提取模块(例如,图3中的模块c)以及上采样模块(例如,图3中的模块d和e),且学生生成器的下采样模块的下采样倍数大于教师生成器的下采样模块的下采样倍数。例如,教师生成器的下采样模块的下采样倍数可以为2~4倍,而学生生成器的下采样倍数可以为8倍,更大的下采样倍数意味着输入学生生成器的特征提取模块的特征图分辨率会更小,从而特征提取模块的运算量也随之下降。
结构2:教师生成器和学生生成器均包括依次连接的下采样模块、特征提取模块以及上采样模块,且学生生成器的特征提取模块的网络复杂度小于教师生成器的特征提取模块的网络复杂度。例如,教师生成器的特征提取模块通过堆叠n(n>2)个InvertedResBlock实现特征提取,则学生生成器的特征提取模可以只堆叠n/2(取整)个InvertedResBlock来实现特征提取。
结构3:教师生成器和学生生成器均为卷积神经网络,即其中都包含卷积层。卷积层的卷积运算可采用不同的实现方式,例如普通卷积、空洞卷积、深度可分离卷积等。在结构3中,学生生成器中采用深度可分离卷积的卷积层(含反卷积层)的数量,大于教师生成器中采用深度可分离卷积的卷积层的数量。其中,深度可分离卷积相较于普通卷积计算量更小,例如,教师生成器中的卷积层可以全部采用普通卷积,学生生成器则除了最后一个卷积层之外全部采用深度可分离卷积(最后一个卷积层采用普通卷积便于和后续网络衔接)。
结构4:教师生成器和学生生成器均为卷积神经网络,且学生生成器中的卷积层(含反卷积层)的输出通道数小于教师生成器中的对应卷积层的输出通道数。其中,卷积层的输出通道数越少,则计算量越小,例如,若教师生成器的模块a包括2个卷积层at1和at2,学生生成器的模块a也包括2个卷积层as1和as2,则as1的输出通道数可以是at1的1/4,as2的输出通道数可以是as2的1/4。但需要注意,规则4中的对应不一定是一一对应,因为学生生成器中的卷积层的数量可能会少于教师生成器中卷积层的数量。
在实现教师生成器和学生生成器时,可以采用以上四种结构中的至少一种,当然可以采用其他的结构,本申请对此不作限定。若采用以上全部四种结构,则可以大幅压缩生成器的计算量。
在上面介绍的风格迁移方法中,对原始图像中前景和背景都会做风格迁移,但根据用户需求,也可以只迁移原始人脸图像,例如,用户只想将人脸换成动漫风格,或者只想对人脸进行化妆(妆容迁移可以视为一类特殊的风格迁移),不想改变原始图像的背景,此时可以采取图7中的做法:
图7示出了本申请实施例提供的第二种图像风格迁移方法的步骤。该方法可以但不限于由图10中的电子设备执行,关于该电子设备可能的结构可以参考后文关于图10的阐述。参照图7,图像风格迁移方法包括:
步骤S210:获取待进行风格迁移的原始图像。
步骤S220:获取原始图像中的原始人脸图像,原始人脸图像为原始图像中包含人脸的部分图像。
步骤S230:利用第一生成模型对原始人脸图像进行风格迁移,得到目标风格的迁移人脸图像;其中,第一生成模型为第一生成对抗网络中的生成器。
步骤S240:对迁移人脸图像和原始图像进行融合,得到迁移图像。
上述步骤S210、S220和步骤S110、S120类似,不再重复阐述。上述步骤S230相当于只执行步骤S130中针对原始人脸图像迁移的部分,不执行针对原始图像迁移的部分,也不需要设置第二生成模型,其具体实现细节也可以参照步骤S130,不再重复阐述。上述步骤S240和步骤S140类似,只是将其中的迁移背景图像替换为了原始图像,其具体实现细节也可以参照步骤S140,不再重复阐述。
图7中的方法由于采用了生成对抗网络进行风格迁移,借助于生成器强大的图像翻译能力(即根据一张图像生成另一张图像),使得在最终融合得到的迁移图像中,既保留了目标风格的艺术特征,又保留了真实人脸的身份特征,风格迁移效果显著改善。
可选的,步骤S230中的目标风格为多种候选迁移风格之一,每种候选迁移风格均对应一个第一生成模型。
可选的,步骤S230中利用第一生成模型对原始人脸图像进行风格迁移,得到目标风格的迁移人脸图像,可以进一步包括:确定原始人脸图像中的人脸关键点,并根据人脸关键点对原始人脸图像进行归一化变换,得到归一化人脸图像;将归一化人脸图像输入第一生成模型进行风格迁移,得到第一生成模型输出的目标风格的迁移后的归一化人脸图像;对迁移后的归一化人脸图像进行归一化变换的逆变换,得到迁移人脸图像。
可选的,步骤S230中的第一生成对抗网络可以包括判别器、教师生成器以及学生生成器,第一生成模型为学生生成器;其中,教师生成器的网络复杂度大于学生生成器的网络复杂度,且教师生成器用于监督学生生成器的训练。
可选的,上述学生生成器和教师生成器的结构可以包括以下四项中的至少一项:教师生成器和学生生成器均包括依次连接的下采样模块、特征提取模块以及上采样模块,且学生生成器的下采样模块的下采样倍数大于教师生成器的下采样模块的下采样倍数;教师生成器和学生生成器均包括依次连接的下采样模块、特征提取模块以及上采样模块,且学生生成器的特征提取模块的网络复杂度小于教师生成器的特征提取模块的网络复杂度;教师生成器和学生生成器均为卷积神经网络,且学生生成器中采用深度可分离卷积的卷积层数量大于教师生成器中采用深度可分离卷积的卷积层数量;教师生成器和学生生成器均为卷积神经网络,且学生生成器中的卷积层的输出通道数小于教师生成器中的对应卷积层的输出通道数。
可选的,步骤S230中的第一生成对抗网络可以利用训练样本对进行训练,每个训练样本对均包括第一训练样本和第二训练样本,第一训练样本为真实人脸图像,第二训练样本为利用第三生成模型对第一训练样本进行风格迁移后得到的图像,第三生成模型为第三生成对抗网络中的生成器,且第三生成对抗网络的网络复杂度大于第一生成对抗网络的网络复杂度。
以上关于图7中方法的各可选方案在前文的方法实施例中均有相关介绍,其有益效果也可以参照前文内容进行分析,不再重复阐述。
图8示出了本申请实施例提供的图像风格迁移装置300包含的功能模块。参照图8,图像风格迁移装置300包括:
第一原始图像获取单元310,用于获取待进行风格迁移的原始图像;
第一人脸图像获取单元320,用于获取所述原始图像中的原始人脸图像,所述原始人脸图像为所述原始图像中包含人脸的部分图像;
第一风格迁移单元330,用于利用第一生成模型对所述原始人脸图像进行风格迁移,得到目标风格迁移人脸图像,以及,利用第二生成模型对所述原始图像进行风格迁移,得到所述目标风格的迁移背景图像;其中,所述第一生成模型为第一生成对抗网络中的生成器,所述第二生成模型为第二生成对抗网络中的生成器;
第一图像融合单元340,用于对所述迁移人脸图像和所述迁移背景图像进行融合,得到迁移图像。
在图像风格迁移装置300的一种实现方式中,所述第一风格迁移单元330利用第二生成模型对所述原始图像进行风格迁移,得到所述目标风格的迁移背景图像,包括:对所述原始图像进行下采样,得到下采样图像;将所述下采样图像输入所述第二生成模型进行风格迁移,得到所述第二生成模型输出的所述目标风格的迁移后的下采样图像;将所述迁移后的下采样图像上采样回所述原始图像的分辨率,得到所述迁移背景图像。
在图像风格迁移装置300的一种实现方式中,所述第一风格迁移单元230利用第一生成模型对所述原始人脸图像进行风格迁移,得到目标风格的迁移人脸图像,包括:确定所述原始人脸图像中的人脸关键点,并根据所述人脸关键点对所述原始人脸图像进行归一化变换,得到归一化人脸图像;将所述归一化人脸图像输入所述第一生成模型进行风格迁移,得到所述第一生成模型输出的所述目标风格的迁移后的归一化人脸图像;对所述迁移后的归一化人脸图像进行所述归一化变换的逆变换,得到所述迁移人脸图像。
在图像风格迁移装置300的一种实现方式中,所述目标风格为多种候选迁移风格之一,每种候选迁移风格均对应一个所述第二生成模型和一个所述第一生成模型。
在图像风格迁移装置300的一种实现方式中,所述第一生成对抗网络包括判别器、教师生成器以及学生生成器,所述第一生成模型为所述学生生成器;其中,所述教师生成器的网络复杂度大于所述学生生成器的网络复杂度,且所述教师生成器用于监督所述学生生成器的训练。
在图像风格迁移装置300的一种实现方式中,所述学生生成器和所述教师生成器的结构包括以下四项中的至少一项:所述教师生成器和所述学生生成器均包括依次连接的下采样模块、特征提取模块以及上采样模块,且所述学生生成器的下采样模块的下采样倍数大于所述教师生成器的下采样模块的下采样倍数;所述教师生成器和所述学生生成器均包括依次连接的下采样模块、特征提取模块以及上采样模块,且所述学生生成器的特征提取模块的网络复杂度小于所述教师生成器的特征提取模块的网络复杂度;所述教师生成器和所述学生生成器均为卷积神经网络,且所述学生生成器中采用深度可分离卷积的卷积层数量大于所述教师生成器中采用深度可分离卷积的卷积层数量;所述教师生成器和所述学生生成器均为卷积神经网络,且所述学生生成器中的卷积层的输出通道数小于所述教师生成器中的对应卷积层的输出通道数。
在图像风格迁移装置300的一种实现方式中,所述第一生成对抗网络利用训练样本对进行训练,每个训练样本对均包括第一训练样本和第二训练样本,所述第一训练样本为真实人脸图像,所述第二训练样本为利用第三生成模型对所述第一训练样本进行风格迁移后得到的图像,所述第三生成模型为第三生成对抗网络中的生成器,且所述第三生成对抗网络的网络复杂度大于所述第一生成对抗网络的网络复杂度。
本申请实施例提供的图像风格迁移装置300可用于执行本申请实施例提供的图像风格迁移方法(人脸和背景都要迁移),该装置的实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。
图9示出了本申请实施例提供的图像风格迁移装置400包含的功能模块。参照图9,图像风格迁移装置400包括:
第二原始图像获取单元410,用于获取待进行风格迁移的原始图像;
第二人脸图像获取单元420,用于获取所述原始图像中的原始人脸图像,所述原始人脸图像为所述原始图像中包含人脸的部分图像;
第二风格迁移单元430,用于利用第一生成模型对所述原始人脸图像进行风格迁移,得到目标风格的迁移人脸图像;其中,所述第一生成模型为第一生成对抗网络中的生成器,所述目标风格为多种候选迁移风格之一,每种候选迁移风格均对应一个所述第一生成模型;
第二图像融合单元440,用于对所述迁移人脸图像和所述原始图像进行融合,得到迁移图像。
在图像风格迁移装置400的一种实现方式中,所述第二风格迁移单元330利用第一生成模型对所述原始人脸图像进行风格迁移,得到目标风格的迁移人脸图像,包括:确定所述原始人脸图像中的人脸关键点,并根据所述人脸关键点对所述原始人脸图像进行归一化变换,得到归一化人脸图像;将所述归一化人脸图像输入所述第一生成模型进行风格迁移,得到所述第一生成模型输出的迁移后的归一化人脸图像;对所述迁移后的归一化人脸图像进行所述归一化变换的逆变换,得到所述迁移人脸图像。
在图像风格迁移装置400的一种实现方式中,所述第一生成对抗网络包括判别器、教师生成器以及学生生成器,所述第一生成模型为所述学生生成器;其中,所述教师生成器的网络复杂度大于所述学生生成器的网络复杂度,且所述教师生成器用于监督所述学生生成器的训练。
在图像风格迁移装置400的一种实现方式中,所述学生生成器和所述教师生成器的结构包括以下四项中的至少一项:所述教师生成器和所述学生生成器均包括依次连接的下采样模块、特征提取模块以及上采样模块,且所述学生生成器的下采样模块的下采样倍数大于所述教师生成器的下采样模块的下采样倍数;所述教师生成器和所述学生生成器均包括依次连接的下采样模块、特征提取模块以及上采样模块,且所述学生生成器的特征提取模块的网络复杂度小于所述教师生成器的特征提取模块的网络复杂度;所述教师生成器和所述学生生成器均为卷积神经网络,且所述学生生成器中采用深度可分离卷积的卷积层数量大于所述教师生成器中采用深度可分离卷积的卷积层数量;所述教师生成器和所述学生生成器均为卷积神经网络,且所述学生生成器中的卷积层的输出通道数小于所述教师生成器中的对应卷积层的输出通道数。
在图像风格迁移装置400的一种实现方式中,所述第一生成对抗网络利用训练样本对进行训练,每个训练样本对均包括第一训练样本和第二训练样本,所述第一训练样本为真实人脸图像,所述第二训练样本为利用第三生成模型对所述第一训练样本进行风格迁移后得到的图像,所述第三生成模型为第三生成对抗网络中的生成器,且所述第三生成对抗网络的网络复杂度大于所述第一生成对抗网络的网络复杂度。
本申请实施例提供的图像风格迁移装置400可用于执行本申请实施例提供的图像风格迁移方法(只迁移人脸,不迁移背景),该装置的实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。
图10示出了本申请实施例提供的电子设备500的结构。参照图10,电子设备500包括:处理器510、存储器520以及通信接口530,这些组件通过通信总线540和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,处理器510包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器410可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(Neural-network ProcessingUnit,简称NPU)、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuits,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器510为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。
存储器520包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦除可编程只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。
处理器510以及其他可能的组件可对存储器520进行访问,读和/或写其中的数据。特别地,在存储器520中可以存储一个或多个计算机程序指令,处理器510可以读取并运行这些计算机程序指令,以实现本申请实施例提供的图像风格迁移方法。
通信接口530包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口530可以包括进行有线和/或无线通信的接口。
可以理解,图10所示的结构仅为示意,电子设备500还可以包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。例如,若电子设备500不和其他设备通信,则可以不包含通信接口530。又例如,电子设备500还可能包括摄像头,用于采集步骤S110、S210中的原始图像。
图10中所示的各组件可以采用硬件、软件或其组合实现。电子设备500可能是实体设备,例如手机、平板电脑、可穿戴设备、笔记本电脑、PC机、机器人、服务器等,也可能是虚拟设备,例如虚拟机、容器等。并且,电子设备500也不限于单台设备,也可以是多台设备的组合或者大量设备构成的集群。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,这些计算机程序指令被处理器读取并运行时,执行本申请实施例提供的图像风格迁移方法。例如,计算机可读存储介质可以实现为图10中电子设备500中的存储器520。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序指令,这些计算机程序指令被处理器读取并运行时,执行本申请实施例提供的图像风格迁移方法。
本申请实施例还提供了一种计算机程序,该计算机程序被执行时,可实现本申请实施例提供的图像风格迁移方法。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种图像风格迁移方法,其特征在于,包括:
获取待进行风格迁移的原始图像;
获取所述原始图像中的原始人脸图像,所述原始人脸图像为所述原始图像中包含人脸的部分图像;
利用第一生成模型对所述原始人脸图像进行风格迁移,得到目标风格的迁移人脸图像,以及,利用第二生成模型对所述原始图像进行风格迁移,得到所述目标风格的迁移背景图像;其中,所述第一生成模型为第一生成对抗网络中的生成器,所述第二生成模型为第二生成对抗网络中的生成器;
对所述迁移人脸图像和所述迁移背景图像进行融合,得到迁移图像。
2.根据权利要求1所述的图像风格迁移方法,其特征在于,所述利用第二生成模型对所述原始图像进行风格迁移,得到所述目标风格的迁移背景图像,包括:
对所述原始图像进行下采样,得到下采样图像;
将所述下采样图像输入所述第二生成模型进行风格迁移,得到所述第二生成模型输出的所述目标风格的迁移后的下采样图像;
将所述迁移后的下采样图像上采样回所述原始图像的分辨率,得到所述迁移背景图像。
3.根据权利要求1或2所述的图像风格迁移方法,其特征在于,所述利用第一生成模型对所述原始人脸图像进行风格迁移,得到目标风格的迁移人脸图像,包括:
确定所述原始人脸图像中的人脸关键点,并根据所述人脸关键点对所述原始人脸图像进行归一化变换,得到归一化人脸图像;
将所述归一化人脸图像输入所述第一生成模型进行风格迁移,得到所述第一生成模型输出的所述目标风格的迁移后的归一化人脸图像;
对所述迁移后的归一化人脸图像进行所述归一化变换的逆变换,得到所述迁移人脸图像。
4.根据权利要求1-3中任一项所述的图像风格迁移方法,其特征在于,所述目标风格为多种候选迁移风格之一,每种候选迁移风格均对应一个所述第二生成模型和一个所述第一生成模型。
5.根据权利要求1-4中任一项所述的图像风格迁移方法,其特征在于,所述第一生成对抗网络包括判别器、教师生成器以及学生生成器,所述第一生成模型为所述学生生成器;其中,所述教师生成器的网络复杂度大于所述学生生成器的网络复杂度,且所述教师生成器用于监督所述学生生成器的训练。
6.根据权利要求5所述的图像风格迁移方法,其特征在于,所述学生生成器和所述教师生成器的结构包括以下四项中的至少一项:
所述教师生成器和所述学生生成器均包括依次连接的下采样模块、特征提取模块以及上采样模块,且所述学生生成器的下采样模块的下采样倍数大于所述教师生成器的下采样模块的下采样倍数;
所述教师生成器和所述学生生成器均包括依次连接的下采样模块、特征提取模块以及上采样模块,且所述学生生成器的特征提取模块的网络复杂度小于所述教师生成器的特征提取模块的网络复杂度;
所述教师生成器和所述学生生成器均为卷积神经网络,且所述学生生成器中采用深度可分离卷积的卷积层数量大于所述教师生成器中采用深度可分离卷积的卷积层数量;
所述教师生成器和所述学生生成器均为卷积神经网络,且所述学生生成器中的卷积层的输出通道数小于所述教师生成器中的对应卷积层的输出通道数。
7.一种图像风格迁移方法,其特征在于,包括:
获取待进行风格迁移的原始图像;
获取所述原始图像中的原始人脸图像,所述原始人脸图像为所述原始图像中包含人脸的部分图像;
利用第一生成模型对所述原始人脸图像进行风格迁移,得到目标风格的迁移人脸图像;其中,所述第一生成模型为第一生成对抗网络中的生成器,所述目标风格为多种候选迁移风格之一,每种候选迁移风格均对应一个所述第一生成模型;
对所述迁移人脸图像和所述原始图像进行融合,得到迁移图像。
8.根据权利要求7所述的图像风格迁移方法,其特征在于,所述第一生成对抗网络包括判别器、教师生成器以及学生生成器,所述第一生成模型为所述学生生成器;其中,所述教师生成器的网络复杂度大于所述学生生成器的网络复杂度,且所述教师生成器用于监督所述学生生成器的训练。
9.一种计算机程序产品,其特征在于,包括计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如权利要求1-6中任一项所述的方法;或者,所述计算机程序指令被所述处理器读取并运行时,执行如权利要求7-8中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如权利要求1-6中任一项所述的方法;或者,所述计算机程序指令被所述处理器读取并运行时,执行如权利要求7-8中任一项所述的方法。
11.一种电子设备,其特征在于,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行权利要求1-6中任一项所述的方法;或者,所述计算机程序指令被所述处理器读取并运行时,执行如权利要求7-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210771117.4A CN115222578A (zh) | 2022-06-30 | 2022-06-30 | 图像风格迁移方法、程序产品、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210771117.4A CN115222578A (zh) | 2022-06-30 | 2022-06-30 | 图像风格迁移方法、程序产品、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115222578A true CN115222578A (zh) | 2022-10-21 |
Family
ID=83610520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210771117.4A Pending CN115222578A (zh) | 2022-06-30 | 2022-06-30 | 图像风格迁移方法、程序产品、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115222578A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117649335A (zh) * | 2023-12-01 | 2024-03-05 | 书行科技(北京)有限公司 | 图像处理方法、装置和计算机可读存储介质 |
-
2022
- 2022-06-30 CN CN202210771117.4A patent/CN115222578A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117649335A (zh) * | 2023-12-01 | 2024-03-05 | 书行科技(北京)有限公司 | 图像处理方法、装置和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Monroy et al. | Salnet360: Saliency maps for omni-directional images with cnn | |
CN110910486B (zh) | 室内场景光照估计模型、方法、装置、存储介质以及渲染方法 | |
US11232286B2 (en) | Method and apparatus for generating face rotation image | |
Huang et al. | Indoor depth completion with boundary consistency and self-attention | |
CN111489287A (zh) | 图像转换方法、装置、计算机设备和存储介质 | |
CN111598998A (zh) | 三维虚拟模型重建方法、装置、计算机设备和存储介质 | |
CN112084917A (zh) | 一种活体检测方法及装置 | |
CN112419170A (zh) | 遮挡检测模型的训练方法及人脸图像的美化处理方法 | |
CN113850168A (zh) | 人脸图片的融合方法、装置、设备及存储介质 | |
CN111833360B (zh) | 一种图像处理方法、装置、设备以及计算机可读存储介质 | |
Li et al. | Detailed 3D human body reconstruction from multi-view images combining voxel super-resolution and learned implicit representation | |
CN115239861A (zh) | 人脸数据增强方法、装置、计算机设备和存储介质 | |
CN113822965A (zh) | 图像渲染处理方法、装置和设备及计算机存储介质 | |
CN113361387A (zh) | 人脸图像融合方法及装置、存储介质及电子设备 | |
JP2023131117A (ja) | 結合感知モデルのトレーニング、結合感知方法、装置、機器および媒体 | |
CN116097307A (zh) | 图像的处理方法及相关设备 | |
CN115829915A (zh) | 图像质量检测方法、电子设备、存储介质及程序产品 | |
CN116681960A (zh) | 一种基于K8s的中尺度涡旋智能识别方法及*** | |
CN117218246A (zh) | 图像生成模型的训练方法、装置、电子设备及存储介质 | |
CN114077891A (zh) | 风格转换模型的训练方法及虚拟建筑检测模型的训练方法 | |
CN114708173A (zh) | 图像融合方法、计算机程序产品、存储介质及电子设备 | |
CN111402118A (zh) | 图像替换方法、装置、计算机设备和存储介质 | |
CN114494395A (zh) | 基于平面先验的深度图生成方法、装置、设备及存储介质 | |
CN115222578A (zh) | 图像风格迁移方法、程序产品、存储介质及电子设备 | |
CN116091871B (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 |