深度学习系列45:图像恢复综述

article/2025/9/25 4:06:52

从本期开始,会探索图像恢复领域的论文和代码。本次先阅读一下综述。
传统方法一个很大的假设是我们相信我们可以在缺失区域之外找到相似的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步:

  1. 生成器L2损失,注意L2损失是在缺失区域内计算的。
  2. 训练判别器
  3. 生成器加上对抗损失,与判别器交替训练

图像后处理采用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图,转而修复只有轮廓的二值图。修复得到了轮廓图片后,将其转变为风格迁移任务(将轮廓图转化为彩色图片)。这个过程,把恢复高频信息与低频信息的过程解耦合,从而解决图片修补任务。


http://chatgpt.dhexx.cn/article/LwYAJS7q.shtml

相关文章

数字图像处理(5)- 图像恢复

目录 1.1 图像恢复概述 1.2 退化模型 1.2.1 连续退化模型 1.2.2 离散退化模型 1.2.3 频域退化模型 1.3 常见退化函数模型及辨识方法 1.3.1 常见的退化函数模型 1.3.2 退化函数的辨识方法 1.4 噪声模型 1.4.1 常见噪声模型 1.4.2 加噪声后的图像及其直方图 2 空间域…

图像处理-图片恢复

目录 一、中值滤波 二、inpaint函数 一、中值滤波 中值滤波是一种非线性的信号处理方法,所以它是一种非线性滤波器,也是一种统计排序滤波器。它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。 目的:中值滤波对孤立…

图像恢复

图像恢复(复原)与图像增强的研究内容有一定的交叉性:图像增强1是一种改进图像视觉效果的技术(增益性);图像恢复2是一种对退化(或品质下降)了的图像去除退化因素,并进而复原或重建退化图像的技术。 根据以上定义,通过去模糊函数…

图像处理总复习4、图像恢复

1、图像去噪和恢复 2、图像校正和修补 3、图像去雾 图像去噪和恢复 图像退化与噪声 图像退化模型 无约束恢复 有约束恢复 交互式恢复 什么是图像退化 图像退化是指由场景到图像没能完全地反应场景的真实内容,产生了失真等问题。 图像退化的处理方法 无论是由光学、…

PGP公钥加密实验

文章目录 创建密钥加解密 由于是本机进行PGP的加解密实验,因此没有交换公钥的步骤,真实环境理应双方互相交换公钥。 创建密钥 1、下载并安装软件 PGP下载地址:http://www.pgp.cn/download.htm 安装期间电脑会重启。 2、安装成功后&#x…

SSL基础:9:公钥加密 vs 私钥加密

在前面的文章中讲述过使用公钥加密、私钥解密的使用示例,同时也介绍过使用私钥对文件进行签名,使用公钥进行验证的示例。这篇文章继续来讨论一下应该是公钥加密还是私钥加密的问题。 公钥和私钥相关的基础常识 首先关于公钥、私钥又如下基本常识&#…

使用RSA实现前端公钥加密后端私钥解密

听说你还不会RSA算法实现前端加密后端解密???那就来看这里… RSA前端加密后端解密避免出现明文密码传递 话不多说,直接开撸 前端JS 项目中先添加rsa.js文件 链接:https://pan.baidu.com/s/1r9930MkS4n8TR9IsOIXV-Q 提取码&…

公钥加密应用--数字签名

公钥加密应用–数字签名 文章目录 公钥加密应用--数字签名概述私钥加密HASH算法签名算法的使用流程签名算法的应用认证身份完整性不可抵赖性 撤销签名密钥签名算法DSA算法ECDSA算法ECDSA--SM2签名算法 Reference 概述 ​ 本文主要带大家详细了解数字签名的一些知识&#xff0c…

公钥加密

公钥密码又称为非对称密码,拥有公钥密码的用户分别拥有加密密钥和解密密钥。通过加密密钥不能得到解密密钥。并且加密密钥是公开的。 什么是密钥配送问题 在现实世界中使用对称密码时,我们一定会遇到密钥配送问题( key distribution problem)。 假如 …

