Blind Image Super-Resolution: A Survey and Beyond

2024-04-18 22:15

本文主要是介绍Blind Image Super-Resolution: A Survey and Beyond,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

TPAMI2023
问题定义

  • 未知图像的退化过程(和之前假定bicubic等一个固定且已知的退化过程相对比),由LR恢复HR;
  • 退化来源(不同的图像采集设备,数字信号处理成可见图像的过程中图像处理算法引入的噪声,在图像储存和传输过程中引入的噪声和胶片腐蚀等)
  • 方法分类:
    – 基于经典退化模型及其变体的显式建模;
    – 利用外部数据集的数据分布的隐式建模;

EXPLICIT DEGRADATION MODELLING

with external dataset

wo degradation estimation

  • 由外部的模型来进行degradation estimation;
  • SRMD(super resolution for mutiple degradations)输入LR和degradation map,degradation map是blur kernel被PCA编码为vector然后和噪声 σ \sigma σconcate之后扩展到LR的尺寸,之后UDVD也采用了degradation map;
  • DPSR不需要生成degradation map,而是通过最小化基于 y = ( x ↓ s ⊗ k ) + n y = (x\downarrow_s \otimes k) + n y=(xsk)+n的目标函数(分解为两个子问题,但是没看懂咋解的),两个子问题分别是deblur, SR + denoising;
  • USRNet也是map framework,也是两个子问题,但是所基于的退化建模是 y = ( x ⊗ k ) ↓ s + n y = (x \otimes k)\downarrow_s + n y=(xk)s+n,两个子问题是SR + deblur, denoising
  • 这类方法主要存在的问题是需要一个准确的模型来进行退化估计,模型的结果比较依赖于准确的估计;

with degradation estimation

  • 将SR和degradation estimation统一到一个框架当中;
  • IKC提出以迭代的方式进行核估计,首先一个预测网络来初始化kernel,之后一个corrector网络在输入(以当前kernel为条件的SR)的情况下输出kernel residual,之后修正后的kernel重复这个修正的过程;
  • DAN提出对IKC的改进,叫corrector和SR网络统一训练,而不是像IKC一样分开单独训练;
  • 上面的两种方法可以从domain adaptation的角度进行解释;
  • 还有一些方法试图解决迭代耗时的问题;
  • DRL-DASR使用无监督学习的方法来训练degradation encoder,获得的degradation representation供SR使用;
  • KOALAnet使用dynamic kernel strategy

complex degradation modeling

  • 经典的退化模型不能很好的涵盖现实的情况,一些工作采用更大的degradation空间;
  • BSRGAN还是使用经典的退化算子,但是顺序是打乱的;
  • Real-ESRGAN使用高阶的退化模型,也就是传统的退化模型重复多次,文章中阶数为2;

with internal statistics

  • 基于的点是patches of a single image tend to recur within and across different scales of this image;
  • 之前的方法:提出MAP framework来估计SR blur kernel,最佳的kernel k是最大化不同尺度的recuring patches的相似度的那个;
  • gan-based: KernelGAN将相似度的最大化建模成数据分布;
  • flow-based: FKP在latent space进行kernel的求解,而不是pixel space,更加efficiency;
  • ZSSR和DGDML-SR自监督的进行训练;

IMPLICIT DEGRADATION MODELLING

  • 假如有成对的HR-LR图片对数据集,现在的监督学习可以得到比较好的效果,但是有更加挑战的情况,有两个数据集,HR和不成对的LR,问题变为domain adaptation;
    在这里插入图片描述
  • CinCGAN包含两个cycle,LR-Cycle首先将LR转换到Bicubic LR domain(Clean LR),bicubic LR domain的数据认为是从HR下采样得到的,认为是没有噪声的,两个cycle使用的都是cycle gan,此时训练只能靠discriminator,不能靠成对数据的reconstruction loss,训练不稳定;
  • b中的训练策略是将L2H和H2L统一到一个框架当中,其中L2H使用的是成对的数据,H2L使用的是不成对的数据;
  • 上面的方法生成的LR和真实的LR可能会存在较大的差异,DASR将生成的LR和真实的LR都加入到SR模型的训练当中,使用domain distance weighted supervision来对生成的LR赋予不同的权重,权重基于LR discriminator;

