基于GPU的遥感影像数据融合IHS变换算法

时间:2009-07-10   来源:   网友评论:0   人气: 433 作者: 卢 俊,张保明,黄 薇,李二森

摘 要:提出基于图形处理单元(GPU)的遥感影像IHS融合算法,利用图形硬件的可编程渲染器和其处理数据的并行性,把IHS的正反变换映射到GPU中进行计算。应用RTTMRT技术实现IHS正反变换中3个分量的并行渲染输出,加速计算过程。实验结果表明,在数据量较大时,该算法的处理速度比基于CPU的算法速度更快。

 

关键词:图形处理单元;渲染到纹理;多渲染目标

 

1 概述

随着现代遥感技术的发展,可获取的遥感影像数据越来越丰富。遥感技术应用的主要障碍不再是影像源的不足,而是如何从中提取更丰富、有用和可靠信息。多源遥感图像数据融合技术是对地观测信息获取与处理技术的重要研究内容,是解决海量遥感图像数据问题的一个有效途径。在处理大数据量的遥感影像数据时,处理速度成为一种融合算法能否普遍适用的一个关键因素。IHS变换可以提高结果图像的地物纹理特性,增强其空间细节的表现能力[1-2],因此,在遥感图像融合中,IHS变换法也是最常用、最基本的方法。但IHS变换融合算法比较复杂,在CPU的串行编程模式中实现较为费时。

图形处理单元(Graphics Processing Unit, GPU)由于具备强大的并行处理能力和极高的存储器带宽而被抽象成一个流处理器,用于科学运算、数据分析、线性代数、流体模拟等需要大量重复的数据集运算和密集的内存存取的应用程序。CPU本质上是一个标量计算模型,计算单元偏少,主要针对复杂控制和低延迟而非高带宽优化[3]GPUCPU更适用于流处理计算。

2 IHS变换融合算法模型

图像处理中经常应用的彩色坐标系统(或称彩色空间)2种:(1)由红(R)、绿(G)、蓝(B)三原色组成的彩色空间,即RGB空间;(2)IHS,即亮度(Intensity)、色调(Hue)、饱和度(Saturation)RGB空间和IHS空间相互转换的处理过程称为IHS变换。IHS空间中的3分量I, H, S具有相对独立性,可分别对它们进行控制,并能够准确定量地描述颜色特征。

IHS变换的步骤如下:

(1)将原始灰度值R0, G0, B0进行归一化
C01.jpg 

其中,
L为图像的灰度级数。

(2)正变换,计算I, H, S的值

R=G=B=时,S=H=0, I=R;否则:
C02.jpg 

 
(3)
直方图匹配,将高分辨率全色影像经过灰度拉伸,使其灰度的均值与方差和IHS空间中I分量图像一致。

(4)反变换,将拉伸过的高分辨率图像作为新的I分量代入计算,求原始空间的RGB值,反变换如下:

C03.jpg 
 

3 IHS变换的GPU实现

基于GPU编程的基础是流和核。在流式编程模型中,所有的数据都表现为流。流的定义是具有相同数据类型数据的有序集[3]。核操作输入流上的所有元素而不是独立的元素,核对输入流的每个元素用一个函数进行求值。流式模型用多种方式实现了高效计算,其中最重要的一点是流利用了应用程序中的并行性。由于核操作整个流,流元素可以用数据并行硬件并行地处理,有很多元素的长流使数据级的并行性有很高的效率。由此可以看出GPU是利用各个流元素之间的独立性并行地处理多个数据来实现加速。IHS变换融合算法对遥感影像数据中各个像素点的处理是相对独立的,因此,可以将其映射为GPU上的流式计算。

3.1 并行的输入流

进入GPU的数据分为2类:(1)描述几何形状的顶点数据;(2)片元数据,片元数据通常从纹理中获得。顶点处理器接收顶点数据并转化为屏幕上的窗口坐标,这些顶点组合成几何形状,在光栅化过程中,形状所覆盖的像素被构造成许多片元,由顶点所构成的多变性内部片元可在这一步骤中计算出来。片元传入片元处理器进行并行计算并被最终写入帧缓冲区[4]

相对于顶点处理器而言,GPU往往具有更多个片元处理器,因此,片元级的向量计算可获得更高的并行处理能力。本文利用4个顶点生成一个矩形,经过光栅化过程生成片元值。为保证所生成的片元与所处理的遥感图像数据一一对应,将矩形大小定义为纹理大小而不是图像本身的大小。


 

文章评论