基于自编码器的生成网络

深度自编码器( DAE) 网络,图2 给出了一个5层的深度自编码器网络示意图,其隐层( L2 ~ L4)的节点数目由多到少,再由少到多,最后输出层节点与输入层节点的数目一致。本质上, 中间的每层都是原输入的一个表示, 最低维度的表示在 L3 层。

深度网络的训练

深度置信网络(DBN)提出了非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,在深度网络的训练中,先用无监督逐层贪心训练算法对隐层完成预训练,然后使用反向传播( BP) 算法对整个神经网络进行系统性参数优化调整, 这种策略显著地降低了神经网络的训练难度,有效地改善了BP 算法容易陷入局部最小的不良状况 。本质上,DBN 与自编码器网络类似,都是学习输入信号的表示,并尽可能地还原原始信号,DBN 的特点是可以提取原高维复杂信号的分层特征,并提出一种有效的多层网络的训练方法。该训练方法特别是其中的预训练过程使得深层神经网络的训练变为可能,也是当今深度学习方法最有效的训练方法。

整个 DBN 网络训练过程包括3 步: 第1 步是预训练,第2 步是展开,第3 步是微调。

卷积自编码器网络的训练

卷积自编码网络( CAE) ,有效地解决了 CNN 网络需要进行监督学习的困难。CAE 不同于传统的自编码网络,其权值在所有神经元之间共享, 保持了图像空间的局部性,解码(重建)过程通过图像局部块的线性组合实现。

对于输入图像的一个通道图 X ,假定有k 个卷积核 Wi,i = 1,…,k ,每个卷积核有一个偏置 b , 则可以生成 k 个特征图 h , 即

在CAE 网络中,编码的过程就是按公式逐层卷积的过程。重建时将每幅特征图hi 与其对应的卷积核进行卷积操作并将结果求和,再加上偏置c , 即

式中,H 是前一层输出的特征映射组,Y 为解码结果。需要注意的是在 CAE 网络中,编码的过程一般是降低维度的过程,解码的过程一般是增加维度的

过程,为了保证解码后将数据恢复到原始尺寸,在编码过程中使用的是一般卷积而解码过程的卷积操作称为反卷积, 在网络的训练过程中, 一般采用均方误差( MSE) 为代价函数, 即为

式中,E(θ)是关于W 和b 的参数。有了代价函数,网络的训练过程即和标准的神经网络一样,采用反向传播算法计算误差函数相对于参数的梯度,具体为

有了基于卷积的深度自编码器网络及其训练方法,即可以将该结构应用到图像修复,仅仅是输入和输出的内容有所不同,输入的是图像中的已知部分, 输出的是图像的未知部分,在网络训练过程中,可以通过选定图像中已知的一部分假定为未知部分,通过图像的其余部分学习生成假定的未知部分。

基于卷积自编码的图像修复方法

这种网络结构也被广泛应用到图像的风格迁移 、图像生成、图像的超分辨率重建 、图像着色 、图像分割 、基于视频的预测 等视频图像处理工作。其前半部分是一系列逐层下采样的处理,而后半部分是类似于前半部分的一个逆操作,即在编码过程中逐渐降低图像的尺度,在解码过程中逐渐增大图像的尺度,最终形成了一个类似“沙漏”的网络结构。

在最初的编码—解码图像修复方法中作者使用欧氏距离和对抗损失作为约束进行训练。由于欧氏距离是最小化所有输入与输出的平均值, 这必然会引起模糊。仅仅使用预测值和实际像素值之间的欧氏距离作为损失函数训练的网络生成的图片趋向于模糊, 因此,在 Context Encoder 方法中,增加了一项对抗损失,主要就是通过判别生成的修复区域图像是来自生成器还是真实的图像,使得整个结果更加真实( 输出的结果具有更多的边缘,结构更加合理) ,通过增加这个对抗损失的约束,取得更加逼真的修复结果。

但这个对抗损失约束依然会存在问题: 一方面,这个约束仅仅判断了修复区域的真实性,这不能正则化修复图像的全局结构,即不能保证修复区域和已知区域的一致性; 另一方面,这个对抗损失是对修复区域内图像真伪的判断,在进行反向传播时很难对修复区域以外的区域产生直接影响,这会造成修复区域边界像素值的不连续性,在 Context Encoder网络中,也发现了该问题,并通过增加边缘区域的权重值使得这个问题 得到一定程度的解决。