dataset

这篇关于Blind Image Super-Resolution: A Survey and Beyond的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/915961

相关文章

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

问:Super与this在Java中有什么区别?

this: this 关键字用于引用当前对象。它通常用于区分成员变量和方法参数或局部变量。在实例方法中,this 指向调用该方法的对象。在构造函数中,this 指向正在被初始化的对象。 super: super 关键字用于引用父类(超类)的构造函数、方法或变量。在子类的构造函数中,super() 用于调用父类的构造函数。在子类的方法中,super.methodName() 用于调用父类的方法。

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光 一,前言二,资源包内容三,免费获取资源包 一,前言 在创意的世界里,每一个细节都能决定一个项目的独特魅力。今天,要向大家介绍一款令人惊艳的粒子效果包 ——Super Confetti FX。 二,资源包内容 💥充满活力与动态,是 Super Confetti FX 最显著的标签。它宛如一位

MTK Android P/Q system/vendor/super快速打包

一、Android 新版本默认开启了动态分区,把system vendor  product等分区打包成一个super分区。这对于我们使用替换分区的方法来排查问题不是很方便,直接替换一个super也不知道到底是哪个部分导致的。所以我们需要自己制作super.img来缩小范围。下面讲讲如何快速生成system、vendor、super,以及vbmeta(校验image,不匹配可能会导致不开机) 二

? extends T 和 ? super T分别是什么意思?有什么不同?

<? extends T>首先你很容易误解它为继承于T的所有类的集合,这是大错特错的,相信能看下去你一定见过或用过List<? extends T>吧?为什么我说理解成一个集合是错呢?如果理解成一个集合那为什么不用List<T>来表示?所以<? extends T>不是一个集合,而是T的某一种子类的意思,记住是一种,单一的一种,问题来了,由于连哪一种都不确定,带来了不确定性,所以是不可能通过add

java基础总结11-面向对象7(super关键字)

在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候,这个子类对象里面会有一个父类对象。怎么去引用里面的父类对象呢?使用super来引用,this指的是当前对象的引用,super是当前对象里面的父对象的引用。 1 super关键字测试 package cn.galc.test;/*** 父类* @autho

A Comprehensive Survey on Graph Neural Networks笔记

一、摘要-Abstract 1、传统的深度学习模型主要处理欧几里得数据(如图像、文本),而图神经网络的出现和发展是为了有效处理和学习非欧几里得域(即图结构数据)的信息。 2、将GNN划分为四类:recurrent GNNs(RecGNN), convolutional GNNs,(GCN), graph autoencoders(GAE), and spatial–temporal GNNs(S

Beyond Compare4.2.4 64位OS最新密钥

亲测可用,拿来主义 6TTCoWi2N0Pv+o2HGfqUpZfuaMhtf2zX0u1OuNeqTYkKKWh-CKwBWkPUG3+CiAQ2q4MNPbf0t8+gmPdo+Vyw64aU-zuQQt9d7Q6EcJ+T42by0E+kxf+q3QLs40H+RD3h5OLjFGpxClodRnTCNoAM39xsWm2aHZI0Z9KdXzLo1fo1OdNlaptoK17SsxNK-

【大数据Java基础-JAVA 面向对象14】面向对象的特征二:继承性 (三) 关键字:super以及子类对象实例化全过程

关键字:super 1.super 关键字可以理解为:父类的 2.可以用来调用的结构: 属性、方法、构造器 3.super调用属性、方法: 3.1 我们可以在子类的方法或构造器中。通过使用"super.属性"或"super.方法"的方式,显式的调用父类中声明的属性或方法。但是,通常情况下,我们习惯省略"super." 3.2 特殊情况:当子类和父类中定义了同名的属性时,我们要想在子类中调用父类