光谱-空间特征分割提取:多光谱图像压缩

news2024/11/24 7:37:41

Spectral–Spatial Feature Partitioned Extraction Based on CNN for Multispectral Image Compression

(基于CNN的光谱-空间特征分割提取多光谱图像压缩)

近年来,多光谱成像技术的迅速发展引起了各领域的高度重视,这就不可避免地涉及到图像的传输和存储问题。针对这一问题,提出了一种基于光谱空间特征分割提取的端到端多光谱图像压缩方法。整个多光谱图像压缩框架是基于卷积神经网络(CNN),其创新之处在于特征提取模块被分为两个并行部分,一个是光谱部分,另一个是空间部分。首先,利用光谱特征提取模块独立提取光谱特征,并对空间特征提取模块进行操作以获得分离的空间特征。在特征提取之后,光谱和空间特征被逐元素融合,随后进行下采样,这可以减小特征图的大小。然后,通过量化和无损熵编码将数据转换为比特流。为了使数据更加紧凑,向网络添加了率失真优化器。解码器是编码器的相对逆过程。为了比较,所提出的方法进行了测试沿着JPEG 2000,3D-SPIHT和ResConv,另一个基于CNN的算法从Landsat-8和WorldView-3卫星的数据集。实验结果表明,在相同码率下,该算法的性能优于其他方法。

Introduction

通过捕获几个连续窄光谱带的数字图像,传感器可以生成包含丰富光谱和空间信息的三维多光谱图像。这些丰富的信息在军事侦察、目标监视、农作物状况评估、地表资源调查、环境研究、海洋应用等方面有着广泛的应用。然而,随着多光谱成像技术的快速发展,多光谱数据的光谱空间分辨率越来越高,导致其数据量迅速增长。庞大的数据量不利于图像的传输、存储和应用,阻碍了相关技术的发展。因此,有必要找到一种有效的多光谱图像压缩方法,在使用前对图像进行处理。
多光谱图像压缩方法的研究一直受到广泛关注。经过几十年的不懈努力,针对不同应用需求,开发出了各种多光谱图像压缩算法,可以概括如下:基于预测编码的框架、基于矢量量化编码的框架、基于变换编码的框架。预测编码主要应用于无损压缩。它的基本原理是利用像素之间的相关性来预测未知数据的基础上,然后对真实的值和预测值之间的残差进行编码。在[6]中,Slyz等人提出了一种基于块的带间无损多光谱图像压缩方法,将每幅图像分割成块,并利用相邻带中对应的块预测当前块。对于矢量量化编码,将若干标量数据集形成一个矢量,然后在矢量空间中将数据作为一个整体量化,以便在不损失太多信息的情况下进行压缩。由于矢量量化编码的性能与码本密切相关,为了提高时间效率,Qian在[7]中提出了一种快速码本搜索方法。在广义Lloyd算法(GLA)的全搜索过程中,如果到分区的距离比前一次迭代的更好,则不需要搜索来找到最小距离分区。变换编码是多光谱图像压缩中的一种重要方法,在有损压缩中有着广泛的应用。该算法通过将数据转换为变换域表示来降低像素之间的相关性,从而使信息集中,从而进行量化和编码。Karhunen-Loève变换(KLT)、离散余弦变换(DCT)和离散小波变换都是常用的变换编码算法。随着我们对多光谱图像的深入了解,开发了越来越多的改进算法,如3D-SPECK、3D-SPIHT等。
上述传统的压缩方法都是有效的,取得了很好的效果,但也存在着不足。例如,实现预测编码算法简单,但是压缩比相对较低。矢量量化编码算法虽然可以达到较为理想的效果,但由于其计算复杂度,不利于实现。为了克服传统压缩方法的不足,同时又保证压缩性能,近年来许多基于深度学习的多光谱图像压缩算法得到了迅速的发展。其中,卷积神经网络(CNN)是近年来图像压缩的主要算法之一。CNN的历史始于LeNet风格的模型,该模型包括用于特征提取的卷积层和用于下采样的最大池化层的简单堆栈。为了提取更多不同尺度的特征,2012年提出的AlexNet遵循了这一思想,并通过在每两个最大池化层之间添加几个卷积层进行了改进。为了获得更好的性能,需要增加网络的深度。于是,VGG、GoogLENet 、ResNet等优秀的网络架构开始陆续涌现。这些网络框架都是图像压缩技术发展的里程碑,在以往的ILSVRC等竞赛中都取得了很好的成绩。受这些杰出的网络框架的启发,许多基于CNN的压缩方法已经出现,并显示出适用于可见图像。在[18]中,Ballé提出了一种基于CNN的端到端优化图像压缩方法,具有广义分裂归一化(GDN)联合非线性,通过灵活使用线性卷积和非线性变换,所提出的网络实现了与JPEG2000相当的性能。为了进一步提高重建图像的质量,Jiang等人将CNN添加到编码器和解码器以进行联合训练。编码器中的CNN产生用于编码的紧凑呈现,并且解码器中的另一CNN是以高质量恢复解码图像,利用其可以显著减少块效应。已知多光谱图像是三维数据,其中两个维度是空间的,一个维度是光谱的。由于RGB图像也具有三个波段,因此可以将其视为特殊的多光谱数据。因此,许多用于可见光图像的压缩方法也可以应用于多光谱图像。在[20]中,提出了具有优化残差单元的多光谱图像的端到端压缩框架。它也基于CNN,并调整了网络中采用的ResNet的默认架构,以更好地适应多光谱图像。实验证明,该算法的有效性和PSNR比JPEG2000提高了约2 dB。尽管如此,上述方法仍然未能集中在多光谱图像的光谱之间的强相关性,因为这对RGB图像不太重要。然而,对于多光谱图像压缩,忽略光谱相关性会导致压缩后的信息丢失。因此,在本文中,我们提出了一种新的多光谱图像压缩方法的基础上的光谱空间特征的分割提取。
该网络是基于CNN的端到端框架,由编码器和解码器组成。在编码器中,有两个部分分别用于光谱特征提取和空间特征提取。第一部分采用连续光谱特征提取模块独立提取光谱特征。这一部分不涉及空间信息的融合。第二部分是用于空间特征提取,其中包含多个残差块。我们使用组卷积来分离每个通道,以便只有空间特征可以提取,而不混合其中的光谱信息。然后,所有特征被融合在一起,然后采用下采样来减小特征图的大小。此外,为了使数据更紧凑,在网络中使用了速率失真优化器。在获得中间特征数据后,进行量化和无损熵编码,以获得压缩的二进制比特流。在解码器中,比特流首先经过熵解码和逆量化,然后上采样有助于恢复图像大小。最后,通过相应的反卷积操作获得光谱和空间特征,并利用联合特征重建图像。实验结果表明,该网络优于JPEG 2000和3D-SPIHT。

