参与李泽南 李亚洲

实景照片秒变新海诚风格漫画:清华大学提出CartoonGAN

使用漫画风格重现现实世界的场景对于画师来说是一项费时费力——很多时候却又不得不做的工作。AI 能不能帮助我们解决这个麻烦?近日,来自清华大学、卡迪夫大学的研究者们提出了 CartoonGAN,它可以用真实景物的照片作为源图片,生成任意风格的「漫画」,从新海诚到宫崎骏……只要拿来一组带有所需风格的示例漫画图片训练之后即可开始「转换」。该研究的论文已被 CVPR2018 大会接收。

CartoonGAN 的预训练模型,其中包括宫崎骏、细田守、今敏(动画电影《红辣椒》)和新海诚风格:http://cg.cs.tsinghua.edu.cn/people/~Yongjin/CartoonGAN-Models.rar

漫画是在日常生活中我们能够广泛接触到的一种艺术形式。除了艺术本身之外,它的适用范围从出版媒体到儿童教育。和其他艺术形式一样,很多著名的漫画形象都是基于现实世界的场景创作的。下图展示了真实世界火车站的场景,在动画电影《你的名字。》中也出现了相应的漫画形象。

然而,使用卡通风格手绘重现现实世界的场景是一个费时费力的工作,而且需要很多专业的绘画技能。为了获得高质量的画面,原画作者必须仔细绘制每个线条,并对目标场景的每种颜色区域进行涂色。目前看来,具有标准特征的现有艺术编辑软件和算法无法产生令人满意的漫画效果。因此,如果有专业技术能够自动将真实世界的照片转换为高品质的漫画风格画面,对于画师来说是非常有帮助的一件事:这可以为他们节省大量时间,让他们专注于更有意义和创造性的工作。风格迁移工具也可以为 Instagram 和 Photoshop 等图像编辑软件提供新功能。

图 1. 漫画风格的一个示例:(a)是真实世界的一个场景,其漫画形象出现在动画电影《你的名字。》中。(b)是 CartoonGAN 将照片转换为漫画风格的结果。请注意:模型训练数据中并不包含任何《你的名字。》电影中的图片。

以艺术方式对图片进行处理的研究一直是计算机视觉的热门方向。此前的传统方式通常针对特定样式开发特定的算法。然而,这意味着需要做出大量技术上的努力才能做出模仿个人艺术家的细致风格。最近,基于机器学习的风格迁移方法,因为其可以通过示例图片对图像进行风格化,已经引起了很多人的关注。特别是生成对抗网络(GAN),其引入了循环方式训练进一步探索并提高了风格迁移的质量,GAN 的独特之处在于可以使用不成对照片和风格化图像进行训练。

尽管基于学习的风格迁移已经获得了很大成功,但最先进的方法仍无法生产具有可接受质量的漫画风格图像。究其原因,首先,漫画风不是添加纹理和边界线,而是需要从现实世界图像的复杂构造中高度简化;其次,尽管艺术家之间风格各异,但卡通图像具有一些明显共通之处:边缘清晰、颜色遮罩平滑、质地相对简单——这与其他形式的艺术作品截然不同。

在论文中,清华大学的研究人员提出了 CartoonGAN,一个基于 GAN 的全新照片漫画化方法。该方法需要一组照片和一组漫画图像进行训练。为了让训练数据易于获得,同时获得高质量的结果,我们不需要让两组图像互相配对或对应。从计算机视觉算法的角度来看,漫画风格化的目标是将照片流型映射到漫画流型中,同时确保其中的内容不变。为了实现这个目标,研究人员提出了专用的 GAN 架构,以及两个简单有效的损失函数

研究人员称,CartoonGAN 的主要贡献在于:

  1. 提出了一个专用的基于 GAN 的方法,可以有效地学习使用不成对的图片集进行训练,对现实世界照片和漫画图像建立映射。新方法可以生成高质量的风格化漫画,这大大超越了现有最佳技术的能力——当来自特定艺术家的漫画图像被用于训练时,新方法可以忠实重现他们的风格。

  2. 在基于 GAN 的体系结构中提出两种简单而有效的损失函数。在生成网络中,为了应对照片和漫画之间的实质风格差异,研究人员在 VGG 网络的高级特征映射中引入了定义为ℓ1 的稀疏正则化语义损失。在鉴别器网络中,作者提出了推进边缘的对抗损失,以保证清晰的边缘。

  3. 作者进一步引入了一个初始化阶段来改善网络到目标流形的收敛。新的方法比现有的训练方法效率要高很多。

在 CartoonGAN 中,生成器网络 G 用于将输入图像映射到漫画流型中。在模型经过训练后,漫画风格化任务就可以执行了。G 从平卷积阶段开始,随后是两个下卷积区块,以对图像进行空间压缩和编码。在这个阶段提取有用的本地信号用于下游转换。随后使用相同布局的八个残差区块来构建内容和流形特征。研究人员采用了《Perceptual losses for real-time style transfer and super-resolution》中提出的残差块布局。最后,通过两个上卷积块重构输出的漫画风格图像,这两个卷积块包含步长为 1/2 的分步卷积层和一个 7×7 内核的最终卷积层。

