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.mzph.cn/news/91925.shtml

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

相关文章

私有继承和虚函数私有化能用么?

源起 以前就知道private私有化声明关键字,和virtual虚函数关键字两者并不冲突,可以同时使用。 但是,它所表示的场景没有那么明晰,也觉得难以理解,直到近段时间遇到一个具体场景。 场景 借助ACE遇到的问题进行展示 …

四、2023.9.30.C++面向对象end.4

文章目录 49、 简述一下什么是常函数,有什么作用?50、 说说什么是虚继承,解决什么问题,如何实现?51、简述一下虚函数和纯虚函数,以及实现原理?52、说说纯虚函数能实例化吗,为什么&am…

【数据结构与算法】通过双向链表和HashMap实现LRU缓存 详解

这个双向链表采用的是有伪头节点和伪尾节点的 与上一篇文章中单链表的实现不同,区别于在实例化这个链表时就初始化了的伪头节点和伪尾节点,并相互指向,在第一次添加节点时,不需要再考虑空指针指向问题了。 /*** 通过链表与HashMa…

1 论文笔记:Efficient Trajectory Similarity Computation with ContrastiveLearning

2022CIKM 1 intro 1.1 背景 轨迹相似度计算是轨迹分析任务(相似子轨迹搜索、轨迹预测和轨迹聚类)最基础的组件之一现有的关于轨迹相似度计算的研究主要可以分为两大类: 传统方法 DTW、EDR、EDwP等二次计算复杂度O(n^2)缺乏稳健性 会受到非…

Flutter笔记:滚动之-无限滚动与动态加载的实现(GetX简单状态管理版)

Flutter笔记 无限滚动与动态加载的实现(GeX简单状态管理版) 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq…

stm32 - 初识2

stm32 - 初识2 工程架构点灯程序寄存器方式点灯库函数的方式点灯 工程架构 启动文件 中断向量表,中断服务函数,其他中断等 中断服务函数中的,复位中断是整个程序的入口,调用systeminit,和main函数 点灯程序 寄存器方式…

HTML的相关知识

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

尚硅谷谷粒商城部分报错问题处理

1、启动报错: 内容: org.springframework.beans.factory.BeanCreationException: Error creating bean with name attrAttrgroupRelationController: Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed t…

Redis配置和优化

Redis配置和优化 一 、Redis介绍二、关系数据库和非关系数据库2.1、关系型数据库2.2、 非关系型数据库2.3、 非关系型数据库的产生背景2.4、 关系型数据库和非关系型数据库区别2.5、 总结 三、缓存概念3.1、系统缓存3.2、 缓存保存位置及分层结构3.2.1、DNS缓存3.2.2、 应用层缓…

10.1 File类

前言: java.io包中的File类是唯一一个可以代表磁盘文件的对象,它定义了一些用于操作文件的方法。通过调用File类提供的各种方法,可以创建、删除或者重命名文件,判断硬盘上某个文件是否存在,查询文件最后修改时间&…

【HTML】表格行和列的合并

概述 当我们需要在 HTML 表格中展示复杂的数据时,行和列的合并可以帮助我们实现更灵活的布局和结构。通过合并行和列,我们可以创建具有更多层次和结构的表格,使数据更易于理解和分析。 在 HTML 表格中,我们可以使用 rowspan 和 …

ELK整合springboot(第二课)

一、创建一个springboot的项目 pom文件如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLo…

lv5 嵌入式开发-12 信号灯

目录 1 信号量/灯(semaphore)基本概念 2 信号量&#xff0d;&#xff30;&#xff0f;&#xff36;操作概念 3 三种信号灯 3.1 有名信号灯 3.1.1 打开 3.1.2 关闭 3.1.3 删除 3.2 无名信号灯 3.2.1 初始化 3.2.2 销毁 3.3 信号灯P操作 3.4 信号灯V操作 3.5 示例 …

Visual Studio 中将TAB设置为空格

将TAB设置为空格的原因很多&#xff0c;其中一点是为了统一不同编译器对TAB的解释&#xff0c;防止代码风格在不同编译器下不一致等。 在菜单中选择: 工具-->选项-->文本编辑器--->所有语言-->制表符 在窗口中选择&#xff0c;制表符大小和缩进大小都选为4&#xf…

10.1 国庆节小任务

目录 select实现服务器并发 服务器 客户端 运行现象 select实现服务器并发 服务器 #include<myhead.h>#define PORT 8888 //1024~49151 #define IP "192.168.1.104" //ifconfig查看本机IPint main(int argc, const char *argv[]) {//创建流式…

WiFi网络分析工具Airtool for Mac

Airtool是一款Mac平台上的WiFi网络分析工具&#xff0c;它可以帮助用户监测、分析和管理无线网络。 以下是Airtool的一些主要功能和特点&#xff1a; 实时监测&#xff1a;Airtool可以实时监测当前Mac设备所连接的WiFi网络&#xff0c;包括网络速度、信号强度、连接状态等。信…

Spark SQL

Spark SQL 一、Spark SQL概述二、准备Spark SQL的编程环境三、Spark SQL程序编程的入口四、DataFrame的创建五、DataFrame的编程风格六、DataSet的创建和使用七、Spark SQL的函数操作 一、Spark SQL概述 Spark SQL属于Spark计算框架的一部分&#xff0c;是专门负责结构化数据的…

NIO基础

nio : non-blocking io 非阻塞IO 1. 三大组件 1.1 channel和buffer channel 有点像stream &#xff0c;他就是读写数据的双向通道&#xff0c;可以从channel将数据读入buffer&#xff0c;也可以将buffer的数据写入channel&#xff0c;之前的stream 要么输入&#xff0c;要么…

建筑能源管理(3)——建筑能源监管

为了全面落实科学发展观&#xff0c;提高建筑能源管理水平&#xff0c;进一步降低能源和水资源消耗、合理利用资源&#xff0c;以政府办公建筑和大型公共建筑的运行节能管理为突破口&#xff0c;建立了既有政府办公建筑和大型公共建筑运行节能监管体系&#xff0c;旨在提高政府…

28271-2012 米制超细牙螺纹 公差

声明 本文是学习GB-T 28271-2012 米制超细牙螺纹 公差. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了米制超细牙螺纹的公差和标记。 本标准适用于精密仪器和电子设备等领域的螺纹连接。 2 规范性引用文件 下列文件对于本文件…