U-Shape Transformer for Underwater Image Enhancement(用于水下图像增强的U型Transformer)总结

背景

现有的水下数据集或多或少存在图像数量少、水下场景少、甚至不是真实场景等缺点,限制了数据驱动的水下图像增强方法的性能。此外,水下图像在不同颜色通道和空间区域的衰减不一致也没有统一的框架。

贡献

1)提出了一种处理 UIE 任务的新型 U 型Transformer,其中基于Transformer设计的通道和空间注意机制能够有效消除色彩伪影和偏色。

2)设计了一种新颖的多色彩空间损失函数,结合了 RGB、LCH 和 LAB 色彩空间特征,进一步提高了输出图像的对比度和饱和度。

3)发布了一个大型数据集,其中包含 4279 幅真实水下图像以及相应的高质量参考图像、语义分割图和介质传输图,这有助于进一步开发 UIE 技术。

LSUI数据集

收集了 8018 幅水下图像,通过主观和客观两轮评估来选择参考图像,以尽可能消除潜在的偏差。
在第一轮中,受多个弱分类器可以组成一个强分类器的集合学习[46]的启发,我们首先使用现有的 18 种最优 UIE 方法相继处理收集到的水下图像,生成一个包含 18 ∗ 8018 幅图像的集合,用于下一步最佳参考数据集的选择。为了减少需要人工选择的图像数量,采用了非参考指标 UIQM 和 UCIQE 对所有生成的图像进行等权重评分。然后,每个原始图像的前三张参考图像组成一个大小为 3∗8018 的集合。考虑到个体差异,我们邀请了 20 名具有图像处理经验的志愿者,根据 UIE 任务中最重要的 5 个判断(对比度、饱和度、色彩校正效果、伪像程度、增强过度或不足程度)对图像进行评分,评分范围为 0-10 分,分数越高表示越满意。将每项得分归一化为 0-1 后,每张参考图片的总分为 100(5 ∗ 20)。在每张原始水下图像中,选择总和值最高的一张参考图像。此外,数据集中剔除了总和值低于 70 的图像。在第二轮中,我们邀请志愿者再次对每张参考图片进行投票,选出其存在的问题并确定相应的优化方法,然后使用适当的图像增强方法对其进行处理。接下来,邀请所有志愿者再进行一轮投票,删除半数以上志愿者不满意的图片对。为了提高 LSUI 数据集的实用性,我们还为每幅图像手工标注了分割图,并生成了介质透射图(介质透射图的生成方法)。最终,我们的 LSUI 数据集包含 4279 幅图像以及每幅图像对应的高质量参考图像、语义分割图和介质透射图。

U型Transformer

整体结构:包括一个基于 CMSFFT 和 SGFMT 的生成器和一个鉴别器

在生成器中,(1) 编码:除直接输入网络外,原始图像将被分别降采样三次。然后经过 1*1 卷积,将三个尺度特征图输入相应的尺度卷积块。四个卷积块的输出是 CMSFFT 和 SGFMT 的输入;(2)解码:经过特征重映射后,SGFMT 的输出被直接发送到第一个卷积块。同时,四个不同尺度的卷积块将接收 CMSFFT 的四个输出。
在鉴别器中,四个卷积块的输入包括:自身上层输出的特征图、解码部分输出的相应大小的特征图,以及使用参考图像降采样到相应大小后通过 1 ∗ 1 卷积生成的特征图。通过所述的多尺度连接,梯度流可以在生成器和判别器之间的多个尺度上自由流动,从而获得稳定的训练过程,丰富生成图像的细节。

SGFMT模块

使用SGFMT替换生成器原有的瓶颈层,可以辅助网络对全局信息进行建模,加强网络对严重退化部分的关注。假设输入特征图的大小为Fin\in R^{\frac{H}{16}*\frac{W}{16}*C}。对于预期的变压器一维序列,采用线性投影将二维特征图拉伸为特征序列Sin\in R^{\frac{HW}{256}*C}。为了保留每个区域的有价值的位置信息,直接合并可学习的位置嵌入,可以表示为

其中W * Fin表示线性投影操作,PE表示位置嵌入操作。

然后,我们将特征序列 Sin 输入transformer模块,该模块包含 4 个标准transformer层。每个transformer层都包含一个多头注意力模块(MHA)和一个前馈网络(FFN)。前馈网络包括一个归一化层和一个全连接层。transformer块中第 l 层(l∈ [1, 2, ..., l])的输出可以通过以下方式计算:


