孙丽英
(合肥科技职业学院电子信息系 安徽合肥 230088)
高光谱成像作为一种重要的遥感探测手段,已经成为了遥感探测成像领域的重要探测手段,对高光谱图像数据进行存储与相关的处理,成为了具有研究意义和价值的科研方向。高光谱图像的分辨率高,通过高光谱传感器,使得高光谱图实现了光谱与图像之间的融合,对于人类开发地球资源和大气环境的监控提供了新的思路和手段[1]。高光谱图像手段本身具有的发展能力在医学和农学方面也有着非常广泛的应用,它是一种集探测器手段、精密红外线激光光学仪器等高科技手段于一体的整体性技术。高光谱图像是在二维图像信息的基础上,增加了一维的光谱信息,高光谱图像的空谱间分辨力越来越高,光谱数据量化的深度越来越高,同时遥感卫星不间断扫描周期次数的不断增加,这些因素都导致了高光谱成像的数据量成倍数量级的增加,导致了高光谱图像数据在存储的过程中,出现了重要帧丢失的情况[2]。因此本文设计一种基于云计算技术的高光谱图像数据存储方法,本文设计的方法主要是对得到的高光谱图像进行分类处理,将重要帧进行特殊的标记处理,在存储过程中更容易发现其丢失情况,从而提升存储方法的性能。
(一)提取高光谱图像端元。在高光谱图像存储的过程中,需要对图像进行检索匹配[3,4]。高光谱图像具有一定的电磁辐射,因此能够提供超高的多维度信息量,例如,空间、光谱和时间等,因此,在进行存储之前需要对图像进行分类,因此需要在云计算技术的支持下,对高光谱图像的端元进行提取,也就是高光谱的图谱特征,为图像分类提供依据[5,6]。本文的端元提取方法为PPI算法。对于像元来说,单位向量两端的投影次数可以作为该像元被选择成为端元的概率[7,8]。其向量投影示意图如1所示:图1中,skewer1、skewer2、skewer3表示三个随机向量,通过迭代后,每一个随机向量都会有相应的像元投影,记录下每一个像元的纯净像元指数后,可以通过阈值筛选像元指数比较小的像元[9,10],以此来减少其中的噪声影响,最后输出像元集合。在云计算技术的基础上,使用并行的PPI算法进行处理,在这个过程中,产生的计算量非常大,且都集中在计算纯净像元指数的部分。将高光谱图像存储在HDFS上,能够将高光谱图像数据进行切分,存储在Block块中,方法在云计算平台的并行处理;随后将高光谱图像数据转换成字节完成RDD读入,通过并行算法得到端元,通过端元能够完成高光谱图像重要帧的标记。
图1 向量投影示意图
(二)高光谱图像无损编码压缩。目前高光谱图像的编码方式主要是通过探索图像空间相关性来进行压缩,其频段数目较多,且多个频段之间的相关性较高,目前的编码方法无法祛除谱间冗余,会降低编码效率,影响存储过程中的帧存储效率。在本文的无损编码方案中,对其进行了改进,将复杂的预测操作从编码位置转移到了解码位置,在编码位置上进行下采样和信道方面的编码操作,可以利用之前已经完成重建的频段信息作为参考,来选择高光谱图像的各频段的地面信息点,地面信息点中存在着很多的频段信息,为了实现编码和压缩的便捷性,需要对其进行分类。分类过程中,当像素类型相同时,需要检测其是否具有相同的谱间相关性,并根据其相关性的大小选择自适应的预测方式。在基于频段区域的无损编码框架中,首先需要对子图像进行下采样和逐比特面的编码传输。这样的子图像解码数目越多,能够用于获取边信息的当前图像就越多。下采样的编码结果如图2所示:
图2 下采样编号结果示意图
当下采样的子图像在解码成功之后,解码端可以得到的图像分辨率会有所提高,说明分辨率具有渐进性,除此之外,图像的像素精度也有所提高。在完成编码后,需要对图像进行压缩,提取出高光谱图像中的重要节点,原始信号经过系数变换后,得到稀疏测量值,将测量值进行压缩处理后,进行存储、传输,随后经过解压缩处理,完成稀疏重构后得到原始信号。在压缩的过程中,假设x是一维稀疏信号,其大小用N×1进行描述,当x中有k和非零的值时,那么可以将其稀疏度描述为k,Φ表示二维的测量矩阵,其大小为M×N,那么一维的测量值信号可以表示为:
上式为欠定方程组,因此需要将上式转化为求解最优化问题:
此过程为压缩过程中的感知重构,也是一个约束条件,其最小0范数是一个NP问题,因此需要对以上的最优化问题进行转换,也就是将0范数问题转换成1范数问题。这样通过给定的测量矩阵和测量值y,可以进一步通过计算得到原始高光谱图像的信号逼近值,使图像压缩时更加接近原始信号值,减少压缩的失真,实现高光谱图像无损编码压缩。
(一)搭建云计算平台。为了验证本文设计的基于云计算技术的高光谱图像数据存储方法具有一定的可行性,需要在一定的环境下测试其存储性能。本文的实验环境选择的是IntelliJ IDEA集成开发环境,实验过程中高光谱图像存储的Web服务器采用的是Tomcat,并利用Maven来构建Spring MVC+Mybatis+MySQL的多软件组合来提高Tomcat服务器的性能。云计算平台中,为存储提高高光谱图像原始图像存储支持的过程中,高性能的分布式计算支持的是9节点的Spark集群,Spark集群可以将数据读入内存,将计算结果保存在内存,以及对数据处理的实时性都利于提高图像数据的处理,其相关配置如下表所示:
表1 Spark集群节点配置
Spark集群并不是直接搭载到实体机上的,而是需要通过一定手段对实体的物理资源进行虚拟而配置。不同的节点虚拟在不同的刀片服务器上,刀片服务器之间是通过千兆级别的以太网进行连接的,相关具体架构如图3所示:
图3 云计算Spark平台部署
在上述搭建云计算平台下,本文的实验采用的数据源是从某地机场截取的空间尺寸为100×100像元的126波段的AVIRIS高光谱图像,为了使实验拥有详细的分析过程,将截取后的高光谱图像和相应的目标分布进行展示如图4所示。图4中,图(a)为高光谱第10波段图像,图(b)为真实的目标分布。在上述实验条件下,为了验证本文存储方法的有效性,需要将其与传统的BRE-KRX方法、SU-RX方法和SVDD方法进行比较,并对最后的实验结果进行分析。
图4 选择的高光谱第10波段图像和目标分布
(二)实验结果对比。在检测到总像元为400个的相同条件下,四种存储方法中,存储目标的检测结果如图5所示:图5中,图(1)为本文方得到的结果,图(2)为BRE-KRX方法得到的结果,图(3)为SU-RX方法得到的结果,图(4)为SVDD方法得到的结果,图(6)为四种方法失真性能曲线对比图。
图5 四种存储方法的目标检测结果
图6 四种方法失真性能对比图
在存储方法得到的结果中,需要选择一些重要定量测量指标进行性能判别,本文将能够检测到的异常目标数量、目标所占像元数以及虚警所占像元数量作为定量判别的条件,为了使实验结果更加具有可靠性,因此本文选取这三个指标进行对比,统计得到的结果如表2所示:表2为四种方法在固定阈值下,各方法在存储过程中的检测性能,从上表可以看出,本文设计的存储方法检测到的目标最多,且虚警率最低。说明了本文设计的基于云计算技术的高光谱图像数据存储技术具有一定的有效性。
表2 四种存储方法的定量比较
遥感技术的发展促进了高光谱数据的指数级增长,对于如此海量的高光谱遥感数据来说,存储和管理成为了人们需要面对的新的问题。本文针对传统高光谱图像数据存储过程中遇到的问题,并结合高光谱遥感的发展现状,对基于云计算技术的高光谱图像数据存储进行了研究。通过实验结果表明,本文研究的存储方法虽然在性能提升的过程中取得了一定成效,但是由于技术和条件的限制,还存在着很多缺陷和不足,在今后的研究中将会进一步探析。