10、论文阅读:基于双阶对比损失解纠缠表示的无监督水下图像增强
Unsupervised Underwater Image Enhancement Based on Disentangled Representations via Double-Order Contrastive Loss
- 前言
- 引言
- 方法介绍
- 解耦框架
- 多尺度生成器
- 双阶对比损失
- 双阶对比损失总结
- 损失函数
- 实验
前言
在水下环境中拍摄的图像通常会受到颜色失真、低对比度和视觉质量下降的影响。大多数现有的方法通过对合成图像或伪参考进行有监督的训练来解决水下图像增强(UIE)问题。然而,由于合成的配对数据与真实世界数据之间存在固有差异,这些数据无法准确复制真实情况,同时伪参考的数量和质量也有限,这在对真实水下图像进行测试时严重降低了模型的泛化能力和性能。
相比之下,无监督的方法不受配对数据的限制,更加稳健,并在实际应用中具有更大的潜力。
然而,现有的无监督方法无法有效约束网络来训练一个可以适应各种退化情况的模型。
(即目前已有的无监督学习方法在训练网络时,没有足够的约束或指导,使得训练出来的模型无法灵活地适应不同类型的图像退化情况。换句话说,虽然这些方法不需要配对数据,但缺乏有效的约束使得模型在处理不同的图像退化(如颜色失真、对比度低等)时表现不佳,无法做到通用和稳健。这也表明,单靠现有的无监督方法,难以获得在多种环境下都能良好工作的模型。)
受人们常常从对立但互补的角度解决问题这一事实的启发,我们认为去除和生成水层之间存在隐式的合作关系,因为它们可以相互约束并同时促进彼此。
基于上述分析,本文提出了一种基于无监督的UIE新框架,该框架基于解耦表示共同学习水层的生成和去除。具体而言,我们提出了一个双向解耦网络
“双向”的核心在于网络不仅学习如何去除水层(从水下图像到地面图像的转换),还学习如何生成水层(从地面图像到伪水下图像的转换)。这两个方向的学习是相互约束和促进的,通过这种双向的解耦和生成-去除循环,网络可以在两个任务上互相监督,从而提升解耦效果和模型的稳健性。
其中每个单向网络包含一个由水层去除和生成组成的循环,并限制图像在一个循环后保持一致。同时,提出了一种新颖的双阶对比损失,通过利用一阶特征和二阶特征的联合隐式约束来提高解耦能力。大量实验结果表明,该模型在定性和定量评估中均优于现有的最先进方法,且具有较高的处理速度。消融实验的结果也证明了各个组件的有效性。
引言
在过去的几十年中,已经提出了许多方法来增强水下图像,包括传统方法(基于图像的方法和基于模型的方法)、“零样本”方法以及数据驱动的方法(基于监督和无监督的方法)。
基于图像的方法旨在通过平衡颜色、提高对比度和锐化细节来校正每个像素。然而,由于缺乏模型约束,这些方法不足以恢复原始场景,并且在退化严重时可能会失效。
相比之下,基于模型的方法利用了一些先验知识,例如雾线先验和水下暗通道先验。然而,这些方法过于依赖先验的准确性,如果先验与真实情况有较大偏差,则增强方法将失效。
最近,“零样本”方法只使用单个输入图像,并基于一些手工设计的先验来训练一个小的特定图像网络。然而,“零样本”方法在测试时需要大量迭代,这在实际应用中效率较低。
此外,数据驱动算法利用大量数据来近似数据之间的映射,因此与传统方法相比,性能得到了极大的提升。不同于其他低级任务(如图像去雾和低光图像增强),在相同场景下获得非退化的水下图像是不现实的。因此,现有的基于监督的方法通常使用合成数据或伪参考作为训练的折中方法,但这些配对数据都有一些缺陷。对于合成数据,现有的基于物理模型的合成方法忽略了成像过程中许多因素,因此它们对水下多样退化的建模能力有限。因此,在合成数据集上训练的模型在真实场景中由于域偏移而表现出较差的泛化能力。对于伪参考数据,最常用的数据集是UIEB,由50名志愿者对12种增强方法进行评分而得到的,但这并不是真正的真实值。更重要的是,由于配对水下图像数量有限,训练用于多种退化的深度增强模型非常具有挑战性。
相比之下,基于无监督的方法不受配对数据的约束,并且越来越多地应用于各种视觉任务。然而,据我们所知,目前关于无监督的水下图像增强(UIE)的研究非常少。最相似的任务是地面上的无监督图像去雾(UID)。它们主要使用无退化的图像通过一个判别器来引导退化图像的增强,但水下图像的无退化版本是不可用的。此外,与雾霾图像相比,水下图像存在严重的颜色失真,因此直接将UID方法应用于UIE会产生严重的伪影和额外的色调。受到对立但互补的方法的启发,我们认为水层生成和去除是一个内在且有效的约束,它们应该紧密结合在一起。改进水层生成将有利于水层去除,反之亦然。
基于上述分析,我们提出了一种新的基于无监督的UIE框架,该框架基于解耦表示共同训练水层的生成和去除。特别地,我们提出了一个双向解耦网络,其中每个单向网络包含一个水层去除和
相关文章:
10、论文阅读:基于双阶对比损失解纠缠表示的无监督水下图像增强
Unsupervised Underwater Image Enhancement Based on Disentangled Representations via Double-Order Contrastive Loss 前言引言方法介绍解耦框架多尺度生成器双阶对比损失双阶对比损失总结损失函数实验前言 在水下环境中拍摄的图像通常会受到颜色失真、低对比度和视觉质量…...
Git配置token免密登录
配置token免密登录 如果不用ssh免密登录,还有其他基于Token那得免密登录方法吗? 2021年开始,github就不能使用密码登录git了,需要使用token作为密码登录,需要自己在setting中创建。 那么每次都需要我手动输入token密…...