LN 表示归一化层,S_{l}表示变换块中第 l 层的输出序列。最后一个变换块的输出特征序列为 S_{l} ∈  R^{\frac{HW}{256}*C},经过特征重映射后还原为 Fout\in R^{\frac{H}{16}*\frac{W}{16}*C}的特征图。

CMSFFT模块

为加强网络对衰减较严重的彩色通道的关注,它由三部分组成。

1)多尺度特征编码

输入是具有不同尺度的特征图F_{i}\in R^{\frac{H}{2^{i}}*\frac{W}{2^{i}}*C_{i}},相关滤波器大小为\frac{P}{2^{i}}*\frac{P}{2^{i}},步长为\frac{P}{2^{i}}的卷积核(i=0,1,2,3),对不同尺度的特征图进行线性投影。本文将P设为32。得到四个特征序列S_{i}\in R^{d*C_{i}}d\in \frac{HW}{P^{2}},这四个卷积核将特征图划分为相同数量的块,而通道 Ci(i = 1、2、3、4)的数量保持不变。可以得到四个查询向量Q_{i}\in R^{d*C_{i}}K\in R^{d*C}V\in R^{d*C}可由
其中 W_{Q_{i}} \in R^{d*C_{i}}W_{K} \in R^{d*C}W_{V} \in R^{d*C}表示可学习权重参数S由S_{i}\in R^{d*C_{i}}通过信道维度串联生成,其中C=C_{1}+C_{2}+C_{3}+C_{4},分别设置为64,128,256,512。

2)通道多头注意力(CMHA)

CMHA模块有六个输入,分别是K\in R^{d*C}V\in R^{d*C}Q_{i}\in R^{d*C_{i}},通道注意力CA_{i} \in R^{C_{i}*d}的输出可由下式获得其中 IN 表示实例归一化操作。这种关注操作可引导网络关注图像质量下降更严重的通道。与批归一化(BN)不同,IN 应用于整批图像,而不是单个图像。
第 i 层 CMHA 的输出可以表示为:
其中N表示头部的数量,本文设置为4。

3)前馈神经网络(FFN)

FFN 输出可表示为:其中O_{i} \in R^{d*C_{i}},MLP 表示多层感知器。公式中的运算需要依次重复 l 次(本作品中为 l=4),以建立 l 层变换器。

最后,对四个不同的输出特征序列 O_{i} \in R^{d*C_{i}} 进行特征重映射,将其重组为四个特征图 F_{i}\in R^{\frac{H}{2^{i}}*\frac{W}{2^{i}}*C_{i}},它们是发生器解码部分卷积块的输入。

损失函数

设计了一个结合 RGB、LAB 和 LCH 色彩空间的多色彩空间损失函数来训练我们的网络。首先将 RGB 空间的图像转换为 LAB 和 LCH 空间,然后读取:

x、y 和 G(x) 分别代表原始输入、参考图像和生成器输出的清晰图像。
LAB 和 LCH 空间的损耗函数公式:

其中 Q 代表量化算子。在不同的色彩空间中对某一通道进行量化的目的是计算增强图像与参考图像在该通道上的交叉熵损失。
RGB 色彩空间的 L2 损失 Loss_{RGB} 和感知损失 Loss_{per} ,以及 Loss_{LAB} 和 Loss_{LCH}是生成器的四个损失函数。
此外,还引入了标准的 GAN 损失函数,用于最小化生成图片与参考图片之间的损失,其写法为:

其中 D 代表判别器。D 的目标是最大化 L_{GAN}(G,D),以准确区分生成的图像和参考图像。而生成器 G 的目标是最小化生成图像和参考图像之间的损失。
最终的损失函数表示为:

α、β、γ、μ 为超参数,分别设为 0.001、1、0.1、100。

实施细节

数据集

训练集:LSUI 数据集中被随机分的 Train-L(4500 张图像), UIEB数据集中 的 800 对水下图像Train-U 和 1,250 张合成水下图像; EUVP 数据集中包含的成对训练图像的Train-E 。
测试集:(1)全参考测试数据集:Test-L400(400 张图像)和Test-U90(UIEB中剩余的90对);(2)非参考测试数据集:Test-U60(UIEB 中的 60 幅非参考图像)和 SQUID(16 幅图像)。

