Learning Invariant Representation for Unsupervised Image Restoration

Learning Invariant Representation for Unsupervised Image Restoration (Paper reading)

Wenchao Du, Sichuan University, CVPR20, Cited:63, Code, Paper

1. 前言

近年来,跨域传输被应用于无监督图像恢复任务中。但是,直接应用已有的框架,由于缺乏有效的监督,会导致翻译图像出现域漂移问题。相反,我们提出了一种无监督学习方法,该方法明确地从噪声数据中学习不变表示并重建清晰的观察结果。为此,我们将离散解纠缠表示和对抗性领域自适应引入到一般的领域转移框架中,并借助额外的自监督模块(包括背景和语义一致性约束),在双域约束(如特征域和图像域)下学习鲁棒表示。对合成和真实降噪任务的实验表明,该方法的降噪性能可与现有的有监督降噪和无监督降噪方法相媲美,且收敛速度比其他领域自适应方法更快、更稳定。

2. 整体思想

本文提出了一种无监督low-level的方法。主要的思想是将清晰图像和降质图像分别编码到各自的域中,然后从这些域中重建他们。类似于自编码器的思想。

3. 方法

我们的目标是从噪声输入中学习抽象的中间表示,并重建清晰的观察结果。在某种程度上,无监督图像复原可以看作是一个特定的域转移问题,即从噪声域到清晰域。因此,将该方法注入到一般的领域转移架构中,如图2所示。

在这里插入图片描述

在监督域转移中,我们得到从联合分布 P X , Y ( x , y ) P_{X, Y} (x, y) PX,Y(x,y)中抽取的样本 ( x , y ) (x, y) (x,y),其中 X X X y y y是两个图像域。对于无监督域翻译,从边缘分布PX (x)和PY (y)中提取样本(x, y)。为了从边缘样本推断联合分布,我们提出了一个共享潜空间假设,即在共享潜空间 Z Z Z中存在一个共享潜代码 z z z,从而我们可以从这个代码中恢复两幅图像。给定来自联合分布的样本 ( x , y ) (x, y) (x,y),该过程表示为
z = E X ( x ) = E Y ( y ) , x = G X ( z ) , y = G Y ( z ) z = E_X(x)=E_Y(y), \quad x = G_X(z),y=G_Y(z) z=EX(x)=EY(y),x=GX(z),y=GY(z)
关键的一步是如何实现这个共享潜在空间假设。为此,一种有效的策略是通过共享权重编码器共享高级表示,该编码器从统一分布中采样特征。然而,对于IR图像来说,潜在表示只包含语义是不合适的,这会导致恢复图像的域偏移,例如细节模糊和背景不一致。因此,我们尝试从输入中学习包含更丰富的纹理和语义特征的更广义的表示,即不变表示。为此,在该方法中引入了基于对抗域自适应的离散表示学习和自监督约束模块。细节将在接下来的小节中描述。

3.1 离散表示学习

离散表示旨在从输入中计算潜在编码,其中 z z z包含尽可能多的纹理和语义信息。为此,我们使用两个自编码器分别对 { E X , G X } \{E_X, G_X\} {EX,GX} { E Y , G Y } \{E_Y, G_Y\} {EY,GY}进行建模。给定任意未配对样本 ( x , y ) (x, y) (x,y),其中 x ∈ X x∈X xX y ∈ Y y∈Y yY分别表示来自不同域的噪声样本和干净样本,将Eq. 1重新表述为 z X = E X ( x ) z_X = E_X (x) zX=EX(x) z Y = E Y ( y ) z_Y = E_Y (y) zY=EY(y)。进一步,IR可以表示为$ F x → y ( x ) = G Y ( z X ) F^{x→y}(x) = G_Y(z_X) Fxy(x)=GY(zX)。然而,由于噪声总是附着在高频信号上,由于噪声水平和类型的变化,直接重建干净图像是很困难的,这需要强大的域发生器和鉴别器。因此,我们将解缠表示引入到我们的架构中。

解缠表示。对于噪声样本 x x x,使用额外的噪声编码器 E X N E^N_X EXN来对变化的噪声水平和类型进行建模。自重构由 x = G X ( z X , z X N ) x=G_X(z_X,z^N_X) x=GX(zXzXN)表示,其中 z X = E X ( x ) z_X=E_X(x) zX=EX(x) z X N = E X N ( x ) z^N_X=E^N_X(x) zXN=EXN(x)。假设潜在码 z X z_X zX z Y z_Y zY在共享空间中服从相同的分布, { z X , z Y } ∈ Z \{z_X,z_Y\}∈Z {zXzY}Z,类似于图像平移,无监督图像恢复可以分为两个阶段:前向平移和后向重建。