活动预告|博睿数据将受邀出席GOPS全球运维大会上海站!
第二十四届 GOPS 全球运维大会暨研运数智化技术峰会上海站将于2024年10月18日-19日在上海中庚聚龙酒店召开。大会将为期2天,侧重大模型、DevOps、SRE、AIOps、BizDevOps、云原生及安全等热门技术领域。特设了如大模型 运维/研发测试、银行/证券数字化转型、平台工程…...

Flutter技术学习
以下内容更适用于 不拘泥于教程学习,而是从简单项目入手的初学者。 在开始第一个项目之前,我们先要了解 两个概念。 Widget 和 属性 Widget 是用户界面的基本构建块,可以是任何 UI 元素。属性 是 widget 类中定义的变量,用于配…...

Kubernetes网络通讯模式深度解析
Kubernetes的网络模型建立在所有Pod能够直接相互通讯的假设之上,这构建了一个扁平且互联的网络空间。在如GCE(Google Cloud Engine)等云环境中,这一网络模型已预先配置,但在自建的Kubernetes集群中,我们需要…...
SBTI科学碳目标是什么?有什么重要意义
SBTI(Science Based Targets initiative),即科学碳目标倡议,是一个由全球环境信息研究中心(CDP)、联合国全球契约组织(UNGC)、世界资源研究所(WRI)和世界自然…...

