当前位置: 首页 > news >正文

9、论文阅读:无监督的感知驱动深水下图像增强

Perception-Driven Deep Underwater Image Enhancement Without Paired Supervision

  • 前言
  • 引言
  • 相关工作
    • UIE模型
      • 基于非物理模型
      • 基于物理模型
      • 基于深度学习
    • 质量度量在图像增强中的应用
  • 方法论
    • 问题表述
    • PQR模型
    • PDD网络
      • 生成器
    • 损失函数
  • 实验

Enhancement Without Paired Supervision)

前言

当前的 UIE 算法主要通过最小化增强图像和地面真实图像之间的重建损失,在合成数据集或具有伪标签的数据集上训练深度神经网络(DNN)。但是,合成和真实的水下图像有差距,在合成图像上训练的网络在真实环境下不一定有好的表现。并且使用L1和L2损失函数,往往忽视人类感知的重要性,(L1和L2损失只关注像素级别的差异,没有考虑人类视觉系统的感知特性。人类的眼睛对边缘和纹理的变化敏感,但是对颜色变化相对不敏感。为此,可以使用感知损失或者风格迁移损失 ​),导致增强的图片不尽人意。

因此,本论文提出了一个无监督感知驱动的 DNN,称为 PDD-Net,用于泛化 UIE。我们不依赖配对图像进行训练,而是采用无监督生成对抗网络(GAN),以大量易于获得的自然图像作为目标域,这使得模型可以使用从各个领域收集的图像进行训练,避免过度拟合任何特定的数据生成领域。

此外,为了让增强的图片更加符合人类感知(纹理、边缘、颜色等),我们预训练了一个基于DNN的PQR(成对质量排序)模型,在其上制定PQR损失以逐步引导提高原始水下图像的质量方向。

此外,我们引入了全局注意力模块(GAM),它集成了调制和注意力机制,能够捕获丰富的全局和局部信息,从而提高亮度和对比度。

引言

水下成像对于与海洋相关的应用至关重要,然而,由于特殊的成像环境,水下图像的质量往往会因能见度差、对比度低、色偏等问题而受到影响,从而影响了水下研究和探索的进展。造成这种质量差的主要原因在于光波长的吸收(红光最先消失)和光的散射。水中的悬浮物也会会导致光多次散射和反射,导致水下图像的低对比度、细节模糊。

UIE 的早期尝试通常应用简单的图像处理技术来操纵原始水下图像的图像像素,包括灰度世界白平衡、伽马校正、直方图均衡和直方图拉伸。 此类方法基于自然图像处理的先验知识直接改变水下图像的像素强度,无法适应水下图像的复杂变形。

  • 灰度世界白平衡:调整每个像素的像素值R,G,B,但是当图像场景颜色并不丰富时(尤其是水下环境常常呈现蓝/绿色),尤其出现大块单色物体时,该算法常会失效。 自动白平衡–灰度世界算法(Gray World Algorithm)
  • 伽马校正:用于调整图像亮度和对比度的技术。人眼对亮度的感知是非线性的,即对亮度的变化不敏感于线性的亮度变化,而更敏感于暗部区域的变化。为了更好地匹配人眼的这种非线性感知,图像处理中的伽马校正会引入一个幂函数来调整亮度值。但是可能引起一些细节损失,计算量有时也比较大。
  • 直方图均衡
  • 直方图拉伸

为了解决这个问题,又演化出了基于图像融合的UIE算法。但是这种方法存在计算复杂度高(需要通过he、gc等算法获取图片)、参数调节复杂(多个算法)的问题,同时并不能完全解决水下图像失真的问题。

考虑到水下图像退化主要是由于波的吸收和散射引起的,因此开发了各种物理水下成像模型

  • 《Transmission estimation in underwater single images》 UDCP
  • 《“GUDCP: Generalization of underwater dark channel prior for underwater image restoration》 GUDCP
  • 《Underwater image enhancement by dehazing with minimum information loss and histogram distribution prior》
  • 《Underwater image enhancement with hyper-Laplacian reflectance priors》
  • 《FW-GAN: Underwater image enhancement using generative adversarial network with multi-scale fusion》

使用这些模型开发了UIE方法,可以有效地恢复退化的水下图像。但是这些方法也存在一些问题。过后补充

为了获得准确的结果,提出了额外的先验作为约束。然而,该模型并不总是适用于水下图像,因为复杂的水下环境会干扰光传输衰减,导致最终结果中出现不必要的伪影。

