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的高光谱图像 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。