用GAN(生成对抗网络)制作卡通人物形象的研究,相信大家已见过不少。
但这一次新出炉的AniGAN,可以让你指定任意画风!
只需一张真实人物照片,加上一张你喜欢的画师作品做为参考,就能在保留原照片发型、五官等形状特征的同时,迁移成相应的画风。
拿来做头像是不是很棒?
又双叒叕一款GAN?这次更强!
AniGAN团队认为,之前的二次元人物生成算法有两大问题。
要么不能很好模仿参考图的画风,要么会过于强调保留原始照片的形状,却并不适合二次元人物的风格,造成不符合审美的扭曲与瑕疵。
通过对比可以看出,AniGAN生成的结果在模仿参考图颜色、材质,以及将原始特征转换成适合二次元方面都更出色。
下图使用了更大的数据集,包含更多样的色彩、线条、材质、发型及五官特征。
新的生成器架构
为了在转换形状特征的同时进行风格迁移,AniGAN团队提出了新的生成器架构。
不同于以往使用残差块(Residual Blocks)在生成器的瓶颈层注入风格信息的方法。
AniGAN提出了自适应堆栈卷积块 (Adaptive Stack Convolutional Block)和细粒度风格转移块( Fine-grained Style Transfer Block),以下简称为ASC块和FST块。
ASC块由卷积层、激活层和归一化层组成。
在以往使用残差块时,可能会忽略一些风格信息,如在下面例子中将右眼都错误地生成为棕色。
FST块由上采样层,卷积层和归一化层组成。
风格数据会在上采样层之后而不是瓶颈层注入,负责把局部形状特征也处理成一种风格数据,并转换成对应的二次元形状。
去掉FST块的情况下,生成图像的面部特征并不适应二次元风格。
两种新的归一化函数
以往的AdaLIN归一化函数会将实例归一化(IN)和层归一化(LN)按channel结合在一起,而忽略了channel间的相互关系。因此不能胜任迁移风格同时转换特征的任务。
AniGAN团队提出了点状层实例归一化(point-wise layer instance normalization)和适应性点状层实例归一化( adaptive point-wise layer instance normalization ),以下简称PoLIN和AdaPoLIN。
PoLIN和AdaPoLIN会将所有channel的IN与LN结合在一起。
从左至右为(a)参考图像,(b)原始照片,(c)-(f)为去掉PoLin或AdaPolin的各种组合的消融实验,(g)为正式效果
双分支鉴别器(Double-branch Discriminator)
二次元人脸与真实人脸既有很大不同,又都是关于人脸。在研究中称作领域X和领域Y。
双分支鉴别器不仅可以通过卷积层的两个分支处理特定领域的数据分布,还可以处理跨领域共享的数据分布。
双分支鉴别器使生成的二次元人脸减少瑕疵,更加赏心悦目。
另外,该鉴别器也可以在后续研究中轻松扩展成多分支鉴别器(Multi-Branch Discriminator)。
图像质量远超前辈
研究团队使用了Frechet Inception Distance指标来评估生成图像的质量,数值越低代表生成图像越接近参考的二次元图像。
并使用Learned Perceptual Image Patch Similarity来评估生成图像之间的风格差异性,数值越高代表多个生成图像之间越多样。
另外还选取了20位20-35岁的测试者进行A/B测试,询问他们不同算法生成的图像中哪张最符合真实照片的特征以及参考图像的风格,统计结果也是AniGAN得分最高。
作者团队
本论文第一作者李冰,2016年中国科学院博士毕业,现在阿卜杜拉国王科技大学可视计算中心做博士后研究员。
团队其他成员分别来自字节跳动、中国台湾国立清华大学与深圳大学。
参考链接:
[1]https://arxiv.org/abs/2102.12593
—完—
@量子位 · 追踪AI技术和产品新动态
深有感触的朋友,欢迎赞同、关注、分享三连վ'ᴗ' ի ❤