基于条件可预测参数的街景生成模型设计*
2020-03-30李凤仪于明学
李凤仪 于明学,2 金 鑫*
1. 北京电子科技学院,北京市 100071 2. 西安电子科技大学,西安市 710126
引言
不管是现有的具有区域间注意力机制的生成器还是pix2pix[1]与pix2pixHD[2]条件生成模型,其本质上都是在一个整体且较大的参数空间上去拟合了一个映射函数f(x),该函数的作用是将输入x(语义标签图)点对点地映射到真实图像,实现了一个像素域到另一个像素域的转变。 在拟合函数的过程中,上述生成模型的参数都是一个整体的参数空间,对于其中的某个部分、某一层所具有的作用并不了解,仅仅遵循了先编码再解码的生成器结构。 本文认为,先编码再解码的生成器结构,仅仅具有两方面的作用:一个作用是,在编码过程中去除无用信息,提炼有用信息(生成特征),在解码过程中,利用有用信息(特征)实现特征转化;第二个作用是,在编码过程中可以扩大感受野,增加参数的共享,提高模型的表达能力。 而这两方面的作用仅仅体现在编码器、解码器两个结构上,并没有关注其中每一层网络的作用,这也体现了深度学习的黑盒特征。
针对以上问题,本文尝试将图像按功能生成,设计了基于条件可预测参数的街景生成模型。 受图像迁移领域的启发,将解码部分卷积层看作是具有不同功能的画笔,并将其看作是辨别器下采样的逆过程。 同时本模型添加了参数预测网络,可以更好的利用传入的语义空间信息,并且进行卷积核参数的预测,通过设计相应的损失函数实现了图像按功能生成。
经过实验验证,本模型生成的图像基本符合高清图像的标准,图像中每一类的物体基本上能够做到清晰的表征,并且具有一定的泛化性能。同时,生成的建筑物具有多变性,房顶、窗户等能清晰的生成,道路也有区分。 这表明,基于条件可预测参数的生成模型,基本上能够预测出解码层中的卷积核参数,并实现了特定的功能,其次,预测网络能更好的利用了空间的位置信息。 不同物体之间的位置过渡十分流畅。 同时,本模型在相关数据指标中也具有良好表现,这表明,基于条件预测参数的街景生成模型能够生成真实的高清街景图片。
1 问题分析与整体设计
1.1 相关理论与工作分析
Ian GoodFellow 等首次提出GAN[1],GAN 的根本目的在于用一个生成器来捕获数据分布,用一个辨别器来估计样本是来自真实分布而非拟合分布的概率。 生成器的训练过程是为了最大化辨别器犯错误的概率,也就是最大化辨别器估计出错的概率。 GoodFellow 指出,GAN 模型在生成器和辨别器的函数空间中存在唯一解,即生成器还原了训练数据的分布,也就是辨别器给出的估计概率总是1/2。
为了更好的表示,本文定义数据集为x,其真实分布为px。
对于条件GAN,所解决的是本文中所涉及的图像翻译问题。 在条件GAN 中,传入生成器的是语义标签图像而非噪音。 设定辨别器为D,生成器为G,z 为随机噪声矢量,c 为条件输入矢量,x 为训练样本,条件GAN 的网络流程图如图1.1。
为了更好的表示,对于训练集中的每一个图像对{(si,xi)}, x 代表真实图像,s 代表真实图像对应的语义标签,其生成映射为G(s;Qg), 训练中对于生成器,最小化公式为:
log(1 - D ( G ( s)) )
而对于总的训练,即优化目标函数如下所示:
2017 年,Phillip Isola 等人提出pix2pix[1]。pix2pix 提供了一个统一的图像翻译(image-toimage-translation) 的 框 架, 整 体 的 结 构 是conditional GAN。 和原始conditional GAN 不同的是,pix2pix 生成器的输入没有噪声信息,只有条件信息。 其利用U-Net 提升细节,并且利用PatchGAN 来处理图像的高频部分。
pix2pixHD[2]是pix2pix 的重要升级,可以实现高分辨率图像生成和图片的语义编辑。 对于一个生成对抗网络(GAN),学习的关键就是理解生成器、 判别器和损失函数这三部分。pix2pixHD 的生成器和判别器都是多尺度的,单一尺度的生成器和判别器的结构和pix2pix 是一样的。 损失函数由GAN loss、Feature matching loss 和Content loss 组成。 pix2pixHD 能够生成分辨率更高、质量更高的图像,可以说是目前效果最好的街景生成模型。
1.2 基于条件可预测参数的街景生成模型整体设计
在一些其他的深度学习研究中,如图像识别、风格迁移中,利用可视化技术,可以看到在编码过程中,每一层卷积可以提取不同的特征,具有不同的作用。 可以这样理解,在编码过程中,每一层卷积中的卷积核相当于一个特征的提取器,受此启发,在生成模型中,在解码阶段,对于编码阶段所提取到的特征,每一层卷积网络中的卷积核就可以作为一个特征的添加器,或者是风格添加器。 通过对编码特征不断地添加风格,实现语义标签图到真实图像的生成。 从这个意义上来说,对于解码阶段中某一层卷积,不同维度上的卷积核就是在这一尺度上需要添加的风格。这样,就可以将问题由在整个参数空间上拟合点对点的映射函数,转变为在参数空间上,对不同的卷积核参数进行预测,从而生成真实图像。 形象地说,在编码阶段,不同的卷积核就是不同的画笔,不同风格的画笔相互合作,将编码特征修改成为一幅真实的图像。
为了减少盲目地增加网络深度,增加参数总量,本文试图解释每一层网络/每一层卷积的作用,从参数预测的角度上来进行模型设计,提出了基于条件可预测参数的图像生成模型。 该模型遵循典型的GAN 结构,整体设计图如图1.2所示。
模型中生成器基础网络结构采用典型编码解码结构,在解码层中不同阶段的卷积参数均有对应的预测网络进行预测。 整体的网络结构如图1.3 所示。
如图1.3,生成器网络中,语义标签图作为输入,在编码阶段:在RGB 维度进行扩充,先经过一层卷积核为7×7 的卷积层,这样会获得一个较大的感受野,并将输入的维度扩大为64 维,紧接着使用卷积层连续进行3 次下采样,输入维度逐步扩充到512 维,之后经过9 个残差块结构,增加网络深度。 在解码阶段:使用卷积加上采样函数连续进行三次上采样,恢复到原先尺寸,最后经过一层卷积层,将输入维度降为3 维,进行输出。 其中解码阶段3 层卷积的卷积核参数由3 个预测网路给出。 整个网络的归一化层均采用实例归一化,激励函数均为Relu[3]函数。
模型中辨别器采用类似于pix2pxiHD 的多尺度辨别器结构,具体网络结构如图1.4 所示。
本文模型仍采用两个尺度的辨别器,尺度分别为原尺度,以及降采样两倍后尺度。 在每一个尺度上,输入都连续经过4 层的下采样卷积层,最后经过一层卷积,在每个位置上输出0 或者1,作为预测图像的真假,0 代表当前位置预测为假图片,1 代表当前位置预测为真图片。
2 参数预测网络分析与设计
2.1 参数预测网络问题分析
在传统生成网络中,对于网络层中卷积核参数的生成,仅仅在初始阶段进行初始化,并通过梯度下降得到相对准确的参数。 本文分析认为,由于梯度下降是对最终生成图像与真实图像的差别损失求导,这很容易导致某一阶段中某一个卷积核的参数,梯度下降的方向不准确,从而导致生成的参数不完全正确。 此外,卷积核参数受初始化、学习率的因素影响较大。 由此本文设计了对卷积核进行参数预测网络,由预测网络对卷积核参数进行预测,减少了卷积核参数受初始化等因素的影响,此外,不同的卷积核参数是由不同的预测网络预测生成,这相当于,不同的预测网络构成了一个小的参数空间,由一个小参数空间预测卷积核参数,这样可以增加卷积核参数预测的准确性。
要对不同卷积核参数进行预测,需要对预测网络提供信息。 在传统生成模型中,语义标签作为条件输入,只有在网络的初始阶段传入模型中,在随后的编码阶段,模型充分提炼标签特征,以及随着感受野的扩大,对特征信息进行充分地共享,并基于传入的语义标签在不同位置上的类别信息,从而对特征信息进行扩充,以满足在解码阶段,卷积网络中卷积核所需要的信息。 形象的说,如果把卷积中的卷积核看作是特征添加器或者画笔,那么扩充后的特征信息就是添加器或画笔所需要的原料。 依据此分析,本文认为,解码阶段卷积核需要依据语义标签图中像素的位置以及类别信息,但由于在传统的图像生成模型中,语义标签信息仅仅作为输入传入网络,在生成器中,语义、位置的信息难以很好的保留,以至于在解码阶段卷积核难以得到准确的语义、位置信息。 基于此分析,本文将语义标签图作为每一个预测网络的输入,这样使得卷积可以更好的利用语义信息。
2.2 参数预测网络设计
预测所有的卷积内核是不可行的,因为在反向传播中,需要大量可学习的参数,会造成过拟合以及需要过多的GPU 内存,现有的实验室GPU 服务器难以满足要求。 借鉴于Xi hui Liu等最新研究的CC-FPSE[4]条件生成模型中,类似于深度可分离卷积(Xception[5]),将卷积运算分解为条件深度卷积以及常规点式运算卷积(1×1 卷积)。 通过全局上下文感知的参数预测网络预测每个空间位置上的卷积核权重。
在CC-FPSE 模型中,为了充分的利用语义标签的空间和类别信息,参数预测网络借鉴并改进了GauGAN[5]中的空间自适应归一化结构。在GauGAN 生成模型中,对于每一个尺度,都由两个大小为3×3 的卷积层应用于降采样后的语义标签图,两个卷积层的输出分别为具有自适应性归一化层所需要的放缩和偏差。 CC-FPSE 中分析,由于GauGAN 生成模型的输入是通过最近邻内插方法,将语义标签图降采样到非常小的尺寸,如8×8,这不可避免地丢失了很多有用的信息。 此外,预测参数网络中只有两个3×3 的卷积层,这使得结构仅仅具有5×5 的感受域,这限制了参数预测网络利用远程的上下文信息。 如果存在较大范围内具有相同的语义标签,则该区域的像素只能访问到具有相同语义标签的5×5的局部邻域,这样无论其相对位置如何,都会有相同的预测权重得到相同的结果。 CC-FPSE 为此设计了具有金字塔结构的全局预测网络,其网络结构如图2.1 所示。
预测网络参照典型的编码解码结构,首先对传入的语义标签图进行下采样,然后通过解码器对编码后的语义特征图进行上采样,并参照Unet 网络结构,将不同级别的特征与原始语义图进行级联,以获得具有全局上下文感知的语义特征图,该语义特征图用于预测条件卷积的参数权重以及条件卷积的注意力权重。 为了节约GPU内存并更有效率地进行条件卷积参数预测,CCFPSE 引入深度可分离卷积,将卷积核分解为条件深度卷积以及常规点式卷积。 条件深度卷积独立地在每个输入通道上执行空间滤波,并且基于语义布局动态预测其空间变化的内核权重。假设W、H 分别表示输入的宽和高,R 表示实数域。 则令要预测的卷积核参数为 V ∈RC×k×k×H×W,且卷积核的输出为Y ∈RC×H×W,那么条件深度卷积操作如下公式:
其中i,j 代表了输出结果的空间像素位置,k 表示卷积核大小,并用变量m,n 遍历,c 代表输入的维度。 卷积核V 分别作用于输入X 的每个通道以及每个空间位置,再输出最后结果。 此外,CC-FPSE 类似于深度可分离卷积设计了通道注意力权重,将具有C 维的输入转变为D 维的输出,令通道注意力权重为A ∈RC×H×W,则最后的输出Z 为:
CC-FPSE 中,虽然预测了卷积核参数,但是并没有对卷积核参数的作用进行约束,并不能确定卷积核的作用,仅仅是充分利用了语义特征图的空间和类别信息。 为了确保在卷积过程中,卷积核具有特定的作用,本文将解码阶段中卷积过程与辨别器下采样过程相联系,将卷积过程看作是辨别器下采样过程的逆。 本文认为,传统图像条件生成模型中辨别器的设计,其实类似于做了一次语义分割。 因为辨别器的输入是生成图像与语义标签图的拼接,最后预测的结果是每个像素位置上的真假,也就是说,辨别器需要判断生成图像每个像素位置是否属于语义标签图中所标记的类别,这在一定意义上是做了一次语义分割。 而语义分割本质上也是两个像素域点对点的映射,这样在辨别器下采样过程可以看作是生成器解码阶段卷积过程的逆。
基于此,本文设计了新的条件参数预测网络,使其能够预测卷积核参数,并且满足一定的作用。 本文预测网络结构整体结构如图2.2所示。
图2.2 展示的是最小尺度的预测网络。 由于在编码阶段,有三次的下采样,因此在解码阶段需要进行三次的卷积,为了更好地对卷积层卷积核参数进行预测,本文设计了三个不同尺度的参数预测网络,每一个预测网络都是先经过下采样卷积操作,使得编码的特征图尺度与卷积输入的尺度相同,然后经过一系列的残差块结构,增加预测网络参数共享,增大感受野,最后由CCFPSE 中的cc block 结构输出预测的参数。 由于每一层卷积层卷积核参数的维度不同,因此不同的预测网络下采样层数以及残差块结构数有所不同。 由于输入的图像尺度为1024×512,三个尺度分别为512×256,256×128,128×64,由于编码阶段特征的维度随着尺度的减少而增加,因此要预测的卷积层卷积核的维度也随之特征尺度的减少而增加,因此预测网络需要的参数也更多,512×256 尺度的预测网络中残差块的数目为6 个,256×128 尺度的预测网络中残差块的数目为4 个,128×64 尺度中残差块的数目为3 个。图2.2 的cc block 结构如图2.3 所示。
如图2.3,本文采取的cc block 结构与CCFPSE 模型中的cc Block 结构完全相同。
为了使得预测的卷积层卷积核具有特定的作用,本文添加了额外的约束。 如前文所述,本文将解码阶段的卷积过程看作是辨别器对应几个阶段卷积下采样的逆,因此,本文认为,预测的卷积层参数计算输出的结果应该与对应辨别器卷积下采样后的结果相同。 训练时,本文生成器损失函数,额外增加了卷积输出结果与辨别器下采样结果的L1 对比损失,添加这样的约束,使得卷积层卷积核能够在一定意义上具有特定的作用。
3 基于参数可预测模型的训练
为了能更加准确的分辨真假图像,本文采取的方法类似于pix2pixHD,采用多尺度的辨别器,尺度分别为原尺度以及降采样两倍后尺度。 为了对细节生成够提供更好地约束,辨别器也采用PatchGAN 生成细节损失。 此外,为了对预测网络预测地卷积核参数进行更好的约束,额外增加了解码阶段卷积输出结果与辨别器下采样结果的L1 对比损失。
具体的训练过程如下:
步骤1:语义分割图先与模型生成器G 生成的假图片一起送入辨别器D,得到辨别器将假图片预测为假所造成的损失Lfakefake,并保留解码阶段反卷积后的结果。
步骤2:语义分割图与真实图片一起送入辨别器,得到辨别器将真图片预测为真所造成的损失Ltruetrue,并保存辨别器在每一尺度4 层下采样卷积后的结果。
步骤3:语义分割图与假图片再次一起送入辨别器,得到辨别器将假图片预测为真所造成的损失Lfaketrue,并保存4 层下采样卷积后的结果;训练数据集作为一组对应的图像(si;xi) 给出,其中si是语义标签图,而xi是对应的自然照片。
模型采用多尺度辨别器,使用3 个鉴别器,为区分将其分别称为D1,D2 和D3。 步骤1-3中的损失均采用如下公式得到:
先调用辨别器D1,D2 和D3 中得到的参数求公式最大值,然后再调用生成器G 得到的相关参数求最小值。 其中,目标函数LGAN(G,Dk)由下面公式给出:
公式中E(s,x)、Es分别代表求两部分公式关于语义标签图s、对应的自然照片x 和关于s 的均值。G s( ) 表示语义标签图输入到生成器G 后生成的图片。D(s,x)、D(s,G s( ) ) 分别表示语义标签图s 分别与对应的自然照片x、生成器生成的假图片G s( ) 在输入辨别器后得到的数据。
步骤5:将语义分割图与真实图片在辨别器下采样过程中保存的结果与生成器解码阶段反卷积后保存的结果进行L1 损失比较,计算预测损失Lpredict。
步骤6:计算生成器不同卷积层的VGG 感知损失Lvgg,将VGG 网络的第i 层特征提取器表示为Vk(i),VGG 感知损失Lvgg, 也就是特征匹配损耗LFM(G,Vk) 计算为:
步骤7:分别对生成器与辨别器进行训练;其中生成器损失为:
Lg= Lfaketrue+ Ldetail+ Lpredict+ Lvgg;
辨别器损失为:
Ld= Lfakefake+ Ltruetrue。
4 实验结果及分析
4.1 数据集及实验环境介绍
对于街景生成,本文采用的数据集为Cityscapes[7]数据集,其具有2975 张训练图片以及500 张测试图片。 受实验室服务器显存影响,数据集图片大小裁剪为512×256。
实验环境:cpu 为Intel i7,系统为ubuntu 16.04 LST,GPU 为双路titan xp,显存共为24G。实验所选深度学习框架为Pytorch。
4.2 实现细节
本文模型采取典型的编码解码结构,模型中采用卷积层代替池化层,每一层卷积后接归一化层,采用的归一化方法为实例归一化,归一化后接激活函数ReLU。 具体的实验参数为:训练批次为200 轮,每一批次的图片数量为4,初始的学习率为0.0002,每一轮后学习率下降0.0001,100 轮后学习率固定。 采用的优化算法为Adam[8]优化算法,其动量参数为0.5。 与传统的街景生成模型的损失函数一致,采用的Patch-GAN 细节损失,感知损失[9]采用的是VGG[10]不同层的对比损失L1 损失。 辨别器损失中真实图片的预测损失与生成图片的预测损失比例为1/2,生成器损失中细节损失,生成图片预测损失以及VGG 感知损失的比例为1/3。
4.3 实验结果展示及分析
基于条件可预测参数的街景生成模型,经实验验证,能够生成逼真的高清街景图片,图片尺度为512×256,生成效果如图4.1 所示,其中第一行为输入的语义标签图,第二行为生成的对应图像。
如图4.1,生成的图像基本符合高清图像的标准,图像中每一类的物体基本上能够做到清晰的表征,并且具有一定的泛化性能,如上三幅图中的小汽车的生成,在保证外形不变的前提下,有黑色、白色等不同的外观颜色。 同时,生成的建筑物具有多变性,房顶、窗户等能清晰的生成,道路也有区分。 这表明,基于条件可预测参数的生成模型,基本上能够预测出解码层中的卷积核参数,并实现了特定的功能,其次,预测网络能更好的利用了空间的位置信息。 不同物体之间的位置过渡十分流畅。
此外,本文也比较了本模型与当前街景生成领域最佳的pix2pixHD 模型生成指标参数对比,计算两者的均交并比、像素精度(标记正确像素占总像素的比例)、均像素精度(每个类内像素分类正确的比例,之后求所有类的平均)。 生成的图像越接近真实图片,交并比应该越高,像素的精度也应该更高。
表4.1 本模型与pix2pixHD[2]生成效果指标对比
由表4.1 可知,本文模型在512×256 尺寸图片生成上已经达到了最佳标准,在平均交并比指标数据上比pix2pixHD 高0.0047,在像素精度上高0.0048,在均精确度上高0.0233。 这表明,基于条件预测参数的街景生成模型能够生成更为真实、高清的街景图片。 同时,本文生成图片局限于512×256 尺寸的原因在于,预测参数在反向传播时,需要的显存过于巨大,现有的实验室环境难以满足。
5 结语
针对现有生成模型的黑盒特征的问题,即难以分析生成模型中每一层网络的作用的问题,本文尝试将图像按功能生成,设计了基于条件可预测参数的街景生成模型。 受图像迁移领域的启发,本模型将解码部分卷积层看作是具有不同功能的画笔,并将其看作是辨别器下采样的逆过程。 本模型添加了参数预测网络,可以更好的利用传入的语义空间信息,并且进行卷积核参数的预测,通过设计相应的损失函数实现了图像按功能生成。 本文最后经过实验,生成了较为清晰的街景图像,在各个指标中也具有良好表现。