Proposed Method

Spectral Feature Extraction Module

二维卷积技术已被证明具有很大的应用前景,并成功地应用于图像视觉和处理的许多方面,如目标检测、图像分类和图像压缩。然而,由于多光谱图像是三维的,更加复杂,丰富的光谱信息更加重要,因此,在采用二维卷积处理多光谱图像时,不可避免地会遇到信息丢失的问题。虽然将深度学习应用于多光谱图像压缩已有很多先例,并取得了很好的性能,超过了JPEG和JPEG2000等一些传统压缩方法,但在特征提取过程中,由于卷积核是二维的,无法有效去除第三维上的光谱冗余,抑制了网络的性能。
为了解决这个问题,我们提出了分别提取光谱或空间特征的想法。其中,提取光谱特征的灵感来源于。参考文献[21]使用三维核进行卷积运算,这可以保持多光谱图像数据中光谱特征的完整性。为了避免数据量过大,在谱维上采用1 × 1 × n卷积核,称为一维谱卷积,独立提取光谱特征。图1显示了2D卷积和1D光谱卷积之间的差异。在这里插入图片描述
如图1a所示,图像通过2D卷积进行卷积,其内核是二维的,通常后跟激活函数,例如校正线性单元(ReLU),参数校正线性单元(PReLU)等。该操作可以表示如下:在这里插入图片描述
类似地,考虑到光谱的维度,在3D图像上操作的1D光谱卷积可以公式化如下:在这里插入图片描述
考虑到激活函数,我们采用ReLU作为我们的首选,因为当使用ReLU时,反向传播中的梯度通常是恒定的,这缓解了深度网络训练中梯度消失的问题,并有助于网络收敛。此外,使用ReLU时的计算成本比其他函数(例如,Sigmiod)。此外,ReLU可以使一些神经元的输出为零,这保证了网络的稀疏性,从而缓解过拟合问题。ReLU函数可以公式化如下:
在这里插入图片描述
综上所述,当对三维图像进行2D卷积运算时,输出总是二维的,这可能导致大量的光谱信息丢失。因此,我们采用一维光谱卷积保留更多的多光谱图像的特征数据。