近年来,由于DNN模型的非线性建模能力,使得DNN在UIE领域获得广泛应用。例如:

  • 《Underwater image enhancement with global–local networks and compressed-histogram equalization》
  • 《Anovel underwater image enhancement algorithm and an improved underwater biological detection pipeline》
  • 《Two-branch deep neural network for underwater image enhancement in HSV color space》
  • 《CURE-Net: A cascaded deep network for underwater image enhancement》

然而,由于缺乏真实的高质量水下图像给在UIE中直接应用DNN带来了巨大的挑战。

  • 一种解决办法就是合成训练数据,但是真实数据和合成数据之间的差距限制了这些方法的应用和性能
  • 另一种办法是使用伪标签进行训练,其中监督数据是通过现有UIE算法从不同的增强结果中手动选择的,但是这种方法可能会在不同数据集上产生异构性能,并且性能可能会受到现有 UIE 方法的极大限制

现有的基于DNN的UIE算法通常使用MSE损失,这常常忽略了人类感知的重要性。即虽然客观数据好看,但是不符合人类对视觉质量的感知。

为了解决上述问题,提出了无监督感知驱动的DNN,PDD-Net。

  • 使用无监督生成对抗网络(GAN),以一组易于获得的大规模自然图像作为目标域
  • 使用对抗性损失来最小化训练增强的水下图像和容易获得的自然图像之间的分布距离。
  • 为了使增强图像更加符合人类感知,预训练了一个基于深度神经网络(DNN)的成对质量排名(PQR)模型,作为质量损失项,指导原始水下图像向更高质量的方向优化
  • PQR 模型可以在人类评分的水下图像质量数据集上进行训练

相关文章:

9、论文阅读:无监督的感知驱动深水下图像增强

Perception-Driven Deep Underwater Image Enhancement Without Paired Supervision 前言引言相关工作UIE模型基于非物理模型基于物理模型基于深度学习质量度量在图像增强中的应用方法论问题表述PQR模型PDD网络生成器损失函数实验Enhancement Without Paired Supervision) 前言…...

谷歌收录查询工具,使用谷歌收录查询工具查询网站收录情况并优化内容的详细步骤

在数字营销和SEO领域,了解网站在谷歌搜索引擎中的收录情况至关重要。使用谷歌收录查询工具,可以有效地监测网站的索引状态,进而优化内容以提升网站排名和曝光度。以下是如何使用谷歌收录查询工具查询网站收录情况并优化内容的详细步骤&#x…...

代理中长效的长板在哪里

伙伴们,之前咱们讨论过了短效代理的用途,那么今天我们来聊一聊长效代理的多元化用途,大家也可以对比一下它们的区别,根据自身的需求针对性地去选择合适的哦。 在企业的网络安全保卫战中,长效代理像是一座坚不可摧的钢…...

VS code Jupyter notebook 导入文件目录问题

VS code Jupyter notebook 导入文件目录问题 引言正文引言 这几天被 VS code 中 Jupyter Notebook 中的文件导入折磨的死去活来。这里特来说明一下放置于不同文件夹下的模块该如何被导入。 正文 首先,我们需要按下 Ctrl + , 键打开设置,然后搜索 notebook file root。在如…...

【IDEA】将光标移动到您上一次编辑的地方

将光标移动到您上一次编辑的地方 使用 ctl <-- 似乎是回到上一个文件而 ctl shift Backspace 是回到上一次的光标&#xff0c;似乎更有用一些。Backspace 是删除按键&#xff0c;要非常小心。 快捷键快速回退到上一次编辑的位置 在 IntelliJ IDEA 中&#xff0c;您可以…...

设备管理平台-支持快速开发

技术路线&#xff08;同时支持前后端分离 / 前后端一体&#xff0c;可用于网关或者服务器部署&#xff09; 前端&#xff1a;layui-v2.9.17 后端&#xff1a;Net8.0 使用组件 Swagger、Jwt、Freesql、MiniExcel、MemoryCache(存储登录用户信息&#xff0c;代替HttpContext.S…...

Vue项目开发注意事项

事项一&#xff1a;项目代码放在本地怎么运行起来 1、首先确定项目对应的node和npm版本 node下载地址 Index of /dist/https://nodejs.org/dist/ node 与 npm版本对应关系 Node.js — Node.js Releases 2、node卸载的时候&#xff0c;会自动把对应的npm卸载掉 情况1&…...

Vivado时序报告之CDC详解大全

