超分之DeSRA

  • Desra: detect and delete the artifacts of gan-based real-world super-resolution models.
  • DeSRA:检测并消除基于GAN的真实世界超分辨率模型中的伪影
  • Xie L, Wang X, Chen X, et al.
  • arXiv preprint arXiv:2307.02457, 2023.

摘要

  1. 背景
    • GAN-SR模型虽然可以恢复图像的真实细节,但是不可避免的会产生伪影。
  2. 目前的研究方法与不足
    • 在训练阶段通过额外的损失惩罚来抑制伪影。
    • 它们只适用于训练期间生成的伪影类型,对于实际的真实测试图像,重建图像仍然会存在伪影。
  3. 提出了本文的方法—DeSRA
    • 首先测量 MSE-SR 结果和 GAN-SR 结果的相对局部方差距离,并根据上述距离和语义感知阈值定位问题区域。
    • 在检测到伪影区域后,本文开发了一个微调程序,以使用少量样本改进GAN-SR 模型。

1. 引言

  1. 目前GAN-SR模型的真实世界推理:

    • 对于GAN-SR模型产生的伪影,在训练期间LDL使用局部判别损失惩罚,但是对于真实世界图像推理时,重建图像仍然会存在伪影。
      在这里插入图片描述
  2. 本文将GAN-SR伪影出现的不同阶段分类:
    (1)GAN训练伪影:在模型训练时不稳定优化产生的伪影。(LDL惩罚损失,缓解伪影)
    (2) GAN推理伪影:在使用真实世界图像的推理过程中产生的伪影。(训练集未出现)

  • 针对GAN推理伪影:
    1. 检测伪影区域:
      1. 通过计算局部方差来测量基于 MSE 和基于 GAN 的模型生成的结果之间的纹理差异。
      2. 进一步引入语义感知调整,以放大感知伪影敏感区域(例如建筑物、海洋)的差异,同时抑制纹理区域(例如树叶、动物毛皮)的差异。
    2. 制作伪GT图像并微调GAN-SR模型:
      1. 收集少量带有伪影的基于 GAN 的结果,并根据二值化检测掩码将伪影区域替换为基于 MSE 的结果。
      2. 使用组合结果作为伪 GT 来构建训练对,以在极短的迭代周期内对模型进行微调。
  1. 总结:
    • 本文首次尝试分析在推理过程中通常出现在没有真实数据的未见测试数据上的 GAN 推理伪影。
    • 基于本文的分析,本文设计了一种方法来有效地检测具有 GAN 推理伪影的区域。
    • 本文进一步提出了一种微调策略,只需要少量的伪影图像就可以消除相同类型的伪影,这弥补了将 SR 算法应用于实际场景的差距。
    • 与以前的工作相比,本文的方法能够更准确地检测未见的伪影,并更有效地缓解 GAN-SR 模型在真实世界测试数据中产生的伪影

2. 相关工作

  1. MSE-based Super-Resolution.
    • 本质:通过最小化 SR 输出与 HR 真实值之间的像素距离( l 1 l_1 l1 l 2 l_2 l2距离)来恢复高保真结果。
    • 缺点:优化像素距离不可避免地会导致缺乏精细细节的平滑重建。
    • 代表模型:SRCNN、VDSR、EDSR、 RCAN
  2. GAN-based Super-Resolution
    • 本质: 通过GAN的生成器与判别器交替博弈,来提高 SR 结果的感知质量。
    • 缺点:GAN-SR重建的图像会产生伪影。
    • 代表模型:SRGAN、ESRGAN、 BSRGAN、Real-ESRAGN、RealBasicVSR、FastRealVSR、SPSR 、LDL

3. 方法论

3.1 GAN-SR
  • 现有的GAN-SR方法,都是使用三种损失的加权和进行训练:
    ![[Pasted image 20250306183613.png|500]]

  • 为了解决GAN训练的不稳定性,首先仅使用 l r e c o n s l_recons lrecons进行预训练,生成MSE-SR模型;然后使用$l_GAN对MSE-SR模型进行微调,来得到最终的GAN-SR模型

  • 通过下图可以看到,含有伪影的GAN-SR结果的视觉质量甚至比MSE-SR结果更差。并且GAN-SR伪影类型复杂,特征各异,且随图像内容不同而不同。
    ![[Pasted image 20250306183818.png]]

因此本文的目的就是检测出GAN-SR生成图像的伪影区域,并使用MSE-SR生成图像来替换此伪影区域。

3.2 检测伪影区域

本文主要解决的GAN-SR推理伪影:
(1)伪影不会出现在预训练的MSE-SR模型:在模型训练时不稳定优化产生的伪影。(确保伪影是由于GAN引起)
(2)伪影明显, 面积较大。

  1. 计算局部纹理的复杂性 : (局部区域 P 内像素强度的标准差)
    ![[Pasted image 20250306184351.png|400]]

  2. 计算MSE-SR与GAN-SR块之间的局部纹理差异:
    ![[Pasted image 20250306184443.png|200]]

