OneRestore: A Universal Restoration Framework for Composite Degradation 论文阅读笔记

在这里插入图片描述

  • 这是武汉大学一作单位的一篇发表在ECCV2024上的论文,文章代码开源,文章首页图如下所示,做混合图像干扰去除,还能分别去除,看起来很牛逼。
  • 在这里插入图片描述
  • 文章是少见的做混合图像干扰去除的,不过可惜只包含了3种degradation,而甚至不包含noise。三种分别是low-light,rain/snow,以及haze。文章认为一张degraded image,是由它对应的clear state通过以上提及的顺序叠加degradation生成的。其中low-light用retinex理论来分解,雨就直接加雨图,雪就用色差图来加权雪图,雾则用大气散射模型建模,如下所示:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 基于上述假设,文章提出了一个叫Composite Degradation Dataset (CDD-11)的数据集,在RAISE数据集上得到一些干净的图像,加各种降质的组合,得到11种降质,得到最终的成对图像数据集。
  • 网络结构如下图所示,还是老一套,在普通的restoration的网络中,加入degradation的embedding,进行交互。这里就是用交叉注意力进行交互,然后degradation的embedding通过语言模型提取或者image encoder提取,并算了个文本特征和图像特征之间的对比损失(余弦相似度加交叉熵,本质上是希望训练好一个能自动预测degradation type的image encoder):
    在这里插入图片描述
  • 此外还有个对比损失,是算修复结果与GT和LQ 图片之间的对比损失,这个损失不仅限于这个框架用。其实就是想要修复结果与GT之间更接近,与LQ之间更远。原有对比损失是这样做的,将图片用vgg提取特征,然后计算修复结果的特征与输入图片的特征之间的距离以及修复结果的特征与GT图片特征之间的距离,算一个triplet loss,但是文章提出这样的损失放在这个composite degradation的设定下可能导致修复结果与其它degradation之间的特征变得更接近(感觉这个解释有点牵强)。所以希望添加更多的negative sample,把其它degradation type的图片也提取特征,作为negative sample来算损失。示意图如下:
    在这里插入图片描述
  • 从消融实验结果可以看到,相比普通的CL,用多个negative sample的CL取得更好的结果。
    在这里插入图片描述

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

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

相关文章

C#程序开发,检测当前电脑已经安装的软件目录

在Windows中使用C#做软件开发&#xff0c;有时候需要获取当前系统中已安装的软件及其版本号&#xff0c;接下来就简单介绍一下&#xff0c;如何通过C#获取来实现。 1、通过注册表 public List<PcSoftinfo> GetAllInstalledSoftware(string name) {var keys new Regist…

C++ 23的格式化输出

C23 引入了一些新的功能和改进&#xff0c;其中与格式化输出相关的主要变化是对 <format> 库&#xff08;也称为 C20 的标准库格式化功能&#xff09;的进一步支持和可能的增强。C20 已经引入了 <format> 库&#xff0c;提供了一个强大的、类型安全的字符串格式化功…

系统架构设计师论文:论系统安全架构设计及其应用

试题二:论系统安全架构设计及其应用 信息安全的特征是为了保证信息的机密性、完整性、可用性、可控性和不可抵赖性。信息系统的安全保障是以风险和策略为基础,在信息系统的整个生命周期中提供包括技术、管理、人员和工程过程的整体安全,在信息系统中保障信息的这些安全特征…

2024最新版JavaScript逆向爬虫教程-------基础篇之Proxy与Reflect详解

目录 一、监听对象的操作二、Proxy基本使用2.1 创建空代理2.2 定义捕获器2.2.1 Proxy的set和get捕获器2.2.2 Proxy(handler)的13个捕获器 三、Reflect的作用3.1 Reflect的使用3.2 Reflect其余方法(9个)3.3 Proxy与Reflect中的receiver参数3.4 Reflect中的construct方法 ECMAScr…

如何选择CMS网站管理系统来创建网站呢?

在网站规划中&#xff0c;选择一个合适的CMS&#xff08;内容管理系统&#xff09;尤其重要。CMS是一种用于制作、编辑和管理网站内容的建站工具&#xff0c;它能降低建站的难度、节省建站的时间、提高网站创建的效率和质量。 当然、想提高网站创建的质量&#xff0c;还是得选对…

ES5 和 ES6 数组的操作方法

在 JavaScript 中&#xff0c;数组的操作方法非常丰富&#xff0c;包括 ES5 和 ES6 中引入的各种方法。以下是对这些数组方法的详细介绍&#xff0c;分为 ES5 和 ES6。 目录 一、ES5 数组方法 1. 创建数组 2. 数组增加元素 3. 数组删除元素 4. 查找元素 5. 遍历数组 6.…

鸿蒙next版开发:订阅应用事件(ArkTS)

在HarmonyOS 5.0中&#xff0c;ArkTS提供了强大的应用事件订阅机制&#xff0c;允许开发者订阅和处理系统或应用级别的事件。这一功能对于监控应用行为、优化用户体验和进行性能分析至关重要。本文将详细介绍如何在ArkTS中订阅应用事件&#xff0c;并提供示例代码进行说明。 应…

【juc】AbstractQueuedSynchronized为什么采用双向链表

