CN104268856A - 基于图形处理器的端元提取纯像元指数方法 - Google Patents
基于图形处理器的端元提取纯像元指数方法 Download PDFInfo
- Publication number
- CN104268856A CN104268856A CN201410469329.2A CN201410469329A CN104268856A CN 104268856 A CN104268856 A CN 104268856A CN 201410469329 A CN201410469329 A CN 201410469329A CN 104268856 A CN104268856 A CN 104268856A
- Authority
- CN
- China
- Prior art keywords
- data
- value
- matrix
- projection
- vector
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/58—Extraction of image or video features relating to hyperspectral data
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于图形处理器的端元提取纯像元指数方法,克服了现有技术中随着高光谱图像精度的增加,纯像元指数PPI算法计算复杂度高、对时间的消耗不断增大,不能满足空载实时处理的要求的缺点。实现步骤为:(1)输入数据;(2)生成随机向量;(3)极值投影;(4)确定端元。本发明具有能能够实时提取高光谱图像立方数据中的端元信息,为后续数据处理提供了可靠保障,显著提高了算法的运行效率,降低了运行时间,并达到高光谱场景图空载实时处理的要求,取得良好性能,并且复杂度有所提高。
Description
技术领域
本发明属于图像处理技术领域,更进一步涉及高光谱成像遥感技术领域中的一种基于图形处理器的端元提取纯像元指数方法。本发明可用于精度更高的高光谱图像的光谱解混。
背景技术
高光谱成像是遥感领域的一门新兴技术,通过对地表上同一区域中被测物的不同波长辐射响应而生成具有上百个波段的观测图像。一个高光谱数据立方体通常有上千兆的数据量,高光谱图像光谱分辨率高、图谱合一的特点使其在民用和军用领域发挥着越来越大的作用。
但是在高光谱立方体图像数据的分析中,最主要的问题是混合像元的存在。尤其当传感器的空间分辨率不够高,在光谱上不能清晰的区分物质时,这一问题尤为突出。产生这一问题的主要原因是高光谱图像有限的空间分辨率。除此之外高光谱图像中所拍摄物质本身为混合物,其光谱难以被区分也是造成这一问题的重要原因。这导致在高光谱场景中的单一像元所表示的被测物并非某一种特定光谱的纯物质,而是由具有不同光谱特性的纯物质的组合。为了更精准的描述被测物质,产生了光谱解混算法。通过光谱解混可将像元解混成不同的纯物质的组合。目前很多具有广泛应用的光谱解混算法都基于不同端元之间的相互作用是线性的这一假设。在这一假设下,混合像元能够被表示为不同端元之间的线性组合,系数为丰度值的集合[3-5]。在这种背景下,光谱解混可以采用遥感探测应用中的关键技术——亚像元分析法进行分析处理。近年来,为了解决高光谱场景中端元提取的问题,许多基于不同概念的端元提取算法应运而生。纯像元指数PPI凭借其在可视化感图像处理软件ENVI中的使用和实用性已被业界广泛采用。尽管该算法也被用做其他端元提取算法的预处理部分,但该算法的思想是具有指导作用的。解决纯像元指数PPI算法高度计算复杂度,产生了许多并行实现方法。但是这些并行实现方法所依赖的硬件平台均难以应用于在野火跟踪、生物威胁检测、石油泄漏和化学污染领域中取得良好效果的空载处理中。考虑到这个原因,纯像元指数PPI算法的实现的研究开始转向可编程逻辑FPGA和图形处理器GPUs等重量较轻的硬件加速器平台中。于是提出了一种改进的基于图形处理器GPU的纯像元指数PPI方法,该方法采用的是统一计算设备架构CUDA,速度与目前其他基于图形处理器GPU的纯像元指数PPI算法实现方法相比有显著提高。同时通过多图形处理器GPU并行,实现了高光谱图像的实时纯像元指数PPI处理。
西北工业大学申请的专利“一种基于优化搜索策略的高光谱图像端元提取方法”(公开号:CN101853506B,申请号2010101854769,申请日:2010年5月27日)中公开了一种基于优化搜索策略的高光谱图像端元提取方法。该方法基于特征空间单形体最大体积转换思想,结合优化搜索策略,在特征空间中通过逐步增大单形体体积,顺序提取端元。本方法先用虚拟维度法估算一副高光谱遥感图像的实际地物数,然后用主成分分析法对图像进行降维处理,在任选的初始端元集中,逐步在每个备选单元的对应搜索区域进行单形体体积增大转换,最终输出所有端元。实验证明,给算法能降低运算量,节省运算时间,且能获得稳定精确地端元提取结果。解决目前基于单形体最大体积转换思想的高光谱遥感图像自动端元提取方法运算量过于庞大、时间复杂度高和最终端元集输出不稳定,易受初始端元集的影响的缺陷。但是,该方法仍然存在的不足是,其一,顺序提取端元在庞大的随机投影向量数据端元提取中速度极慢;其二,不能实时提取高光谱图像立方数据中的端元信息,以为后续数据处理提供可靠保障,尤其为在实际空载遥感任务中不能够实时处理高光谱数据提供必要的灵活性和良好的性能;其三,原始高光谱遥感图像需要进行降维处理,增加更多的附加时间。
华中科技大学申请的专利“一种高光谱图像端元个数自动估计的端元提取方法”(公开号:CN103617424A,申请号2013106018343,申请日:2013年11月25日)中公开了一种高光谱图像端元个数自动估计的端元提取方法。该方法首先使用纯像元指数PPI算法计算高光谱图像中所有像元的纯像元指数PPI值,根据像元的纯像元指数PPI值确定初始候选端元集,并对初始候选端元按纯像元指数PPI值由大到小进行排序;然后依次剔除初始候选端元集中独立性最弱的候选端元,同时获得随端元个数递减的候选端元集的重构精度曲线和端元独立性曲线,通过寻找这两条曲线变化的显著性位置确定端元个数的取值范围;最后利用系统全局区SGA算法获取不同端元个数下的二次选择候选端元集,根据这些候选端元集所构成的重构精度曲线,确定最终的端元个数,同时获得最终的端元提取结果。本发明不需要事先给定端元的个数,有利于端元提取的自动化处理,同时提取的端元准确性高。但是,该方法仍然存在的不足是,其一,采用的纯像元指数PPI算法是其中一种应用较为广泛的算法。该算法将像元投影到由随机向量生成的大量随机空间集合中,找到具有最大投影值的像元作为端元。尽管该算法已被广泛应用在光谱解混领域,但随着高光谱图像精度的增加,该算法对时间的消耗不断增大,已不能满足空载实时处理的要求;其二,纯像元指数PPI算法计算复杂度很高;其三,最终端元集输出不稳定,易受初始端元集的影响。
发明内容
本发明的目的在于针对克服上述现有技术的不足,提供一种基于图形处理器的端元提取纯像元指数方法。该方法采用的是统一计算设备架构CUDA,速度与目前其他基于图形处理器GPU的纯像元指数PPI方法相比有显著提高。
本发明的思路是,首先对输入高光谱图像数据,然后将高光谱图像数据生成随机向量,通过矩阵乘法实现随机向量极值投影过程,最后采用归约法高效地寻找投影矩阵中的最大值与最小值,确定该矩阵中最大值的索引位置,最后确定端元。
实现本发明目的的具体步骤如下:
(1)输入数据:
将待处理的高光谱图像立方体数据集合,从内存复制到显存,得到高光谱图像立方体数据;
(2)生成随机向量:
(2a)由k个n维随机单位向量组成随机向量集合,其中,随机单位向量个数k的取值范围为1×104~9×104,随机单位向量维数n的数值等于高光谱图像的光谱频带的数目;
(2b)采用统一计算设备架构CUDA在图形处理器GPU中直接生成模拟随机向量所需的所有随机数,组成模拟随机向量,存储到全局内存中;
(3)极值投影:
(3a)将高光谱图像立体数据从显存复制到全局内存中;
(3b)将全局内存中的高光谱图像立体数据重构为n×p维的矩阵A,其中,n表示高光谱图像的光谱频带数目,p表示高光谱图像的像元数目;
(3c)将全局内存中的模拟随机向量组成k×n维的矩阵B,其中,k表示模拟随机向量的个数,k的取值范围为1×104~9×104,n表示模拟随机向量的维数,n的数值等于高光谱图像的光谱频带的数目;
(3d)将矩阵B与矩阵A相乘,得到随机投影矩阵C;
(3e)对随机投影矩阵C中的最大值和最小值采样,获得采样向量,组成随机投影矩阵的极值集合,得到由最大投影值组成的极值投影矩阵D,将极值投影矩阵D存储在全局内存中;
(4)确定端元:
(4a)将极值投影矩阵D从全局内存中加载到共享内存中;
(4b)将极值投影矩阵D的索引从全局内存中加载到相应的共享内存中;
(4c)采用归约法,对极值投影矩阵D中的数据进行并行比较,分别寻找最大投影值组成的极值投影矩阵D中的最大值与最小值、最大值与最小值的索引位置,
(4d)由最大投影值与最小投影值确定端元。
与现有技术相比,本发明具有以下优点:
第一,本发明采用并行比较的方法,确定端元,克服了现有技术中串行比较大量数据所耗时间过长的缺点,使得本发明能够实现多个线程同时进行像元向量投影的相关运算,从而提高了整个极值投影过程的速度,能够实时提取高光谱图像立方数据中的端元信息,为后续数据处理提供了可靠保障,尤其为在实际空载遥感任务中实时处理高光谱数据提供了必要的灵活性和良好的性能。
第二,本发明采用统一计算设备架构CUDA在图形处理器GPU中直接生成模拟随机向量所需的所有随机,生成随机向量,克服了现有技术中庞大的随机投影向量数据在中央处理器CPU与图形处理器GPU之间传输需要花费大量时间的缺点,使得本发明能够提高生成随机数的速度,实现实时处理,显著提高了算法的运行效率,降低了运行时间,并达到高光谱场景图空载实时处理的要求,取得良好性能。
第三,本发明提出的共享内存的访问方法确定端元,克服了现有技术中图形处理器GPU上全局内存的访问通常要耗费几百系统时钟的缺点,使得本发明快速访问共享内存,进而能够快速应用于实时处理真实高光谱场景图。
第四,本发明提出采用矩阵相乘,实现极值投影,克服了对庞大的像元向量进行点乘实现投影所耗时间过长的缺点,使得本发明减少了投影所需要的时间,进而提高投影效率,减小复杂度。
附图说明
图1是本发明的流程图。
具体实施方式
下面结合附图对本发明作进一步的描述。
参照附图1,本发明的步骤如下。
步骤1,输入数据。
将待处理的高光谱图像立方体数据集合,从内存复制到显存,得到高光谱图像立方体数据。
步骤2,生成随机向量。
由k个n维随机单位向量组成随机向量集合,其中,随机单位向量个数k的取值范围为1×104~9×104,随机单位向量维数n的数值等于高光谱图像的光谱频带的数目。
采用统一计算设备架构CUDA在图形处理器GPU中直接生成模拟随机向量所需的所有随机数,将得到的随机数存储在初始的随机向量中,得到模拟随机向量,存储在全局内存中。
步骤3,极值投影。
将高光谱图像立体数据从显存复制到全局内存中。
将全局内存中的高光谱图像立体数据重构为n×p维的矩阵A,其中,n表示高光谱图像的光谱频带数目,p表示高光谱图像的像元数目。
将全局内存中的模拟随机向量组成k×n维的矩阵B,其中,k表示模拟随机向量的个数,k的取值范围为1×104~9×104,n表示模拟随机向量的维数,n的数值等于高光谱图像的光谱频带的数目。
将矩阵B与矩阵A相乘,得到随机投影矩阵C。
在高光谱数据组成的原始n维空间中,其中,n表示波段的数量,将存储在k×n矩阵B中的模拟随机向量与存储在矩阵A中的所有高光谱图像数据两个矩阵相乘得到矩阵C,使得高光谱图像数据投影在模拟随机向量上,采用并行处理实现模拟随机向量投影过程,完成像元投影,得到随机投影矩阵C。
矩阵相乘是指,计算两个矩阵A、B的乘积C矩阵,在多线程块中进行如下划分,每个线程块计算C矩阵的一个子矩阵Csub,线程块中的每个线程计算Csub中若干元素。Csub是A的子矩阵Asub与B的子矩阵Bsub的乘积,其中Asub与Csub有相同的行数,Bsub与Csub有相同的列数,这里的Asub、Bsub并不需要一定是方阵。
极值投影过程中的并行处理实现的核心在于图形处理器GPU中的统一计算设备架构CUDA内核,统一计算设备架构CUDA内核中的每个线程处理一个像元向量的投影。
对随机投影矩阵C中的最大值和最小值采样,获得采样向量,组成随机投影矩阵的极值集合,得到由最大投影值组成的极值投影矩阵D,将极值投影矩阵D存储在全局内存中。
步骤4,确定端元。
将极值投影矩阵D从全局内存中加载到共享内存中。
将极值投影矩阵D的索引从全局内存中加载到相应的共享内存中。
采用归约法,对极值投影矩阵D中的数据进行并行比较,分别寻找最大投影值组成的极值投影矩阵D中的最大值与最小值、最大值与最小值的索引位置。
由最大投影值与最小投影值确定端元。
确定端元过程中采用的归约法是指,将待比较的数据从中间位置分为两组,得到长度相同的两组数据A和B;比较两组数据A和B对应位置上的数据,当获取最大值时,将所分的两组数据对应位置上的数据中较大者及其索引位置存储到全局内存中,得到长度减半由较大值构成的数据G;当获取最小值时,将所分的两组数据对应位置上的数据中较小者及其索引位置存储到全局内存中,得到长度减半由较小值构成的数据G,将长度减半的数据G继续从中间位置分为两组,得到长度相同的两组数据C和D,比较两组数据C和D对应位置上的数据,直到找到待比较的数据中的最大值、最小值,将所找到的最大值、最小值作为端元。
这里采用了一个内核函数来寻找极值索引,在对数据进行比较时采用的是并行比较。并行比较是指,每个统一计算设备架构CUDA块默认启用256个线程,每次归约方法只能找到最多256个数据中的极限值索引,对512个像元做归约,将这些数据从全局内存加载到共享内存,采用归约法做一次比较;对每次投影产生的614*512个样本数据,其中614*512表示实验中采用的高光谱数据集合的空间维度,每次只能比较512个像元值,每次投影产生的614*512个样本数据需要进行614次比较,对于每次迭代找到的极值索引,再做一次比较以寻找最终的极值索引。
下面通过端元提取纯像元指数的测试速度、计算复杂度的测试结果,对本发明的效果做进一步描述。
本发明测试中使用的随机向量的数目k=15360。
测试结果1为不使用共享内存下Fermi GTX 590与基于中央处理器CPU、软件ENVI相比的速度提升,获得的测试结果,其结果如表1所示:
表1.不使用共享内存下的测试结果
基于CPU | 基于ENVI | |
Fermi GTX 590(倍) | 601.35 | 187.64 |
在图形架构Fermi架构中,图形处理器GPU由一组多处理器MP组成,每个多处理器MP都有32核和两级L1/L2高速缓存。每个多处理器MP中都有L1缓存,所有多处理器MP共享L2缓存。高速缓存L1和L2均用于缓存对本地或全局内存包括寄存器临时泄漏的访问。每一次访问时通过编译加载或者存储指令配置缓存。高速缓存L1和共享内存中也采用同样的片上内存,将其配置为共48KB的共享内存和16KB的L1缓存或16KB的共享内存和48KB的L1缓存。
由于图形架构Fermi结构中可以使用L1/L2高速缓存,使得一次投影只需要占用一个图形处理器GPU线程并直接访问全局内存读取数据。这使通过单图形处理器GPU线程和直接访问全局内存计算每次随机向量投影变得更快。
由表1可见,在图形架构Fermi GTX 590中采用这种并行方法,速度相比基于中央处理器CPU实现提高了601.31倍,速度相比在ENVI中提高了187.64倍。
测试结果2为使用共享内存下图形架构Tesla C1060、图形架构Fermi GTX590与基于中央处理器CPU、软件ENVI相比的速度提升,获得的测试结果,其结果如表2所示:
表2.使用共享内存下的测试结果
基于CPU | 基于ENVI | |
Tesla C1060(倍) | 1204.94 | 376.01 |
Fermi GTX 590(倍) | 2465.07 | 769.25 |
使用的共享内存阵列越多,需要的全局内存阵列越少。提出的共享内容访问方式,在图形架构Tesla C1060上实现的纯像元指数PPI执行时间减少到2.866s,这一结果已经达到实时处理的要求。
由表2可知,图形架构Tesla C1060上实现与基于中央处理器CPU串行的实现方法相比,速度提高了1204.94倍,图形架构Tesla C1060上实现与基于ENVI软件的实现方法相比,速度提高了376.01倍。当在图形架构Fermi GTX590上运行时,速度比中央处理器CPU串行实现提高了2465.07倍,图形架构Fermi GTX590上实现与基于ENVI软件的实现方法相比,速度提高了769.25倍。
测试结果3为每个内核占用执行时间的百分比,获得的测试结果,其结果如表3所示:
表3.占用执行时间百分比的测试结果
为了更深入的解释说明,在表3中展示了每个内核占用执行时间的百分比。在图形架构TeslaC1060基础上,内核CuRand占用执行时间的百分比是1.81%,内核CuBLAS占用执行时间的百分比是80.24%,内核Index finding占用执行时间的百分比是16.56%,内核Host to Device占用执行时间的百分比是1.37%,内核Device to Host占用执行时间的百分比是0.01%,在图形架构Fermi GTS590基础上,内核CuRand占用执行时间的百分比是0.84%,内核CuBLAS占用执行时间的百分比是70.38%,内核Index finding占用执行时间的百分比是27.28%,内核Host to Device占用执行时间的百分比是1.47%,内核Device to Host占用执行时间的百分比是0.02%,数据传输包含从中央处理器CPU到图形处理器GPU和从图形处理器GPU到中央处理器CPU两部分。
如表3所示,纯像元指数PPI内核花费的时间占据了图形处理器GPU总体运行时间的绝大部分,该过程包括初始化和索引查寻,而内核cuRand占据了时间则少很多。数据移动操作占用的时间并不显著,这表明图形处理器GPU将大部分时间用于处理“耗时”的操作,比如随机向量投影的计算、最大最小投影值的确定以及端元的确定。
测试结果4为计算复杂度分析,分析结果如下:
纯像元指数PPI算法中最耗时的部分是极值投影过程。在这部分中,我们主要关注的是计算复杂度分析。假设一个像元点做一次投影的计算复杂度为O(K),其中K是波段数目。则整个图像做一次投影的计算复杂度为O(MNK),其中M,N分别是高光谱图像的宽度和高度。如果用S表示随机向量的数目,则S次投影的计算复杂度为O(SMNK)。对于本文提出的图形处理器GPU实现方案,极值索引查寻算法应用于S次投影之后,其计算复杂度为O(SMN)。则整个纯像元指数PPI算法的计算复杂度为O(SMNK)。
根据上述分析可知,纯像元指数PPI算法的计算复杂度取决于三个要素:像元数目,波段数目和随机向量的数目。故采用相同大小数据集合时,运行时间差异不大。
纯像元指数PPI的计算复杂度与像元数目、波段数目和随机向量数目成正比。每个随机向量投影过程是一样的,即每个随机向量投影是相互独立的。因此在中央处理器CPU上实现实时处理时,需要将整个随机向量集合划分成若干簇,通过并行计算技术使每簇随机向量在一个中央处理器CPU核上运行。这样需要上百个中央处理器CPU内核才能实现该功能。而通过本发明提出的图形处理器GPU实现方案,仅需要一块或几块图形处理器GPU卡就能够实现实时处理。与中央处理器CPU实现相比,本发明提出的基于图形处理器GPU的实现具有更多优势。
提出了在图形处理器GPU上实现了高光谱图像的端元提取的并行方法,首次实现了纯像元指数PPI的实时处理。型号为NVidia GTX590图形处理器GPU采用全局内存访问方式引入具有L1/L2级缓存的图形架构Fermi结构,将速度提高了601.3倍。通过采用共享内存进一步优化时,图形架构Tesla C1060速度提高至1204.94倍,而图形架构Fermi GTX590更是提高至2465.07倍。其中,采用图形架构Fermi GTX590是ENVI软件速度的769.25倍。这些结论具有重大意义,为纯像元指数PPI算法能够应用于实时处理真实高光谱场景图提供了可能,图形处理器GPU带来了硬件加速器改进技术的希望,为其参与空载遥感探测任务提供了可能。
Claims (5)
1.一种基于图形处理器的端元提取纯像元指数方法,包括如下步骤:
(1)输入数据:
将待处理的高光谱图像立方体数据集合,从内存复制到显存,得到高光谱图像立方体数据;
(2)生成随机向量:
(2a)由k个n维随机单位向量组成随机向量集合,其中,随机单位向量个数k的取值范围为1×104~9×104,随机单位向量维数n的数值等于高光谱图像的光谱频带的数目;
(2b)采用统一计算设备架构CUDA在图形处理器GPU中直接生成模拟随机向量所需的所有随机数,组成模拟随机向量,存储到全局内存中;
(3)极值投影:
(3a)将高光谱图像立体数据从显存复制到全局内存中;
(3b)将全局内存中的高光谱图像立体数据重构为n×p维的矩阵A,其中,n表示高光谱图像的光谱频带数目,p表示高光谱图像的像元数目;
(3c)将全局内存中的模拟随机向量组成k×n维的矩阵B,其中,k表示模拟随机向量的个数,k的取值范围为1×104~9×104,n表示模拟随机向量的维数,n的数值等于高光谱图像的光谱频带的数目;
(3d)将矩阵B与矩阵A相乘,得到随机投影矩阵C;
(3e)对随机投影矩阵C中的最大值和最小值采样,获得采样向量,组成随机投影矩阵的极值集合,得到由最大投影值组成的极值投影矩阵D,将极值投影矩阵D存储在全局内存中;
(4)确定端元:
(4a)将极值投影矩阵D从全局内存中加载到共享内存中;
(4b)将极值投影矩阵D的索引从全局内存中加载到相应的共享内存中;
(4c)采用归约法,对极值投影矩阵D中的数据进行并行比较,分别寻找最大投影值组成的极值投影矩阵D中的最大值与最小值、最大值与最小值的索引位置;
(4d)由最大投影值与最小投影值确定端元。
2.根据权利要求1所述的基于图形处理器的端元提取纯像元指数方法,其特征在于:步骤(3b)中所述的重构的步骤如下:
第一步,按照宽优先的原则,将以长宽高三维分布的高光谱图像立体数据,保持长度不变,沿着高度方向依次连接起来,组成一个向量;
第二步,将以长宽高三维分布的高光谱图像立体数据,沿着长度方向,按照宽优先的原则,沿着高度方向依次连接起来,组成多组向量,由生成的多组向量组成二维的高光谱图像数据。
3.根据权利要求1所述的基于图形处理器的端元提取纯像元指数方法,其特征在于:步骤(3d)中所述的矩阵乘法的计算方法为,在多线程块中进行如下划分,每个线程块计算C矩阵的一个子矩阵Csub,线程块中的每个线程计算Csub中若干元素,Csub是A的子矩阵Asub与B的子矩阵Bsub的乘积,得到矩阵A、B的乘积C矩阵,其中,子矩阵Asub与子矩阵Csub有相同的行数,子矩阵Bsub与子矩阵Csub有相同的列数。
4.根据权利要求1所述的基于图形处理器的端元提取纯像元指数方法,其特征在于:步骤(4c)中所述的归约法是指,将待比较的数据从中间位置分为两组,得到长度相同的两组数据A和B;比较两组数据A和B对应位置上的数据,当获取最大值时,将所分的两组数据对应位置上的数据中较大者及其索引位置存储到全局内存中,得到长度减半由较大值构成的数据G;当获取最小值时,将所分的两组数据对应位置上的数据中较小者及其索引位置存储到全局内存中,得到长度减半由较小值构成的数据G,将长度减半的数据G继续从中间位置分为两组,得到长度相同的两组数据C和D,比较两组数据C和D对应位置上的数据,直到找到待比较的数据中的最大值、最小值,将所找到的最大值、最小值作为端元。
5.根据权利要求1所述的基于图形处理器的端元提取纯像元指数方法,其特征在于:步骤(4c)中所述的并行比较是指,每个统一计算设备架构CUDA块默认启用256个线程,每次归约方法只能找到最多256个数据中的极限值索引,对512个像元做归约,将这些数据从全局内存加载到共享内存,采用归约法做一次比较;对每次投影产生的614*512个样本数据,其中614*512表示实验中采用的高光谱数据集合的空间维度,每次只能比较512个像元值,每次投影产生的614*512个样本数据需要进行614次比较,对于每次迭代找到的极值索引,再做一次比较以寻找最终的极值索引。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410469329.2A CN104268856A (zh) | 2014-09-15 | 2014-09-15 | 基于图形处理器的端元提取纯像元指数方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410469329.2A CN104268856A (zh) | 2014-09-15 | 2014-09-15 | 基于图形处理器的端元提取纯像元指数方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104268856A true CN104268856A (zh) | 2015-01-07 |
Family
ID=52160375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410469329.2A Pending CN104268856A (zh) | 2014-09-15 | 2014-09-15 | 基于图形处理器的端元提取纯像元指数方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104268856A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109784142A (zh) * | 2018-11-27 | 2019-05-21 | 北京理工大学 | 一种基于条件随机投影的高光谱目标检测方法 |
CN110766655A (zh) * | 2019-09-19 | 2020-02-07 | 北京航空航天大学 | 一种基于丰度的高光谱图像显著性分析方法 |
CN111609931A (zh) * | 2020-05-17 | 2020-09-01 | 北京安洲科技有限公司 | 一种参数可编程的实时高光谱采集系统和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050180634A1 (en) * | 2002-04-05 | 2005-08-18 | Commonwealth Scientific And Industrial Research Organisation | Method of identifying endmember spectral values from hyperspectral image data |
US20090144350A1 (en) * | 2007-09-28 | 2009-06-04 | Chein-I Chang | Maximum simplex volume criterion-based endmember extraction algorithms |
CN101866424A (zh) * | 2010-05-20 | 2010-10-20 | 复旦大学 | 基于独立分量分析的高光谱遥感图像混合像元分解方法 |
CN103617424A (zh) * | 2013-11-25 | 2014-03-05 | 华中科技大学 | 一种高光谱图像端元个数自动估计的端元提取方法 |
-
2014
- 2014-09-15 CN CN201410469329.2A patent/CN104268856A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050180634A1 (en) * | 2002-04-05 | 2005-08-18 | Commonwealth Scientific And Industrial Research Organisation | Method of identifying endmember spectral values from hyperspectral image data |
US20090144350A1 (en) * | 2007-09-28 | 2009-06-04 | Chein-I Chang | Maximum simplex volume criterion-based endmember extraction algorithms |
CN101866424A (zh) * | 2010-05-20 | 2010-10-20 | 复旦大学 | 基于独立分量分析的高光谱遥感图像混合像元分解方法 |
CN103617424A (zh) * | 2013-11-25 | 2014-03-05 | 华中科技大学 | 一种高光谱图像端元个数自动估计的端元提取方法 |
Non-Patent Citations (2)
Title |
---|
XIANYUN WU ET AL: "Real-Time Implementation of the Pixel Purity Index Algorithm for Endmember Identification on GPUs", 《IEEE GEOSCIENCE AND REMOTE SENSING LETTERS》 * |
郭杰 等: "高光谱图像纯像元指数计算的FPGA实现", 《华南理工大学学报(自然科学版)》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109784142A (zh) * | 2018-11-27 | 2019-05-21 | 北京理工大学 | 一种基于条件随机投影的高光谱目标检测方法 |
CN109784142B (zh) * | 2018-11-27 | 2020-12-04 | 北京理工大学 | 一种基于条件随机投影的高光谱目标检测方法 |
CN110766655A (zh) * | 2019-09-19 | 2020-02-07 | 北京航空航天大学 | 一种基于丰度的高光谱图像显著性分析方法 |
CN111609931A (zh) * | 2020-05-17 | 2020-09-01 | 北京安洲科技有限公司 | 一种参数可编程的实时高光谱采集系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhou et al. | Rethinking bottleneck structure for efficient mobile network design | |
Chao et al. | Hardnet: A low memory traffic network | |
US11010516B2 (en) | Deep learning based identification of difficult to test nodes | |
CN110110851A (zh) | 一种lstm神经网络的fpga加速器及其加速方法 | |
CN107657599B (zh) | 基于混合粒度划分和动态负载分配的遥感图像融合系统并行实现方法 | |
Yavits et al. | Sparse matrix multiplication on an associative processor | |
CN104182571B (zh) | 基于Delaunay和GPU的Kriging插值方法 | |
Wu et al. | Sparse non-negative matrix factorization on GPUs for hyperspectral unmixing | |
EP3678037A1 (en) | Neural network generator | |
Lastra et al. | Simulation of shallow-water systems using graphics processing units | |
Henneböhl et al. | Spatial interpolation in massively parallel computing environments | |
Liu et al. | Parallel processing of massive remote sensing images in a GPU architecture | |
Zhou et al. | A streaming framework for seamless building reconstruction from large-scale aerial lidar data | |
CN104268856A (zh) | 基于图形处理器的端元提取纯像元指数方法 | |
Guo et al. | DF-SSD: a deep convolutional neural network-based embedded lightweight object detection framework for remote sensing imagery | |
Li et al. | A Novel Memory‐Scheduling Strategy for Large Convolutional Neural Network on Memory‐Limited Devices | |
Jing et al. | geoCount: An R package for the analysis of geostatistical count data | |
Jiang et al. | A unified and very fast way for computing the global potential and linear force-free fields | |
Xie et al. | GPU-based fast scale invariant interest point detector | |
DE102020130081A1 (de) | Erweiterte prozessorfunktionen für berechnungen | |
Poli et al. | Voice command recognition with dynamic time warping (dtw) using graphics processing units (gpu) with compute unified device architecture (cuda) | |
Yang et al. | Design of airborne target tracking accelerator based on KCF | |
Arshad et al. | A hybrid convolution transformer for hyperspectral image classification | |
DE102022130862A1 (de) | Niederleistungs-inferenz-engine-pipeline in einer grafikverarbeitungseinheit | |
Hassani et al. | Analysis of sparse matrix-vector multiplication using iterative method in CUDA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150107 |
|
WD01 | Invention patent application deemed withdrawn after publication |