企业网站设计论文,工程建设公司发展规划,南宁seo计费管理,网站建设平台案例雷锋网 (公众号#xff1a;雷锋网) 按#xff1a;本文为 雷锋字幕组 编译的技术博客#xff0c;原标题GAN with Keras: Application to Image Deblurring#xff0c;作者为Raphal Meudec。翻译 | 廖颖 陈俊雅 整理 | 凡江2014年 Ian Goodfellow 提出了 生成对抗网络(GAN)…雷锋网 (公众号雷锋网) 按本文为 雷锋字幕组 编译的技术博客原标题GAN with Keras: Application to Image Deblurring作者为Raphaël Meudec。翻译 | 廖颖 陈俊雅 整理 | 凡江2014年 Ian Goodfellow 提出了 生成对抗网络(GAN) 。这篇文章主要介绍在 Keras 中 搭建GAN实现图像去模糊 。所有的Keras代码可点击 这里 。快速回忆生成对抗网络GAN中两个网络的训练相互竞争。生成器( generator) 合成具有说服力的假输入 来误导判别器(discriminator )而判别器则是来 识别这个输入是真的还是假的 。生成对抗网络训练过程— 来源训练过程主要有三步根据噪声生成器 合成假的输入用真的输入和假的输入 共同训练判别器训练整个模型整个模型中判别器与生成器连接注意在第三步中判别器的权重是固定的将这两个网络连接起来是由于生成器的输出没有可用的反馈。 我们唯一的准则就是看判别器是否接受生成器的合成的例子。这些只是对生成对抗网络的一个简单回顾如果还是不够明白的话可以参考 完整介绍 。数据Ian Goodfellow首次使用GAN模型是生成MNIST数据。 而本篇文章是 使用生成对抗网络进行图像去模糊 。因此生成器的输入不是噪声而是模糊图像。数据集来自 GOPRO数据 你可以下载 精简版数据集 (9GB)也可以下载 完整版数据集 (35GB)。其中 包含了来自不同街道视角的人造模糊图像 根据不同的场景将数据集分在各个子文件夹中。我们先把图像分到 A (模糊)和 B (清晰)两个文件夹。这个 AB 结构对应于原始文章 pix2pix 。我创建了一个 自定义脚本来执行这个任务。 看看 README 后尝试一下吧。模型训练过程还是一样首先来看一下神经网络结构。生成器生成器要生成清晰图像网络是基于 ResNet blocks 的它可以记录对原始模糊图像操作的过程。原文还使用了基于 UNet 的版本但我目前还没有实现。这两种结构都可以很好地进行图像去模糊。DeblurGAN 生成器网络 结构 — 来源核心是采用 9 个ResNet blocks 对原始图像进行上采样。来看一下Keras上的实现ResNet 层就是一个基本的卷积层其中,输入和输出相加形成最终输出。生成器结构的 Keras 实现按照计划用9个ResNet blocks对输入进行上采样。我们 在输入到输出增加一个连接 然后除以2 来对输出进行归一化。这就是生成器了! 我们再来看看判别器的结构吧。判别器判别器的目标就是要确定一张输入图片是否为合成的。因此判别器的结构采用卷积结构而且是一个 单值输出 。判别器结构的 Keras 实现最后一步就是建立完整的模型。 这个GAN的一个特点 就是输入的是真实图片而不是噪声 。因此我们就有了 一个对生成器输出的直接反馈 。接下来看看采用两个损失如何充分利用这个特殊性。训练损失我们提取生成器最后和整个模型最后的损失。第一个是 感知损失 根据生成器输出直接可以计算得到。第一个损失保证 GAN 模型针对的是去模糊任务。 它比较了VGG第一次卷积的输出 。第二个损失是对整个模型输出计算的 Wasserstein loss 计算了两张图像的平均差值 。众所周知这种损失可以提高生成对抗网络的收敛性。训练流程第一步是加载数据并初始化模型。我们使用自定义函数加载数据集然后对模型使用 Adam 优化器。我们设置 Keras 可训练选项来防止判别器进行训练。然后我们进行epochs(一个完整的数据集通过了神经网络一次并且返回了一次的过程称为一个epoch)并将整个数据集分批次(batches)。最后根据两者的损失可以相继训练判别器和生成器。用生成器生成假的输入训练判别器区别真假输入并对整个模型进行训练。你可以参考 Github 来查看完整的循环。实验我使用的是在 AWS 实例(p2.xlarge)上配置深度学习 AMI (version 3.0)进行的 。对 GOPRO 精简版 数据集的训练时间大约有 5 个小时(50个epochs)。图像去模糊结果从左到右原始图像模糊图像GAN 输出上面的输出结果都是我们用 Keras 进行 Deblur GAN 的结果。即使是对高度模糊网络也可以减小模糊产生一张具有更多信息的图片使得车灯更加汇聚树枝更加清晰。左图 GOPRO 测试图像右图GAN 输出结果因为引入了VGG来计算损失所以会产生图像顶部出现感应特征的局限。左图 GOPRO 测试图像右图GAN 输出结果希望你们可以喜欢这篇关于生成对抗网络用于图像去模糊的文章。 你可以评论关注我或者 联系我 。如果你对机器视觉感兴趣我们还写过一篇用Keras实现 基于内容的图像复原 。下面是生成对抗网络资源的列表。左图 GOPRO 测试图像右图GAN 输出结果生成对抗网络资源更多文章关注雷锋网 雷锋网雷锋网添加雷锋字幕组微信号(leiphonefansub)为好友备注「我要加入」To be an AI Volunteer 雷锋网原创文章未经授权禁止转载。详情见 转载须知 。