一种基于GPU的高光谱图像RATGP和ROSP并行优化方法技术

技术编号:19345467 阅读:39 留言:0更新日期:2018-11-07 15:07
本发明专利技术公开了一种基于GPU的高光谱图像RATGP和ROSP并行优化方法,其中,该方法包括:采用基于GPU的RATGP算法进行端元提取;采用基于GPU的ROSP算法进行丰度估计。其中基于GPU的RATGP算法,通过递归形式进行计算,不需要复杂的矩阵求逆的计算过程,将算法中大规模的矩阵计算转化成在GPU中并行计算,在保证精度的同时,大大增加算法的效率。基于GPU的ROSP算法在实时高光谱解混处理中,使得期望解混的端元信号会逐步增强,更加满足高光谱遥感图像丰度估计的实时性需求,实现了保证精度的同时大大提升算法的效率。

A parallel optimization method of RATGP and ROSP for hyperspectral images based on GPU

The present invention discloses a parallel optimization method of RATGP and ROSP for hyperspectral image based on GPU. The method includes: extracting end elements using RATGP algorithm based on GPU and estimating abundance using ROSP algorithm based on GPU. The RAGP algorithm based on GPU, which calculates in recursive form, does not need the complicated calculation process of matrix inversion. The large-scale matrix calculation in the algorithm is transformed into parallel calculation in GPU, which greatly increases the efficiency of the algorithm while ensuring the accuracy. In real-time hyperspectral de-mixing processing, ROSP algorithm based on GPU makes the end-element signal expected to be de-mixing gradually enhanced, which meets the real-time requirement of hyperspectral remote sensing image abundance estimation, and achieves high accuracy and greatly improves the efficiency of the algorithm.

【技术实现步骤摘要】
一种基于GPU的高光谱图像RATGP和ROSP并行优化方法
本专利技术涉及高光谱遥感
,特别是一种基于GPU的高光谱图像RATGP和ROSP并行优化方法。
技术介绍
高光谱遥感以其具有较高空间分辨率的特点在地球科学领域广泛应用。而高光谱图像解混是高光谱领域的重要分支及研究热点。高光谱解混技术包含对地物信息(即端元)提取和丰度估计这两个主要步骤。但由于高光谱遥感数据规模大、计算复杂度高,使得数据处理效率成为制约技术进一步发展应用的瓶颈。近年来,随着图形处理器(graphicprocessingunit,GPU)的发展,利用GPU并行计算的特性进行大规模数据运算,有效提提升了大量重复计算的工作效率。以RATGP(RecursiveAutomaticTargetGenerationProcess,递归式的非监督式端元提取算法)和ROSP(RecursiveOrthogonalSubspaceProjection,并行计算的丰度估计算法)算法为例,将两种算法实际应用于端元提取和丰度估计中,根据算法的计算原理,运算过程中涉及大量的矩阵运算和迭代过程,采用CPU的串行方式十分费时,而GPU具有强大的并行处理能力,因此用GPU进行并行运算十分的必要。因此亟待开发一种针对大规模矩阵运算的并行优化方法,对算法过程进行重构,有效提高算法的执行效率。
技术实现思路
针对现有技术发不足,本专利技术的目的是要提供一种基于GPU的高光谱图像RATGP和ROSP并行优化方法,通过减少CPU与GPU之间数据通信,有效提升并行运算效率。本专利技术的技术方案如下:一种基于GPU的高光谱图像RATGP和ROSP并行优化方法,其特征在于包括:采用基于GPU的RATGP算法进行端元提取;采用基于GPU的ROSP算法进行丰度估计。根据本专利技术实施例的另一方面,还提供了一种基于GPU的高光谱图像RATGP和ROSP并行优化系统,包括:端元提取模块,用以根据基于GPU的RATGP算法进行端元提取;丰度估计模块,用以根据基于GPU的ROSP算法进行丰度估计。根据本专利技术实施例的另一方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行上述任意一项所述的方法。根据本专利技术实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的方法。本专利技术公开了一种基于GPU的高光谱图像快速解混方法,其中包含端元提取和丰度估计两个部分,端元提取部分采用基于GPU的RATGP算法,其相较于传统的基于GPU并行计算的非监督式的端元提取算法(AutomaticTargetGenerationProcess,ATGP),通过递归形式进行计算,不需要复杂的矩阵求逆的计算过程,将算法中大规模的矩阵计算转化成在GPU中并行计算,在保证精度的同时,大大增加算法的效率。丰度估计部分是获得相应端元在每一个混合像元中所占的比例。本专利技术采用的基于GPU的ROSP算法相较于传统的正交子空间投影算法,因为采用递归的形式进行计算,在实时高光谱解混处理中,非期望端元会随着数据处理的进展而不断的被找到,非期望的端元集合会逐步增大,使得期望解混的端元信号会逐步增强,更加满足高光谱遥感图像丰度估计的实时性需求,实现了保证精度的同时大大提升算法的效率。附图说明为了更清楚的说明本专利技术的实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术优化方法流程图;图2为基于GPU的RATGP算法流程图;图3为基于GPU的ROSP算法流程图;图4为实验的真实图像;图5为RATGP-CPU与RATGP-GPU的对比情况;图6为ATGP-GPU与RATGP-GPU对比情况;图7为ROSP-CPU与ROSP-GPU的对比情况;图8为OSP-GPU与ROSP-GPU的对比情况;图9为含有3个非期望的端元ROSP-GPU丰度估计结果;图10为含有6个非期望的端元ROSP-GPU丰度估计结果;图11为含有18个非期望的端元ROSP-GPU丰度估计结果;图12为含有30个非期望的端元ROSP-GPU丰度估计结果。具体实施方式为使本专利技术的实施例的目的、技术方案和优点更加清楚,下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚完整的描述:如图1所示:一种基于GPU的高光谱图像RATGP和ROSP并行优化方法,其特征在于包括:步骤一、采用基于GPU的RATGP算法进行端元提取。具体包括:S101、根据工作要求设置想所要提取的端元数num,并在GPU端为混合像元R分配空间,利用cublasSetVector函数将高光谱混合像元R拷贝至GPU显存中,其中R={r1,r2,...ri,...,rl},ri=(r1l,r2l,...,rNl)T,l为波段数目,N为像元数目,r为高光谱图像中某一个混合像元的向量,设Up=[t1,...,tj+1,...,tp-1,tp]由l个p向量组成的的端元矩阵,t为端元矩阵的某一个端元;S102、令num=1时,提取第一个端元t0。具体包括:a.在GPU端,根据公式(1)将拷贝到显存的像元R进行点乘和行累加,为其运算配置处理核心,并进一步配置线程数及线程块数量以进行大规模矩阵并行运算,t0=arg{maxRRTR}(1);b.采用cublasIdamax函数提取端元t0所在的位置,并将端元t0通过cublasGetVector函数拷贝回CPU端存储到内存中,所述端元t0所在的位置为cublasIdamax函数提取出最大值所在的位置。S103、令U0=[t0],利用公式(2)计算U0的正交子空间即S104、在第p次递归令在CPU端利用公式(3)计算Up的伪逆即利用公式(4)来计算Up的正交子空间并更新;其中,S105、由提取第p个端元即tp,当提取的端元数量p与所要要提取的端元数num相等时算法终止,否则执行步骤104并令p←p+1。具体包括:a.在GPU端采用cudaMalloc函数为分配大小为l*l的内存;b.采用cublasSetVector函数将更新出的结果拷贝到GPU显存中;c.根据公式(5)计算r的值,并采用cublasDgemm函数进行矩阵乘法;d.将上述计算结果代入到公式(1)求出端元tp,然后利用cublasGetVector函数拷贝回CPU端存放到内存中。如图2所示为本实施例中基于GPU的RATGP算法流程图。步骤二、采用基于GPU的ROSP算法进行丰度估计。具体包括:S201、首次递归计算和的值,具体地:a.当第1次递归时令p=1时,从第1个非期望端元开始记为m1,令U1=[m1],在CPU端通过公式(6)计算的值,其中,M=[m1,m2,...,mi,...,mp-1,mp]为端元矩阵,且mi=[mi1,mi2,...,mil]T;b.根据公式(7)计算的值:其中I为单位阵;S202、当第p次递归时,计算和的值,具体地:a.在CPU端利用公式(8)来计算的值。其中,Up-1=[m1,m2,...,mp-1]为非期望的端元集合矩本文档来自技高网...