评估指标

对于包含参考图像的测试数据集,我们使用 PSNR 和 SSIM 指标进行了全参考评估。
对于非参考测试数据集中的图像,采用了非参考评价指标 UCIQE 和 UIQM,其中 UCIQE 或 UIQM 分数越高,表明人类视觉感知越好。引入了一个 "感知分数(PS)"表示。PS 的范围为 1-5,分数越高,表示图像质量越高。此外,我们还采用了 NIQE,其数值越低,表示视觉质量越高。

色彩空间选择

使用由单一色彩空间损失函数和其他损失函数组成的混合损失函数来训练 U 型Transformer。我们使用 Train-L 训练网络,然后分别在 Test-L400 和 Test-U90 数据集上测试并计算 PSNR。结果如表 I 所示。

数据集评估

全参考评估

无参考评估

与其他图像修复网络相比

色彩修复性能评估

为了证明此 UIE 色彩校正方法的鲁棒性和准确性,我们在 Color-Checker7 数据集上比较了 10 种 UIE 方法的色彩校正能力。Color-Checker7 数据集包含用不同相机从浅水池拍摄的 7 幅水下图像。每张图像中还拍摄了色彩检查器。

消融实验

在 Test-L400 和 Test-U90 上进行了一系列消融研究。我们考虑了四个因素,包括 CMSFFT、SGFMT、多尺度梯度流机制(MSG)和多色空间损失函数(MCSL)。在消融研究中,我们还添加了一个基于 UNet 的网络,名为 UNet++ [67],其中包含更多参数。

总结

这项实验发布了一个大规模水下图像(LSUI)数据集,其中包含真实世界的水下图像,与现有的水下数据集相比,具有更丰富的水下场景(水域类型、光照条件和目标类别),并生成相应的清晰图像作为对比参考。同时也提供了每张原始水下图像的语义分割图和介质传输图。此外,提出了一种 U 型Transformer网络,以实现最先进的 UIE 性能。该网络的 CMSFFT 和 SGFMT 模块可以解决水下图像在不同颜色通道和空间区域的不一致衰减问题,而这在现有方法中是没有考虑到的。大量实验验证了该网络去除色彩伪影和偏色的卓越能力。结合多色彩空间损失函数,输出图像的对比度和饱和度得到了进一步提高。然而,由于所收集到的复杂场景的图像还有所欠缺,如深海低照度场景。因此,在今后的工作中引入其他通用增强技术,如弱光增强技术。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

盘点2023年有哪些办公的效率工具

大家在使用Office时,会经常遇到一些比较繁杂的场景,比如设置段落格式,设置对齐方式,公式计算、文章排版等。使用工具能帮助我们轻松提高效率完成想要的效果,今天给大家介绍几款超实用的Office插件,不分分后…

uniapp 云打包 生成安卓证书文件

现在使用uniapp来开发小程序,H5,APP越来越多了,目前开发了一款APP,使用的也是uniapp。在此记录下用uniapp开发app云打包时约到的一些问题吧。 前因是我司安卓同学休产假,像云打包时需要的证书文件只能自己动手来搞。看…

国标GB28181安防监控平台EasyCVR录像时间轴优化步骤

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、…

SQL自学通之表达式条件语句与运算

目录 一、目标 二、表达式条件语句 1、表达式: 2、条件 2.1、WHERE 子句 三、运算 1、数值型运算: 1.1、加法() 1.2、减法 (-) 1.3、除法(/) 1.4、乘法 (*) 1.5、取模 (%) 优先级别…

第1章 理解知识图谱:知识图谱现状、知识图谱应用场景(二)

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

GPT市场将取代插件商店 openAI已经关闭plugins申请,全部集成到GPTs(Actions)来连接现实世界,可以与物理世界互动了。

Actions使用了plugins的许多核心思想,也增加了新的特性。 ChatGPT的"Actions"与"Plugins"是OpenAI在GPT模型中引入的两种不同的功能扩展机制。这两种机制的目的是增强模型的功能,使其能够处理更多样化的任务和请求。下面是对两者的比…

在OSPF中使用基本ACL过滤路由信息示例

1、ACL的基本原理。 ACL由一系列规则组成,通过将报文与ACL规则进行匹配,设备可以过滤出特定的报文。设备支持软件ACL和硬件ACL两种实现方式。 2、ACL的组成。 ACL名称:通过名称来标识ACL,就像用域名代替IP地址一样,更…

