技术原理
1. 图像生成编辑类技术发展及应用
学术界自2000年左右开始对图像生成进行研究。日常采集到的图像数量非常有限,而且采集成本相对较高。因此,我们希望计算机能够自动化生成新的图像。但是,如果图像内容随机生成,无法控制生成结果,则图像依然不可用。
因此,学术界更多研究的是内容可控的图像生成。内容可控指可以通过控制生成内容的布局位置或者风格等,比如输入草图/布局、语义/纹理或语言文字,输出内容可控的图像。
AIGC在视觉模型上的呈现是图像生成任务,是AI驱动的内容生成,其任务本质也是按照人类所构思的内容自动化生成图像数据。
图像生成从2000年至今也有了非常大演进。模型本身越来越强大,能够生成非常高质量的图像,并且通用性越来越好,可以适用于很多下游的编辑类任务。可控性方面,会朝着多模态、越来越灵活的方向演进。此前的可控生成大多基于语义的layout或condition进行生成。而现在的多模态生成可以输入语言文字描述想要的内容来生成图像。
从图像生成的发展历史来说,可以分为两个阶段。
第一阶段是传统的纹理合成模型,不涉及网络算法,主要通过非参数化的采样融合的方式将原画拓展为目标图像。其本质非常简单,将本身有图案、有纹理的图像作为源素材。如果想要创建新的图像,会从原始的纹理上采源块进行拼接,再优化其接缝,得到比较好拓展的图像效果。
该类方法的生成质量非常高,但是存在一些缺陷,它更适用于各向同性的纹理,对于结构性的纹理很容易发生纹理错乱、结构丢失等情况,并且依赖在线的迭代优化过程;另外,因此基于在线在迭代优化的方式,时效性较差。
第二阶段,2016、2017年左右,深度的图像生成模型开始被广泛应用。业内会对纹理进行参数化的建模,从最初基于CNN的深度神经网络,到后面生成式对抗网络,发展到现在比较火热的基于多模态大规模的预训练模型。
该类模型的应用场景非常广泛,比如图像内容创作、图像修复、照片美化、人像编辑等。
比如能根据绘制的涂鸦生成对应的真实图像,比如可以选中想要替换的区域,自动进行图像的填充,也可以更换照片风格,可以改变照片中人物的年龄、发型或者人脸属性等。
2. AI人像漫画效果演示
AI人像漫画指:通过对指定的人像照片进行夸张的艺术风格转换,得到人物的二次元卡通形象、手绘风格或者虚拟3D形象等一系列风格化的结果。
传统艺术肖像画的绘制过程中需要一步一步地绘制,非常耗时,成本较高。而AI项目的形式可以实时一键生成不同的风格效果,非常快速。
对于视频,可以对其进行逐帧地拆帧,得到视频的风格化效果,需要帧间的连续处理。
3. AI人像漫画相关技术解析
Ai人像漫画主要基于图像生成类模型,因此随着图像生成模型的发展,AI人像漫画也经历了从神经风格迁移GAN图像翻译,再到预训练图像生成模型,最后到如今的多模态大规模预训练模型的发展。
神经风格迁移的原理为:用深度神经网络生成风格化图像,通过捕获到的图像中的内容表征和风格表征对输出图像做约束。比如输入一张内容图像和一张风格图像,最后输出既有内容又有指定风格的图像。
输入内容图像后,通过image Transform Net得到一张输出图像。那么,如何实现想要的风格?可以基于VGG网络进行feature的提取。某些层的feature更能表达content的特征,而某些层的feature更能表达风格上的表征。
因此,会将生成的结果输入到VGG网络,分别提取其内容表征和风格表征,同时将风格图像也输入VGG网络,提取其风格表征,使风格图像的风格表征和输出图像的风格表征保持一致,同时输出结果的内容表征和内容图像保持一致。
神经风格迁移的缺点在于难以产生非常夸张的几何形变,因为它主要基于全局level,对于所有的feature、所有图像中的patch都平等对待。
随着GAN的广泛应用,AI人像漫画技术逐渐转向基于GAN的图像翻译。原理为:
GAN是一个生成式的对抗网络,生成器能够将一张噪声生成图像,判别器会判别生成图像的真伪,我们会为其提供真实的图像数据分布作为real的样本,提供生成器的图像作为假的样本,通过生成器和判别器不断博弈的过程,生成可以以假乱真的图像。
Image-to-image translation方法主要基于conditional GAN,不仅可以使用噪声到图像的生成,也可以对其设置condition,比如图像编码的空间,通过encoder加decoder的结构加入一些image的condition。
而Image-to-image translation主要为从一个domain到另一个domain的过程,比如可以实现语义图像到真实图像、白天到夜晚、边缘图像到真实图像的效果,将前面的image作为原域的图像,将想要输出的图像作为目标域,学习两个域之间的转换过程,需要有domain a和domain b这样成对的数据。
CycleGAN的出现将训练的要求进一步降低,训练数据中不再需要成对的数据,只要domain a的一堆数据和domain b的另外一堆数据,通过循环一致性的原理,比如将a中的图像通过转化器映射到b,b再传回a,重建结果尽量保持一致,从而实现不需要非成对数据之间的translation。
而卡通画人物本质上是photo-to-cartoon的translation,原域是一堆真实照片,目标域是很多卡通图像,希望学习两个域之间的关系。而基于CycleGAN的思想,也不再需要成对的数据,只需要一堆有真实人脸的数据以及一堆卡通人头的数据即可学习两个domain之间的映射关系,即可实现相应的转换。
基于GAN的图像翻译需要注意三个点:
- 训练数据:需要一堆现实数据以及一堆卡通数据,学习现实域domain到卡通domain的映射关系。
- 网络结构:现有网络大多基于encoder-decoder的结构,要学习从现实域到卡通域的转换,需要先对内容图像进行编码,编码到空间,再通过decoder解码器将其解码到卡通域空间。如何保证内容feature在编码器中编码成了内容的特征?其一,卡通的图像都为同一个风格,先学习编码过程,因为卡通数据都有对应的domain,在decoder网络会自动将风格化参数会在decoder生效,生成卡通的结果。其二,对于风格可控的生成,需要将想要参考的风格本通过编码的形式编码到空间,得到风格编码,将风格编码和内容的feature一起整合到解码器中,再生成对应的结果。
- 约束损失:如何约束生成想要的效果?对于上述第一种方式,会通过VGG的编码器提取内容的表征和纹理的表征,通过VGG层面上的feature保持分别保持一致,进行约束。content loss内容约束希望生成图像的内容表征和输入的图像保持一致。对于style的表征,可以输入style的图像,保持style上的一致性。style loss的另一方式是使用判别器控制,对判别器输入很多真实的样本,告诉判别器这是卡通域的图像。生成结果作为fake样本输入到判别器,用判别器的监督形式可以让输出的结果趋近于卡通的效果。
基于预训练生成模型本身是从噪声生成一张图像。如果希望对特定的内容进行生成,需要加入内容的条件控制,主要包括StyleGAN和diffusion model。
StyleGAN能够基于噪声z,利用generator生成模拟现实域的真实人脸图像。通过transfer learning少量的卡通样本,可以对模型进行迁移学习,从而适配到卡通域。模型经过adaption之后能够生成逼真的卡通样本。上述过程是z到卡通图像的生成。
如果想要实现一张图像到卡通的转换,需要将图像通过编码器编码到隐空间中,找到隐空间中对应的隐变量,再将其generator生成对应的结果,上述过程被称为inversion的过程。
difusionmodel的原理也是从噪声生成一张图像。最广泛应用的是Latent diffusion models。原始的扩散模型每层的分辨率都一样,显存训练难度非常大,LDM相当于做了降维,首先会训练Auto-encoder的结构,将图像映射到隐空间,在feature间学习加噪和去噪的过程,因此成本会更小,也是现在较为常用的结构。
基于diffusion model可以注入很多condition,包括semantic、Text、Image,和z一起contact,或者再从unit中间层进行注入,达到控制的效果。
从应用层面上,使用diffusion model之后如何生成人像风格化效果?比如输入人名+风格生成对应的效果。
图生图的SD可以基于SDEdit方法实现,找到原始的content image,在隐空间中不断加噪,然后做overlap,进行隐分布的重合,从而学习到两者之间的映射关系,得到content image。最后的image的相当于加入内容condition。该种形式下,可以为其提供一张content image,再输入风格控制文本,通过多模态输入生成对应的风格图像。
另一种方式为,不提供Anime style,将diffusion model直接适配到风格化的域,使模型变成能够生成对应卡通风格的model。此时只需输入一张content image也能生成对应的风格化结果。
然而,上文提到的集中方法都存在一些缺陷。
基于GAN的方法:学习domain和domain之间的变换,而本身的卡通图像类非常依赖于训练数据的规模,往往会因为数据量不足在复杂场景下的泛化性不够,比如无法处理配饰或面部遮挡,比如墨镜、口罩。遇到在数据中找不到的内容时,非常容易产生artifacts。并且因此导致生成效果不稳定,质量不足。
基于预训练生成的模型:最大缺陷在于内容的保证性不够。它能够生成非常逼真的效果,但是对一张图像进行转换,首先需要将image embedding到隐空间中,其中可能存在一定编码误差损失。因此,虽然转换质量可以非常高,但一致性难以保证。同时,StyleGAN模型只仅针对头部转换,难以实现全身/全图转换。
DCT-Net(Domain-Calibrated Translation for Portrait Stylization)是基于预校准的图像翻译模型,目标是基于百张小样本进行风格化训练,实现高质量的风格转换结果。
如上图,第一列是输入图像,a、b、c是不同的风格样本,基于不同的风格样本进行模型训练从而生成不同风格的转换图像。
DCT-Net具有三个显著优势:
- 高保真能力:面部相似性、配饰、身体、背景等保留能力更强。下图中左中右分别为输入、基于styleGAN类方法的输出以及基于DCT-Net的输出。
- 强泛化能力:复杂场景中的遮挡,比如戴口罩、戴眼镜以及稀有姿态均能实现比较鲁棒的转换效果。
- 可拓展能力:体现在两方面。其一为全图的精细化转换,此前很多方法只针对头部的转换,得益于本身内容的高保留能力,只需在头部数据上进行训练,即可实现全图像的精细化转换;其二,多种风格普适。模型结构适用于各种风格,可以简单地拓展到各种风格上。
卡通化任务可以理解为模型去学习源域到目标域转换的过程。源域由大批量真实照片构成,特征丰富多变。而目标域是收集到的卡通头像,因为大多是人工制作,数量非常有限且仅有局部观测结果,例如卡通头像。
由于目标域仅有少量风格样本,因此可以看作一个few-shot learning问题,在转换中因目标域中的数据偏置的问题极易导致过拟合,从而产生Artifacts。
而DCT-Net的原则是:calibration first,translation later。先对域进行校准,再学习图像翻译过程。
如上图所示,最左侧蓝色为源域,有非常多均匀的分布,而目标域的空间只有少量几个样本。传统的模式是直接学习两者之间的转换,会因为过拟合的问题产生非常多artifacts。
而DCT-Net首先会对目标域做校准,希望其内容和feature能够更丰富,使分布尽可能达到与source domain一样的状态。主要包含两步骤,分别是内容的校准和几何的校准。
内容校准主要通过transfer learning做,源域内容特征丰富,可以用迁移学习的思想将源域的特征迁移到目标域,使其能在目标域上产生内容更丰富的特征。如右二图片所示,原始特征只有三个星星,而三角形是现在产生的更多特征。
下一步进行几何校准,包括平移、翻转等偏移上的变换,产生了四角星(右一图),特征更强。
最后学习从源域到校准之后的目标域之间的转换关系,学习会变得非常容易。
网络结构包括内容校准网络CCN网络、几何拓展模块GEM、纹理转换网络TTN。
训练主要分为两个stage:
- stage1:训练内容校准网络,进行内容的校准。
- stage2:训练纹理转换网络,学习真实人像到卡通照片的转换关系。
几何拓展只需几何的增强操作,不需要进行网络参数的训练。
如上图所示,比如同样一个噪声z,分别通过真实的生成器生成对应的结果以及通过adaption之后的卡通生成器生成对应的结果,两者之间的距离是最接近的,因为网络会自动调整部分的数试适应风格的转换。但是可以明显看到,该方式依然会存在非常多内容的丢失,比如脸型细节等。因为本身的卡通图像会有一定的数据偏置,导致在adoption过程中很容易发生内容改变。
而纹理转化网络则希望能够进一步提升其局部纹理的保留能力。经过上述阶段之后,用适配好生成器能够产生非常多的卡通样本,但更多的只是global的domain feature,与原始域的feature并不对应。比如source domain域中的特征是五角星,而结果域中是四角星,缺少局部的映射关系。
因此在第二模块中,我们会通过U-Net结构专门将global domain之间的映射转换为局部的纹理映射关系。U-Net包含很多相连的层,有非常强的内容保留能力。使用局部关联非常强的网络进行两个domain之间的学习,可以学到局部的纹理更细致的转化效果。
此处主要通过unsupervised的方式学习,不会使用卡通样本去监督生成,而是使判别器学习到卡通domain的特性,以非监督的方式学习到卡通转换效果,该过程利用局部捕获能力强的纹理转换网络学习global feature的映射关系,使得内容保留能力得到大幅提升。
得益于内容保留能力的增强,对背景内容的转换能力也得到了增强,从而可以轻易拓展到全图像。
基于预训练模型方式做卡通化推理时间较长且模型相对较重。而该方式虽然训练了内容校准网络以及纹理转换网络,在推理阶段时只需将图像输入后者,即可推出对应的结果,快速且轻量。
上图展示了DCT-Net方法的生成效果。
对比于其他学界的SOTA模型,DCT-Net方法可以更好地进行内容的保留,同时也最大程度上减少artifacts以及不真实纹理的生成,在指标上也是明显优于其他SOTA model。
上图为各类模型与DCT-Net的效果对比。
DCT-Net相对于基于image condition的生成式卡通化模型,其artifacts更少,内容保留能力也更好。生成式模型的主要作用是生成,image condition只是作为微小的condition,没有较强的约束能力,因此其内容保留能力相对更强,能够生成的质感是更好,几何形变的程度更大。
DCT-Net在视频上的生成时,得益于其内容保留能力足够强大,即使不做帧间的平滑操作,只是将视频帧拆出,生成好之后再合成视频,也能生成相对比较连贯的效果。