图像修复论文阅读笔记-----Globally and Locally Consistent Image Completion
概述
论文链接:https://dl.acm.org/doi/abs/10.1145/3072959.3073659
代码:https://github.com/otenim/GLCIC-PyTorch
此篇论文的工作是基于前一年提出的上下文编码器(Pathak 等。 - 2016 - Context Encoders Feature Learning by Inpainting),即https://openaccess.thecvf.com/content_cvpr_2016/papers/Pathak_Context_Encoders_Feature_CVPR_2016_paper.pdf
摘要
全局鉴别器查看整个图像以评估其整体是否一致,而局部鉴别器仅查看以完成区域为中心的小区域以确保生成的面片的局部一致性,然后训练图像完成网络以欺骗两个上下文鉴别器网络。
一、引言
此篇论文的工作是基于前一年提出的上下文编码器(Pathak 等。 - 2016 - Context Encoders Feature Learning by Inpainting),即https://openaccess.thecvf.com/content_cvpr_2016/papers/Pathak_Context_Encoders_Feature_CVPR_2016_paper.pdf。
CE方法采用了使用对抗损失训练的卷积神经网络,CE(Context Encoders )方法是由特征学习驱动的,并没有完全描述如何处理任意修复掩模,也没有描述如何将该方法应用于高分辨率图像。本文提出的方法解决了这两点,并进一步提高了结果的视觉质量。
体系结构由三个网络组成:完成网络、全局上下文鉴别器和局部上下文鉴别符。完成网络是完全卷积的,用于完成图像,而全局和局部上下文鉴别器都是专门用于训练的辅助网络。
全局鉴别器将整个图像作为输入,以识别场景的全局一致性,而局部鉴别器仅查看完成区域周围的小区域,以判断更详细外观的质量。在每次训练迭代期间,首先更新鉴别器,以便它们正确区分真实和完成的训练图像。 之后,完成网络被更新,使得它足够好地填充缺失区域以欺骗上下文鉴别器网络。
二、 相关工作
- 基于扩散的方法
- 基于补丁的方法
上面两种都是比较传统的方法,介绍的论文也都是10年之前的。这些方法依赖于低层特征,在面对一些比较复杂的结构时没有很好得效果。早期的基于面片的方法的明显限制是合成纹理仅来自输入图像。当在输入图像中找不到合适的纹理纹理时,就生成不了效果比较好的图像。
通过使用均方误差(MSE)损失和GAN损失,Pathak等人[2016年论文]能够训练修复网络,在128×128像素图像的中心完成64×64像素区域,避免了仅使用MSE损失常见的模糊。本文通过使用全卷积网络将他们的工作扩展到处理任意分辨率,并通过使用全局和局部鉴别器显著提高视觉质量。 可以处理任意图像大小和掩码,同时与图像保持一致,并能够生成新对象。
GAN的主要问题之一是学习过程中的不稳定性,通过不训练纯生成模型和调整学习过程以优先考虑稳定性来避免这个问题。此外,本文还专门针对图像完成问题对架构和训练过程进行了大量优化。
三、方法
一个生成网络和两个鉴别器。
生成网络结构:
局部鉴别网络和全局鉴别网络:
空间支持:
Ω1、Ω2表示空间支持,即影响区域。Ω_1、Ω_2表示空间支持,即影响区域。 Ω1、Ω2表示空间支持,即影响区域。
了能够完成大区域,用于计算输出像素的空间支持必须包括孔外的像素。左边像素p1包含了孔外的信息,而像素p2没有包含孔外的信息。而右边使用了扩展卷积,使p1和p2都能够包含孔外的信息。
训练
使用Places2数据集的8097967张训练图像来训练模型。该数据集包括各种场景的图像,最初用于场景分类。将加权超参数设置为α=0.0004, 训练使用批量大小为96张图像。完成网络被训练用于TC=90000次迭代;然后对鉴别器进行TD=10000次迭代的训练;最后,两者都被联合训练以达到TTrain=500000次迭代的总和。整个培训过程在配备四个K80 GPU的单机上大约需要2个月。
2个月!!!!我直接人麻了!!我是接着看还是直接run???
MSE(均方误差 )损失定义如下:
L(x,Mc)=∣∣Mc⊙(C(x,Mc)−x)∣∣2L(x, Mc ) = || Mc ⊙ (C(x, Mc ) − x) ||^2 L(x,Mc)=∣∣Mc⊙(C(x,Mc)−x)∣∣2
其中⊙ 是逐像素乘法,|| • ||是欧几里德范数。
**逐像素乘法:**逐个对应位的像素相乘再相加,如果值大于255时,则取 255。
欧几里德范数:
欧几里得范数(Euclidean norm) ==欧式长度 =L2 范数 ==L2距离
L2 范数表示符合可以为 或者 ,甚至
计算公式如下
对于一个向量,假设向量
则L2范数定义为向量所有元素的平方和的开平方
四、修复结果
修复结果无非就是和先前的一些方法进行对比、用在实际应用中的效果,用户评估,消融实验等等。不过本篇论文没有在客观的参数上(如峰值信噪比、结构一致性)进行对比评估。
修复效果:
消融实验:
对象移除:
五、结论
总结:
提出了一种新的图像完成方法,该方法基于卷积神经网络产生局部和全局一致的图像完成。使用生成器,局部鉴别器和全局鉴别器。与基于补丁的方法不同,本文的方法可以生成图像中没有出现的新对象。
局限性:
尽管模型可以处理具有任意孔的各种尺寸的图像,但由于模型的空间支持的限制,无法填充明显较大的孔。通过改变模型结构以包括更多的扩展卷积,有可能推高此限值。但是此限制严格适用于方形掩模,例如,只要不太高,仍可完成宽区域:将使用上面和下面的信息来完成图像。 这在图像外推的情况下尤其有限,其中修复掩模位于图像的边界。
两个示例:
左边是缺失的内容都在同一边,右边是缺失的的面积太大。
还有一种效果不好的情况:当重结构物体(例如人或动物)被部分掩蔽时。
主要是三种情况下修复效果不好:
- 缺失的内容都在同一边;
- 缺失的的面积太大;
- 重结构物体被部分掩蔽时。
图像修复论文阅读笔记-----Globally and Locally Consistent Image Completion相关推荐
- 论文阅读——Globally and Locally Consistent Image Completion
原文连接: Globally and Locally Consistent Image Completion (ToG 2017). Iizuka, S., Simo-Serra, E., & ...
- Globally and Locally Consistent Image Completion 实验记录
下面是我当时在复现这篇论文是时的过程,不想看的可以直接去我的Github上看代码. https://github.com/CoderAnn/GLCI 有问题可以留言,一定会尽全力解答. 实验过程简介: ...
- 图片补全《Globally and locally consistent image completion》
图像补全 – Globally and Locally Consistent Image Completion 文章来源:SIGGRAPH 2017 下载链接:http://iizuka.cs.tsu ...
- Globally and Locally Consistent Image Completion
1. Motivation 以前的方法只能生成可以在缺失图像中可以找到的图像碎片,不能理解高级的语义信息: Context Encoders局部的细节修复不是很好,而且分辨率低. 2. Approac ...
- 《Globally and locally consistent image completion》图像修复论文解读
作者在context encoder的基础上进行改进,整个网络由一个修复网络和两个鉴别网络(全局鉴别网络和局部鉴别网络)组成.修复网络用来对进入其中的图像进行修复,而鉴别网络用来对图像进行判别.鉴别网 ...
- 论文精度 —— 2017 ACM《Globally and Locally Consistent Image Completion》
总述 作者受到了Inpainting开山之作<Context Encoders: Feature Learning by Inpainting>(2016 CVPR)的启发,沿用了它的编码 ...
- 【每周CV论文推荐】基于GAN的图像修复值得阅读的文章
欢迎来到<每周CV论文推荐>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 图像修复(补全)是一个非常基础的图像处理领域 ...
- 基于深度学习的Image Inpainting (图像修复)论文推荐(持续更新)
传统的图形学和视觉的研究方法,主要还是基于数学和物理的方法.然而随着近几年深度学习在视觉领域取得的卓越的效果,视觉领域研究的前沿已经基本被深度学习占领.在这样的形势之下,越来越多的图形学研究者也开始将 ...
- 10篇必读深度图像修复论文,珍贵老照片有救了!
如果觉得有帮助,就关注一下吧! 照片,在大家生活中扮演者非常重要的角色. 难忘的瞬间.美好的风景.珍贵的回忆,我们总喜欢用照片把它保留下来. 但是,瑕疵.水印.遮挡.涂鸦这些让美好蒙上了一层阴影. 当 ...
最新文章
- android 模拟器
- nginx+uWSGI+django+virtualenv+supervisor发布web服务器
- 记录第一次部署servlet实例
- SAP CRM WebClient UI Context node expose条件
- 卡通驱动项目ThreeDPoseTracker——关键点平滑方案解析
- java 设计模式 prototype_Java设计模式之Prototype原型模式
- 深度优先搜索之城堡问题
- C语言学习笔记---可变参数
- Javascript in one picture
- 如何终止Java线程
- VB 利用fso 枚举文件和文件夹
- 解决git克隆项目出现fatal无法访问‘https://github.com/xxx/xxx‘Unsupported proxy syntax in‘127.0.0.1:8118‘
- 冰点文库 3.2.14
- db文件查看工具SQLiteExpert
- 多张eps合并成一张
- 电子设计教程53:555定时器工作原理与常见应用
- 【知识图谱】04RDF数据生成(使用D2RQ)
- python输出数组类型_python输出数组中指定元素的所有索引示例
- [渝粤教育] 天津师范大学 中学地理教学设计 参考 资料
- 为了讨好程序员,阿里云和 Costa 开了家码农咖啡馆
热门文章
- 情侣的网站代码java_GitHub - 90x64/lovers-website: 程序员的情侣网站 (programmer's website of lovers)...
- 华为p4不是鸿蒙吗怎么又改为安卓_华为鸿蒙系统不是为华为手机设计的 华为手机将继续使用安卓...
- 华为p4支持鸿蒙功能吗_华为鸿蒙系统支持机型介绍
- Unity 托管内存(Managed Memory)
- php 设置斜体字体,斜体 - FontForge 教程 | BootWiki.com
- win10 GPT分区和win 7 mbr 分区的区别
- LoadRunner函数大全
- 第四章css总结,第四章CSS层叠样式表分析.doc
- YOLOv4论文解读
- BundleIdentifier (MultipleValues)