![[Pasted image 20250306184622.png|300]]

  • 从上图可以看到
    • 对于相似语义块;d越大,GAN伪影越明显
    • 对于不同语义块:d不能直接反应GAN伪影现象
  1. 因此要改进纹理差异为相对值:
    ![[Pasted image 20250306184527.png|200]]||500

  2. 纹理差异归一化:
    ![[Pasted image 20250306184836.png|300]]

  3. 分母优化:
    ![[Pasted image 20250306184900.png|200]]

![[Pasted image 20250310160028.png|300]]

经过上述操作后,可以看到图中最后一列已经能够分辨出GAN-SR相较于MSE-SR产生的伪影,但是任然存在细微的差异,因此进行进一步的优化。
6. SegFormer分割不同区域:
![[Pasted image 20250310160326.png|300]]

  1. 分区域区分伪影: (threshold=0.7):
    ![[Pasted image 20250310160400.png|300]]

![[Pasted image 20250310160430.png|300]]

经过更细致的优化,可以从图中的最右侧看出,已经完全区分了GAN-SR相较于MSE-SR产生的伪影,并且也不会对MSE-SR的相应区域进行细微的惩罚。

3.3 改进GAN-SR模型

通过上述3.2检测的伪影区域,本文得到了一个结论:

  • 没有伪影的弱恢复甚至比带有伪影的强恢复更好
    因此使用MSE-SR替换GAN-SR中伪影的区域:
    ![[Pasted image 20250310161219.png|300]]

![[Pasted image 20250310161237.png|300]]

3.4 小结
  1. 将推理的真实世界图像通过MSE-SR模型生成伪GT图像;
  2. 使用低分辨率LR图像与伪GT图像进行微调训练,重建出伪影较少的超分辨率SR图像。

4. 实验

4.1可视化分析

![[Pasted image 20250310161440.png|500]]在这里插入图片描述

4.2 用户调研分析

在这里插入图片描述

  1. 相较于GAN-SR模型,验证DeSRA模型是否减少伪影
    • 20组随机打乱的图像对,15人参与调研,选择认为伪影较少的图像。
  2. 相较于MSE-SR模型,验证DeSRA模型是否重建更多的纹理细节
    • 20组随机打乱的图像对,15人参与调研,选择认为更多细节的图像。

5. 结论

  1. 分析GAN-SR伪影,并提出了检测和删除伪影的DeSRA模型:

    • 首先测量MSE-SR 和 GAN-SR重建图像的相对局部方差,然后根据距离图和语义区域定位伪影区域。在检测到有伪影的区域后,我们使用基于 MSE 的结果作为伪GT图像来微调模型。
  2. SOTA:

    • 实验表明,DeSRA能够有效的检测和删除伪影,并且显著提高了GAN-SR模型在真实世界超分辨率技术的实际应用能力。

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

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

相关文章

Vue3 Pinia 符合直觉的Vue.js状态管理库

Pinia 符合直觉的Vue.js状态管理库 什么时候使用Pinia 当两个关系非常远的组件,要传递参数时使用Pinia组件的公共参数使用Pinia

Web Worker如何在本地使用

首先了解一下什么是Web Worker Web Worker 是一种在后台线程中运行 JavaScript 的机制,允许你在不阻塞主线程的情况下执行耗时的任务。这对于保持网页的响应性和流畅性非常重要,特别是在需要进行复杂计算或大量数据处理时。 主要特点 多线程&#xff1…

Javaweb后端文件上传@value注解

文件本地存储磁盘 阿里云oss准备工作 阿里云oss入门程序 要重启一下idea,上面有cmd 阿里云oss案例集成 优化 用spring中的value注解

MAC-禁止百度网盘自动升级更新

通过终端禁用更新服务(推荐)​ 此方法直接移除百度网盘的自动更新组件,无需修改系统文件。 ​步骤: ​1.关闭百度网盘后台进程 按下 Command + Space → 输入「活动监视器」→ 搜索 BaiduNetdisk 或 UpdateAgent → 结束相关进程。 ​2.删除自动更新配置文件 打开终端…

数据结构:有序表的插入

本文是我编写的针对计算机专业考研复习《数据结构》所用资料内容选刊。主要目的在于向复习这门课程的同学说明,此类问题不仅仅使用顺序表,也可以使用链表。并且,在复习中,两种数据结构都要掌握。 若线性表中的数据元素相互之间可以…

DeepSeek大语言模型下几个常用术语

昨天刷B站看到复旦赵斌老师说的一句话“科幻电影里在人脑中植入芯片或许在当下无法实现,但当下可以借助AI人工智能实现人类第二脑”(大概是这个意思) 💞更多内容,可关注公众号“ 一名程序媛 ”,我们一起从 …

