信笔涂鸦,风景如画——Hackathon算法介绍

​一、前言

一点资讯第二届Hackathon前段时间已经落下帷幕,其中神笔马良战队带来的项目「涂丫」给观众留下了深刻印象,该项目集成了“草图变风景画”“图像橡皮擦”“手绘人脸”等AI算法能力,聚焦于草图生成互联网图像的新方向。该项目的出发点是通过草稿与用户进行交互,用户不需要超高的绘画、PS技巧,即可轻松的生成想要的图像内容,以此赋能普通用户,为他们带来无可比拟的参与感和创造性!今天,我们将揭秘「涂丫」其中一个功能“草图变风景画”背后的算法能力。

图片[1]-信笔涂鸦,风景如画——Hackathon算法介绍-一一网
图1-1 涂丫项目草图变风景画

图片[2]-信笔涂鸦,风景如画——Hackathon算法介绍-一一网
图1-2 涂丫项目图像橡皮擦\

图1-3 涂丫项目手绘人脸

二、草图变风景算法介绍

该算法是一个基于生成对抗性网络(GAN)的图像生成器,用户只需点击几下即可绘制出近乎真实的图像,能够立即将几行草草勾勒的轮廓图,变成华丽的高山湖泊蓝天白云。在给定一张语义分割图时合成对应的实际真实图像,这个任务被称为semantic image synthesis。因为语义分割图一般都是由简单的线条组成,因此绘画起来比较容易,这也是为什么这个战队被称之为“神笔马良”的原因。

图2 效果展示\

2.1 网络整体结构

该网络基于GAN来实现条件图像合成任务(conditional image synthesis task)。GAN网络一般包含一个生成器(Generator)和一个判别器(Discriminator),其中generator的目标是生成真实的图像,使得Discriminator无法区分该图像是生成图像还是真实图像。Generator和Discriminator的目标相反,在训练过程中相互对抗,所以该算法称为生成对抗网络。其整体结构如下:

图2-1 网络整体结构\

从上图可知,网络包含了EncoderGeneratorDiscriminator三个模块,后面将分别介绍这三个模块。\

2.2 Encoder模块

Encoder用于从真实图像中获取与其分布有关均值和方差,结构主要是一些卷积层的堆叠,最后通过2个全连接层输出均值和方差值,这样就得到了一个数据分布,基于这个数据分布得到的向量就包含了输入图像的风格信息。

图2-2-1 Encoder网络结构

方差和高斯分布产生的向量做反归一化操作,最终得到一个包含真实图像信息的随机向量。这个包含了输入图像风格特征的向量做Generator的输入,可以实现下图不同风格转换的展示效果。

图2-2-2 生成不同风格的图像\

这里,在Hackathon的比赛中,由于开发时间有限,「涂丫」项目简化了Encoder,因此没有风格图像的选择功能,可在后续开发中完善。

2.3 Generator模块

Generator目的是学习一个映射函数,它可以将输入语义分割掩码(对应图2-1中的左图)映射为照片级的真实图像(对应图2-1中的右图)。Generator接收上一步产生的随机向量来生成图像,在生成的过程中会不断地使用多个尺度的语义图来提供上下文信息。通过在不同的尺度上使用语义映射,实现从粗到细的图像生成。Generator的整体结构如下图所示:

图2-3-1 生成器的结构\

在Generator中,为了防止Batch Normalization(BN)削减输入图像的语义信息,Generator使用了SPatially-Adaptive DEnormalization(SPADE),SPADE模块输入是上一层的输出和不同尺度的语义图,上一层的输出经过BN,语义图经过resize后通过一个卷积层,然后再分别通过两个卷积层,这两个卷积层输出的结果分别和BN的结果做wise乘法以及加法得到输出,如图2-4所示。SPADE能弥补BN带来的语义信息的丢失,使得生成的图像能够更加逼真,因为语义图经过卷积层处理后得到的是表示语义信息的方差和均值,然后经过反归一化操作就向生成的图像中添加了语义信息。

图2-3-2 SPADE模块结构SPADE模块经过类似残差连接的结构,形成SPADE-ResBlock,SPADE-ResBlock模块叠堆并上采样,最终构成Generator的网络结构。

2.4 Discriminator

Discriminator接收的是语义图与图像连接产生的张量,经过一系列的处理会输出判断结果。这里模型使用的Discriminator结构类似于pix2pixHD中采用的PatchGAN的形式,不同于普通的GAN判别器。普通的Discriminator对图像的真假的鉴别只输出一个评价值,表征图像整体的“真”“假”,PatchGAN设计成全卷积的形式,将输入映射为NxN的patch,每个patch对应不同区域的感受野,表征了不同区域的“真”“假”。对于要求高分辨率、高清细节的图像领域中,PatchGAN的结构更能关注图像细节,其结构如图下图所示:

经过生成器和判别器的不断博弈训练,最终我们输入一个语义图,生成器会生成与该语义图相对应的真实图像。\

\

\

三、后续展望

该算法可以为建筑师、城市规划者、景观设计师、游戏开发者、广告设计师… 等各种和图像相关的职业在创建虚拟世界时提供强大的工具。通过人工智能了解现实世界的外观,这些专业人员可以更好地制作想法原型并快速更改合成场景,能让设计师可以在头脑风暴的阶段,就直接产出高保真原型。

文章来自一点资讯算法团队

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享