英特尔新旗舰 CPU 将运行更凉爽、更高效,适合 PC 游戏
英特尔终于解决了台式机 CPU 发热和耗电的问题。英特尔的新旗舰 Core Ultra 200S 系列处理器将于 10 月 24 日上市,该系列专注于每瓦性能,比之前的第 14 代芯片运行更凉爽、更高效。这些代号为 Arrow Lake S 的处理器也是英特尔首款内置 NPU(…...

MySQL 启动失败 (code=exited, status=1/FAILURE) 异常解决方案
目录 前言1. 问题描述2. 查看错误日志文件2.1 确认日志文件路径2.2 查看日志文件内容 3. 定位问题3.1 问题分析 4. 解决问题4.1 注释掉错误配置4.2 重启 MySQL 服务 5. 总结结语 前言 在日常运维和开发过程中,MySQL数据库的稳定运行至关重要。然而,MySQ…...

通信工程学习:什么是RIP路由信息协议
RIP:路由信息协议 RIP(Routing Information Protocol)路由信息协议是一种基于距离矢量算法的内部网关协议(IGP),主要用于在自治系统(AS)内部进行路由信息的交换和传播。以下是关于RI…...
SQL调优指南与高级技巧:打造高效数据库查询
在当今数据驱动的世界中,SQL(结构化查询语言)作为与关系型数据库交互的主要语言,其性能直接影响着整个应用系统的响应速度和用户体验。本文将深入探讨SQL调优的方法论和高级技巧,帮助开发者和数据库管理员提升查询效率…...

实惠又好用的云手机推荐【高性价比云手机盘点】
随着云计算技术的蓬勃发展,云手机已经成为现代工作和生活中的重要工具。面对种类繁多的云手机产品,用户往往在选择时关注价格与性能的平衡。今天,我们就为大家推荐几款性价比高、实用性强的云手机,帮助你轻松选择到最适合的产品。…...
Pear Admin Flask Master开启步骤
由于我学的是数控技术,对编程是从小白自学的,在运行pearflask时一直没搞懂初始化数据库这一步是在哪里执行的,网上查了很多资料都没写,找了一天半的资料后终于查到了。 使用系统:Windows 10 Python版本:Py…...
知识图谱入门——8: KG开发常见数据格式:OWL、RDF、XML、GraphML、JSON、CSV。
在知识图谱开发中,数据格式和语义表达至关重要。本文将详细论述OWL、RDF、XML、GraphML、JSON、CSV等格式的特点、优缺点及适用场景,帮助读者全面理解这些数据结构及其在知识图谱中的应用。 专栏:知识图谱:从0到 ∞ 文章目录 0. 对…...

离线使用k8s部署项目
docker的安装与完全卸载(亲测可用) docker的安装与完全卸载 然后配置镜像加速器 vi /etc/docker/daemon.json 将找到的镜像仓库地址写入 具体内容可以参考此网站时刻更新镜像源仓库 然后保存退出 执行 systemctl daemon-reloadsystemctl restart…...

【CF2021E】Digital Village(All Version)
题目 给你一张 n n n 个点 m m m 条边的无向图,有 p p p 个关键点。你需要选择 k k k 个点染黑,使得这 p p p 个关键点到这 k k k 个黑点的代价和最小。定义代价为两点之间边权最大的边的最小值。 你需要求出 k 1,2,…,n 的所有答案 E1 n,m,p&l…...

[C++]使用纯opencv部署yolov11目标检测onnx模型
yolov11官方框架:https://github.com/ultralytics/ultralytics 【算法介绍】 在C中使用纯OpenCV部署YOLOv11进行目标检测是一项具有挑战性的任务,因为YOLOv11通常是用PyTorch等深度学习框架实现的,而OpenCV本身并不直接支持加载和运行PyTor…...

【Golang】Go 语言中的 time 包详解:全面掌握时间处理与应用
在 Go 语言中,time 包提供了强大的时间处理功能,适用于各种场景:获取当前时间、格式化和解析时间、计算时间间隔、设置定时器、处理超时等。在开发过程中,熟练掌握 time 包能够帮助我们轻松处理时间相关的操作,尤其是定…...

MySQL联合索引、索引下推Demo
1.联合索引 测试SQL语句如下:表test中共有4个字段(id, a, b, c),id为主键 drop table test;#建表 create table test(id bigint primary key auto_increment,a int,b int,c int )#表中插入数据 insert into test(a, b, c) values(1,2,3),(2,3,4),(4,5,…...
linux上复制命令cp的常见用法-ubuntu
在Ubuntu中,cp命令是用于复制文件和目录的基本命令。以下是cp命令的常见用法和选项: 基本语法 cp [选项] 源文件 目标文件常用选项 -r 或 -R:递归复制目录及其内容。-p:保留源文件的属性(如权限、所有者、时间戳&am…...
R语言绘制气泡图
气泡图是一种数据可视化图表。它通常在二维或三维空间中展示数据。两个变量决定气泡在平面或空间中的位置,第三个变量则以气泡大小呈现。能直观反映三个变量间关系,帮助用户快速理解数据特征和趋势,在数据分析和展示中广泛应用。 0x01 使用s…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...

React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...

基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
前端调试HTTP状态码
1xx(信息类状态码) 这类状态码表示临时响应,需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分,客户端应继续发送剩余部分。 2xx(成功类状态码) 表示请求已成功被服务器接收、理解并处…...
怎么开发一个网络协议模块(C语言框架)之(六) ——通用对象池总结(核心)
+---------------------------+ | operEntryTbl[] | ← 操作对象池 (对象数组) +---------------------------+ | 0 | 1 | 2 | ... | N-1 | +---------------------------+↓ 初始化时全部加入 +------------------------+ +-------------------------+ | …...