目录 一、前言 二、Report CDC 2.1 Report CDC 2.2 配置界面 2.3 CDC报告 2.3.1 General Information 2.3.2 Summary 2.3.3 CDC Details 2.4 Waiver 2.4.1 设置Waiver 2.4.2 报告查看 2.4.3 去除Waiver设置 三、工程设计 四、参考资料 一、前言 前面已经针对…...

【研赛A题成品论文】24华为杯数学建模研赛A题成品论文+可运行代码丨免费分享

2024华为杯研究生数学建模竞赛A题精品成品论文已出&#xff01; A题 风电场有功功率优化分配 一、问题分析 A题是一道工程建模与优化类问题&#xff0c;其目的是根据题目所给的附件数据资料分析风机主轴及塔架疲劳损伤程度&#xff0c;以及建立优化模型求解最优有功功率分配…...

华为OD机试 - 小明的幸运数(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…...

嵌入式学习——进程间通信方式(3)—— 共享内存

一、基本概念 什么是共享内存&#xff0c;顾名思义&#xff0c;就是将共享一片内存空间&#xff0c;共享内存允许多个不同的进程访问同一片内存空间。他们对这个内存直接进行操作&#xff0c;不需要经过内核的处理&#xff0c;因此共享内存是IPC通信方式中效率最高的。那如何实…...

python开发讯飞星火

一、讯飞星火网址 星火认知大模型Web API文档 | 讯飞开放平台文档中心 二、pycharm安装 pip3 install --upgrade spark_ai_python...

自然语言处理(jieba库分词)

1、完全切分法、正向最大匹配算法、逆向最大匹配算法和双向最大匹配算法 一、实验内容 一个好的NLP系统一定要有完备的词典&#xff0c;用于判断算法分出的词是否是具有实际意义的词。自定义一个词典&#xff0c;比如dic ["项目", "研究", "目的&q…...

MYSQL-查看函数创建语句语法(五)

SHOW CREATE FUNCTION 语句 SHOW CREATE FUNCTION func_name此语句类似于 SHOW CREATE PROCEDURE 的方法&#xff0c;但用于存储过程。 mysql> show create function world.sum \G *************************** 1. row ***************************Function: sumsql_mode:…...

图解IRF

FW1 配置思路 ① 配置IRF优先级 确认设备的主次 ② 设置批量操作的接口方便后续操作 interface range name fw-irf interface GigabitEthernet1/0/2 to GigabitEthernet1/0/3 ③ 接口 showdown 关闭接口 ④ 创建的IRF 1/1 成员的对应的接口的是 GE1/0/2 GE/1/0/3 ⑤ 开放IRF对…...

关于Chrome浏览器F12调试,显示未连接到互联网的问题

情况说明 最近笔者更新下电脑的Chrome浏览器&#xff0c;在调试前端代码的时候&#xff0c;遇到下面一个情况&#xff1a; 发现打开调试面板后&#xff0c;页面上显示未连接到互联网&#xff0c;但实际电脑网络是没有问题的&#xff0c;关闭调试面板后&#xff0c;网页又能正…...

南沙csp-j/s一对一家教 解一本通题: 1937:【06NOIP普及组】数列

【题目描述】 给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列&#xff0c;例如&#xff0c;当k3时&#xff0c;这个序列是&#xff1a; 1&#xff0c;3&#xff0c;4&#xff0c;9&#xff0c;10&#xff0c;12&#xff0c;13&a…...

【分布式微服务云原生】K8s(Kubernetes)基本概念和使用方法

Kubernetes简称K8S,是一个强大的开源容器编排平台&#xff0c;用于自动化部署、扩展和管理容器化应用程序。它最初由Google设计&#xff0c;并由Cloud Native Computing Foundation&#xff08;CNCF&#xff09;维护。以下是Kubernetes的一些基本概念和使用方法。 基本概念 集…...

引入Scrum激发研发体系活力

引言 在当今快速变化的技术环境中&#xff0c;IT企业面临着持续的市场压力和竞争&#xff0c;传统的瀑布式开发模式已经难以满足现代企业的需要。瀑布模型过于僵化&#xff0c;缺乏灵活性&#xff0c;导致项目经常延期&#xff0c;成本增加&#xff0c;最终可能无法达到预期效果…...

JAVA开源项目 技术交流分享平台 计算机毕业设计

本文项目编号 T 053 &#xff0c;文末自助获取源码 \color{red}{T053&#xff0c;文末自助获取源码} T053&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 新…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

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.构…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...