【论文阅读02】一种基于双通道的水下图像增强卷积神经网络

 来源:海洋论坛▏一种基于双通道的水下图像增强卷积神经网络

       当前不会的        

一、背景:

      水下图像增强方法包含有无水下成像模型的水下图像增强方法、基于水下成像模型的水下图像恢复方法、水下成像模型与深度学习相结合的方法以及完全采用深度学习的方法。

        其中水下成像模型与深度学习相结合的方法是通过深度学习的方法来近似估计水下成像模型中的主要参数。在深度学习的方法中,数据集的多场景化和大小、网络结构、损失函数、训练策略的选择是优化的主要内容。文中主要在网络结构以及损失函数方面进行考量,建立了一种基于双通道的水下图像增强卷积神经网络。区别于其他基于深度学习网络的是,编码器模块采用双通道结构:细节特征提取通道和语义特征提取通道。试验表明:此网络显著改善了水下图像质量

编码器注释:在计算机视觉领域,编码器模块则可以将图像数据编码成一个特征向量,用于识别、分类或生成等任务。常见的编码器模块包括卷积神经网络(CNN)中的卷积层和池化层等。总的来说,编码器模块在深度学习中起着关键的作用,它能够从原始数据中提取出有用的特征信息,为后续任务的处理提供基础。)

        


二、模型介绍:

   1.主要结构:

        细节特征提取通道中的密集连接后又引入高效注意力机制,使网络自适应关注特征的权重。     细节提取模块分为两个模块:密集连接模块和高效注意力模块。高层语义提取模块就是多尺度高层语义提取模块。然后,引入了残差注意力模块和自适应融合模块优化特征,将优化后的特征送入解码器进行清晰图像的重建。解码器采用卷积激活串联结构。  

       1.1 细节特征提取通道:

        1.1.1 密集连接块

         密集连接DenseNet:为了最大化网络中所有卷积模块和相关层之间的信息流,将所有卷积模块两两之间都进行了连接,使得网络中的每个模块都接受其前面所有层的特征作为输入。

        本文提出的结构吸取了其主要思路:

  1.  各个卷积模块之间采用密集连接的方式,这样既实现了前面卷积模块提取出来特征的复用,减轻梯度消失。
  2. 每一个卷积块都会提取到图像的细节特征,这些细节特征在后向传播中,被不断地重复利用,使得每一个卷积块都可以发挥最高效的作用,可以全方面有效提取水下图像的细节特征。

        下方展示采取的密集连接块(一共包含4个提取细节特征的卷积块)

​             

    1.1.2 高效通道注意力机制模块

        注意力机制是深度学习中改善模型提取特征的一种优化方法,让网络在优化的过程中,自适应地关注密集连接网络提取的不同特征的权重,从而更好地提取水下图像的细节特征。

        本文采用2020年Wang等提出的高效通道注意力模块,该模块避免了降维,有效实现了跨通道交互。

       1.2 语义特征提取通道:

         语义特征提取通道采用多尺度结构。网络引入了残差注意力模块和自适应融合模块,既弥补了网络在前期传播过程中原始信息的丢失,又对特征进行了优化。此外,文中将像素损失、感知损失与复频域损失相结合进行网络的训练,取得了良好的效果。

        原始水下图像首先经过卷积激活操作得到64个通道的特征图,然后经过3次下采样(池化)操作得到不同尺度大小的特征图,经过下采样后的特征丢失了大量的细节信息,每个尺度的特征接着经过卷积激活操作进行特征通道数的转换,既丰富了深度语义信息的提取,又方便了上采样操作后特征的融合,最后将不同尺度的特征在通道维度拼接,得到带有高层语义特征的一组特征图。

下采样:用于减少特征图的尺寸,同时保留重要信息。这种操作有助于减少模型的参数数量,加快计算速度,并且有助于防止过拟合。

   1.2.1残差注意力模块和自适应融合模块