为了与生成器网络形成互补,鉴别器网络 D 用于判断输入图像是否是「真实的」漫画图。由于判断图像是否为漫画是个要求不高的任务,因此我们使用 D 中参数较少的简单补丁级鉴别器,而不是常规全图鉴别器。与图像分类任务不同,漫画风格鉴别任务依赖于图像的局部特征。所以,鉴别器网络 D 被设计得较浅。在平层之后,网络采用两个步进卷积块来降低分辨率并编码用于分类的基本局部特征。随后,使用特征构造块和 3×3 卷积层来获得分类返回。在每个归一化层之后使用α = 0.2 的 Leaky ReLU。

图 2. CartoonGAN 架构中的生成器与分类器网络,其中 k 是内核大小,n 是特征映射的数量,s 是每个卷积层的跨步,'norm'表示归一化层,'ES '表示元素之和。

图 5. CartoonGAN 生成的不同艺术家漫画风格:(a)为输入照片。(b)为新海诚风格。(c)为宫崎骏风格。

图 6. 边缘生成的细节。(a)为 NST 使用训练集中所有图像训练后的风格转换结果;(b)为 CycleGAN 在同一性损失参数下的结果;(c)为 CartoonGAN 的结果。

图 7. CartoonGAN 与 NST 和 CycleGAN 在新海诚(上)和宫崎骏(下)风格转换上的比较。Gatys(image 1)和 Gatys(collection)是两个 NST 的变种,其分别将输入照片与内容密切近似的漫画图片进行训练,并输出结果。

论文:CartoonGAN: Generative Adversarial Networks for Photo Cartoonization

论文链接:http://203.187.160.133:9011/openaccess.thecvf.com/c3pr90ntc0td/content_cvpr_2018/papers/Chen_CartoonGAN_Generative_Adversarial_CVPR_2018_paper.pdf

摘要:在此论文中,我们提出了一种解决方案,能够将现实场景的图片转换为漫画风格的图像,这在计算机视觉和计算机绘图领域都是极具价值与挑战性的任务。我们的解决方案属于基于学习的方法,也就是近来以艺术形式做图像风格化的流行方式。然而,已有的方法不能产生令人满意的卡通化结果,主要是因为:1. 漫画风格有自己独特的特点,高度简化、抽象化。2. 漫画图像有明显的边缘、平滑的颜色和相对简单的纹理,这对当前基于纹理描述器损失函数的方法有极大的挑战。

在此论文中,我们提出了 CartoonGAN,也就是做漫画风格转换的生成式对抗网络。我们的方法采用未配对照片和漫画图来做训练,非常容易使用。我们也提出了两种适用于漫画化的两种全新损失函数

1. 一个语义内容损失函数,其表述为 VGG 网络中高阶特征映射的稀疏正则化,以应对照片和漫画之间的风格差异。

2. 一个边缘提升对抗损失来保留清晰的边缘。我们进一步引入了初始化阶段,来改进网络的收敛达到目标流形。我们的方法也要比已有方法有更高效的训练。实验结果表明,该方法能够从真实图片转换为高质量的漫画图像(也就是遵循特定的风格,有明晰的边缘和平滑的描影,且超越了其他顶尖方法。

理论GAN论文CVPR 2018计算机视觉
51
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

重构技术

代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

规范化技术

规范化:将属性数据按比例缩放,使之落入一个小的特定区间,如-1.0 到1.0 或0.0 到1.0。 通过将属性数据按比例缩放,使之落入一个小的特定区间,如0.0到1.0,对属性规范化。对于距离度量分类算法,如涉及神经网络或诸如最临近分类和聚类的分类算法,规范化特别有用。如果使用神经网络后向传播算法进行分类挖掘,对于训练样本属性输入值规范化将有助于加快学习阶段的速度。对于基于距离的方法,规范化可以帮助防止具有较大初始值域的属性与具有较小初始值域的属相相比,权重过大。有许多数据规范化的方法,包括最小-最大规范化、z-score规范化和按小数定标规范化。

生成对抗网络技术

生成对抗网络是一种无监督学习方法,是一种通过用对抗网络来训练生成模型的架构。它由两个网络组成:用来拟合数据分布的生成网络G,和用来判断输入是否“真实”的判别网络D。在训练过程中,生成网络-G通过接受一个随机的噪声来尽量模仿训练集中的真实图片去“欺骗”D,而D则尽可能的分辨真实数据和生成网络的输出,从而形成两个网络的博弈过程。理想的情况下,博弈的结果会得到一个可以“以假乱真”的生成模型。

推荐文章
最近用 TensorFlow 2.0 完整實作了 CartoonGAN 的訓練以及推論邏輯。 有興趣的朋友可以參考介紹文章以及線上展示: https://leemeng.tw/generate-anime-using-cartoongan-and-tensorflow2.html 以下則是我們的 Github 連結,可以讓你訓練自己的 CartoonGAN: https://github.com/mnicnc404/CartoonGan-tensorflow