本发明涉及深度学习、神经网络和图像生成领域,尤其涉及一种基于条件生成对抗卷积神经网络的图像生成方法。
背景技术:
近年来随着科学技术的发展,图像生成的方式产生了很大的变化,各种新型的图像生成方式不断出现在大众的视野之中。图像生成是将图像的一种可能表示转换为另一种的问题,从传统图形学到自编码器到深度学习,图像生成的方式逐渐变得更加多元、灵活和高效,尤其是随着深度学习在计算机视觉领域的快速发展,基于深度学习的图像生成方法越来越受到研究者们的关注。
计算机视觉中的许多问题可以抽象为将输入图像转换成符合需求的图像输出,传统计算机图形学方法在场景构建或风格转换任务中,针对环境、组成的不同分别使用不同的计算方法进行处理。与传统计算机图形学相比,使用深度神经网络构建通用的神经网络结构,通过不同的学习数据获得可控的特征方向,经过适当的调整可以适应不同的任务。因此,使用神经网络代替人工进行复杂场景图像的创作,能够节省大量的时间和经济成本,避免重复费时的手工,相同产出下使用深度神经网络生成图像在很大程度上能够降低成本提高效率。
生成对抗卷积神经网络受到博弈论中的零和博弈思想的启发,该结构由一个生成网络与一个判别网络组成,通过局部连接、权值共享、自动特征提取学习样本的特征分布,生成具有类似分布的图像。生成网络从潜在空间中随机采样作为输入,其输出结果需要尽量模仿训练集中的样本分布。判别网络的输入则为真实样本或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能分辨出来。生成网络则要尽可能地欺骗判别网络,两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。从结果上看,生成对抗卷积神经网络产生了更好的样本,相比卷积神经网络的输出边缘更清晰,细节更丰富,这是大部分卷积神经网络难以解决的问题。
技术实现要素:
本发明的目的在于提出一种基于条件生成对抗卷积神经网络的图像生成方法,可以有效提高图像生成的效率,解决生成图像容易产生模式崩溃的问题。
本发明采用的技术方案为一种基于条件生成对抗卷积神经网络的图像生成方法。该生成方法由特征提取器、生成网络和判别网络三部分组成,本方法示意图如图1。
在本发明中,包括步骤:
步骤1:采集图像,确定学习样本,并分类保存;
步骤2:训练用于特征提取的自编码器,训练结束后保存网络参数和网络结构;
步骤3:使用自编码器作为特征提取卷积神经网络,输入学习样本,聚类得到学习样本特征;
步骤4:使用条件输入和样本特征作为条件生成对抗卷积神经网络的自主学习样本,训练得到图像生成网络模型,训练结束后保存网络模型和权重;
步骤5:准备待生成条件,输入图像生成网络,保存生成图像;
上述的步骤中,具体的实现方法如下:
步骤1中所述的学习样本为上过标签的样本,用于训练特征提取器和生成对抗卷积神经网络。
步骤2中所述的自编码器为卷积神经网络,由卷积层和反卷积层构成,使用步骤1中的样本进行训练。
步骤3中,使用步骤2中特征提取模型,对步骤1中收集的全部样本提取特征,聚类得到聚类中心作为样本特征。
步骤4中,条件生成对抗卷积神经网络包括生成模型和判别模型,输入条件通过生成模型不断生成图像,由判别模型不断判断生成图像是否为真实图片,从而形成博弈训练的过程,最终生成与真实图像几乎一致的生成图像。
步骤5中所述的内容是将目标条件图像输入生成模型,得到目标生成图像。
与现有图像生成方法相比,本发明的有益效果是:
(1)本发明通过使用条件生成对抗卷积神经网络来训练生成样本,并增加特征提取模块,可以实现对生成图像的语义编辑,便于该发明在工业上的具体应用。
(2)本发明使用特征共享嵌入,可以有效缓解生成图像容易产生模式崩溃的问题。
(3)本发明将卷积神经网络和条件生成对抗卷积神经网络结合应用于图像生成,相比传统的图像生成方法,能够直接与图像像素进行卷积,从图像像素中提取图像特征,学习样本特征分布,这种方法更加接近人类大脑视觉系统的处理方式。
附图说明
图1为本发明图像生成流程图。
图2为本发明特征提取自编码器结构图。
图3为本发明条件生成对抗卷积神经网络结构图。
图4为本发明条件生成对抗卷积神经网络残差层结构图。
具体实施方式
为了更加简明,清晰的描述本发明的内容和目标,下面将结合附图对本发明做进一步的说明。实施案例的具体步骤如下:
步骤001:采集样本图像,使用车载摄像头采集场景图像,收集设置时间步长为20毫秒,收集该时间帧的图像保存为学习样本。为学习样本确定标签,如“1”代表建筑,“2”代表行人。按照确定标签,为学习样本标注语义信息和实例信息,根据实验所知,数据量与生成效果成正相关。
步骤002:将步骤001中收集到的样本图像作为训练集,利用自编码器自主学习样本图像,根据获得的样本图像,将它们输入设计好的自编码器,最终得到特征提取器。本课题设计的自编码器结构如图2所示,左半部分为编码器,右半部分为解码器。
编码器具体说明如下。
第一层:卷积层,其输入为样本图像,大小为512*1024,若样本为灰度图,则维度为1,若样本为彩色图,则维度为3。卷积核尺寸为5*5,深度为32,步长为1。本层的输出矩阵大小为512*1024*32。
第二层:bn层,其输入为第一层输出。本层的输出矩阵大小为512*1024*32。
第三层:激活层,其输入为第二层输出,使用的激活函数为relu。本层的输出矩阵大小为512*1024*32。
第四层:卷积层,其输入为第三层输出,大小为512*1024*32。卷积核尺寸为3*3,深度为64,步长为2,使用的激活函数为relu。本层的输出矩阵大小为256*512*64。
第五层:卷积层,其输入为第四层输出,大小为256*512*64。卷积核尺寸为3*3,深度为128,步长为2,使用的激活函数为relu。本层的输出矩阵大小为128*256*128。
第六层:卷积层,其输入为第五层输出,大小为128*256*128。卷积核尺寸为3*3,深度为256,步长为2,使用的激活函数为relu。本层的输出矩阵大小为64*128*256。
第七层:卷积层,其输入为第六层输出,大小为64*128*256。卷积核尺寸为3*3,深度为512,步长为2,使用的激活函数为relu。本层的输出矩阵大小为32*64*512。
解码器具体说明如下。
第一层:反卷积层,其输入为编码器的输出,大小为32*64*512。卷积核尺寸为2*2,深度为256,步长为2。本层的输出矩阵大小为64*128*256。
第二层:反卷积层,其输入为第一层输出,大小为64*128*256。卷积核尺寸为3*3,深度为128,步长为2,使用的激活函数为relu。本层的输出矩阵大小为128*256*128。
第三层:反卷积层,其输入为第二层输出,大小为128*256*128。卷积核尺寸为3*3,深度为64,步长为2,使用的激活函数为relu。本层的输出矩阵大小为256*512*64。
第四层:反卷积层,其输入为第三层输出,大小为256*512*64。卷积核尺寸为3*3,深度为32,步长为2,使用的激活函数为relu。本层的输出矩阵大小为512*1024*32。
第五层:卷积层,其输入为第四层输出,大小为512*1024*32。卷积核尺寸为5*5,深度为3,步长为1。本层的输出矩阵大小为512*1024*3。
第六层:激活层,其输入为第五层输出,使用的激活函数为tanh。本层的输出矩阵大小为512*1024*3。
本发明使用relu作为激活函数,其数学表达为:
步骤003:使用步骤002中训练结束后保存的自编码器,对全部目标样本提取样本特征,本发明中选择解码器第四层输出作为样本特征,按语义信息为特征分类,其中每类特征为32维向量,然后对提取到的每类样本特征做k-mean聚类,每类特征可得到n个聚类中心。
步骤004:从步骤003中得到的每类的n个聚类中心随机选择一个作为目标样本特征结合语义图像作为条件生成对抗卷积神经网络的输入,通过让生成模型和判别模型互相博弈,最终生成更好的样本(图像更锐利、清晰),得到以样本特征为指导的全新图像,保存于本地。本发明中条件生成对抗卷积神经网络的训练过程遵循反向传播原理,目标函数表达如下形式:
其中g为生成网络,d为判别网络,g(s)是生成的图像,s是语义图像,x为s对应的样本图像。
本发明将感知损失推广到em距离中,利用卷积神经网络提取出特征图,作为损失函数的一部分,通过比较生成图片的特征值与样本图片的特征值,使得生成图像与样本图像相对于像素级别的损失函数在语义上更加相似,具体损失函数
其中pg代表生成样本分布,pr代表真实样本分布,fω(x)为特征提取网络,y′为生成图像,y为样本图像,φ为第j层的特征输出。
本发明中选择使用imagenet数据集预训练的部分标准vgg16网络作为损失函数的特征提取网络,不同于步骤002中训练的自编码器,该特征提取网络提取的特征用于计算损失函数,fω(x)满足|fω(x1)-fω(x2)|≤k|x1-x2|,常数k≥0。
条件生成对抗卷积神经网络包括生成模型和判别模型,经过生成对抗过程训练后,生成模型可以生成图像,判别网络通过训练获得了判别真实图像与生成图像的能力。
本发明的条件生成对抗卷积神经网络结构如图3所示,其中左半部分为生成网络,右半部分为判别网络。
本发明中生成网络中包含特征共享嵌入方法,将作为生成网络输入的目标样本特征重塑为符合不同残差层的尺寸后输入残差层,以此达到引导对象生成方向、缓解模式崩溃的目的,生成网络的具体说明如下。
第一层:卷积层,其输入为目标样本特征和条件图像的拼接,维度是1 n(n为特征维度),卷积核尺寸为5*5,深度为64,步长为1,使用的激活函数为relu。本层的输出矩阵大小为16*32*128。
第二层:残差层,输入为第一层的输出和目标样本特征,大小为16*32*128。本层的输出矩阵大小为32*64*128。
第三层:残差层,输入为第二层的输出和目标样本特征,大小为32*64*128。本层的输出矩阵大小为64*128*128。
第四层:残差层,输入为第三层的输出和目标样本特征,大小为64*128*128。本层的输出矩阵大小为128*256*64。
第五层:残差层,输入为第四层的输出和目标样本特征,大小为128*256*64。本层的输出矩阵大小为256*512*64。
第六层:残差层,输入为第五层的输出和目标样本特征,大小为256*512*64。本层的输出矩阵大小为512*1024*64。
第七层:bn层,其输入为第六层输出。本层的输出矩阵大小为512*1024*64。
第八层:激活层,其输入为第七层输出,使用的激活函数为relu。本层的输出矩阵大小为512*1024*64。
第九层:卷积层,输入为第八层的输出,大小为512*1024*64。卷积核大小为3*3,步长为1,输出为3通道,输出大小为512*1024*3。
第十层:激活层,其输入为第七层输出,使用的激活函数为tanh。本层的输出矩阵大小为512*1024*3。
判别网络是一个二分类模型,他会对输入图像进行判断,他的输出是输入图像是否为最真实图像的可能性,判别网络的具体说明如下。
第一层:残差层,输入为生成网络生成的图像和真实图像,大小为512*1024*3。本层的输出矩阵大小为256*512*64。
第二层:残差层,输入为第一层的输出,大小为256*512*64。本层的输出矩阵大小为128*256*64。
第三层:残差层,输入为第二层的输出,大小为128*256*64。本层的输出矩阵大小为64*128*128。
第四层:残差层,输入为第三层的输出,大小为64*128*128。本层的输出矩阵大小为32*64*128。
第五层:残差层,输入为第四层的输出,大小为64*128*128。本层的输出矩阵大小为32*64*128。
第六层:残差层,输入为第五层的输出,大小为32*64*128。本层的输出矩阵大小为16*32*128。
第七层:激活层,其输入为第六层的输出,使用的激活函数为relu。本层的输出矩阵大小为16*32*128。
第八层:全连接层,其输入为第七层的输出,卷积核尺寸为16*32*128,深度为2,使用的激活函数为softmax。本层的输出为二分类结果。
本发明中残差层的结构如图4所示,第一个卷积的卷积核尺寸为1*1,深度为输入深度的二倍,步长为1;第二个卷积的卷积核尺寸为3*3,深度为输入深度,步长为2;第三个卷积的卷积核尺寸为1*1,深度为输入深度的二分之一,步长为1。残差层的输出为残差层的输入加上第三个卷积层的输出,由此构成残差结构。
步骤005:使用步骤004中训练好的生成网络,从步骤003中的得到的特征集合中选择目标特征,结合目标生成图像的语义信息输入生成网络,经过一次前向传播,即可得到目标生成图像。
本发明的实施案例使用8台gtx1080tigpu服务器进行训练,训练数据为5000张场景分割图片,其中所有的对象被标注为35类,从5000张中随机选择4500张作为训练集,另外的500张为测试集。首先使用训练集从头训练自编码器,将学习速率设置为0.001,损失函数为交叉熵损失函数,最小批量为32,设置当损失函数小于0.001时停止训练,此时保存模型。使用解码器第四层的输出作为特征,对4500张图做特征提取,将提取后的特征按语义分类,根据标签信息进行平均池化得到特征,将每类特征聚类为五种风格。训练条件生成对抗卷积神经网络时,按照语义信息随机从每类特征中选择一种风格作为目标样本特征和语义图像一起输入网络,并将特征重塑为不同尺寸输入生成网络的各个层。将学习速率设置为0.0002,损失函数为感知损失函数,最小批量为16,迭代22480次,此时保存模型。测试时使用1台gtx1080tigpu服务器,按照语义信息从每类特征中选择一种风格作为输入特征和语义图一起输入生成网络,经过一次前向传播得到生成图片。本发明能够有效提高图像生成的效率,解决生成图像容易产生模式崩溃的问题。以上所述仅是本发明的优选实施方案,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
1.基于条件生成对抗卷积神经网络的图像生成方法,其特征在于:该生成方法由特征提取器、生成网络和判别网络三部分组成,包括步骤:
步骤1:采集图像,确定学习样本,并分类保存;
步骤2:训练用于特征提取的自编码器,训练结束后保存网络参数和网络结构;
步骤3:使用自编码器作为特征提取卷积神经网络,输入学习样本,聚类得到学习样本特征;
步骤4:使用条件输入和样本特征作为条件生成对抗卷积神经网络的自主学习样本,训练得到图像生成网络模型,训练结束后保存网络模型和权重;
步骤5:准备待生成条件,输入图像生成网络,保存生成图像。
2.根据权利要求1所述的基于条件生成对抗卷积神经网络的图像生成方法,其特征在于:步骤1中所述的学习样本为上过标签的样本,用于训练特征提取器和生成对抗卷积神经网络。
3.根据权利要求1所述的基于条件生成对抗卷积神经网络的图像生成方法,其特征在于:步骤2中所述的自编码器为卷积神经网络,由卷积层和反卷积层构成,使用步骤1中的样本进行训练。
4.根据权利要求1所述的基于条件生成对抗卷积神经网络的图像生成方法,其特征在于:步骤3使用步骤2中特征提取模型,对步骤1中收集的全部样本提取特征,聚类得到聚类中心作为样本特征。
5.根据权利要求1所述的基于条件生成对抗卷积神经网络的图像生成方法,其特征在于:步骤4中,条件生成对抗卷积神经网络包括生成模型和判别模型,输入条件通过生成模型不断生成图像,由判别模型不断判断生成图像是否为真实图片,从而形成博弈训练的过程,最终生成与真实图像一致的生成图像。
6.根据权利要求1所述的基于条件生成对抗卷积神经网络的图像生成方法,其特征在于:步骤5中所述的内容是将目标条件图像输入生成模型,得到目标生成图像。
技术总结