【《图像生成模型的构建分析案例概述》2600字】_第1页
【《图像生成模型的构建分析案例概述》2600字】_第2页
【《图像生成模型的构建分析案例概述》2600字】_第3页
【《图像生成模型的构建分析案例概述》2600字】_第4页
【《图像生成模型的构建分析案例概述》2600字】_第5页
已阅读5页,还剩6页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

附录图像生成模型的构建分析案例概述在进行图像修复之前,首先必须做的是环境配置与图像生成的模型构建。开发环境本地环境配置百度搜索Anaconda,然后查找官网,直接运行exe文件。Pip下载TensorFlow:activateAnaconda3pipinstalltensorflow-gpu安装cuda:结合显卡型号以及系统操作选择匹配的CUDA版本运行JupyTerNotebook,然后直接输入测试代码:importtensorflowastf图3.1本地成功配置tensorflow图网络环境配置方法1(无GPU电脑推荐)使用Colaboratory环境运行。图3.2Colaboratory提供的GPU云的配置详情图网络环境配置方法2(无GPU电脑推荐)使用kaggle环境运行。图3.3Kaggle提供的GPU云的配置详情图深度卷积对抗网络的激活函数激活函数函数图像应用Tanh适用输出需要为-1到1的层Sigmoidsigmoid函数当输出为0和1时曲线趋向平缓,所以适合二分类问题ReluRelu函数比sigmoid收敛的快,但是只适用输出为正数的问题LeakyReLU修正版的Relu函数,可以适用输入含有负数的问题代价函数这里做出假设,生成器生成的图片记为G(Z),X代表着原图,判断结果记作D(X),转化成符号语言就是G目标即1-D(G(Z))无限接近0,D目标就是让D(G(Z))无限接近0,让D(X)无限接近1,这样就得到代价函数。表3.5代价函数D的代价函数G的代价函数训练步骤处理图片数据集生成器:确定生成器包括至少两层结构,然后对噪声温度加以确认,输入以及输出通道数。判别器:确定判别结构,卷积层层数以及所有层卷积核大小,输入以及输出通道数。代价函数:通过交叉熵代价函数构造代价函数。优化器:确定Adam优化器学习率(learning_rate)以及梯度加总衰减率(beta1)。创建tensorflow会话,确定epoch,然后开始运行各张量以及模型。通过测试集或样本集运行模型,测试假图片。根据假图片优化模型,调整参数等,直至假图片效果达到预期。人脸数据集图像生成模型初建cifar10数据模型在生成DCGAN网络图像之前具有良好的数据处理效果,然而,主要因为mnist数据集有着比较简单的构成,且分布了很多cifar10类别,但是采用DCGAN网络并不能修复所有图片,它的修复功能仅仅只是面对特定类别而已,所以,在实际应用过程中,如果在部分缺失图像的处理中运用DCGAN网络进行修复训练,本文认为,效果并不能达到预期,因此,还应该进一步做好修复训练Celeba图像集的工作。人脸图片数据集简介在本文的研究中,裁剪和对齐所有脸部图像是基于数据文件img_align_celeba.zip来作为整体的数据集文件。图3.6Celeba数据集部分图片展示基于人脸图片数据集的图像生成模型的构建在构建Celeba图片生成模型的过程当中主要步骤如下。处理Celeba图片数据裁剪Celeba图片集时采取scipy的库函数。提取数据集的样本集。处理数据集。如表3.3所示为数据的具体处理步骤。表3.7数据处理步骤图处理步骤处理方法对训练集进行剪切使用scipy的crop方法对每张图像进行规范化,范围在[-1,1]因为像素值在[0,255],所以对每个像素点除以255乘以2再减1把图片打乱使用tf的shuffle方法把图片组合为batchbatch_size=128设定循环变量,以batch_size为单位循环切割图片构建判别器对于Celeba判别器而言,四层卷积层组成了该模型的隐藏层,具体如图3.5所示。为了进一步达到叙述的效果,以下通过单张图片来进行模型解释,基于过滤器和same方式填充四层卷积层,执行上述操作的神经层将图像缩小2倍,并增加实际输出图像的通道数。建立一个鉴别器并实际执行上述操作四次或更多次,以将图像由64*64变为4*4,缩小16倍,输出通道数从3逐步变为512,不断增大,然后把4*4*512拉成一维向量,也就是一次展平操作在输出层先上使用,紧接着就在输出为1*1的过程中基于sigmoid函数激活全连接层。图3.8Celeba判别器构造模型(输入的64*64RGB三通道的图片经过四层卷积层输出分类)(3)构建生成器