2.激活函数选取

        常见的激活函数主要有修正线性单元(ReLU)、带参数的修正线性单元(LeakyReLU)和Sigmoid函数。本文注意力机制中权重特征图的计算采用Sigmoid函数。

3.损失函数

        本文使用图像的复频域损失。复频域损失利用图像的快速傅里叶变换,得到图像在复频域中的特征图,然后定义了两幅图像之间的复频域损失,并结合均方差损失、感知损失来训练搭建的双通道水下自编码器图像增强网络。

图像的复频域损失:用来计算被增强后的图像I和清晰的真实图像I*分别经过快速傅里叶变换后所提取的复频域特征之间的损失。

假设通过网络后输出图像I的快速傅里叶变换后复频域矩阵为A,真实值图像I*的快速傅里叶变换后复频域矩阵为B。令A-B=C,cij表示复频域矩阵C中的元素。则图像的复频域损失定义为:

图片

其中,Lfft表示复频域损失,0≤i,jN−1,且取遍0到N−1之间所有整数,cij*表示cij的共轭复数。采用的总损失函数为:

图片

其中,λ1、λ2、λ3为平衡参数,主要是为了平衡各个损失之间的数量级大小,加速网络的收敛。


三、训练与结果分析:


1.训练过程:

        训练过程:试验中的数据集为UIEB数据集,该数据集收集了大量真实水下场景中拍摄到的图像,一共890对,选取该数据集挑战集中60张留做训练好的模型的测试集。训练网络模型参数过程中训练集和验证集的比为7∶3。

        损失函数训练过程中总体减少,说明逐步逼近真实图像,无梯度爆炸,网络结构可靠

     

2.视觉效果分析:见原文图片

3.客观指标分析:见原文表格比对

注释:常用的无水下图像真实值参考指标有:

▲图像信息熵(ENTROPY):水下图像中包含的图像信息的丰富度,越大越好。

▲水下图像颜色质量评价(UCIQE):水下图像饱和度、色彩度和对比度的加权求和。值越大,图像质量越高。

▲水下图像质量衡量(UIQM):水下图像色彩测量、清晰度测量、对比度测量的加权求和。值越大图像品质越高。

常用的有水下图像真实值参考指标有:

▲图像峰值信噪比(PSNR):信号的最大功率与噪声功率的比值,数值越大代表图像失真越少,有价值的图像信息越多。

▲图像结构相似度(SSIM):用来衡量两张图像相似程度的指标,范围在0到1之间,越接近1代表两张图像结构越相似

4.算法迁移能力分析:做法为在非训练数据集EUVP上选取图片进行测试和对比分析

5.水下目标特征点匹配测试:

水下目标特征点匹配测试注释:局部特征更完整的高质量水下图像会得到更多的匹配点数量。

5.消融试验与对比实验:

消融试验注释:

        用于评估模型或系统中各个组件的贡献和作用。在消融实验中,研究人员通过逐步剔除模型中的某些组件或改变某些条件,来分析这些组件或条件对整体系统性能的影响。

     

        另外,为了验证网络中密集连接和高效注意力模块的细节提取功能,做了对比试验,结果如图12所示,第1行至第3行分别为原始水下图像、没有细节分支时的结果和文中网络的结果。容易得出,虽然没有细节分支时,网络也去除了水下图像的一些噪声,但是得到的结果图边缘特征模糊,色彩失真严重,缺乏水下图像较好的细节信息,从而验证了文中网络中细节分支对水下图像的细节提取起到了一定的促进作用。