Html5学习教程,从入门到精通, HTML5超链接应用的详细语法知识点和案例代码(18)

HTML5超链接应用的详细语法知识点和案例代码 超链接(Hyperlink),也称为跃点链接,是互联网和文档编辑中的一种重要概念。 超链接的定义 超链接是指从一个网页指向一个目标的连接关系,这个目标可以是另一个网页&#…

MYSQL之创建数据库和表

创建数据库db_ck (下面的创建是最好的创建方法,如果数据库存在也不会报错,并且指定使用utf8mb4) show databases命令可以查看所有的数据库名,可以找到刚刚创建的db_ck数据库 使用该数据库时,发现里面没有…

[pytest] 配置

这里写目录标题 PytestInitRun3. 根据命令行选项将不同的值传递给测试函数 Report1. 向测试报告标题添加信息2. 分析测试持续时间 pytest --durations33. 增量测试 - 测试步骤--junitxml{report}.xml1. testsuite1.1 在测试套件级别添加属性节点 record_testsuite_property 2. …

Manus联创澄清:我们并未使用MCP技术

摘要 近日,Manus联创针对外界关于其产品可能涉及“沙盒越狱”的疑问进行了正式回应。公司明确表示并未使用Anthropic的MCP(模型上下文协议)技术,并强调MCP是一个旨在标准化应用程序与大型语言模型(LLM)之间…

初始化E9环境,安装Sqlserver数据库

title: 初始化E9环境,安装Sqlserver数据库 date: 2025-03-10 19:27:19 tags: E9SqlServer初始化E9环境,安装Sqlserver数据库 安装E9本地环境安装Sql server 数据库1、检查SQL Server服务是否开启2、检查SQL Server网络网络配置是否开启创建一个ecology数据库点击初始化数据库…

推荐一个基于Koin, Ktor Paging等组件的KMM Compose Multiplatform项目

Kotlin Multiplatform Mobile(KMM)已经从一个雄心勃勃的想法发展成为一个稳定而强大的框架,为开发人员提供了在多个平台上无缝共享代码的能力。通过最近的稳定版本里程碑,KMM已成为跨平台开发领域的改变者。 环境设置 带有Kotli…

在WSL2-Ubuntu中安装CUDA12.8、cuDNN、Anaconda、Pytorch并验证安装

#记录工作 提示:整个过程最好先开启系统代理,也可以用镜像源,确保有官方发布的最新特性和官方库的完整和兼容性支持。 期间下载会特别慢,需要在系统上先开启代理,然后WSL设置里打开网络模式“Mirrored”,以设置WSL自动…

Ubuntu 24.04.2 允许 root 登录桌面、 ssh 远程、允许 Ubuntu 客户机与主机拖拽传递文件

允许 root 登录桌面 修改 /etc/pam.d/gdm-autologin , /etc/pam.d/gdm-password 加 # 以注释掉 auth required pam_succeed_if.so user ! root quiet_success 允许 root 通过 ssh 登录 修改 /etc/ssh/sshd_config ... #PermitRootLogin prohibit-password PermitRootLogin …

SQLAlchemy系列教程:如何执行原生SQL

Python中的数据库交互提供了高级API。但是,有时您可能需要执行原始SQL以提高效率或利用数据库特定的特性。本指南介绍在SQLAlchemy框架内执行原始SQL。 在SQLAlchemy中执行原生SQL SQLAlchemy虽然以其对象-关系映射(ORM)功能而闻名&#xff…

基于SpringBoot的手机销售网站设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

浏览器安全问题

1. XSS攻击 概念 XSS 攻击指的是跨站脚本攻击,是一种代码注入攻击。攻击者通过在网站注入恶意脚本,使之在用户的浏览器上运行,从而盗取用户的信息如 cookie 等 XSS本质是因为网站没有对恶意代码进行过滤,与正常代码混合在一起了…

Spring(五)容器-依赖注入的三种方式

目录 总结:通用的三种注入方式 1 字段注入 2 构造器注入 3 set注入 总结:通用的三种注入方式 优先使用构造器注入谨慎使用 Setter 注入避免滥用字段注入 通过构造器传入依赖,确保对象创建时即完成初始化。通过 Setter 方法注入依赖&#x…

Python贝壳网二手小区数据爬取(2025年3月更)

文章目录 一、代码整体架构解析二、各部分代码详解1. main()主函数解析2. 会话初始化(伪装浏览器身份)3. 动态参数生成(反爬虫核心机制)4. 列表页抓取(获取小区列表)5. 列表页解析(提取小区信息…

使用服务器搭建一个专属的密码管理工具Vaultwarden

一、服务器配置与Docker环境 ‌实例选型与系统准备‌ ‌推荐配置‌:‌1核2GB内存‌(莱卡云L1型实例),Vaultwarden资源占用低,适合轻量级部署‌34。‌操作系统‌:选择 ‌Ubuntu 22.04 LTS‌,兼容…