为了生成更加合理的人脸图像,将Context Encoder 网络中的对抗损失称为局部对抗损失 Dl ,并增加了一项新的对抗损失,称为全局对抗损失 Dg ,即将修复区域补全到原图后再判断整个修复图像的真伪, 这个损失就可以在保证生成的内容更加真实的同时,也能够保持在边界区域上像素值的连续。通过使用全局和局部图像的对抗训练,可以改善生成人脸图像的质量。增加了局部对抗损失和全局对抗损失的网络结构如图6 所示

采用这类基于深度卷积自编码网络结构的修复方法根据解码器解码结果大小又可以分为两个子类: 第1 个子类的解码器以生成损失区域图像块为目的进行训练; 第2 个子类的解码器生成包括原图像已知部分和破损区域的整个图像 。即第1 个子类的编码—解码网络的输入、输出图像的大小不一致,输入是包括破损区域的整幅图像,输出的仅是破损区域; 第2 个子类的编码—解码网络的输入、输出图像的分辨率一致,都是整幅图像的大小。

进一步,许多研究人员基于编码—解码网络结构提出了许多改进方法,将修复过程分成了两个编码解码的步骤( 本质上是两个深度卷积自编码器网络) : 第1 步的网络被称为粗糙网络,基于L2 距离进行训练得到修复区域粗精度的修复结果; 第2 步称为精细网络, 通过该网络对第 1 步的结果进行纹理细节增强,精细网络的训练则是通过局部对抗损失 Dl 和全局对抗损失 Dg 进行训练。类似地,将修复过程网络划分为两个步骤: 第 1 步称为图像到特征的网络,用于修复粗精度的图像特征,第2 步称为特征到图像的网络,用于实现高分辨率的图像修复。为了使得修复的结果纹理更加真实,纹理合成的方法也增加到图像修复结构中,增加纹理合成的思想到编码—解码结构的修复网络,具体以低分辨率图像修复的结果(使用 Context Encoder 网络) 作为内容约束项,并利用纹理约束的多尺度神经网络图像块合成方法进行高分辨率图像修复。

图7 给出了一组基于自编码网络结构使用不同损失函数的修复结果对比图。图 7(a)为增加了掩码的原始图像,图7(b)为仅仅由 L2 损失函数训练后的修复结果,图7(c)为通过 L2 和Dl 两个损失函数训练后的修复结果,图7 (d)为通过 L2 、Dl 和Dg 3 个损失函数训练后的修复结果。可见图7(b)有明显模糊,图7(c)里有更多的边界轮廓内容; 相对于图7 (b) ,图7 (c)具有更多的细节信息; 而图7(d)相对于图7(c) 具有更好的全局一致性视觉效果。在基于深度卷积自编码网络结构的修复方法中除了使用 L2 、Dl 和 Dg 损失外,其他如语义感知对抗损失等方法也被提出,这类方法在具有明显语义结构的图像修复中可以取得好的结果。

此外,基于编码—解码过程的基本思想,一方面,一些混合网络结构的方法被提出用于图像修复,

先用CNN 网络提取图像的细节和全局特征,再使用修复CNN 网络计算修复图像块与原图像块的特征信息差异训练修复网络。另一方面,在基本的网络结构上,考虑在图像分割中使用的U-Net 结构取得了非常精确的分割结果,这种结构通过增加将高分辨率特征传递到后边对称的上采样层以补充编码过程中丢失的相关特征。通过增加这种跳跃式的连接 (skipconnections) 将编码阶段提取的特征增加到生成修复阶段,使得最终的生成图像和输入图像具有更加相近的细节分辨率。

 基于卷积自编码的图像修复方法实验分析

采用图6 包括 L2 、Dl 和 Dg 3 个损失的网络,使用 Paris 数据集进行网络训练(分辨率为 128 ×128 像素的输入样本,训练生成输入样本中间 64 ×64 像素的空洞区域) ,Paris 数据集包括6392 幅可用图像,使用同样以巴黎为图像内容的Paris Street View 库提供的100 张测试图片进行图像修复测试。图14 给出了部分测试图片的修复结果,图14(a)为增加了掩码的待修复图像,图14(b)为对应的修复结果图,可见,修复结果中区域连贯,生成了符合图像语义的内容。

进一步随机从 ImageNet 数据集中选择160 000幅图像对图 6 网络进行训练,完成高分辨率图像( 512 × 512 像素) 的修复,结果如图15 所示 修复结果在保证轮廓边缘连贯的同时,保持了视觉全局的一致性。