SM2公钥加密与解密

SM2加解密 字符串公钥SM2加解密工具类 始于我工作中的一个需求,在网上很少找到资料所以来写一下 字符串公钥 公钥是对接方给的,是一个长字符串类似于这种格式 工具类中也有生成公私钥的方法,我测试加解密也能成功 秘钥生成借鉴的是这个文章…

公钥加密算法-RSA

RSA算法 RSA算法是由它的三位开发者,即 Ron Rivest、Adi Shamir 和 Leonard Adleman 的姓氏的首字母组成的 (Rivest-Shamir-Adleman)。 RSA 可以被用于公钥加密、数字签名和密钥交换。 文章目录 RSA算法一、简介二、RSA算法流程1、 加密或者验签过程2、解密或者签名…

公钥加密与PKI实验

环境:安装openssl库和bless工具 1.openssl库 2.bless工具 一.成为数字证书认证机构 1.新建一个工作目录 2.为CA生成自签名证书 二.为PKILabServer.com生成证书 1.生成公开/私有密钥对 2.生成证书签名请求 3.生成证书 三.在网站中…

java公钥加密私钥解密_公钥加密,私钥解密示例程序(JAVA)详解

公钥与私钥机制属于非对称加密的范畴,非对称是相对于对称加密而言的,对称加密用于加密与解密的密钥是同一把,而非对称加密则用于加密与解密的密钥不相同,一个公开,称为公钥;一个保密,称为私钥&a…

c#加密:四、公钥加密和签名

一、公钥加密 1、概述 公钥加密是非对称的,因此加密和解密需要使用不同的密钥。对称加密的密钥可以是一串长度合适的任意字节串。但非对称加密则需要专门制作一对密钥。 这个密钥对包含一个公钥和一个私钥。它们将一起完成如下工作: 公钥加密消息&#…

为什么用公钥加密却不能用公钥解密?

本文为掘金社区首发签约文章,14天内禁止转载,14天后未获授权禁止转载,侵权必究! 一直以来我都在逃避写HTTPS。 毕竟。 HTTPS里名词太多。概念又巨繁琐。 实在是太难解释了,能不写我尽量不写。。。。 但为了让图解网…

公钥加密算法

3 公钥加密算法 加密工具使用 运行RSA-Tool,点击Start按钮,滑动鼠标生成一个随机数。点击Generate生成一对大质数p、q及Npq。 自己选定一个可用的整数e(可使用默认的10001,也可以使用其他的)。点击Calc.D生成d。 3 将公钥(N,e)发送给小伙…

2021-05-05

5.5 实训主题:密码学(后续) 公钥加密算法 RSA算法的数学原理 阅读RSA.cpp中的代码,了解其实现方法。调试运行RSA.cpp,选择两个不同的素数。根据生成的d和e验证公式de ≡ 1 (mod (p-1)(q-1))。输入要加密的数。验证…

公钥密钥加密原理

转载自:https://www.jianshu.com/p/0bf1c3c047e5 第6章 网络编程与网络框架 6.1 公钥密钥加密原理 6.1.1 基础知识 密钥:一般就是一个字符串或数字,在加密或者解密时传递给加密/解密算法。对称加密算法:加密和解密都是使用的同…

公钥密码体制及RSA公钥加密算法(上)

一.公钥密码体制 (1)公钥(非对称)密码概述: 优点:免去密钥分发,密钥管理简单 (2)公钥加密的设计原则: 已知公私钥,进行加密解密是简单容易的 单…

网关与路由器的区别!!

自我认识: “网关” :让两个不同网络相互之间进行通信,可以使具有不同协议的网络相互连接。 “路由器”:能在计算机网络之间发送和接收数据包的设备,并且提供最佳路由路径的一种网络互联设备。但是只能在使用相同协议…