毕业设计 基于深度学习的图像修复算法 DCGAN

这篇具有很好参考价值的文章主要介绍了毕业设计 基于深度学习的图像修复算法 DCGAN。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0 简介

今天学长向大家分享一个毕业设计项目

基于深度学习的图像修复算法 DCGAN

项目获取:

https://gitee.com/sinonfin/algorithm-sharing文章来源地址https://www.toymoban.com/news/detail-810455.html

1 图像修复

图像修复是指利用复杂的算法重建图形中丢失或损坏的部分的过程。在现实生活中,这项工作仍然由经验丰富的图像修复师来完成。图像修复技术主要用来修复日常生活中被噪声污染或者人为破坏的破损图像,其次也可应用于替换图像中的小区域或者瑕疵。所以让图像修复借助深度学习的算法和框架自动化是一个值得深入研究的课题。

在原来的图像生成模型相应的增加一个图像修复代价优化器即可完成图像修复模型的构建。在训练时,应该在进行图像修复之前应该先迭代训练图像生成模型,找寻到能生成假图片的权重矩阵,再利用该权重矩阵进行图像修复模型迭代优化,具体来说是先完成图像生成迭代,然后停止图像生成优化,对图像生成的输入噪声迭代优化,找到与修复图相同的输入分布之后生成最佳假图片,提取假图片投影进行拼接即完成图像修复,下图展示这种图像修复模型的运行过程

图像修复网络训练,深度学习,算法,python,课程设计,计算机视觉,人工智能

2 生成对抗网络与图像修复

2.1 生成对抗网络简介

生成对抗网络其实两个网络互相博弈,最终达到纳什均衡。这两个网络一个是生成器网络,它的目标接受随机噪声,不断训练生成假图片,为了方便叙述把生成假图片的函数记作G(z)。另一个网络是判别器网络,该网络负责判断输入的图片是由G(z)生成的假图片还是原图,如果是原图的会输出1,如果是假图片输出0.这两个网络的博弈过程具体说就是生成器网络输入随机噪声后不断生成足够接近真实图片的假图片去欺骗判别器网络,而判别器网络就是要把生成器网络生成的假图片判断出来,这样两者互相博弈,最终到达纳什均衡。图2.5是GAN网络的对抗生成原理图。

图像修复网络训练,深度学习,算法,python,课程设计,计算机视觉,人工智能

上图 GAN网络生成图片原理图 (输入随机噪声生成器生成的假图片以及真图片又作为判别器的输入,判别器判别错误惩罚判别器,判别正确惩罚生成器)

3 生成对抗网络在图像修复上的应用

把GAN网络应用于图像修复[9]时,首先不考虑的是使用破损的不完整图像进行修复,而是采用完整的原图进行GAN网络训练图像生成模型。首先随机输入一些噪声,使用GAN模型的生成器与判别器互相博弈,使生成器能有产生接近原图的假图片的能力。但是此时的模型还不足够生成最佳的假图片进行图像修复,因为该假图片的输入的概率分布不一定与待修复图片的概率分布一致,所以对假图片的输入噪声进行迭代更新,直到训练后输入的概率分布与待修复图片一致,即可提取由生成器生成的假图片和破损原图一样大一样位置的破损块,利用破损块与待修复图做简单的通道拼接之后即可完成图像修复工作。图2.6即为使用GAN网络进行图像修复的原理图。

图像修复网络训练,深度学习,算法,python,课程设计,计算机视觉,人工智能

GAN网络进行图像修复的原理 (随机噪声经过生成器多次迭代后提取生成后假图片的部分填充到待修复图)

4 深度卷积对抗网络与图像修复

4.1 深度卷积对抗网络简介