Spatial Feature Extraction Module

为了确保空间信息不与光谱特征相混合,我们使用群卷积代替空间维度上的普通二维卷积。群卷积最早出现在AlexNet,是为了解决当时硬件资源有限的问题。特征图被分发到多个GPU进行同步处理,最后连接在一起。图2显示了正常卷积和群卷积之间的区别。在这里插入图片描述
如图2a所示,输入数据的大小为C×H×W,分别表示特征图的通道数、宽度和高度。卷积核的大小为k×k,核的数目为N。这一点,输出特征图的大小为N×H’×W’。N个卷积核的参数数为:
在这里插入图片描述
组卷积,顾名思义,将输入的特征图分成若干组,然后分别卷积。假设输入的大小仍然是C×H×W并且输出特征图的数量是N。如果将输入分成G组,则每组中的输入特征图的数量为C/G,每组中的输出特征图的数量为N/G,卷积核的大小为k×k,即卷积核的数量保持不变,每组中的核的数量为N/G。由于特征图仅由相同组的卷积核卷积,所以参数的总数可以计算为:在这里插入图片描述
通过比较两个方程(5)和(6),可以很容易地知道,群卷积可以大大减少参数的数量,准确地说,它可以减少到1/G。此外,根据[14],由于组卷积可以增加滤波器之间的对角相关性,因此滤波器关系变得稀疏和不相关。
图3示出了相邻层的滤波器之间的相关矩阵[23],高度相关的滤波器更亮,而较低相关的滤波器更暗。滤波器组(即组卷积)的作用是利用块对角稀疏性来学习关于信道维度的信息。低相关滤波器不需要学习,也就是说,它们不需要给定参数。此外,如图3所示,当使用组卷积时,可以以更结构化的方式训练高度相关的滤波器。因此,利用结构化稀疏性,群卷积不仅可以减少参数的数量,而且可以更准确地学习,以制作更高效的网络。在这里插入图片描述

Framework ofthe Proposed Network

所提出的压缩网络的整个框架在图4中示出。该方法首先将多光谱图像送入前向网络,经过特征提取后,再经过量化和熵编码器压缩并转换为码流。解码器的结构与编码器的结构是对称的。因此,对于解码,比特流依次经过熵解码、逆量化和后向网络,以恢复图像。在这里插入图片描述

The Forward Network and the Backward Network

前向和后向网络的架构如图5所示,频谱块和空间块如图6所示。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
图5示出了我们的网络的详细过程。首先,将输入的多光谱图像同时分别送入光谱特征提取网络和空间特征提取网络,光谱特征提取网络和空间特征提取网络由相应的功能模块组成。在频谱部分中,存在若干频谱块(图6a),其基于残差块结构。我们将卷积层替换为调整后的1D谱卷积,以满足我们的期望,内核的大小为1×1×3。同样地,空间部分由具有类似结构的若干空间块组成,如图6 b所示,并且使用组卷积,使得每个通道将不会彼此交互。具体地,当输入多光谱图像具有七个或八个波段时,GROUP被设置为7或8。此外,为了增强特征的学习能力,增加了一些卷积层,其核大小为3 × 3。提取后,将两部分特征融合在一起,然后进行下采样以减小特征图的大小。在前向网络的末端,sigmoid函数起着限制中间输出值的作用,此外,与ReLU类似,它引入了非线性因素,使网络对模型更具表达力。
与前向网络对称,后向网络由上采样层、一些卷积层和分区提取部分形成。特别地,使用PixelShuffle实现上采样,其可以使用子像素操作将低分辨率图像变成高分辨率图像。

Quantization and Entropy Coding