前向平移。我们首先从 ( x , y ) (x,y) (xy)和额外噪声码 z X N z^N_X zXN中提取表示 { z X , z Y } \{z_X,z_Y\} {zXzY}。恢复和退化可以表示为:
x ~ X → Y = G y ( z X ) y ~ Y → X = G X ( z y + z X N ) \tilde x^{X \to Y} = G_y(z_X) \\ \quad \\ \tilde y^{Y\to X}= G_X(z_y + z_X^N) x~XY=Gy(zX)y~YX=GX(zy+zXN)
其中 X → Y X→Y XY表示复原的清晰样本, Y → X Y→X YX表示退化的噪声样本。 G X G_X GX G Y G_Y GY被视为特定的域生成器。

反向交叉重建。在执行第一次平移后,可以通过交换输入来实现重建 x ~ X → Y \tilde x^{X \to Y} x~XY y ~ Y → X \tilde y^{Y \to X} y~YX表示:
x ^ = G X ( E y ( x ~ X → Y ) + E x N ( y ~ Y → X ) ) y ^ = G y ( E X ( y ~ Y → X ) ) \hat x = G_X(E_y(\tilde x^{X \to Y})+ E_x^N(\tilde y^{Y \to X})) \\ \quad \\ \hat y = G_y(E_X(\tilde y^{Y \to X})) x^=GX(Ey(x~XY)+ExN(y~YX))y^=Gy(EX(y~YX))
其中, x ^ \hat x x^ y ^ \hat y y^表示重构输入。为了加强这一约束,我们为X和Y域添加了交叉周期一致性损失 L C C L^{CC} LCC:
L X C C ( G X , G Y , E X , E Y , E X N ) = E X ( ∣ ∣ G X ( E y ( x ~ X → Y ) + E X N ( y ~ Y → X ) ) − x ∣ ∣ 1 ) L Y C C ( G X , G Y , E X , E Y , E X N ) = E Y ( ∣ ∣ G Y ( E y ( y ~ Y → X ) ) − y ∣ ∣ 1 ) L^{CC}_X(G_X,G_Y,E_X,E_Y,E^N_X) = \mathbb{E}_X(||G_X(E_y(\tilde x^{X\to Y})+E^N_X(\tilde y^{Y\to X}))-x||_1)\\ \quad \\ L^{CC}_Y(G_X,G_Y,E_X,E_Y,E^N_X) = \mathbb{E}_Y(||G_Y(E_y(\tilde y^{Y\to X}))-y||_1)\\ LXCC(GX,GY,EX,EY,EXN)=EX(∣∣GX(Ey(x~XY)+EXN(y~YX))x1)LYCC(GX,GY,EX,EY,EXN)=EY(∣∣GY(Ey(y~YX))y1)
对抗性领域适应。另一个因素是如何将潜在表示 z X z_X zX z Y z_Y zY嵌入到共享空间中。受无监督域自适应的启发,我们通过对抗性学习而不是共享权重编码器来实现它。我们的目标是促进服从相似分布的输入的表示,同时保留输入的更丰富的纹理和语义信息。因此,在我们的体系结构中使用了表示判别器 D R D_R DR。我们将这一特征表示为对抗损失 L a d v R L^R_{adv} LadvR:
L a d v R ( E X , E Y , D R ) = E X [ 1 2 l o g D R ( z X ) + 1 2 l o g ( 1 − D R ( z X ) ) ] + E Y [ 1 2 l o g D R ( z Y ) + 1 2 l o g ( 1 − D R ( z Y ) ) ] L_{adv}^R(E_X,E_Y,D_R) = \mathbb{E}_X\left[\frac{1}{2}logD_R(z_X)+\frac{1}{2}log(1-D_R(z_X))\right]+ \mathbb{E}_Y\left[\frac{1}{2}logD_R(z_Y)+\frac{1}{2}log(1-D_R(z_Y))\right] LadvR(EX,EY,DR)=EX[21logDR(zX)+21log(1DR(zX))]+EY[21logDR(zY)+21log(1DR(zY))]

3.2 自监督限制

由于转移后的图像缺乏有效的监督信号,仅依靠特征域判别约束将不可避免地导致生成图像的域移位问题。为了加快收敛速度,同时学习更鲁棒的表示,引入了自监督模块,包括背景一致性模块(BCM)和语义一致性模块(SCM),以提供更合理和可靠的监督。