DCGAN网络简单来理解就是把GAN网络框架的生成器和判别器用卷积神经网络实现。但是在进行实验时,为了提高训练收敛的速度,DCGAN对卷积网络的结构进行了一些修正,这些修正如下:

  • (1) 取消卷积后的池化层,在判别器网络中取消的池化层改用卷积层,在生成器网络中取消的池化层改用转置卷积层。
  • (2) 对判别器网络训练时除了输出层外都采用relu函数进行激活。输出层为保证输出为两个输出,采用sigmoid函数。
  • (3) 对生成器网络训练时除了输出层外都采用修正的ReLU函数LeakyReLU函数进行激活。输出层为保证输出在-1到1之间,采用tanh激活。
    图像修复网络训练,深度学习,算法,python,课程设计,计算机视觉,人工智能

上图为DCGAN网络的生成器。

图2.7 DCGAN网络的生成器 (100维噪声经过三层转置卷积层图像
由窄深变为宽浅)

  • (4) 卷积后每一层在激活前都使用batch_normalization归一化,避免参数过大,出现过拟合现象。
  • (5) 取消密集(dense)层。

4.2 深度卷积对抗网络与图像修复

DCGAN网络实际是GAN网络的升级,所以使用DCGAN网络进行图像修复的原理与GAN网络相似。总的来说就是训练生成器具备生成假图片的能力,然后不断调整输入,使之能找到最佳假图片。关于原理细节和实验细节将在第三,四章详细介绍。

5 算法实现

5.1 数据集

Celeba数据集最初是由The Chinese University of Hong Kong的MMLAB收集的用来训练的人脸图片集,该人脸图片集包含202,599张各种名人的脸部图像,并对人脸的5个标志:眼睛的左边与右边,鼻子,嘴巴的左边与右边进行标记,本文采用的数据文件img_align_celeba.zip为所有脸部图像进行了裁剪和对齐的数据集文件。

图像修复网络训练,深度学习,算法,python,课程设计,计算机视觉,人工智能

5.2 基于人脸图片数据集的图像生成模型的构建

下面按照本章描写的步骤对Celeba图片进行图像生成模型的构建。本部分将会详细介绍模型的形成。
(1)Celeba图片数据的处理
①使用scipy的库函数对Celeba图片集进行裁剪[shape=64643]。
②首先从数据集中提取样本集。
③对数据集进行处理。

对数据具体的数据处理步骤和方法如下。

图像修复网络训练,深度学习,算法,python,课程设计,计算机视觉,人工智能

图像生成代价函数与优化器的构建

判别器代价函数 方法 因为判别器想要输入真图片输出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)  


参数确定
此参数是经过不断优化实验所得。

参数 参数值
输入噪声维度(z_size) 100
学习率(learning_rate) 0.0002
权重衰减率(beta1) 0.5
增加对抗攻击(smooth) 0.1
LeakyReLU的斜率(alpha) 0.2
训练的batch的大小(batch_size) 128
卷积核大小(ksize) 5*5
卷积步长(stride) 2
训练次数(epoch) 10

5.3 实现效果

此次模型采用优化一次判别器,再优化一次生成器的方法进行图像生成,下图展示了图像生成的过程。(输入为100维随机噪声向量,经过迭代不断生成假图片的过程)

图像修复网络训练,深度学习,算法,python,课程设计,计算机视觉,人工智能

6 模型改进

虽然使用一次判别器迭代,一次生成器迭代达到图像生成的目的,但是通过观察图损失变化图(红线是生成器生成损失,蓝线是判别器判别损失),容易发现判别器判别损失有趋于0的现象,此种现象叫做梯度消失。

图像修复网络训练,深度学习,算法,python,课程设计,计算机视觉,人工智能

为了解决这种梯度消失现象,本文对图像生成模型进行了改进,在原有基础上增加了一次生成器损失,也就是优化后的模型变为一次判别器优化迭代,两次生成器迭代优化。图展示了优化后的损失变化图。很明显从图中能看出梯度消失得到了解决。

图像修复网络训练,深度学习,算法,python,课程设计,计算机视觉,人工智能

展示了进行优化后的图像生成过程,可以从图中看出图像生成的迭代效果也比之前有了提高

图像修复网络训练,深度学习,算法,python,课程设计,计算机视觉,人工智能

完整项目与论文获取:

https://gitee.com/sinonfin/algorithm-sharing

