基于Atrous-HIS变换的多光谱遥感影像多核并行融合方法

2022-06-22 02:16范明虎薛昊润臧文乾张旭升谢毅
关键词:瓦片分量光谱

范明虎,薛昊润,臧文乾,张旭升,谢毅

(1.河南大学 河南省大数据分析与处理重点实验室,河南 开封 475004;2.北京邮电大学 国际学院,北京 100876;3.中国科学院 空天信息创新研究院,北京 100101)

遥感技术的迅速发展为我们提供了越来越多的数据源,充分利用它们,则可以互补所长,提高遥感应用的质量[1].在基于多源遥感影像的应用中,多光谱与全色影像融合是一种常见应用,它可以充分利用两种影像的优点,生成高空间分辨率的多光谱影像,从而弥补单一图像上信息量的不足,提高遥感影像解译精度和可靠性[2],广泛应用于遥感影像的目视解译[3]和特征增强[4].影像融合由低到高分为3个层次:数据级融合、特征级融合、决策级融合.相对于后两个层次,像素级的融合可以保留更多的原始信息,更高的准确度,有利于图像后期应用于地表覆盖分类和目标识别.目前,常用的像素级遥感影像融合方法有:加权平均法[5]、HIS(Hue-Intensity-Saturation)变换法[6]、Brovey变换法[7]、主成分分析PCA(Principal-Component-Analysis)法[8]等等.

本文的研究采用了一种结合了Atrous和HIS变换的改进算法,可以很好地保留多光谱影像的光谱信息和高分辨率影像的空间细节表现能力.在遥感影像融合应用中,早期的Atrous变换采用的是无抽取离散小波变换[9],可以有效减少小波变换中的信息丢失,并改善HIS变换的光谱扭曲程度.进一步的改进算法有在边缘检测过程中采用Sobel算子[10],以有效增强融合影像高频部分的边缘特征;使用高提升滤波进一步减少小波分解中的细节丢失和融合结果的模糊问题[11].本文算法的改进则是使用非抽样二进小波变换替换了无抽取离散小波变换.二进小波变换只是对尺度参数进行了离散,在时间域上的平移参数仍保持连续取值,所以其具有离散小波变换数值计算简化和理论分析简便的特点外,还具有连续小波的时移共变性,这是其较离散小波的独特优势.因此,这种方法进一步减少了小波分解中的信息丢失,从而提高了融合影像中的信息量.

传统的图像融合采用串行算法,处理速度受限于单CPU的指令执行速度,无法充分利用目前的主流多核心CPU,严重影响大规模遥感影像的处理速度,难以适应对响应时间要求较高的应用.近些年来,并行计算技术的快速发展为提升遥感影像处理速度提供强有力的支持.例如,使用GPU对图像融合处理进行加速[12],取得了不错的效果.OpenMP是实现多核心并行的常用方法之一,简单易用,可在不大幅修改算法的基础之上,充分利用多核心CPU对计算进行加速.本文的研究针对遥感影像融处理的速度问题,提出了一种基于Atrous-HIS变换的多光谱与全色影像融合的并行计算方法.通过在算法中融入OpenMP并行计算技术,并进行适当优化,可以实现多光谱和全色影像的快速融合.

1 基于Atrous-HIS变换的融合方法

本方法是一种像素级融合方法,同时,本文的讨论只针对多光谱影像(MS)和全色影像(PAN)的融合.在融合处理之前,先要对这两种影像进行一定的预处理,如几何校正、配准等.因为这些处理不是本文研究的中心问题,这里不做介绍.随后,将多光谱影像(MS)和全色影像(PAN)分别进行处理,利用非抽样二进小波变换提取各像素的高低频信息.最后,选用适当的融合规则,将两幅影像对应像素的提取信息通过一定的策略进行融合计算,得出新的像素值.由这些新像素值组成图像就是融合图像.

