当前位置:网站首页>深度学习系列45:图像恢复综述
深度学习系列45:图像恢复综述
2022-06-25 06:42:00 【IE06】
从本期开始,会探索图像恢复领域的论文和代码。本次先阅读一下综述。
传统方法一个很大的假设是我们相信我们可以在缺失区域之外找到相似的patch,但是如果缺失区域之外没有任何类似的patch,就没有办法正确修复图像了。
1 经典GAN方法
1.1 context encode:U-net生成器
2016年出现的基准的GAN算法,生成器为一个U型网络,判别器为多层卷积网络。损失包括像素级别的重建损失(L2)和鉴别器产出的对抗损失。
1.2 MSNPS:添加纹理生成器
2016年升级版的context encode,其生成器包含两部分,增加了生成纹理的卷积网络:
上面的U型网络用于生成内容,损失函数包括L2损失和对抗损失。
下面的卷积网络用于生成纹理,并寻找缺失区域外最近的神经网络响应来计算损失。这里的做法类似风格转移,将完整部分的风格迁移到损失部分。
1.3 GLCIC:添加局部鉴别器

这里生成器使用了膨胀卷积用来增加感受野。
训练分为3步:
- 生成器L2损失,注意L2损失是在缺失区域内计算的。
- 训练判别器
- 生成器加上对抗损失,与判别器交替训练
图像后处理采用fast marching+泊松图像混合
1.4 PGGAN:添加矩阵鉴别器
GLCIC太依赖于预先定义好的缺失区域,而实际场景中的残缺经常是未知的,因此仍需改进。
典型GAN鉴别器的输出是0 ~ 1的单个值。这意味着鉴别器会看整个图像,判断这幅图像是真的还是假的,我们称之为GlobalGAN。而PatchGAN判别器的输出是一个矩阵,这个矩阵中的每个元素都在0到1之间。注意,每个元素代表输入图像中的一个局部区域。
两者结合,叫做PGGAN
结构和GLCIC很相似,其中生成模块改成了膨胀残差网络,此外将标准反卷积改成了插值卷积用以消除伪影。
1.5 shiftGAN:U-net生成器添加shift连接

添加引导损失:所有连接的两个层之间编码特征和解码特征的L2损失之和。
添加shift连接:通过移位操作,网络可以有效借用缺失部分外最近的邻居给出的信息,来完善生成部分的全局语义结构和局部纹理细节。简单来说,它就是提供合适的参照物来完善估计。
1.6 DeepFill:生成器添加注意力
作者提出了一个二阶段的由粗到细的修复网络:
第一阶段粗修复网络:使用空洞卷积+重建损失先补出一个模糊粗糙的结果;
第二阶段精修复网络:使用带语境注意力模块空洞卷积+重建损失+全局、局部GAN-GP对抗损失来进一步细化结果。
encode部分上路分支是包含语义注意力层(contextual attention layer)的encoder;下路是常规的encoder。两路encoder输出的特征图最后拼接在一起合成一个特征图,最后通过decoder生成修复结果。
1.7 DeepFill v2: mask由门控卷积生成
gated conv是本文的核心创新点,他就像一个软筛子一样,对输入有选择机制。(软性选择,就是乘以一个0-1之间的数,与之相对的是硬筛子,要么全通过,要么全拦下),它可以自动根据更新规则从数据里面学到soft mask的参数(就像过滤系数一样),如下式:

此外为了应对free-form的mask,使用了Markovian discriminiator,对尺寸小于原图的矩阵打分。对抗损失使用了Hinge loss。
1.8 PatialConv:处理freeMask
其核心思想是,如果感受野内不存在有效像素(即都被mask了),则不进行卷积操作;其他情况下,也只对有效像素做卷积。
此外,mask也不断更新:
1.9 CTSDG:鉴别器添加边缘检测

比较像MSNPS,生成器这边从图像、边缘分别生成,鉴别器这边也是从图像、边缘分两支进行判定。
1.10 EdgeConnect:添加边缘生成器和边缘判别器

这个项目的功能和deepfill v2比较像,使用轮廓作为先验来指导图像生成。
如上图,左半部分的G1和D1用来学习轮廓,右边半部分的G2和D2则用来生成最终的图像。
G1和G2都使用了空洞卷积+残差模块;D1和D2都使用PatchGAN,也就是将判别图片分成70x70进行判别,对判别结果取平均。
原先的图片修补任务需要对RGB值图片的缺失区域进行修补,如果采用范数距离计算重构损失 L r e c L_{rec} Lrec的话,总得到模糊的图片(对可能的修补模式求平均的结果);如果采用特征距离计算对抗损失 L a d v L_{adv} Ladv的话,总得到人造痕迹太明显的图片(伪像)(从训练记忆里面找一个相似的结果并贴上去)。上下文编码器 Context Encoder 采用参数加权的方式结合使用两者,只是平衡了这两个缺点。
既然如此,把图片修补任务的难度降低,不修复三通道的RGB图,转而修复只有轮廓的二值图。修复得到了轮廓图片后,将其转变为风格迁移任务(将轮廓图转化为彩色图片)。这个过程,把恢复高频信息与低频信息的过程解耦合,从而解决图片修补任务。
边栏推荐
- WinForm implementation window is always at the top level
- 2265. number of nodes with statistical value equal to the average value of subtree
- [deep learning lightweight backbone] 2022 edgevits CVPR
- 將數據導入到MATLAB
- Microsoft Office Word 远程命令执行漏洞(CVE-2022-30190)分析与利用
- SSL证书免费获取教程
- NSIS silent installation vs2013 runtime
- 1742. 盒子中小球的最大数量
- ts环境搭建
- 取消word文档中某些页面的页眉
猜你喜欢

Modular programming of LCD1602 LCD controlled by single chip microcomputer

Four software 2021-10-14 suitable for beginners to draw PCB

Six causes of PCB disconnection 2021-10-20

(tool class) use SecureCRT as the communication medium

饮食干预减轻癌症治疗相关症状和毒性

新版USBCAN卡CAN分析仪的CAN&CANFD综合测试分析软件LKMaster主要功能介绍

STL tutorial 4- input / output stream and object serialization

Cifar-10 dataset application: quick start data enhancement method mixup significantly improves image recognition accuracy

Share the process requirements for single-layer flexible circuit board

SCM Project Training
随机推荐
Force deduction 76 questions, minimum covering string
个人域名和企业域名的区别
Storage of Galileo broadcast ephemeris in rtklib-b33
[Video] ffplay uses MJPEG format to play USB camera
CAN总线工作状况和信号质量“体检”
Share the process requirements for single-layer flexible circuit board
NPM install reports an error: gyp err! configure error
Fairmot yolov5s to onnx
STL tutorial 4- input / output stream and object serialization
如何用svn新建属于自己的分支
Function template_ Class template
How to resize an image in C #
一次弄清楚 Handler 可能导致的内存泄漏和解决办法
ts环境搭建
C control refresh
Tips 𞓜 how to clean PCB boards 2021-10-22
2160. 拆分数位后四位数字的最小和
Modular programming of oled12864 display controlled by single chip microcomputer
Tips on how to design soft and hard composite boards ~ 22021/11/22
微信小程序入门记录