BCM的目的是保持转移图像和输入图像之间的背景一致性。类似的策略也被应用于自监督图像重建任务。这些方法利用梯度误差约束重构图像,通过模糊算子对输入和输出图像进行平滑处理,如高斯模糊核和制导滤波。与之不同的是,在我们的模块中,对恢复的图像直接使用L1损失,而不是梯度误差损失,如图3所示,在我们的实验中,这是一种简单而有效的方法,可以在保持背景一致性的同时恢复更精细的纹理。具体来说,采用多尺度高斯模糊算子分别获得多尺度特征。因此,背景一致性损失可表示为:
L B C = ∑ σ = 5 , 9 , 15 λ σ ∣ ∣ ( B σ ( X ) − B σ ( X ~ ) ) ∣ ∣ 1 L_{BC} = \sum_{\sigma=5,9,15} \lambda_\sigma||(B_\sigma(X)-B_\sigma(\tilde X))||_1 LBC=σ=5,9,15λσ∣∣(Bσ(X)Bσ(X~))1
其中, B σ ( ⋅ ) B_σ(·) Bσ()为模糊核为 σ σ σ的高斯模糊算子, λ σ λ_σ λσ为平衡不同高斯模糊水平误差的超参数。 X X X X ~ \tilde X X~表示原始输入和转移后的输出,即 { x , x ~ X → Y } \{x, \tilde x^{X→Y}\} {x,x~XY} { Y , y ~ Y → X } \{Y, \tilde y^{Y→X}\} {Y,y~YX}。基于对图像去噪的实验尝试,当σ ={5,9,15}时,我们将 λ σ λ_σ λσ分别设置为{0.25,0.5,1.0}。
在这里插入图片描述
此外,受感知损失的启发,预训练模型的深层特征只包含语义含义,这些语义含义是无噪声的或噪声很小的。因此,与一般的特征损失是通过浅层特征之间的相似性来恢复更精细的图像纹理细节不同,我们只从损坏和恢复的图像中提取更深层的特征作为语义表示来保持一致性,称为语义一致性损失 L S C L_{SC} LSC。它可以被表示为
L S C = ∣ ∣ ϕ l ( X ) − ϕ l ( X ~ ) ∣ ∣ 2 2 L_{SC} = ||\phi_l(X)-\phi_l(\tilde X)||^2_2 LSC=∣∣ϕl(X)ϕl(X~)22
其中 ϕ ( ⋅ ) \phi(·) ϕ()表示预训练模型的 l l l层特征。在我们的实验中,我们在ImageNet上使用了VGG-19预训练网络的conv5-1层。

4. 实验

测试的时候,直接用图2中的 E X E_X EX G Y G_Y GY进行图像复原。其实可以看到,一些指标甚至不如DnCNN。但这个不是问题~

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/147276.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

叶工好容6-自定义与扩展

本篇主要介绍扩展的本质以及CRD与Operator之间的区别,帮助大家理解相关的概念以及知道要进行扩展需要做哪些工作。 CRD(CustomerResourceDefinition) 自定义资源定义,代表某种自定义的配置或者独立运行的服务。 用户只定义了CRD没有任何意…

【Spring Cloud】深入探索统一网关 Gateway 的搭建,断言工厂,过滤器工厂,全局过滤器以及跨域问题

文章目录 前言为什么需要网关以及网关的作用网关的技术实现 一、Gateway 网关的搭建1.1 创建 Gateway 模块1.2 引入依赖1.3 配置网关1.4 验证网关是否搭建成功1.5 微服务结构分析 二、Gateway 断言工厂2.1 Spring 提供的断言工厂2.2 示例:设置断言工厂 三、Gateway …

从0手写两轮差速机器人urdf模型

文章目录 前言一、基本理论二、实现步骤1.创建一个机器人建模功能包2.使用圆柱体创建一个车体模型2.同理创建机器人其它构件3.机器人模型添加传感器 前言 最近为找到与自己课题应用场景相适应的机器人结构,对机器人建模方面的内容进行了了解和学习,计划…

【数组及指针经典笔试题解析】

1.数组和指针笔试题 题目1 int main(){int a[5] { 1,2,3,4,5};int * ptr (int * )(&a 1);printf("%d,%d",*(a 1),*(ptr - 1));return 0;}图文解析: int * ptr …

【JavaEE】JavaScript webAPI的基本知识

JavaScript Web API 文章目录 JavaScript Web APIwebAPI背景DOMDOM树 获取元素querySelectorquerySelectorAll 事件初识键盘事件onkeydownonkeypressonkeyup 操作元素获取/修改元素内容1.innerText2.innerHTML 获取/修改元素属性获取/修改表单元素属性获取/修改样式属性行内样式…

redis的简单使用

文章目录 环境安装与配置redis发布-订阅相关命令redis发布-订阅的客户端编程redis的订阅发布的例子 环境安装与配置 sudo apt-get install redis-server # ubuntu命令安装redis服务ubuntu通过上面命令安装完redis,会自动启动redis服务,通过ps命令确认&a…