在前向网络之后,中间数据首先由量化器量化成一系列离散整数。由于下降梯度用于后向传播以在训练网络时更新参数,因此梯度需要向下传递。然而,舍入函数是不可微的[25],这将阻碍网络的优化。因此,我们放松了函数,它被计算为:在这里插入图片描述
其中Q是量化级别,Xs ∈(0,1)是Sigmoid激活之后的中间数据,round[·]是舍入函数,并且XQ是量化数据。该函数对前向网络中的数据进行舍入,并在反向传播期间跳过,以将梯度直接传递到前一层。
然后,我们采用ZPAQ作为无损熵编码标准,并选择“方法-6”作为压缩模式,以便进一步处理量化的XQ并生成二进制比特流。在解码器中,比特流经过熵解码器和去量化,数据XQ/( 2 Q 2^{Q} 2Q − 1)最终被馈送到反向网络以恢复图像。

Rate-Distortion Optimizer

评价一种压缩方法有两个标准,一个是比特率,另一个是恢复图像的质量。为了提高网络的性能,在这两个标准之间取得平衡至关重要。因此,引入了率失真优化:在这里插入图片描述
其中L是在训练期间应当最小化的损失函数,LD指示失真损失,LR表示速率损失,其可以由惩罚λ控制。当我们使用MSE来测量恢复图像的失真损失时,LD可以表示如下:在这里插入图片描述
其中,N表示批量大小,I表示原始多光谱图像,并且I是恢复图像,H、W和C分别是图像的高度、宽度和光谱带号。
为了估计速率损失,我们采用了一个重要的网络,以取代熵计算的代码长度的连续近似。重要性网络用于生成从输入图像学习的重要性图P(X)。目的是根据图像内容的重要性来分配比特率,将更多比特分配给复杂区域,并且将更少比特分配给平滑区域。重要网络简单地由四层组成,两个1 × 1卷积层和一个由两个3 × 3卷积层组成的残差块,如图7所示。在这里插入图片描述
重要性网络中使用的激活函数是Mish [27],它已被证明比ReLU更平滑,并获得更好的结果。由于增加的补偿而导致的时间成本和有限的硬件条件仅在重要性网络中而不是整个网络中采用Mish,如下所示:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

[vulntarget靶场] vulntarget-c

靶场地址: https://github.com/crow821/vulntarget 拓扑结构 信息收集 主机发现 netdiscover -r 192.168.111.0/24 -i eth0端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.111.131访问80端口,发现为Laravel v8.78.1框架 vulmap探测…

Windows--Python永久换下载源

1.新建pip文件夹,注意路径 2.在上述文件中,新建文件pip.ini 3.pip.ini记事本打开,输入内容,保存完事。 [global] index-url https://pypi.douban.com/simple

和 Node.js 说拜拜,Deno零配置解决方案

不知道大家注意没有,在我们启动各种类型的 Node repo 时,root 目录很快就会被配置文件塞满。例如,在最新版本的 Next.js 中,我们就有 next.config.js、eslintrc.json、tsconfig.json 和 package.json。而在样式那边,还…

一百八十二、大数据离线数仓完整流程——步骤一、用Kettle从Kafka、MySQL等数据源采集数据然后写入HDFS

一、目的 经过6个月的奋斗,项目的离线数仓部分终于可以上线了,因此整理一下离线数仓的整个流程,既是大家提供一个案例经验,也是对自己近半年的工作进行一个总结。 二、项目背景 项目行业属于交通行业,因此数据具有很…

CeresPCL ICP精配准(点到面)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 ICP算法总共分为6个阶段,如下图所示: (1)挑选发生重叠的点云子集,这一步如果原始点云数据量比较巨大,一般会对原始点云进行下采样操作。 (2)匹配特征点。通常是距离最近的两个点,当然这需要视评判的准则而…

Linux系统之links和elinks命令的基本使用

Linux系统之links和elinks命令的基本使用 一、links与elinks命令介绍1. links命令简介2. elinks命令简介 二、links与elinks命令区别三、links命令选项解释四、links命令的基本使用1. links安装2. 查看links版本3. 图形模式打开网址4. 直接使用links命令5. 打印url版本到标准格…

WordPress还原重置插件WP Reset 教程!

这是一篇完整的 WordPress 还原教程,我们将使用一款插件,快速重置整个 WordPress 网站。 有时在安装不同主题、网站插件后,可能会导致程序码彼此的冲突,而让网站出现跑版、错误等 ..,这时直接重新来过可能反而比较快一…

贪心算法总结归类(图文解析)

贪心算法实际上并没有什么套路可言,贪心的关键就在于它的思想: 如何求出局部最优解,通过局部最优解从而推导出全局最优解 常见的贪心算法题目 455. 分发饼干 这题的解法很符合“贪心”二字 如果使用暴力的解法,那么本题是通过…