基于非抽样二进小波变换提取信息的过程是:首先将原始影像分解成近似图像和小波系数(平面)图像,然后从小波面提取细节信息,可以通过计算两个连续小波面的差值得到,最后将细节信息添加到多光谱影像的近似分量中,从而获得融合图像.

基于Atrous-HIS变换的融合算法的大致过程如下:首先对高分辨率图像和多光谱图像进行小波分解,提取分解后的多光谱影像的低频分量和全色影像高频分量,在最佳的融合条件下进行融合,最后再进行小波变换重构出融合图像(图1).本算法的具体步骤如下:

步骤1 图像预处理:对MSS影像和PAN影像进行配准,并将MSS影像进行重采样,使之与PAN影像具有相同的空间分辨率.

步骤2 通过IHS(Intensity Hue Saturation)变换将MSS影像从RGB空间变换到IHS空间.选取MSS影像3个波段B1,B2,B3分别分配给R,G和B通道,

(1)

步骤3 将PAN影像与MSS影像的强度分量进行直方图匹配.目的是为了消除两幅图像存在的光谱差异.当两幅图像的拍摄条件不同时,会存在光谱差异.

步骤4 分别对PAN影像和MSS影像的亮度分量进行小波变换,得到两个影像相对应的分辨率较低的影像和分辨率较高的细节影像.

步骤5 舍弃来自MSS影像分量的细节部分(即高频分量)和来自PAN影像的近似部分(即低频分量),将PAN影像的高频分量添加到MSS影像的低频分量中.

步骤6 使用小波逆变换得到影像融合后的亮度分量,该亮度分量影像和IHS变换的亮度分量影像有着大致相似的灰度值,并且拥有和原PAN影像相同的空间细节.

步骤7 使用新的亮度分量图像、色度分量图像和饱和度分量图像进行IHS逆变换,从而转换回RGB空间,即得到最终的融合图像,

(2)

2 基于OpenMP的Atrous-HIS融合方法

并行计算是提高数据处理效率的常用方法,目前已广泛应用于遥感图像处理之中.在众多的并行计算实现技术中,OpenMP是最常用的一种,它可以很好地利用主流的多核心CPU实现并行加速.只要优化得当,基于OpenMP的算法可以大幅提高数据处理效率.

在上述融合算法处理步骤的基础之上,设计和实现了一种基于OpenMP的Atrous-HIS融合方法.首先,将算法中可以并行执行的步骤提取出来,然后将OpenMP技术融入这些步骤之中,最后针对并行计算的特点调整数据结构和优化处理流程,从而得到一种可以融合多光谱和全色影像的并行处理算法.具体的算法步骤如图2所示.

步骤1 输入图像之后,在图像处理开始之前,算法会根据按计算单位的内存容量来进行图像数据的瓦片划分.例如每计算单位分配1 G内存,则瓦片划分中要保证一次计算中用到的所有瓦片数据量之和在1 G之内.但是,由于所有的图像瓦片分割计算量小,主要操作是磁盘读写和内存数据块的复制,并行与串行的速度差异很小,所以不必进行并行处理.

步骤2 HIS变换、生成直方图和小波变换以瓦片为单位.由于各瓦片的处理是相互独立的,所以可以使用OpenMP实现不同瓦片的并行处理.

步骤3 图像融合以成组瓦片为单位,即进行融合会用时用到多个瓦片,并且各个瓦片之间在空间位置上存在相互对应关系.但是,各组瓦片之间的处理仍然是相互独立的,所以这一步可以使用OpenMP实现不同瓦片组的并行执行.

步骤4 小波逆变换和HIS变换又是以瓦片为单位独立处理,所以可以使用OpenMP实现不同瓦片的并行处理.

步骤5 输出图像与输入图像类似,主要操作是数据的读写,并行处理不会明显提升算法的运行速度,所以不使用并行处理.

3 实验结果与分析

为了验证上述算法的有效性,进行了一系列的实验,所用的实验环境和遥感数据如下.