【技术保护点】
1.一种基于GPU的高光谱图像RATGP和ROSP并行优化方法,其特征在于包括:采用基于GPU的RATGP算法进行端元提取;采用基于GPU的ROSP算法进行丰度估计。

【技术特征摘要】
1.一种基于GPU的高光谱图像RATGP和ROSP并行优化方法,其特征在于包括:采用基于GPU的RATGP算法进行端元提取;采用基于GPU的ROSP算法进行丰度估计。2.根据权利要求1所述的优化方法,其特征在于所述采用基于GPU的RATGP算法进行端元提取,具体包括:S101、根据工作要求设置想所要提取的端元数num,并在GPU端为混合像元R分配空间,利用cublasSetVector函数将高光谱混合像元R拷贝至GPU显存中,其中R={r1,r2,...ri,...,rl},ri=(r1l,r2l,...,rNl)T,l为波段数目,N为像元数目,r为高光谱图像中某一个混合像元的向量,设Up=[t1,...,tj+1,...,tp-1,tp]由l个p向量组成的的端元矩阵,t为端元矩阵的某一个端元;S102、令num=1时,提取第一个端元t0;S103、令U0=[t0],利用公式(2)计算U0的正交子空间即S104、在第p次递归令在CPU端利用公式(3)计算Up的伪逆即利用公式(4)来计算Up的正交子空间并更新;其中,S105、由提取第p个端元即tp,当提取的端元数量p与所要要提取的端元数num相等时算法终止,否则执行步骤104并令p←p+1。3.根据权利要求2所述的优化方法,其特征在于所述步骤S102具体包括:a.在GPU端,根据公式(1)将拷贝到显存的像元R进行点乘和行累加,为其运算配置处理核心,并进一步配置线程数及线程块数量以进行大规模矩阵并行运算,t0=arg{maxRRTR}(1);b.采用cublasIdamax函数提取端元t0所在的位置,并将端元t0通过cublasGetVector函数拷贝回CPU端存储到内存中,所述端元t0所在的位置为cublasIdamax函数提取出最大值所在的位置。4.根据权利要求3所述的优化方法,其特征在于所述步骤S105具体包括:a.在GPU端采用cudaMalloc函数为分配大小为l*l的内存;b.采用cublasSetVector函数将更新出的结果拷贝到GPU显存中;c.根据公式(5)计算r的值,并采用cublas...

【专利技术属性】
技术研发人员:于纯妍宋梅萍安东张建祎王玉磊李森
申请(专利权)人:大连海事大学
类型:发明
国别省市:辽宁,21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1