LeetCode 每日一题 Day 3||深度优先搜索(DFS)

1038. 从二叉搜索树到更大和树 给定一个二叉搜索树 root (BST),请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。 提醒一下, 二叉搜索树 满足下列约束条件: 节点的左子树仅包含键 小于 节点键的节点。节点的右子树仅…

ffmpeg编译支持AVS3编解码

libuavs3d ffmpeg的官方源码中已经支持了libuavs3d解码器的接口(libavcodec/libuavs3d.c中定义),因此如果需要编译ffmpeg支持libuavs3d解码器,只需要安装libuavs3d.so以及开启ffmpeg的编译选项即可。 安装libuavs3d解码器 #代码仓…

ssm党务政务服务热线平台源码和论文答辩PPT

摘要 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计…

生命周期模型构建方法与分析及实际案例应用

生命周期分析 (Life Cycle Analysis, LCA) 是评价一个产品系统生命周期整个阶段——从原材料的提取和加工,到产品生产、包装、市场营销、使用、再使用和产品维护,直至再循环和最终废物处置——的环境影响的工具。这种方法被认为是一种“从摇篮到坟墓”的…

MES管理系统与MOM系统分别有什么作用

随着科技的不断进步和全球化的竞争加剧,制造业正面临着前所未有的挑战和机遇。为了更好地适应市场需求,提高生产效率和质量,制造企业纷纷引进各种信息化管理系统。其中,MES管理系统和MOM系统是两种重要的解决方案。本文将详细探讨…

js中继承的方法

前言: 本人刚写了一篇原型链的封装继承多态,用家有儿女做的demo。其实我个人感觉封装和多态都容易去理解与实现。关键在于继承,js的才是比较难的,也容易让人混乱,至少我是因为继承头大过\(^o^)/~ js中有很多方法可以实现继承,这篇文章主要对继承的方法进行学习与测试。 这里…

c++ 三目运算符在类中的使用

简介 在类比较方面&#xff0c;三目运算符可以用于重载比较运算符。 代码示例1 #include <iostream> #include <cstring>class Person { public:Person(const char* name, int age) : m_age(age) {m_name new char[strlen(name) 1];strcpy(m_name, name);}~Pe…

LeetCode - 110. 平衡二叉树(C语言,二叉树,配图,简单)

根据题意&#xff0c;我们只需要比较当前节点的左右子树高度差是否小于1&#xff0c;利用分治法&#xff0c;只需要满足&#xff1a; 1. 根节点的左右子树的高度差小于1。 2. 根节点左右子树的满足高度差小于1&#xff0c;在往下走&#xff0c;判断左子树根节点的左右子树是否满…

软件设计之原型模式

原型模式是从一个对象再创建另一个可定制的对象&#xff0c;而且不需要知道任何创建的细节。拷贝分浅拷贝和深拷贝。浅拷贝无法拷贝引用对象。在面试的时候&#xff0c;我们会投多家公司&#xff0c;根据岗位的不同我们会适当调整。使用原型模式可以快速达到需求&#xff0c;下…

自动化测试的4大注意事项

自动化测试能够提高测试效率、覆盖率&#xff0c;降低测试成本和工作量&#xff0c;是软件开发中不可或缺的一部分。但前提是要确保自动化测试的有效性和可靠性&#xff0c;否则无效或错误的自动化测试&#xff0c;往往会对项目造成负面影响&#xff0c;如维护成本高、假阳性和…

JVM——内存溢出和内存泄漏

目录 1. 内存溢出和内存泄漏内存泄漏的常见场景解决内存溢出的思路1.发现问题 – Top命令2.发现问题 – VisualVM3.发现问题 – Arthas4.发现问题 – Prometheus Grafana5.发现问题 – 堆内存状况的对比![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/058d113715b…

STM32单片机项目实例:基于TouchGFX的智能手表设计(1)项目介绍及GUI界面基础

STM32单片机项目实例&#xff1a;基于TouchGFX的智能手表设计&#xff08;1&#xff09;项目介绍及GUI界面基础 一、项目介绍 1.1方案提供 1.2主控选择 1.3硬件平台 1.4 开发环境 1.5 关于华清 二、GUI界面基础 2.1.1 嵌入式绘图系统 2.1.1 色彩格式 2.1.1帧缓冲区 …