四、论文亮点与学习总结:

  1. 提出基于双通道的水下图像增强卷积神经网络,设计了编码器中的细节特征提取模块和多尺度语义特征提取模块,提出了复频域损失函数。   
  2. 为了弥补网络前期传输过程中原始信息的丢失,同时优化特征,融入了残差注意力模块和自适应融合模块。        弥补传输信息损失+优化——>残差注意力+自适应
  3. 消融试验表明了各个模块对于提高水下图像质量均有一定的改善。  当我们提出新的模块组合时,要进行消融实验与比对实验进行验证
  4. 算法不仅在训练数据集UIEB中取得了较好的增强效果,而且在非训练数据集EUVP中表现良好,这说明算法的可迁移性        不仅看训练数据集上的效果,也要应用到非训练数据集说明其可迁移和通用性

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

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

相关文章

STM32H7的8个串口fifo收发(兼容232和485)

STM32H7的8个串口fifo收发(兼容232和485) 串口硬件串口时序串口高级特性同步和异步的区别单工、半双工、全双工的区别 STM32H78个串口fifo驱动定义数据结构uart_fifo.huart驱动包括中断配置等 应用示例RS485深入理解 仅供学习。 USART 的全称是 Universa…

springcloud 整合swagger文档教程

我用的是nacos和gateway 我的模块 父依赖没什么太大关系如果出现版本冲突问题可用参考我的依赖版本 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org…

试试流量回放,不用再写烦人的自动化测试case了

接触过接口自动化测试的同学都知道&#xff0c;我们一般要基于某种自动化测试框架&#xff0c;编写自动化case&#xff0c;编写自动化case的依据来源于接口文档&#xff0c;对照接口文档里面的请求参数进行人工添加接口自动化case 其实&#xff0c;对于日常新的服务端需求的迭…

Vue3(二):报错调试,vue3响应式原理、computed和watch,ref,props,接口

一、准备工作调试 跟着张天禹老师看前几集的时候可能会遇到如下问题&#xff1a; 1.下载插件&#xff1a;Vue Language Features (Volar)或者直接下载vue-offical 2.npm run serve时运行时出现错误&#xff1a;Error: vitejs/plugin-vue requires vue (&#xff1e;3.2.13) …

Python 入门指南(五)

原文&#xff1a;zh.annas-archive.org/md5/97bc15629f1b51a0671040c56db61b92 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第十六章&#xff1a;Python 中的对象 因此&#xff0c;我们现在手头上有一个设计&#xff0c;并且准备将该设计转化为一个可工作的程序&a…

解决npm run dev跑项目,发现node版本不匹配,怎么跑起来?【已解决】

首先问题点就是我们npm run dev 运行项目的时候发现出错&#xff0c;跑不起来&#xff0c;类型下面这种 这里的出错的原因在于我们的node版本跟项目的版本不匹配 解决办法 我这里的问题是我的版本是node14的&#xff0c;然后项目需要node20的&#xff0c;执行下面的就可以正…

JavaScript事件监听测试代码

效果图 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>信息填写页面</title><link …

Linux 内核学习(2) --- regulator 框架

目录 Regulator 介绍Regulator provider 注册struct regulator_descstruct regualtor_configDTS 配置和解析On BoardConfig 配置regulator_ops总结 Regulator Consumer 使用struct regulator 获取regulator 操作使用Multi Regulator 参考博客 Regulator 介绍 Regulator 指的是…

黄金价格上涨对白银的影响是什么?

在金融市场上&#xff0c;黄金与白银通常被视为避险资产&#xff0c;它们的价格走势往往受到多种因素的影响。近期&#xff0c;随着全球经济的波动加剧&#xff0c;黄金价格出现了上涨趋势。这自然会对与之紧密相关的白银市场产生影响。具体来说&#xff0c;黄金价格上涨通常会…

华硕ROG幻16笔记本电脑模式切换管理工具完美替代华硕奥创中心管理工具

文章目录 华硕ROG幻16笔记本电脑模式切换管理工具完美替代华硕奥创中心管理工具1. 介绍2. 下载3. 静音模式、平衡模式、增强模式配置4. 配置电源方案与模式切换绑定5. 启动Ghelper控制面板6. 目前支持的设备型号 华硕ROG幻16笔记本电脑模式切换管理工具完美替代华硕奥创中心管理…