实验的硬件环境:CPU型号为Intel(R)Core(TM)i7-1165G7 CPU @ 4.70 GHz,为4核心8线程处理器,内存为16 G.实验的软件环境:操作系统为Window 10,算法实现使用Microsoft Visual Studio 2017,该开发环境内置了对OpenMP的支持.使用的遥感影像为北京地区的GF1影像,预处理完成后,多光谱MSS影像大小为3.74 G,全色PAN影像大小为0.94 G,融合前后的影像如图3所示.

图3为融合前后的影像同一区域截图,3幅图分辨率相同.该区域包含了一些常见的典型地物:地面、水、植被、建筑和街道.图3(a)为多光谱影像,具有多个波段,原图分辨率较低,重采样后块状效应明显,导致地物边缘模糊;图3(b)为全色影像,只有一个波段,原图空间分辨率高,地物轮廓清楚,但是单色导致地物区分度不高;图3(c)是融合后的影像,相对于图3(a),块状效应大幅减少,地物的轮廓清晰度显著提升,较好地完成了融合的预期目标.

并行计算实验测试了在不同线程数的情况下,使用OpenMP能够达到的加速比.OpenMP技术支持指定并行计算使用的线程数.为了减少误差,每次执行的时间采用多次运行取平均值的方法进行计算.由于实验所用的数据量大,读写花费的时间长,因此将总耗时分为数据读写时间和计算时间两部分.如前文所述,并行加速主要对计算有效.为了使实验结果更加清晰,分别计算了总耗时的加速比和融合计算时间的加速比.实验结果如表1和图4所示.

表1 并行计算的实验结果

单线程的效率等同于传统的单核心CPU串行执行的效率.由表1和图4可以看出,加速比随着线程数的增加而增加,多线程对计算效率的提高随着线程数的增加而加大.可以说,在单CPU的情况下,图像融合效率获得了比较理想的提升.但是,整体的加速效果还是受到了CPU的物理核心数的限制.实验中使用的CPU只有4个物理核心,虽然理论上CPU通过超线程技术可以使用8个线程,但是加速比无法超过4.实验中也测试了超过8个线程的情况,并没有获得更好的效果.显然,如果CPU有更多的物理核心,算法的计算效率还会进一步提升.

同时也注意到,大量数据的读写耗时相当大,这也影响了总加速比的提升.从实验结果来看,数据读写占了总计算时间的1/3左右,使总加速比止步于2附近.因为缺少高速存储子系统,未对数据读写效率的影响做进一步的研究.

4 结 论

本文以Atrous-HIS变换为基础,设计和实现了一种基于OpenMP的多光谱和全色影像并行融合算法.实现结果表明,该算法可以较好地利用多光谱影像的光谱信息和全色影像的高空间分辨率,生成高分辨率的多光谱影像,可为影像的后期应用提供更多的有用信息.同时,OpenMP技术的融入使该算法还具有较高的执行效率.实验表明,OpenMP是一种简单易用的高效并行技术,在遥感影像处理中具有很好的应用前景.在本文的影像融合应用中,应用OpenMP技术对算法的修改较小,只需要将算法中可并行执行步骤根据并行计算模式进行适当调整和优化,就能大幅提升算法效率,而且这种提升会随着CPU的物理核心数量增加而增加.

此外,实验测试也表明,OpenMP并行技术对于数据密集型处理的效率提升效果差.在本文实验中,测试表明OpenMP技术对大量MSS和PAN数据的读写几乎没有加速作用(因为加速无效,所以文中未列出相关测试数据),这大大影响了总加速比的提升.未来可以考虑通过采用高速存储子系统提升数据读写速度,效用如何还有待进一步研究.

猜你喜欢
瓦片分量光谱
基于三维Saab变换的高光谱图像压缩方法
煤炭矿区耕地土壤有机质无人机高光谱遥感估测
基于3D-CNN的高光谱遥感图像分类算法
打水漂
画里有话
一斤生漆的“分量”——“漆农”刘照元的平常生活
一物千斤
乡村瓦语
惯性
论《哈姆雷特》中良心的分量