福建江夏学院蔡慧梅主任一行莅临拓世科技集团,共探AI+时代教育新未来

在科技的海洋中,产业是那航行的巨轮,而教育则是指引方向的灯塔。当巨轮与灯塔相互辉映,产教融合与校企合作便成为了推动国家科技创新和人才培养的金钥匙,为未来开启一扇扇充满希望的大门。 2023年9月24日,福建江夏学院…

leetcodetop100 (22) 反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表 简单的用一个动态数组Arraylist记录,然后倒序遍历赋值给一个新的链表,这种空间复杂度是o(n),估计需要优化。 采用双指针; 我们可以申请两个指针&#xf…

ansible安装、点对点Ad-Hoc、模块、剧本Playbook

DevOps: 官网:https://docs.ansible.com 自动化运维工具对比 C/S 架构:客户端/服务端 Puppet:基于 Ruby 开发,采用 C/S 架构,扩展性强,基于 SSL,远程命令执行相对较弱 SaltStack:基于 Python 开发,采用 C/S 架构,YAML使得配置脚本更简单.需要配置客户端及服务器…

Spring Boot 技术架构图(InsCode AI 创作助手辅助)

Spring Boot 技术架构是一种用于构建现代应用程序的框架,它可以与各种前端、代理、网关、业务服务、中间件、存储、持续集成和容器服务集成在一起,以创建功能强大的应用程序。 源文件下载链接!!!!&#xff…

Elasticsearch—(MacOs)

1⃣️环境准备 准备 Java 环境:终端输入 java -version 命令来确认版本是否符合 Elasticsearch 要求下载并解压 Elasticsearch:前往(https://www.elastic.co/downloads/elasticsearch)选择适合你的 Mac 系统的 Elasticsearch 版本…

【Linux学习】03Linux用户和权限

Linux(B站黑马)学习笔记 01Linux初识与安装 02Linux基础命令 03Linux用户和权限 文章目录 Linux(B站黑马)学习笔记前言03Linux用户和权限认知root用户root用户(超级管理员)su和exit命令sudo命令 用户、用户…

【Spring Boot】实战:实现数据缓存框架

🌿欢迎来到@衍生星球的CSDN博文🌿 🍁本文主要学习【Spring Boot】实现数据缓存框架 🍁 🌱我是衍生星球,一个从事集成开发的打工人🌱 ⭐️喜欢的朋友可以关注一下🫰🫰🫰,下次更新不迷路⭐️💠作为一名热衷于分享知识的程序员,我乐于在CSDN上与广大开发者…

Hbuilder本地调试微信H5项目(二)--添加UView框架插件

摘要 在一个已创建的Hbuilder项目中,添加uView框架插件 前置准备 已安装Hbuilder 已创建uni-app的H5默认模板项目 实现逻辑 在Hbuilder官网找到组件说明页面 下载插件并导入HbuilderX 具体实现 访问网站 访问网址Hbuilder的uView1.8.6版本说明页 或者访问…

MySQL索引是什么

1、索引是什么 1、MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构 索引的本质:数据结构。 索引的目的在于提高查询效率,可以类比字典或者一本书的目录,如果要查“mysql”这个单词…

服务断路器_什么是灾难性雪崩效应

什么是灾难性雪崩效应 假设我们有两个访问量比较大的服务A和B,这两个服务分别依赖C和D,C和D服务都依赖E服务。 A和B不断的调用C,D处理客户请求和返回需要的数据。当E服务不能供服务的时候,C和D的超时和重试机制会被执行 由于新的调用不断的产生&#xf…

【算法深入浅出】字符串匹配之 KMP 算法

KMP 算法是一种字符串匹配算法。字符串匹配算法的目标是:在字符串 s 中找到与模式串 p 相等的子串,输出其位置。例如:s “abcdef”,p “cdef”,p 在 s 中的位置是 2(从 0 开始计数)。 容易想到…

高效管理生活:Microsoft To Do for Mac 微软待办事项软件

在日常生活中,我们经常面临着琐碎的任务和繁忙的安排。为了更好地管理自己的时间和事务,一款强大而智能的待办事项软件是必不可少的。Microsoft To Do for Mac 微软待办事项软件将助您高效管理生活,让每件事都尽在掌握。 Microsoft To Do fo…