如图3.9所示,Celba发生器模型的隐藏层由四层组成,这些层转置了卷积层。执行上述动作的神经层实际上输出了两倍的图像并减少了通道数。图3.9Celeba生成器构造模型(输入的100维噪声经过四层转置卷积层生成64*64RGB三通道的假图片)

(4)代价函数与优化器的构建表3.10详细展示了图像生成的代价函数与优化器的创建的方法和代码。表3.10图像生成代价函数与优化器的构建判别器代价函数方法因为判别器想要输入真图片输出1,想要输入假图片输出0,所以需要两个代价函数,一个利用交叉熵函数判断输入真图片输出与1的差别,另一个利用交叉熵函数判断输入假图片输出与0的差别,但是为了防止判别效果太好,导致梯度消失,所以添加很小的参数smooth,输入真图片时判断真图片与1个略比1小的差别。当两个差别过大,就惩罚判别器,以此得到好的判别效果。代码#真图片输出与略比1小的标签的差距

d_loss_real

=

tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(logits=d_logits_real,

labels=tf.ones_like(d_logits_real)

*

(1

-

smooth)))

#假图片输出与标签0的差距

d_loss_fake

=

tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(logits=d_logits_fake,

labels=tf.zeros_like(d_model_fake)))

#两个差距之和构成判别器代价函数

d_loss

=

d_loss_real

+

d_loss_fake

生成器代价函数方法因为生成器想要自己构造的假图片让判别器输出1,所以生成器的构造利用交叉熵函数判断判别器输入假图片输出与1的差别。代码#假图片输出与标签1的差距

g_loss

=

tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(logits=d_logits_fake,

labels=tf.ones_like(d_model_fake))

判别器优化器方法输入学习率learning_rate,权重衰减参数beta1,使用Adam优化器代码#判别器优化器

discriminator_optimizer

=

tf.train.AdamOptimizer(learning_rate=learning_rate,

beta1=beta1)

生成器优化器方法输入学习率learning_rate,权重衰减参数beta1,使用Adam优化器代码#生成器优化器

generator_optimizer

=

tf.train.AdamOptimizer(learning_rate=learning_rate,

beta1=beta1)

(5)参数确定此参数表3.11是经过不断优化实验和参考文献[10]所得。表3.11Celeba训练参数表参数参数值输入噪声维度(z_size)100学习率(learning_rate)0.0002权重衰减率(beta1)0.5增加对抗攻击(smooth)0.1LeakyReLU的斜率(alpha)0.2训练的batch的大小(batch_size)128卷积核大小(ksize)5*5卷积步长(stride)2训练次数(epoch)10模型运行以及分析改进图像生成模型的运行图3.12图像生成过程图(不断优化生成器,输入最左边的随机噪声一步步优化生成器得到不断清晰的人脸生成图像)

图像生成模型的改进通过上文的研究发现,采取一次判别器迭代就达到了图像生成的效果,但是具体而言,在图3.13中我们可以看到,判别器判别损失逐渐朝着0的方向缓慢下降,我们将其称之为梯度消失。

图3.13未优化的损失变化图(未优化时出现了判别器损失接近0的现象)

那么为了有效减少出现梯度消失的可能性,在本文研究当中,重点改进了图像生成模型,将一次生成器损失加原有基础上,得到模型优化,完成了一次判别器优化迭代。根据图3.14我们可以看出,这一损失变化图是已经优化后所呈现出来的变化。我能观察发现,解决了梯度消失的问题。

图3.14优化后的损失变化图(优化后生成器损失与判别器损失的对抗达到新的平衡)​观察图3.15我们发现这是图像生成过程优化,那么基于此过程,达到了良好的图像生成的迭代效果。

图3.15优化后的图像生成过程图(不断优化生成器,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论