基于U-Net的图像分割算法介绍

U-Net是一种用于图像分割的深度学习架构,其设计初衷是用于生物医学图像分割,尤其是医学影像中的细胞分割任务。U-Net结构独特,具有编码器-解码器结构,能够有效地捕捉图像中的局部和全局信息,并在像素级别上进行精确的分割。 相关论文: U-Net: Convolutional Networks for…

全局视角观看Python备忘录-英文版

全局视角观看Python备忘录-英文版

中国科学院大学学位论文LaTeX模版

Word排版太麻烦了&#xff0c;公式也不好敲&#xff0c;推荐用LaTeX模版&#xff0c;全自动 官方模版下载位置&#xff1a;国科大sep系统 → \rightarrow → 培养指导 → \rightarrow → 论文 → \rightarrow → 论文格式检测 → \rightarrow → 撰写模板下载百度云&#…

如何使用Git-Secrets防止将敏感信息意外上传至Git库

关于Git-Secrets Git-secrets是一款功能强大的开发安全工具&#xff0c;该工具可以防止开发人员意外将密码和其他敏感信息上传到Git库中。 Git-secrets首先会扫描提交的代码和说明&#xff0c;当与用户预先配置的正则表达式模式匹配时&#xff0c;便会阻止此次提交。该工具的优…

Vue3从入门到实战:深度掌握通信插槽slot

slot_默认插槽的概念&#xff1a; 在Vue中&#xff0c;插槽&#xff08;slot&#xff09;是一种用于在组件中插入内容的特殊技术。默认插槽是其中一种类型的插槽&#xff0c;它允许你在组件的模板中指定一个位置&#xff0c;以便在使用组件时插入自定义的内容。 想象一下你有…

FOR循环指令计算累加和(CODESYS ST+SMART梯形图代码)

1、SMART PLC FOR循环指令应用 SMART PLC FOR循环指令_smart plc可以调用多少次for循环-CSDN博客文章浏览阅读2.4k次&#xff0c;点赞2次&#xff0c;收藏6次。SMART PLC的FOR循环&#xff1a; PLC里写需要加上&#xff1a; NEXT指令_smart plc可以调用多少次for循环https://r…

Tomcat下载配置地址

IntelliJ IDEA是一个强大的集成开发环境&#xff0c;能够大大简化Java应用程序的开发和部署过程。而Tomcat作为一个流行的Java Web服务器&#xff0c;其与IntelliJ IDEA的整合能够提供便捷的开发环境&#xff0c;让开发人员更专注于代码的创作与优化。 在配置IntelliJ IDEA以使…

【题解】AB5 点击消除(C++)

把string当栈用&#xff0c;扫一遍就可以了&#xff0c;时间复杂度O(n) #include <iostream> #include <string> using namespace std;int main() {string s;cin >> s;int n s.size();string st;for (int i 0; i < n; i) {if (st.empty() || st.back()…

2023年看雪安全技术峰会(公开)PPT合集(11份)

2023年看雪安全技术峰会&#xff08;公开&#xff09;PPT合集&#xff0c;共11份&#xff0c;供大家学习参阅。 1、MaginotDNS攻击&#xff1a;绕过DNS 缓存防御的马奇诺防线 2、从形式逻辑计算到神经计算&#xff1a;针对LLM角色扮演攻击的威胁分析以及防御实践 3、TheDog、0…

【Java开发指南 | 第一篇】类、对象基础概念及Java特征

读者可订阅专栏&#xff1a;Java开发指南 |【CSDN秋说】 文章目录 类、对象基础概念Java特征 Java 是一种面向对象的编程语言&#xff0c;它主要通过类和对象来组织和管理代码。 类、对象基础概念 类&#xff1a;类是一个模板&#xff0c;它描述一类对象的行为和状态。例如水…