CN107644393B - 一种基于gpu的丰度估计算法的并行实现方法 - Google Patents
一种基于gpu的丰度估计算法的并行实现方法 Download PDFInfo
- Publication number
- CN107644393B CN107644393B CN201710898675.6A CN201710898675A CN107644393B CN 107644393 B CN107644393 B CN 107644393B CN 201710898675 A CN201710898675 A CN 201710898675A CN 107644393 B CN107644393 B CN 107644393B
- Authority
- CN
- China
- Prior art keywords
- vector
- end member
- gpu
- abundance
- data
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
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个并行线程上;
步骤6、计算各端元mp对应的丰度结果αp,并存储至GPU端。
进一步的,所述步骤1包括:
步骤11、依次读取高光谱混合像元数据H中第i个波段的所有像元并存储至GPU端,其中1<=i<=l;
步骤12、依次读取第i个端元mi的所有波段值并存储至GPU端,其中1<=i<=p。
进一步的,所述步骤3包括:
步骤33、判断i是否等于p;是则执行步骤5;否则使得i←i+1,并执行步骤32。
与现有技术相比,本发明的有益效果:
为了实现对高光谱图像丰度估计的有效性,本发明提供一种能够在不影响准确性的前提下,高光谱图像丰度估计实时性的并行处理方法,具体的其根据其适用要求为并行度高、高光谱数据量大的特点,基于并行编程模式,从算法逻辑、线程映射模型、数据读取存储传输方式和正确性等方面进行了并行化设计,大大提高了实时丰度估计的运行效率。
附图说明
图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包括:
步骤33、判断i是否等于p;是则执行步骤5;否则使得i增加1即i←i+1,并执行步骤32。
下面以具体的实例进行进一步说明:所述实例主要是在模拟图像以及真实图像上进行验证:
实验平台及实验数据
相关的实验平台搭建:实验机器为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 (2)
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中步骤如下:
步骤33、判断i是否等于p;是则执行步骤4;否则使得i←i+1,并执行步骤32;
步骤6、计算各端元mp对应的丰度结果αp,并存储至GPU端;
2.根据权利要求1所述的并行实现方法,其特征在于所述步骤1包括:
步骤11、依次读取高光谱混合像元数据H中第i个波段的所有像元并存储至GPU端,其中1<=i<=l;
步骤12、依次读取第i个端元mi的所有波段值并存储至GPU端,其中1<=i<=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 CN107644393A (zh) | 2018-01-30 |
CN107644393B true 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) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108765259B (zh) * | 2018-05-15 | 2021-01-15 | 大连海事大学 | 一种基于gpu的高光谱图像ratgp和rosp并行优化方法 |
CN108765382B (zh) * | 2018-05-15 | 2022-06-24 | 大连海事大学 | 基于gpu的丰度估计并行计算方法 |
CN109727280B (zh) * | 2019-01-25 | 2023-03-24 | 黑龙江科技大学 | 一种基于正交基的高光谱图像丰度估计方法 |
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 |
---|
Gram-Schmidt orthogonal vector projection for hyperspectral unmixing;Meiping Song;《2014 IEEE Geoscience and Remote Sensing Symposium》;20141106;第2934-2937页 * |
Real-time orthogonal vector projection algorithm based on GPU;Meiping Song;《2016 Progress in Electromagnetic Research Symposium》;20161110;第4326-4329页 * |
Recursive Geometric Simplex Growing Analysis for Finding Endmembers in Hyperspectral Imagery;Chein-I Chang;《IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing》;20160728;第296-308页 * |
基于GPU的高光谱图像混合像元分解并行优化研究;叶舜;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140715(第7期);第I140-491页 * |
基于有效端元集的双线性解混模型;宋梅萍 等;《光谱学与光谱分析》;20140131;第34卷(第1期);第196-200页 * |
基于正交投影理论的端元提取算法;肖霄;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160715(第7期);第I140-341页 * |
用于光谱解混的正交向量投影算法;宋梅萍 等;《光谱学与光谱分析》;20151231;第35卷(第12期);第3465-3470页 * |
高光谱遥感影像处理与地质应用若干关键问题研究;王茂芝;《中国博士学位论文全文数据库 基础科学辑》;20150415(第4期);第A011-43页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107644393A (zh) | 2018-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yuan et al. | Factorization-based texture segmentation | |
CN107525588B (zh) | 一种基于gpu的双相机光谱成像***的快速重构方法 | |
CN104008538B (zh) | 基于单张图像超分辨率方法 | |
US9530073B2 (en) | Efficient descriptor extraction over multiple levels of an image scale space | |
CN109522902B (zh) | 空-时特征表示的提取 | |
CN111860398B (zh) | 遥感图像目标检测方法、***及终端设备 | |
CN107644393B (zh) | 一种基于gpu的丰度估计算法的并行实现方法 | |
CN109583509B (zh) | 数据生成方法、装置及电子设备 | |
CN104318243B (zh) | 基于稀疏表示和空谱拉普拉斯图的高光谱数据降维方法 | |
CN111274999B (zh) | 数据处理、图像处理方法、装置及电子设备 | |
CN107590811B (zh) | 基于场景分割的风景图像处理方法、装置及计算设备 | |
Quan et al. | Deep generative matching network for optical and SAR image registration | |
CN110148103A (zh) | 基于联合优化的高光谱和多光谱图像融合方法、计算机可读存储介质、电子设备 | |
CN109242796A (zh) | 文字图像处理方法、装置、电子设备和计算机存储介质 | |
CN111179270A (zh) | 基于注意力机制的图像共分割方法和装置 | |
CN116052025A (zh) | 一种基于孪生网络的无人机视频图像小目标跟踪方法 | |
CN108520532B (zh) | 识别视频中物体运动方向的方法及装置 | |
CN108805811B (zh) | 一种基于非凸二次规划的自然图像智能拼图方法及*** | |
CN117037244A (zh) | 人脸安全检测方法、装置、计算机设备和存储介质 | |
US9594955B2 (en) | Modified wallis filter for improving the local contrast of GIS related images | |
CN106570911B (zh) | 一种基于daisy描述子的脸部卡通画合成方法 | |
CN113902744B (zh) | 基于轻量级网络的图像检测方法、***、设备和存储介质 | |
CN107622498B (zh) | 基于场景分割的图像穿越处理方法、装置及计算设备 | |
CN109785305B (zh) | 一种端元可变的高光谱图像光谱混合分析方法及装置 | |
JP7106144B2 (ja) | 画像解析装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200306 Termination date: 20210928 |