CN107644393A - 一种基于gpu的丰度估计算法的并行实现方法 - Google Patents
一种基于gpu的丰度估计算法的并行实现方法 Download PDFInfo
- Publication number
- CN107644393A CN107644393A CN201710898675.6A CN201710898675A CN107644393A CN 107644393 A CN107644393 A CN 107644393A CN 201710898675 A CN201710898675 A CN 201710898675A CN 107644393 A CN107644393 A CN 107644393A
- Authority
- CN
- China
- Prior art keywords
- end member
- vector
- gpu
- abundance
- parallel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于GPU的丰度估计算法的并行实现方法,包括:1、将高光谱混合像元数据H存储至GPU端;2、获取端元向量mi,并将所获取的端元向量mi逐一分配至CPU端的p个并行线程上;3、获得端元向量mi其所对应的正交于向量空间[m1,m2,...,mi‑1]的向量4、获得端元集M所对应的正交基并计算对应的内积值;5、计算像元的光谱向量r在方向上的投影;6、计算各端元mp对应的丰度结果αp,并存储至GPU端。本发明通过GPU并行处理的核函数计算丰度值,且该并行机制比在传统CPU串行机制上运行快得多,大大提高了实时丰度估计的运行效率。
Description
技术领域
本发明属于图像处理技术领域,具体为涉及一种面向高光谱图像的丰度值估计方法的GPU并行处理方法,以提高实时高光谱丰度的快速计算。
背景技术
高光谱遥感技术旨在以数十个到数百个连续的精细光谱波段获取地物信息,目前已被广泛地应用于环境、国防、农业以及深空等众多领域。丰度估计作为高光谱技术中最重要的主题之一,其目的是在端元提取完成之后,获得相应端元在每一个混合像元中所占的对应百分比(即丰度值)。传统算法(如最小二乘误差和正交子空间投影)的实现通常涉及大量矩阵求逆和乘法运算过程,使得其在软件运行上较慢,并且在硬件上也难以实现,因此不适用于对实时需求高的应用领域。
发明内容
本发明针对以上问题的提出,而研制一种基于GPU的丰度估计算法的并行实现方法。
本发明的技术手段如下:
一种基于GPU的丰度估计算法的并行实现方法,包括如下步骤:
步骤1、将高光谱混合像元数据H存储至GPU端,所述高光谱数据表示为H={B1,B2,,…Bi,…Bl,},其中Bi=(r1 l,r2 l,…rN l)T,N为像元数目,l为波段数目,r为高光谱数据中的高光谱影像中某个混合像元的光谱向量;
步骤2、自所述高光谱数据中的端元集M中获取每一个端元所对应的端元向量mi同时将第i个端元mi置于端元集M的最后位置,即端元集并基于CPU端的openMp机制,将所获取的端元向量mi逐一分配至CPU端的p个并行线程上;
步骤3、基于p个并行线程,对端元向量mi进行施密特正交化处理以获得端元向量mi其所对应的正交于向量空间[m1,m2,…,mi-1]的向量即
步骤4、获得端元集M所对应的正交基并计算对应的内积值即计算
步骤5、计算像元的光谱向量r在方向上的投影即计算以获取每个端元所对应的投影数据并存储至CPU端保存;
步骤6、计算各端元mp对应的丰度结果αp,并存储至GPU端。
进一步的,所述步骤1包括:
步骤11、依次读取高光谱混合像元数据H中第i个波段的所有像元并存储至GPU端,其中1<=i<=l;
步骤12、依次读取第i个端元mi的所有波段值并存储至GPU端,其中1<=i<=p。
进一步的,所述步骤3包括:
步骤31、令第一个端元m1的正交向量为端元向量即
步骤32、基于p个并行线程,依次对端元向量mi对进行施密特正交化处理以获得端元向量mi其所对应的正交于向量空间[m1,m2,…,mi-1]的向量即m~i,对应的计算公式为
步骤33、判断i是否等于p;是则执行步骤5;否则使得i←i+1,并执行步骤32。
进一步的,所述步骤6是指基于OVP算法计算各端元mp的丰度结果αp即基于下述公式计算,所述公式为:丰度结果αp对应的函数
与现有技术相比,本发明的有益效果:
为了实现对高光谱图像丰度估计的有效性,本发明提供一种能够在不影响准确性的前提下,高光谱图像丰度估计实时性的并行处理方法,具体的其根据其适用要求为并行度高、高光谱数据量大的特点,基于并行编程模式,从算法逻辑、线程映射模型、数据读取存储传输方式和正确性等方面进行了并行化设计,大大提高了实时丰度估计的运行效率。
附图说明
图1是本发明所述并行方法所对应的核心步骤示意图;
图2是本发明所述实验采用模拟图像数据;
图3是表示模拟图像在5个端元情况下第1个端元在CPU串行平台下对应的丰度情况的灰度图;
图4是表示在本发明所述并行方法下第1个端元对应的丰度情况的灰度图;
图5是表示模拟图像在5个端元情况下第3个端元在CPU串行平台下对应的丰度情况的灰度图;
图6是表示在本发明所述并行方法下第3个端元对应的丰度情况的灰度图;
图7是表示模拟图像在5个端元情况下第5个端元在CPU串行平台下对应的丰度情况的灰度图;
图8是表示在本发明所述并行方法下第5个端元对应的丰度情况的灰度图;
图9本发明所述实验采用真实图像数据;
图10是表示真实图像在5个端元情况下第1个端元在CPU串行平台下对应的丰度情况的灰度图;
图11是表示真实图像在5个端元情况下第1个端元本发明所述并行方法下对应的丰度情况的灰度图;
图12是表示真实图像在5个端元情况下第3个端元在CPU串行平台下对应的丰度情况的灰度图;
图13是表示真实图像在5个端元情况下第3个端元本发明所述并行方法下对应的丰度情况的灰度图;
图14是表示真实图像在5个端元情况下第5个端元在CPU串行平台下对应的丰度情况的灰度图;
图15是表示真实图像在5个端元情况下第5个端元在本发明所述并行方法下对应的丰度情况的灰度图;
图16是表示OVP并行设计在模拟图像上加速比随着端元个数的增加而变化的情况;
图17是表示OVP并行设计在真实图像上加速比随着端元个数的增加而变化的情况;
图18是表示并行OVP、LSE以及LSOSP在模拟图像上端元个数从3到20的比较情况;
图19是表示并行OVP、LSE以及LSOSP在真实图像上端元个数从3到20的比较情况。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示的一种基于GPU的丰度估计算法的并行实现方法,包括如下步骤:
步骤1、将高光谱混合像元数据H存储至GPU端即通过通信函数cudamemcpy将其拷贝到GPU显存中,所述高光谱数据表示为H={B1,B2,,…Bi,…Bl,},其中Bi=(r1 l,2 l,…rN l)T,N为像元数目,l为波段数目,r为高光谱数据中的高光谱影像中某个混合像元的光谱向量;
步骤2、因为施密特正交化(Gram-Schmidt)在处理每个端元互不干涉,为了求解第i个端元即mi,则需要进行下述:即自所述高光谱数据中的端元集M中获取每一个端元所对应的端元向量mi同时将第i个端元mi置于端元集M的最后位置,即端元集并基于CPU端的openMp机制(处理器上编写并行程序的应用编程接口),将所获取的端元向量mi逐一分配至CPU端的p个并行线程上;即使得端元mi分配到第i(1<=i<=p)个并行线程上;
步骤3、基于p个并行线程,对端元向量mi进行施密特正交化处理以获得端元向量mi其所对应的正交于向量空间[m1,m2,…,mi-1]的向量即m~i;
步骤4、从不同的端元开始,不同的端元顺序进行正交化获得端元集M空间上的一组正交基,它代表该向量正交于其它向量扩展空间的分量,则所述端元集M所对应的正交基并计算对应的内积值即计算具体GPU端建立GPU核函数1(Kernel)计算的内积值的步骤为:41、利用Cuda框架下的通信函数cudamemcpy建立GPU与CPU之间的联系,将CPU的数据即通过内存通信拷贝(利用cudaMalloc函数)至GPU显存中;42、利用CPU端的openMp机制给CPU分配p个线程,并行处理内积的结果,将得到的结果放入数组Q中;43、利用通信函数cudamemcpy建立GPU端与CPU端的联系,将计算结果数组Q通过GPU端返回到CPU端,在CPU段利用数组Q’(Q’=Q)保存。
步骤5、计算像元的光谱向量r在方向上的投影即计算以获取每个端元所对应的投影数据并存储至CPU端保存;GPU端建立GPU核函数2计算计算的步骤为:51、利用cudaMalloc函数将数据拷贝到GPU内存中;
52、分配线程数目,设定线程数为图像端元数p与图像大小N之积,即p×N个线程;53、在GPU端的使得每个线程分别计算一个像元r在方向上的投影,并将线程数目分为p组,及GPU端的第i组线程(1<=i<=p)计算的是所有像元在方向上的投影,将投影值存储为C数组的第i个位置,即C=[qi1,q1i2 … qiN];54、将计算结果通过GPU端返回到CPU端,此时结果集中存放着端元个数与图像大小之积个数据,同时在CPU端利用数组C’(C’=C)保存。
步骤6、计算各端元mp对应的丰度结果αp,并存储至GPU端。具体的GPU端建立GPU核函数3计算计算丰度值的步骤为:61、分配线程数目,设定线程数目为图像大小与端元个数之积个线程数目,即p×N;62、利用GPU端每个线程i(0<=i<p×N)计算Q数组和C数组行号和列号对应下标的值的乘积运算qm×cmn,m和n为二维数组的行号和列号;63、每N个线程的计算结果表示第mi(1<=i<=p)个端元的解混结果所对应的丰度fi,将fi进行存储在F数组的第i个位置;64、通过GPU端返回到CPU端,此时结果矩阵F’中存放着各个端元对应的丰度值。
其中,方法所涉及的数据包括:知高光谱混合像元数据表示为H={B1,B2,,…Bi,…Bl,},其中Bi=(r1 l,r2 l,…rN l)T,N为像元数目,l为波段数目。r为高光谱影像中某个混合像元的光谱向量;M为l×p的端元矩阵,p为端元个数,l为高光谱波段数;若端元集M=[m1,m2,…,mp-1,mp],则其中mi=[mi1,mi2,…mil]T,其对应的该空间上的一组正交基为其中利用F数组存储各端元的解混结果F=[f1,f2,…fi…fp],其中fi表示第i个端元的丰度估计值。
进一步的,所述步骤1包括:
步骤11、依次读取高光谱混合像元数据H中第i个波段的所有像元并存储至GPU端,其中1<=i<=l;
步骤12、依次读取第i个端元mi的所有波段值并存储至GPU端,其中1<=i<=p。
进一步的,所述步骤3包括:
步骤31、令第一个端元m1的正交向量为端元向量即
步骤32、基于p个并行线程,依次对端元向量mi对进行施密特正交化处理以获得端元向量mi其所对应的正交于向量空间[m1,m2,…,mi-1]的向量即对应的计算公式为
步骤33、判断i是否等于p;是则执行步骤5;否则使得i增加1即i←i+1,并执行步骤32。
进一步的,所述步骤6是指基于OVP算法计算各端元mp的丰度结果αp即基于下述公式计算,所述公式为:丰度结果αp对应的函数
下面以具体的实例进行进一步说明:所述实例主要是在模拟图像以及真实图像上进行验证:
实验平台及实验数据
相关的实验平台搭建:实验机器为ThinkPad T430,硬件配置处理器为Intel(R)Core(TM)i5-2520、4核CPU、主频2.50GHz、内存6GB;显卡信息为NVIDIA NVS 5400M,显卡内存为1664M;软件平台中操作***为Windows 10,开发环境Visual Studio 2013以及CUDA7.5。
相关的实验数据:本实验采用两组图像数据,其大小分别为350×350和400×400,各有189个波段;模拟图像如图2所示,真实图像如图9所示。
相关的实验条件设定:选择端元个数为依次为10、40和70时,测试OVP算法的CPU串行时间与CUDA+OpenMP并行时间的实验结果,具体如图3—图19,如下:
选择端元个数为依次为10、40和70时,测试OVP算法并行与LSE以及OSP并行时间的实验结果如下:
综上,为了实现对高光谱图像丰度估计的有效性,本发明提供一种能够在不影响准确性的前提下,高光谱图像丰度估计实时性的方法。本发明根据算法并行度高、高光谱数据量大的特点,依据并行思想,从算法逻辑、线程映射模型、数据读取存储传输方式和正确性等方面进行并行化设计,并用模拟高光谱数据以及真实高光谱数据进行了测试,可见在取得较好的丰度估计效果的同时,达到了较高加速比。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (4)
1.一种基于GPU的丰度估计算法的并行实现方法,包括如下步骤:
步骤1、将高光谱混合像元数据H存储至GPU端,所述高光谱数据表示为H={B1,B2,,…Bi,…Bl,},其中Bi=(r1 l,r2 l,…rN l)T,N为像元数目,l为波段数目,r为高光谱数据中的高光谱影像中某个混合像元的光谱向量;
步骤2、自所述高光谱数据中的端元集M中获取每一个端元所对应的端元向量mi同时将第i个端元mi置于端元集M的最后位置,即使得端元集并基于CPU端的openMp机制,将所获取的端元向量mi逐一分配至CPU端的p个并行线程上;
步骤3、基于p个并行线程,对端元向量mi进行施密特正交化处理以获得端元向量mi其所对应的正交于向量空间[m1,m2,...,mi-1]的向量即
步骤4、获得端元集M所对应的正交基并计算对应的内积值即计算
步骤5、计算像元的光谱向量r在方向上的投影即计算以获取每个端元所对应的投影数据并存储至CPU端保存;
步骤6、计算各端元mp对应的丰度结果αp,并存储至GPU端。
2.根据权利要求1所述的并行实现方法,其特征在于所述步骤1包括:
步骤11、依次读取高光谱混合像元数据H中第i个波段的所有像元并存储至GPU端,其中1<=i<=l;
步骤12、依次读取第i个端元mi的所有波段值并存储至GPU端,其中1<=i<=p。
3.根据权利要求1所述的并行实现方法,其特征在于所述步骤3中步骤如下:
步骤31、令第一个端元m1的正交向量为端元向量即
步骤32、基于p个并行线程,依次对端元向量mi对进行施密特正交化处理以获得端元向量mi其所对应的正交于向量空间[m1,m2,...,mi-1]的向量即对应的计算公式为
步骤33、判断i是否等于p;是则执行步骤5;否则使得i←i+1,并执行步骤32。
4.根据权利要求1所述的并行实现方法,其特征在于所述步骤6包括:
所述步骤6是指基于OVP算法计算各端元mp的丰度结果αp即基于下述公式计算,所述公式为:丰度结果αp对应的函数
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710898675.6A CN107644393B (zh) | 2017-09-28 | 2017-09-28 | 一种基于gpu的丰度估计算法的并行实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710898675.6A CN107644393B (zh) | 2017-09-28 | 2017-09-28 | 一种基于gpu的丰度估计算法的并行实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107644393A true CN107644393A (zh) | 2018-01-30 |
CN107644393B CN107644393B (zh) | 2020-03-06 |
Family
ID=61114098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710898675.6A Expired - Fee Related CN107644393B (zh) | 2017-09-28 | 2017-09-28 | 一种基于gpu的丰度估计算法的并行实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107644393B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108765382A (zh) * | 2018-05-15 | 2018-11-06 | 大连海事大学 | 基于gpu的丰度估计并行计算方法 |
CN108765259A (zh) * | 2018-05-15 | 2018-11-06 | 大连海事大学 | 一种基于gpu的高光谱图像ratgp和rosp并行优化方法 |
CN109727280A (zh) * | 2019-01-25 | 2019-05-07 | 哈尔滨理工大学 | 一种基于正交基的高光谱图像丰度估计方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030299A (zh) * | 2007-03-29 | 2007-09-05 | 复旦大学 | 一种基于数据空间正交基的遥感图像混合像元分解方法 |
CN103854263A (zh) * | 2014-03-27 | 2014-06-11 | 湖州师范学院 | 一种基于正交约束投影解混模型的消噪解混算法 |
CN104463224A (zh) * | 2014-12-24 | 2015-03-25 | 武汉大学 | 基于丰度显著性分析的高光谱图像解混方法及*** |
CN106788714A (zh) * | 2016-12-05 | 2017-05-31 | 重庆工商大学 | 一种基于光学计算的稀疏解混方法 |
-
2017
- 2017-09-28 CN CN201710898675.6A patent/CN107644393B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030299A (zh) * | 2007-03-29 | 2007-09-05 | 复旦大学 | 一种基于数据空间正交基的遥感图像混合像元分解方法 |
CN103854263A (zh) * | 2014-03-27 | 2014-06-11 | 湖州师范学院 | 一种基于正交约束投影解混模型的消噪解混算法 |
CN104463224A (zh) * | 2014-12-24 | 2015-03-25 | 武汉大学 | 基于丰度显著性分析的高光谱图像解混方法及*** |
CN106788714A (zh) * | 2016-12-05 | 2017-05-31 | 重庆工商大学 | 一种基于光学计算的稀疏解混方法 |
Non-Patent Citations (8)
Title |
---|
CHEIN-I CHANG: "Recursive Geometric Simplex Growing Analysis for Finding Endmembers in Hyperspectral Imagery", 《IEEE JOURNAL OF SELECTED TOPICS IN APPLIED EARTH OBSERVATIONS AND REMOTE SENSING》 * |
MEIPING SONG: "Gram-Schmidt orthogonal vector projection for hyperspectral unmixing", 《2014 IEEE GEOSCIENCE AND REMOTE SENSING SYMPOSIUM》 * |
MEIPING SONG: "Real-time orthogonal vector projection algorithm based on GPU", 《2016 PROGRESS IN ELECTROMAGNETIC RESEARCH SYMPOSIUM》 * |
叶舜: "基于GPU的高光谱图像混合像元分解并行优化研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
宋梅萍 等: "基于有效端元集的双线性解混模型", 《光谱学与光谱分析》 * |
宋梅萍 等: "用于光谱解混的正交向量投影算法", 《光谱学与光谱分析》 * |
王茂芝: "高光谱遥感影像处理与地质应用若干关键问题研究", 《中国博士学位论文全文数据库 基础科学辑》 * |
肖霄: "基于正交投影理论的端元提取算法", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108765382A (zh) * | 2018-05-15 | 2018-11-06 | 大连海事大学 | 基于gpu的丰度估计并行计算方法 |
CN108765259A (zh) * | 2018-05-15 | 2018-11-06 | 大连海事大学 | 一种基于gpu的高光谱图像ratgp和rosp并行优化方法 |
CN108765382B (zh) * | 2018-05-15 | 2022-06-24 | 大连海事大学 | 基于gpu的丰度估计并行计算方法 |
CN109727280A (zh) * | 2019-01-25 | 2019-05-07 | 哈尔滨理工大学 | 一种基于正交基的高光谱图像丰度估计方法 |
CN109727280B (zh) * | 2019-01-25 | 2023-03-24 | 黑龙江科技大学 | 一种基于正交基的高光谱图像丰度估计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107644393B (zh) | 2020-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107525588B (zh) | 一种基于gpu的双相机光谱成像***的快速重构方法 | |
CN110889343B (zh) | 基于注意力型深度神经网络的人群密度估计方法及装置 | |
CN105046276B (zh) | 基于低秩表示的高光谱图像波段选择方法 | |
Rahaman et al. | An efficient multilevel thresholding based satellite image segmentation approach using a new adaptive cuckoo search algorithm | |
CN110490937B (zh) | 一种加速高光谱视频重建的方法及其装置 | |
CN107316309B (zh) | 基于矩阵分解的高光谱图像显著性目标检测方法 | |
CN107644393A (zh) | 一种基于gpu的丰度估计算法的并行实现方法 | |
CN110148103A (zh) | 基于联合优化的高光谱和多光谱图像融合方法、计算机可读存储介质、电子设备 | |
He et al. | DsTer: A dense spectral transformer for remote sensing spectral super-resolution | |
CN111680579B (zh) | 一种自适应权重多视角度量学习的遥感图像分类方法 | |
CN112712034B (zh) | 一种高光谱图像的解混方法及*** | |
CN109300115B (zh) | 一种面向对象的多光谱高分辨率遥感影像变化检测方法 | |
Hu et al. | A noising-denoising framework for point cloud upsampling via normalizing flows | |
CN116563096B (zh) | 用于图像配准的形变场的确定方法、装置以及电子设备 | |
Ljubičić et al. | SSIMS-Flow: Image velocimetry workbench for open-channel flow rate estimation | |
CN117422619A (zh) | 图像重建模型的训练方法、图像重建方法、装置及设备 | |
Liu et al. | Fine-grained MRI reconstruction using attentive selection generative adversarial networks | |
CN115638731B (zh) | 一种基于超分辨率的振动台试验计算机视觉位移测量方法 | |
CN107977967B (zh) | 一种面向视角合成的无参考图像质量评价方法 | |
CN111126508A (zh) | 一种基于hopc改进的异源图像匹配方法 | |
CN113033644B (zh) | 一种基于凸包特征自适应的旋转密集目标检测方法 | |
CN105160664B (zh) | 基于低秩模型的压缩感知视频重构方法 | |
CN109840544B (zh) | 一种高光谱图像多端元光谱混合分析方法及装置 | |
CN111652906B (zh) | 卫星视频地面动态目标旋转的自适应追踪方法、装置和设备 | |
Zhu et al. | An occlusion compensation learning framework for improving the rendering quality of light field |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200306 Termination date: 20210928 |
|
CF01 | Termination of patent right due to non-payment of annual fee |