用于YOLO格式分割的咖啡叶病害数据集。

下载链接:https://download.csdn.net/download/qq_40840797/88389334 数据集,一共1164张照片 随机选取几张照片及对应的目标标签 因为健康,所以标签为空

[BJDCTF2020]The mystery of ip

打开环境 点击flag,提示ip,这里确实就比较容易联想到x-forwarded-for 点击hint 这个好像没啥用 使用bp抓包 添加请求头 X-Forwarded-For:1 试一下 发现ip可控 后来查了发现 PHP可能存在Twig模版注入漏洞 参考https://www.cnblogs.com/zzjdbk/p/13…

【C语言】循环结构程序设计 (详细讲解)

前言:前面介绍了程序中常常用到的顺序结构和选择结构,但是只有这两种结构是不够的,还有用到循环结构(或者称为重复结构)。因为在日常生活中或是在程序所处理的问题中常常遇到需要重复处理的问题。 【卫卫卫的代码仓库】 【选择结构】 【专栏链…

HTML的相关知识

1.什么是HTML?基本语法 HTML: Hyper Text Markup Language (超文本标记语言) 超文本?超级文本,例如流媒体,声音、视频、图片等。 标记语言?这种语言是由大量的标签组成。HTML标签参考手…

【数据结构】堆的应用-----TopK问题

目录 一、前言 二、Top-k问题 💦解法一:暴力排序 💦解法二:建立N个数的堆 💦解法三:建立K个数的堆(最优解) 三、完整代码和视图 四、共勉 一、前言 在之前的文章中&#xff…

React18入门(第一篇)——JSX、TSX语法详解

文章目录 一、JSX 语法简介二、和 HTML 标签的几点不同三、JSX 属性四、JSX 事件4.1 简单点击事件4.2 类型限制4.3 带参数,箭头函数 五、插入 JS 变量六、JSX 中使用条件判断七、循环 一、JSX 语法简介 JSX - 是 JS 的扩展,写在 JS 代码里面&#xff0c…

计算机算法分析与设计(4)---凸多边形的最优三角划分(含C++代码)

文章目录 一、概述1.1 概念说明1.2 与矩阵连乘对应关系1.3 递归定义 二、代码 一、概述 1.1 概念说明 1. 用多边形顶点的逆时针序列表示凸多边形,即P{V0, V1, … Vn-1, Vn}表示具有n1条边的凸多边形。 2. 若Vi和Vj是多边形上不相邻的两个顶点,则线段ViV…

SEO搜索引擎

利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名,吸引更多的用户访问网站,提高网站的访问量,提高网站的销售能力和宣传能力,从而提升网站的品牌效应 搜索引擎优化的技术手段 黑帽SEO 通过欺骗技术和滥用搜索算法来推销毫不…

Armv8/Armv9 Cache知识大纲分享--思维导图

关键词:cache学习、mmu学习、cache资料、mmu资料、arm资料、armv8资料、armv9资料、 trustzone视频、tee视频、ATF视频、secureboot视频、安全启动视频、selinux视频,cache视频、mmu视频,armv8视频、armv9视频、FF-A视频、密码学视频、RME/CC…

力扣:118. 杨辉三角(Python3)

题目: 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 来源:力扣(LeetCode) 链接:力扣(LeetCode)官…

DS线性表之链表

前言 我们上一期介绍了顺序表,它的底层就是数组,我们也分别对顺序表的动态版本和静态版本进行了实现!并且分析了顺序表的优缺点,优点是:尾插、尾删效率很高,其时间复杂度是O(1);缺点是&#xff…

使用 ClassFinal 对 java class 文件进行加密防止反编译

ClassFinal 是一款 java class文件安全加密工具,支持直接加密 jar 包或 war 包,无需修改任何项目代码,兼容 spring-framework;可避免源码泄漏或字节码被反编译 特点 无需修改原项目代码,只要把编译好的jar/war包用本工…

Nginx简介与Docker Compose部署指南

Nginx是一款高性能的开源Web服务器和反向代理服务器,以其卓越的性能、可伸缩性和灵活性而闻名。它在全球范围内广泛用于托管Web应用程序、负载均衡、反向代理和更多场景中。在本文中,我们将首先介绍Nginx的基本概念,然后演示如何使用Docker C…

tortoiseSVN树冲突解决方案

方案一: 手动导出 trunk 上的文件(夹),把本地目录文件(夹)删了并替换成 trunk上的,再点击测试合并方案二: 如果执行了方案一还是冲突,确认本地和trunk文件一致后,可以跳过冲突的revision