基于卷积自编码网络结构的图像修复相关推荐

  1. ICCV 2019 | 基于关联语义注意力模型的图像修复

    作者丨薛洁婷 学校丨北京交通大学硕士生 研究方向丨图像翻译 论文引入 图像修复问题的关键是维持修复后图像的全局语义一致性以及破损区域的细节纹理合理性.近期关于图像修复问题的研究主要集中于通过使用空间注 ...

  2. 论文笔记(二):基于卷积神经网络的高分辨率遥感图像上的水体识别技术

    基于卷积神经网络的高分辨率遥感图像上的水体识别技术 作者:徐文健 作者单位:浙江大学 日期:2017.01 (硕士学位论文) https://kns.cnki.net/KCMS/detail/deta ...

  3. 基于生成对抗网络结构的图像修复(GAN)

    GAN网络的最初发展史 自2014 年10 月Goodfellow 等人提出了一个通过对抗过程生成模型的框架开始,GAN 网络就成为近年来在无监督学习复杂分布中最具前景的方法之一.而其最初给研究人员的 ...

  4. (门控卷积实现)DeepFillv2(图像修复):Free-Form Image Inpainting with Gated Convolution,pytroch代码实现

    deepfillv2的动机 ​ 结合了几乎所有的目前先进的图像修复技术,基于部分卷积提出了门控卷积,结合了CA中的注意力机制,根据 Adversarial Edge图像修复中的边缘信息先验提出了用户可 ...

  5. 基于卷积神经网络的多目标图像检测研究(四)

    第4章 Faster R-CNN网络模型设计 4.1 Faster RCN文件结构介绍 本文在介绍具体的训练模型之前,先介绍Faster RCNN的文件结构.如图4.1所示,主要包括了7个文件夹和4个 ...

  6. 基于深度学习的Image Inpainting (图像修复)论文推荐(持续更新)

    传统的图形学和视觉的研究方法,主要还是基于数学和物理的方法.然而随着近几年深度学习在视觉领域取得的卓越的效果,视觉领域研究的前沿已经基本被深度学习占领.在这样的形势之下,越来越多的图形学研究者也开始将 ...

  7. 基于卷积神经网络的多目标图像检测研究(一)

    摘 要 目标检测任务简单来说是在图片或视频中指出多个特定目标并以方框形式给出这些物体在图片中的位置和大小.它与我们的生活密切相关,它被广泛应用于安全识别.无人驾驶.医疗诊断.图像检索等领域,并且未来将 ...

  8. 基于卷积神经网络的多目标图像检测研究(三)

    第3章 数据集建立 最终模型的工作性能很大程度上取决于训练数据集的好坏.本文以生活中常见的人.车.椅子和杯子这四类物体为研究对象,采用Faster RCNN目标检测算法对其进行训练与检测.目标检测算法 ...

  9. 文献阅读笔记--深度学习图像修复方法综述

    1.基本信息: 深度学习图像修复方法综述 强振平,何丽波,陈旭,徐丹 2018-10 中国图像图形学报 2.核心内容: (1)基于深度学习的图像修复理论及其发展现状的综述,所使用的方法是对基于深度学习 ...

最新文章

  1. 下一代图片压缩格式 AVIF怎么样?
  2. 【深度学习入门到精通系列】图片OCR讲解
  3. python corrwith_python – pandas.DataFrame corrwith()方法
  4. Visual Studio Code常用快捷键
  5. stacking与blending的区别
  6. 中南大学计算机网.doc,中南大学计算机网络实验报告.doc
  7. 你看,公司状告员工不加班,居然还告赢了
  8. 容器编排技术 -- 从零开始k8s
  9. java动画api_使用MMAPI播放gif动画
  10. 转贴:win2008改造成准VISTA
  11. js轮播图片小圆点变化_原生js实现轮播图的示例代码
  12. Go的安装使用(一)
  13. word 方框内打勾√或打叉×
  14. 用python计算工资工资_教你使用Python实现新个税计算器,税前税后工资计算器
  15. 第一次学游泳技巧_第一次学游泳作文8篇
  16. 人工神经元网络及其应用,现有的人工神经元网络
  17. mybatis的几种锁
  18. 新一配:perl循环调用python爬虫批量下载喜马拉雅音频
  19. Cesium 修改geojson样式
  20. 关于“打开数据库时出错: 到主机 的 TCP/IP 连接失败。”的解决方法

热门文章

  1. 信号与系统:因果与非因果系统的理解
  2. IOS下localstorage不起作用提示
  3. 《MySQL DBA修炼之道》——1.3 查询执行过程概述
  4. 男人,如何洞悉女人的内心世界笔记
  5. 新手用canvas画时钟
  6. 木马是如何穿过防火墙的
  7. 我能成为一名布道师吗?
  8. Java基础--数组的认识(通透!!!)
  9. 爬虫漫游指南:浏览器指纹
  10. 【解决方案】如何结合智慧工地上云平台实现视频监控的多终端观看?