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…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...
消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...
图解JavaScript原型:原型链及其分析 | JavaScript图解
忽略该图的细节(如内存地址值没有用二进制) 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么:保存在堆中一块区域,同时在栈中有一块区域保存其在堆中的地址(也就是我们通常说的该变量指向谁&…...
