当前位置:网站首页>[GAN]老照片修复Bringing Old Photos Back to Life论文总结
[GAN]老照片修复Bringing Old Photos Back to Life论文总结
2022-07-30 06:39:00 【Vanessa Ni】
Title
Title:Bringing Old Photos Back to Life
Source:CVPR2020
论文官网
Code
1.Summary
文章提出并解决了两个问题。
- 问题一 泛化问题(Generalization):目前的老照片修复算法在合成数据集上学习到的模型在真实数据上泛化能力差。(解决方案一 Latent space translation:假设能将合成数据与真实老照片域编码到同一隐空间,实际操作尽可能缩小域间差异Domain Gap,而后学习隐空间映射)
- 问题二 混合退化问题(Mixed Degradation):空间均匀的非结构化退化,如噪声、模糊、褪色和低分辨率,以及结构化退化,如孔洞、划痕和斑点。 实际待修复老照片存在混合的复杂退化问题。(解决方案二 Partial Nonlocal Block:普通残差块感受野有限,仅能修复局部特征即非结构化退化,结构化退化依赖于全局图像上下文信息进行修复)
2.Method
2.1 泛化问题(Generalization)的解决
Step1 分别训练 V A E 1 {VAE}_1 VAE1与 V A E 2 {VAE}_2 VAE2

- 目标是学习R到Y的映射,即给定一个真实老照片r,得到清晰的修复结果。

- 为了解决合成照片与真实照片域间差异导致的泛化性问题,X与R共享同一个VAE1(图中绿色部分domain gap标注有误,应标注在非交集的部分)。其中,VAE比普通自编码器更容易获得密集分布的隐空间表示,这样 Z X Z_X ZX与 Z R Z_R ZR之间的domain gap会更小。训练一个鉴别器来区分 Z X Z_X ZX与 Z R Z_R ZR,以进一步缩小domain gap。


- 总目标函数为

Step2 固定 V A E 1 {VAE}_1 VAE1与 V A E 2 {VAE}_2 VAE2,独立训练隐空间映射T


其中,

2.2 多种退化模式问题(Mixed Degradation)的解决

- non-local等注意力机制的本质是re-weighting



- 最后non-local仅作用于corrupted region(即结构化退化,依赖全局信息的部分)

3.Evaluation
3.1 Setup
- 训练集:1. Pascal VOC+渲染上结构化与非结构化退化。2. 5718张真实老照片
- 划痕检测:训练了一个U-net+focal loss(正负样本均衡),除了利用Pascal VOC训练以外,还对收集到的783张有划痕的真实老照片进行标注,并使用400张图片进行fine-tune。(目的是在partial non-local处获得mask)
- 训练细节:优化器Adam solver( β 1 \beta_1 β1为0.5, β 2 \beta_2 β2为0.999);学习率为前100epoch=0.0002,而后线性衰减到0;训练时图片随机裁剪到256x256;公式2、5中的超参数设定为 α = 10 , λ 1 = 60 , λ 2 = 10 \alpha=10,\lambda_1=60,\lambda_2=10 α=10,λ1=60,λ2=10。
3.2 Analysis
- 定量

- 定性

- User-study

3.3 Ablation Study
Latent translation with VAEs
- 目的是为了更容易缩小domain gap。其中从左往右逐渐增加组件。1)Pix2Pix:translation in image-level 2)two VAEs with an additional KL loss to penalize the latent space 3)两阶段训练,VAEs权重不固定 4)完整模型,采用了latent adversarial loss。

- Wassestein距离越小,latent space越compact;BRISQUE越低,修复后的图片质量越高。

Partial nonlocal block