详细设计论文
图像修复网络训练,深度学习,算法,python,课程设计,计算机视觉,人工智能

5 最后

项目获取:

https://gitee.com/sinonfin/algorithm-sharing

到了这里,关于毕业设计 基于深度学习的图像修复算法 DCGAN的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 毕业设计-基于深度学习的图像去噪方法研究

    目录 前言 课题背景和意义 实现技术思路 实现效果图样例     📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学

    2023年04月18日
    浏览(55)
  • 毕业设计:基于深度学习的图像去噪算法 人工智能

    目录 前言 项目背景 设计思路 数据集 模型训练 更多帮助     📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学

    2024年02月19日
    浏览(52)
  • 毕业设计——基于深度学习的医学图像处理分析平台,AI全自动疾病诊断

    基于LSTM-CLIP的多模态自主疾病诊疗方法,包含。包括电子病历信息预处理模块、transformer文本编码器模块、图像编码器模块、图像特征提取网络模块、LSTM循环神经网络模块、以及基于强化学习的交互模块。其中:电子病历信息预处理模块:用于采集病人文本病历以及影像学病

    2024年01月20日
    浏览(51)
  • 基于深度学习、机器学习,对抗生成网络,OpenCV,图像处理,卷积神经网络计算机毕业设计选题指导

    开发一个实时手势识别系统,使用卷积神经网络(CNN)和深度学习技术,能够识别用户的手势并将其映射到计算机操作,如控制游戏、音量调整等。这个项目需要涵盖图像处理、神经网络训练和实时计算等方面的知识。 利用深度学习模型,设计一个人脸识别系统,可以识别人

    2024年02月07日
    浏览(88)
  • 基于计算机视觉,深度学习、机器学习,OpenCV,图像分割,目标检测卷积神经网络计算机毕业设计选题题目大全选题指导

    随着深度学习、机器学习和神经网络技术的快速发展,计算机视觉领域的应用变得越来越广泛和有趣。本毕业设计旨在探索这一领域的前沿技术,将深度学习模型、神经网络架构、OpenCV图像处理工具,以及卷积神经网络(CNN)的强大能力结合起来,以解决实际图像处理问题。

    2024年02月08日
    浏览(79)
  • 算法毕业设计 深度学习图像搜索算法-图像搜索引擎(源码分享)

    今天学长向大家分享一个毕业设计项目 毕业设计 深度学习图像搜索算法-图像搜索引擎(源码分享) 项目运行效果: 毕业设计 深度学习图像搜索算法-图像搜索引擎 项目获取: https://gitee.com/sinonfin/algorithm-sharing 图像检索:是从一堆图片中找到与待匹配的图像相似的图片,就是

    2024年02月03日
    浏览(58)
  • 【毕业设计】深度学习卫星遥感图像检测与识别系统(目标检测)

    🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问都可以问学长哦! 这两年开始,各个学校对毕设的要求越来越高,难度也越来越大… 毕业设计耗费时间,耗费精力,甚至有些题目即使是专业的老师或者硕士生也需要很长时间,所以一旦发现问题,一定

    2024年02月08日
    浏览(73)
  • 大数据毕业设计 深度学习垃圾图像分类系统 - opencv python

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月02日
    浏览(71)
  • 本科毕业设计(云计算、深度学习、Python) 基于云计算的毕业设计题目

    github CSDN 毕设网 基于云计算的毕业设计题目1-10题 1、基于云计算的综合运维管理平台关键技术研究 2、基于云计算的海量电力数据分析系统设计与应用研究 3、基于云计算的激光医学图像伪影去除系统 4、基于云计算的船舶发电机组功率智能控制技术 5、基于云计算的数字媒体

    2024年02月01日
    浏览(68)
  • 毕业设计-基于深度学习的人脸表情识别

    目录 前言 课题背景和意义 实现技术思路 一、深度学习理论基础  二、AdaBoost 结合 SVM 算法表情识别  三、基于 MTCNN 算法的人脸表情识别 实现效果图样例 最后     📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计

    2024年02月01日
    浏览(79)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包