【论文阅读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中表现良好,这说明算法的可迁移性        不仅看训练数据集上的效果,也要应用到非训练数据集说明其可迁移和通用性

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Python的景区票务人脸识别系统(V2.0)

博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&#x1f3…

数据结构速成--数据结构和算法

由于是速成专题,因此内容不会十分全面,只会涵盖考试重点,各学校课程要求不同 ,大家可以按照考纲复习,不全面的内容,可以看一下小编主页数据结构初阶的内容,找到对应专题详细学习一下。 目录 一…

【Linux】磁盘阵列RAID技术

目录 一、RAID介绍 1.1 什么是RAID技术? 1.2 为什么要使用RAID技术? 二、RAID级别 2.1 常见的RAID级别 2.2 常见RAID介绍 三、RAID特性对比 一、RAID介绍 1.1 什么是RAID技术? 把多块独立的物理磁盘按不同的方式组合起来形成一个硬盘…

【ENSP】华为三层交换机配置AAA认证,开启telnet服务

配置步骤 1.给交换机配置ip地址,以便登陆 2.配置AAA,用户名,密码,服务类型,用户权限 3.配置接入设备的数量 4.开启telnet服务 LSW2交换机配置 u t m #关闭提示 sys …

基于单链表实现通讯管理系统!(有完整源码!)

​ 个人主页:秋风起,再归来~ 文章专栏:C语言实战项目 个人格言:悟已往之不谏,知来者犹可追 克心守己,律己则安! 1、前言 友友们,这篇文章是基于单链…

使用Python模仿文件行为

在Python中,你可以通过文件操作函数(如open()函数)以及模拟输入输出流的库(如io模块)来模拟文件行为。下面是一些示例,展示了如何使用这些工具在Python中模拟文件行为。 1、问题背景 在编写一个脚本时&…

Springboot框架——4.整合jdbc

1.pom.xml中导入依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency><groupId>org.springframework.boot</groupI…

SpringMVC(三)【REST 风格】

1、REST 风格 1.1、REST 简介 REST&#xff08;Representational State Transfer&#xff09;&#xff0c;表现形式状态转换 在开发中&#xff0c;它其实指的就是访问网络资源的格式 1.1.1、传统风格资源描述形式 http://localhost/user/getById?id1http://localhost/user…

飞书API(4):筛选数据的三种思路

截止到上一篇&#xff0c;终于通过飞书 API 完整获取到飞书多维表的数据。但是&#xff0c;有些场景&#xff0c;比如数据源会出现脏数据&#xff0c;毕竟如果是运营过程多人协作维护的数据&#xff0c;要想保持数据完美简直是天方夜谭&#xff01;再比如我们不需要完整的数据&…

【JavaWeb】Day46.Mybatis——入门

JDBC介绍 通过Mybatis可以很方便的进行数据库的访问操作。其实java语言操作数据库&#xff0c;只能通过一种方式&#xff1a;使用sun公司提供的 JDBC 规范。Mybatis框架&#xff0c;就是对原始的JDBC程序的封装。 JDBC&#xff1a; ( Java DataBase Connectivity )&#xff0c…

开源了!自从用了这个远程控制工具,从此把 TeamViewer 扔一边了【文末领项目源码】

在工作中&#xff0c;咱们经常要使用向日葵、TeamViewer 等远程控制工具&#xff0c;来远程操控项目上的主机去解决一些部署在现场的系统问题&#xff0c;亦或是在家偶尔加班时用家里的电脑远程公司的电脑处理工作。但不爽的是&#xff0c;TeamViewer 用一用试用期就过了&#…

ES 大数据量按照日期分索引存储和查询

前言 ES 通常被用来存放各种日志数据或其他大批量数据&#xff0c;然后做统计。 对于请求量大的系统来说&#xff0c;日志或其他业务数据无比庞大&#xff0c;需要按日期来划分索引&#xff0c;便于做冷热数据的迁移管理。大批量的业务数据也要根据日期来区分&#xff0c;提高…

Java --- 类与对象

上篇内容给大家带来了Java的语句与数组的相关内容&#xff0c;那么本期内容比较重要&#xff0c;需要读者们掌握Java面向对象编程的根本&#xff0c;通过这篇博客来让读者浅入理解Java类的一些基本操作。 目录 一.特点&#xff1a; 二.成员变量&#xff1a; 三.访问修饰符&a…

【JavaSE】搞定String类

前言 本篇会细致讲解String类的常见用法&#xff0c;让小伙伴们搞定String类~ 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 前言 常用的三种字符串构造 字符串长度length 字符串比较 比较 比较字符串的内容equals…

MySQL DDL 通用语法

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 往期热门专栏回顾 专栏…

libftdi1学习笔记 4 - MPSSE SPI

目录 1. 初始化 2. SCK默认电平设置 3. GPIO控制 4. spi全双工通信 4.1 MSB/LSB 4.2 分配command缓存 4.3 spi0TransferBit 4.3 spi1TransferBit 4.4 spi2TransferBit 4.5 spi3TransferBit 4.6 写命令序列 4.7 读数据 4.8 组合实际数据 5. 验证 5.1 初始化FTDI设…

短视频底层逻辑分析

短视频底层逻辑 1.迭代模型_ev 2.Douyin的本质_ev 3.Douyin的审核机制_ev 4.平台趋势_ev 5.定位_ev 6.建立用户期待_ev 7.好内容的定义_ev 8怎么做好内容_ev 9.如何做好选题_ev 10.如何快速模仿_ev 11.账号拆解的底层逻辑_ev 12选人的重要性_ev 13.内容的包装_ev 14.打造大IP的…

【中间件】ElasticSearch简介和基本操作

一、简介 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎&#xff0c;支持各种数据类型&#xff0c;包括文本、数字、地理、结构化、非结构化 ,可以让你存储所有类型的数据&#xff0c;能够解决不断涌现出的各种用例。其构成如下&#xff1a; 说明&#xff1…

Python数学建模学习-PageRank算法

1-基本概念 PageRank算法是由Google创始人Larry Page在斯坦福大学时提出&#xff0c;又称PR&#xff0c;佩奇排名。主要针对网页进行排名&#xff0c;计算网站的重要性&#xff0c;优化搜索引擎的搜索结果。PR值是表示其重要性的因子。 中心思想&#xff1a; 数量假设&#…

创领“浆”来:三一重工特种砂浆站引领行业绿色高效新纪元

随着我国城市化进程不断加快&#xff0c;国家对城市建设高度关注&#xff0c;国务院办公厅针对城镇老旧小区基础设施匮乏、住房条件落后、环境污染严重等突出问题印发了《关于全面推进城镇老旧小区改造工作的指导意见》&#xff0c;各地积极响应&#xff0c;因此特种砂浆也迎来…