4.Conclusion
Strong conclusions:
We propose a novel triplet domain translation network to restore the mixed degradation in old photos. The domain gap is reduced between old photos and synthetic images, and the translation to clean images is learned in latent space. Our method suffers less from generalization issue compared with prior methods.
- 三个域之间的图像翻译网络
- 缩小隐空间domain gap,并在隐空间学习到更佳的图像翻译结果
- 泛化性更强
Weak conclusions:
We propose a partial nonlocal block which restores the latent features by leveraging the global context, so the scratches can be inpainted with better structural consistency.
- partial nonlocal。消融实验仅定性,效果一般,方法简单,创意不足。
仍存在的问题:complex shading artifacts上效果不佳,原因可能是数据集中具有复杂缺陷的老照片不多。
5.Reference
- Track五篇对比方法
- M. Suganuma, X. Liu, and T. Okatani, “Attention-based adaptive selection of operations for image restoration in the presence of unknown combined distortions,” arXiv preprint arXiv:1812.00733, 2018.
- D. Ulyanov, A. Vedaldi, and V. Lempitsky, “Deep image prior,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2018, pp. 9446–9454.
- T.-C. Wang, M.-Y. Liu, J.-Y. Zhu, A. Tao, J. Kautz, and B. Catanzaro, “High-resolution image synthesis and semantic manipulation with conditional gans,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2018, pp. 8798–8807.
- J.-Y. Zhu, T. Park, P. Isola, and A. A. Efros, “Unpaired image-to-image translation using cycle-consistent adversarial networks,” in Proceedings of the IEEE International Conference on Computer Vision, 2017, pp. 2223–2232.
- K. Dabov, A. Foi, V. Katkovnik, and K. Egiazarian, “Bm3d image denoising with shape-adaptive principal component analysis,” 2009.
- K. Nazeri, E. Ng, T. Joseph, F. Qureshi, and M. Ebrahimi, “Edgeconnect: Generative image inpainting with adversarial edge learning,” 2019.
6.Arouse for me
口碑好的AI图片修复网站
论文作者网站,老照片修复
发现对图像进行处理(结构化、非结构化缺陷)均隶属于Image Restoration领域。GAN、VAE是经常出现的。
边栏推荐
- Go: use gorm query record
- 解决datagrip连接sqlserver报错:[08S01] 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。
- 保存在 redis中的token 如何续期?
- Oracle查看表空间使用率及爆满解决方案
- 谷粒商城--环境部署(2022/7/28最新)
- RT-Thread-GD32的SPI在切换同一总线不同挂载设备时会出现切换后乱发送数据的问题
- 通过位运算进行两个变量值的交换功能
- 包含min函数的栈(js)
- Architectural Design Guide How to Become an Architect
- 获取controller中所有接口路径和名称
猜你喜欢
![elk报错:[syslogs] index has exceeded [1000000]](/img/f0/45871609ccf25c2bdd0f3ad239ceb7.png)
elk报错:[syslogs] index has exceeded [1000000]

架构设计指南 如何成为架构师

selenium模块
![[GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及](/img/ac/80ab67505f7df52d92a206bc3dd50e.png)
[GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及

Interview with Ant: How do these technology pioneers do the bottom-level development well?| Excellent technical team interview

muduo库学习记录(一)

2022牛客暑期多校训练营3(ACFGJ)

潜心打磨,主动求变——这群技术排头兵,如何做好底层开发这件事?

便携小风扇PD取电芯片

docker部署redis一主二从三哨兵模式
随机推荐
mysql设置会话超时时间
【day5】数组
物联网网关该怎么选
golang: Gorm configures Mysql multiple data sources
一段神奇的没有主方法的代码
40.【vector的运用】
Oracle查看表空间使用率及爆满解决方案
Distributed lock development
Portable small fan PD power chip
elk报错:[syslogs] index has exceeded [1000000]
SE11 创建搜索帮助
Common configuration
ES:解构
ArrayList
muduo库学习记录(一)
IDEA 中CheckStyle安装及使用
redis常用指令
IDEA搜索插件无结果一直转圈圈的解决办法
动态规划专栏
taro 打包编译报错