目录 1. 说明2. 双向链表的特性2.1 双向指针2.2 高效操作2.3 支持双向遍历 3. AQS的设计需求3.1 管理等待线程3.2 高效传播状态信息3.3 支持异常处理3.4 简化自旋竞争锁的逻辑 4. 单向链表的局限性4.1 遍历方向受限4.2 节点删除操作复杂4.3 状态信息传播不便 1. 说明 1.Abstra…

抽象工厂模式详解

1. 引言 1.1 设计模式概述 设计模式&#xff08;Design Patterns&#xff09;是软件开发中解决常见问题的一种最佳实践。它们通过总结经验&#xff0c;提供了一套被验证有效的代码结构和设计原则&#xff0c;帮助开发者提高代码的可维护性、可重用性和可扩展性。 设计模式主…

文献解读-DNAscope: High accuracy small variant calling using machine learning

关键词&#xff1a;基准与方法研究&#xff1b;基因测序&#xff1b;变异检测&#xff1b; 文献简介 标题&#xff08;英文&#xff09;&#xff1a;DNAscope: High accuracy small variant calling using machine learning标题&#xff08;中文&#xff09;&#xff1a;DNAsc…

资产安全加固的面试点

资产加固 资产管理属于蓝队前期要做的事情&#xff0c;首先客户单位对他自身的单位资产有一定的了解哪些资产的优先级和重要程度等等&#xff0c;所以开始要做相关的资产梳理&#xff0c;对客户单位进行统计&#xff0c;梳理&#xff0c;分析&#xff0c;找到哪些点是可以授权…

自动驾驶3D目标检测综述(一)

文章地址&#xff1a;[2206.09474] 3D Object Detection for Autonomous Driving: A Comprehensive Survey (arxiv.org) 这篇综述简单易懂&#xff0c;非常合适对自动驾驶和3D目标检测感兴趣的小白阅读&#xff0c;对相关算法进行初步理解。 目录 一、摘要 &#xff08;一&a…

微软域名邮箱:如何设置管理烽火域名邮箱?

微软域名邮箱的设置技巧&#xff1f;免费域名邮箱注册设置教程&#xff1f; 微软域名邮箱为企业提供了一个强大且灵活的解决方案&#xff0c;帮助企业轻松管理其域名邮箱。烽火将详细介绍如何设置和管理微软域名邮箱&#xff0c;确保您的团队能够高效地使用这一工具。 微软域…

DirectShow过滤器开发-写AVI视频文件过滤器

下载本过滤器DLL 本过滤器将视频流和音频流写入AVI视频文件。 过滤器信息 过滤器名称&#xff1a;写AVI 过滤器GUID&#xff1a;{2EF49957-37DF-4356-A2A0-ECBC52D1984B} DLL注册函数名&#xff1a;DllRegisterServer 删除注册函数名&#xff1a;DllUnregisterServer 过滤器有…

算法——二分查找(leetcode704)

对于二分查找而言,首先我们得到的查找数组必须是一个有序数组,接着通过数组的两端得到左指针和右指针继而得到中间指针指向数组中间元素,将中间元素与目标值比较如果大于目标值舍弃数组中间元素右边的一半将右指针重置为中间指针下标-1中间指针重置为左右指针下标之和除以2&…

新版 idea 编写 idea 插件时,启动出现 ClassNotFound

IntelliJ IDEA 2024.1.6 (Ultimate Edition) Build #IU-241.19072.14, built on August 8, 2024 Licensed to Sophia Tout Subscription is active until June 29, 2025. For educational use only. Runtime version: 17.0.111-b1207.30 amd64 Kotlin: 241.19072.14-IJ 新版本…

Pytorch基本语法

Pytorch Pytorch的基本使用基本使用张量的简介1.张量的基本类型2.张量的创建1).基本创建方式1.torch.tensor()根据指定数据创建张量2.torch.Tensor() 根据指定形状创建张量&#xff0c;也可以用来创建指定数据的张量3.torch.IntTensor()、torch.FloatTensor()、torch.DoubleTen…

vue2.x elementui 固定顶部、左侧菜单与面包屑,自适应 iframe 页面布局

vue elementui 固定顶部、左侧菜单与面包屑&#xff0c;自适应 iframe 页面布局 疑问点&#xff1a;iframe无法高度100%&#xff0c;如果写了100%就会有滚动条&#xff0c;所以只写了99.5% 【效果图】 路由示例 const routes [{title: Index,path: /,name: "Index"…

单例模式全面解析

1. 引言 1.1 设计模式概述 设计模式&#xff08;Design Patterns&#xff09;是软件开发中总结的一套最佳实践&#xff0c;用于解决常见的软件设计问题。通过使用设计模式&#xff0c;开发者可以提高系统的可维护性、可扩展性和代码的复用性&#xff0c;简化开发流程和降低开…

godot——主题、Theme、StyleBox

我刚开始被这些术语吓到了&#xff0c;一直不敢去接触它们&#xff0c;都用的默认样式。现在好不容易有点思路了&#xff0c;记录下来。 下面看看怎么自定义样式。 1.先新建一个Theme 2.再次点击创建好的Theme 得到 图1 这样一个面板。&#xff08;看不懂没事&#xff0c;继…