CN109948462A - 基于多gpu协同交互数据流组织的高光谱图像快速分类法 - Google Patents

基于多gpu协同交互数据流组织的高光谱图像快速分类法 Download PDF

Info

Publication number
CN109948462A
CN109948462A CN201910147758.0A CN201910147758A CN109948462A CN 109948462 A CN109948462 A CN 109948462A CN 201910147758 A CN201910147758 A CN 201910147758A CN 109948462 A CN109948462 A CN 109948462A
Authority
CN
China
Prior art keywords
gpu
kernel
kernel function
calls
spectrum image
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
Application number
CN201910147758.0A
Other languages
English (en)
Other versions
CN109948462B (zh
Inventor
吴泽彬
石林林
常皓洋
张惟轩
韦志辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN201910147758.0A priority Critical patent/CN109948462B/zh
Publication of CN109948462A publication Critical patent/CN109948462A/zh
Application granted granted Critical
Publication of CN109948462B publication Critical patent/CN109948462B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A40/00Adaptation technologies in agriculture, forestry, livestock or agroalimentary production
    • Y02A40/10Adaptation technologies in agriculture, forestry, livestock or agroalimentary production in agriculture

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于多GPU协同交互数据流组织的高光谱图像快速分类法,包括如下步骤:读取高光谱图像训练数据与测试数据,将这些数据绑定为页锁定内存;通过基于多GPU流同步的稀疏多项式逻辑回归快速计算法计算最大似然概率矩阵,提取出高光谱图像的光谱信息;使用基于多GPU变量划分的加权马尔科夫场空间先验快速计算法提取高光谱图像空间信息,并计算边际概率矩阵;根据求得的边际概率矩阵求得测试数据的预测标签,得到最终分类结果。本发明既利用了高光谱图像光谱信息,又利用了空间信息,提高了分类精度。

Description

基于多GPU协同交互数据流组织的高光谱图像快速分类法
技术领域
本发明属于遥感图像处理领域,具体涉及一种基于多GPU协同交互数据流组织的高光谱图像快速分类法。
背景技术
高光谱遥感图像有着光谱分辨率高,波段数多,图谱合一的特点,它既包含了整个地物的空间信息,又包含了每个像元的光谱信息,是人们认识和改造世界的强力技术支持。高光谱图像分类是一种描述地物种类的分析方法,具体而言就是为了区分图像中所包含多种地物,根据图像中所蕴含的各类信息,对每个像元根据其特征确定其所对应的地物名称。最初,研究人员仅利用像元的光谱特征来进行高光谱图像分类,而没有能充分利用高光谱图像中蕴含的空间信息。最近的研究表明空间信息的有效利用能够显著提高分类的效果。然而随着技术的不断发展,高光谱遥感图像的空间和光谱分辨率逐渐提高,数据维数和数据量也随之增大,这就导致了高光谱图像分类算法的计算复杂度不断提高。尽管目前已经有不少研究人员提出了分类精度还不错的高光谱图像分类算法,但是在CPU上串行执行这些分类方法的速度较慢,难以满足快速分类的要求。
为了解决这个问题,研究人员开始尝试着将高性能计算引入到高光谱图像处理领域。其中基于CUDA的通用计算技术,充分利用了GPU处理核心多、存储器带宽高和计算能力强的特点,使用CUDA架构对高光谱图像处理算法进行并行优化计算,能够有效提高算法的处理效率。另外,GPU硬件质量轻、体积小、花费少,与其他高性能计算技术相比有着较为巨大的优势,这为高光谱图像的实时处理提供了契机。然而,单个GPU的计算能力还比较有限,基于单GPU的并行算法在大批量数据处理以及实时处理效率方面仍然有所欠缺。
发明内容
本发明的目的在于提供一种基于多GPU协同交互数据流组织的高光谱图像快速分类法,解决现有高光谱图像分类算法分类精度较低、分类效率不高的问题。
实现本发明目的的技术方案为:一种基于多GPU协同交互数据流组织的高光谱图像快速分类法,包括以下步骤:
步骤1,读取高光谱图像训练数据与测试数据,将这些数据绑定为页锁定内存;
步骤2,通过基于多GPU流同步的稀疏多项式逻辑回归快速计算法计算最大似然概率矩阵,提取出高光谱图像的光谱信息;
步骤3,使用基于多GPU变量划分的加权马尔科夫场空间先验快速计算法提取高光谱图像空间信息,并计算边际概率矩阵;
步骤4,根据边际概率矩阵求得测试数据的预测标签,得到最终分类结果。
本发明与现有技术相比,其显著优点在于:1)本发明方法既利用了高光谱图像光谱信息,有利用了空间信息,提高了分类精度;2)本发明基于CUDA架构,在CPU+多GPU平台完成了算法设计实现,实现了快速分类;3)本发明对整个分类算法各部分的数据流进行了多GPU协同交互组织,充分利用了多块GPU的显存资源。
附图说明
图1是该分类方法的多GPU协同交互数据流组织图。
图2是基于多GPU流同步的稀疏多项式逻辑回归快速计算法的流程图。
图3是基于多GPU协同交互数据流组织的高光谱图像快速分类法的流程图。
具体实施方式
结合图1、图2、图3,本发明的一种基于多GPU协同交互数据流组织的高光谱图像快速分类法,包括以下步骤:
步骤1,读取高光谱图像训练数据与测试数据,将这些数据绑定为页锁定内存。
步骤2,通过基于多GPU流同步的稀疏多项式逻辑回归快速计算法计算最大似然概率矩阵,充分提取出高光谱图像的光谱信息;具体为:采用基于流同步的多GPU并行方法来对稀疏性多项式逻辑回归模型进行求解;通过使用具有页锁定内存的多GPU流同步并行计算结构,控制多个GPU同时处理位于页锁定内存中的数据。
所述的基于多GPU流同步的稀疏多项式逻辑回归快速计算法的具体流程为:
输入:训练样本A∈RL×J,训练样本标记Y=(y1,…,yJ)∈R1×J,测试样本X∈RL×N,L为波段数,J为训练样本数,N为测试样本数;
初始化:设置更新变量α>0,更新变量β>0,更新变量λ>0,当前迭代次数t初始化为0,最大迭代次数T,类别标记图Y∈RK×Jh(x)为RBF核函数,K是图像包含的类别总数;
步骤2.1:两个GPU分别调用核函数ymax_kernel进行块内线程规约,并将各自结果传回CPU,在CPU中求出Y中的最大值m,并完成矩阵U的计算,1=[1,1,...,1]T。调用cusolverDnDsyevd函数对U进行特征值分解;
步骤2.2:由GPU0调用核函数cumatMult_temp1_kernel计算得到Rx和temp1,temp1=Rx+αI,然后调用核函数cumatMult_temp2_kernel求解得
步骤2.3:由GPU0调用cuSolver库函数求解w的初值ω0并对Rx进行特征值分解,ω0=temp1\temp2;
步骤2.4:由GPU0调用核函数cumatMult_Stemp_kernel计算temp3=1·diag(Dr).Du,Dr为对Rx进行特征值分解后特征值所构成的对角矩阵,Du为对U进行特征值分解后特征值所构成的对角矩阵,diag(Dr)表示取Dr的主对角元素。然后每个GPU分别调用核函数s_kernel求解得s,s=1./(temp3-β1·1T);
步骤2.5:首先由GPU0调用核函数cumatMult_aux1_kernel计算exp表示取指数,然后每个GPU分别调用b_kernel求解出aux2=1+sum(aux1,1);
步骤2.6:由GPU0调用核函数cumatMult_Ztemp_kernel和cublasDgemm函数来完成对的计算,其中p=aux1./(1·aux2),v为迭代过程中间变量,初始化为ω0,b为布雷格曼矢量,初始化为0;
步骤2.7:由GPU0调用cublasDgemm完成矩阵乘法,每个GPU调用w_kernel函数完成点乘计算;
步骤2.8:每个GPU调用Soft_kernel函数完成对ωt+1,vt+1和bt+1的并行更新计算,ωt+1=Ur·ωt·UuT,Ur为对Rx进行特征值分解后特征向量的集合,Uu为对U进行特征值分解后特征向量的集合,vt+1=soft(ωt+1-bt,λ/β),bt+1=bt-(ωt+1-vt+1),
步骤2.9:更新β=1.05*β,每个GPU调用s_kernel函数来完成对s的并行计算;
重复步骤2.5-步骤2.9,如果t>T,则循环结束,否则t=t+1;
步骤2.10:每个GPU分别调用p_addCols_kernel函数求得pSMLR
w(k)表示w的第k列,
输出:测试样本X的最大似然概率矩阵pSMLR
步骤3,使用基于多GPU变量划分的加权马尔科夫场空间先验快速计算法提取高光谱图像空间信息,并计算边际概率矩阵;具体为:采用基于变量划分的多GPU并行方法计算加权马尔科夫场空间先验模型;将矩阵列和向量定义成页锁定内存,以参数划分的形式将其余中间变量设置到各个GPU中。
所述的基于多GPU变量划分的加权马尔科夫场空间先验快速计算法的具体流程为:
步骤3.1:在两个GPU中分别初始化更新参数Vi[d]0,乘子Di[d]0,i=1,…,5,其中d指GPU设备号;
步骤3.2:GPU0调用IL_kernel函数并行计算IL=(HTH+I)-1,H是与全差变正则化操作等价的卷积算子;GPU1调用UIFY_kernel函数并行计算U=IF×pSMLR,其中IF=1/4;
步骤3.3:将IL拷贝到GPU1,将U拷贝到GPU0;
步骤3.4:各个GPU分别调用q_kernel函数求得q[d]t+1然后调用函数fiexq_kernel将训练样本中的元素拷贝到矩阵q[d]的相应位置;
步骤3.5:各个GPU分别调用nu_aux3_sum_kernel函数求得s[d]和S_sum,s[d]=q[d]t+1-D3[d]t,S_sum为对各个GPU上的s[d]合并求取列和;
步骤3.6:各个GPU分别调用VS_V3_kernel函数完成V2[d]t+1=max(q[d]t+1-D2[d]t)、b=(1-S_sum)/K,V3[d]t+1=s[d]+1·b的计算,μ为马尔科夫参数;
步骤3.7:各个GPU调用V4_kernel和cuFFT库求得V4[d]t+1=(HTH+I)-1(q[d]t+1-D4[d]t+HT(V5[d]t+D5[d]t));
步骤3.8:各个GPU分别调用Soft_D_kernel函数计算出V5[d]t+1=soft(D5[d]t-HV4[d]t+1,λ/μ)并更新乘子,λ为正则化参数;
重复步骤3.4-步骤3.8,如果t>T,则循环结束,否则t=t+1;
步骤3.9:将GPU0中q[0]拷贝到CPU中相应的位置q中;
步骤3.10:将GPU1中的q[1]拷贝到CPU中相应的位置q中;
输出:测试样本集的边际概率矩阵q。
步骤4,根据步骤3求得的边际概率矩阵求得测试数据的预测标签,得到最终分类结果。
该步在CPU上完成计算,从多个GPU中将边际概率矩阵分别拷贝到CPU相应位置,在CPU上求得最终的分类结果。
边际概率矩阵q=[q1,...qi,...,qN]∈RK×N,qi=[qi1,…,qiK]T∈RK×1,则像元xi的最终所属类别的判别公式为:
本发明针对高光谱图像分类算法并行化程度不高,处理效率低的问题,提出了多GPU并行高光谱图像快速分类法,不仅有效利用了多块GPU的并行处理能力,还通过协同交互的数据流组织充分利用了多块GPU的显存。同时该方法充分利用了高光谱遥感图像的空间信息和光谱信息,最终实现了快速准确地分类。

Claims (4)

1.一种基于多GPU协同交互数据流组织的高光谱图像快速分类法,其特征在于,包括以下步骤:
步骤1,读取高光谱图像训练数据与测试数据,将这些数据绑定为页锁定内存;
步骤2,通过基于多GPU流同步的稀疏多项式逻辑回归快速计算法计算最大似然概率矩阵,提取出高光谱图像的光谱信息;
步骤3,使用基于多GPU变量划分的加权马尔科夫场空间先验快速计算法提取高光谱图像空间信息,并计算边际概率矩阵;
步骤4,根据边际概率矩阵求得测试数据的预测标签,得到最终分类结果。
2.根据权利要求1所述的基于多GPU协同交互数据流组织的高光谱图像快速分类法,其特征在于,步骤2具体为:
输入:训练样本A∈RL×J,训练样本标记Y=(y1,…,yJ)∈R1×J,测试样本X∈RL×N,L为波段数,J为训练样本数,N为测试样本数;
初始化:设置更新变量α>0,更新变量β>0,更新变量λ>0,当前迭代次数t初始化为0,最大迭代次数T,类别标记图Y∈RK×Jh(x)为RBF核函数,K是图像包含的类别总数;
步骤2.1,两个GPU分别调用核函数ymax_kernel进行块内线程规约,并将各自结果传回CPU,在CPU中求出Y中的最大值m,并完成矩阵U的计算,1=[1,1,...,1]T;调用cusolverDnDsyevd函数对U进行特征值分解;
步骤2.2,由GPU0调用核函数cumatMult_temp1_kernel计算得到Rx和temp1,temp1=Rx+αI,然后调用核函数cumatMult_temp2_kernel求解得
步骤2.3,由GPU0调用cuSolver库函数求解w的初值ω0并对Rx进行特征值分解,ω0=temp1\temp2;
步骤2.4,由GPU0调用核函数cumatMult_Stemp_kernel计算temp3=1·diag(Dr).Du,Dr为对Rx进行特征值分解后特征值所构成的对角矩阵,Du为对U进行特征值分解后特征值所构成的对角矩阵,diag(Dr)表示取Dr的主对角元素;然后每个GPU分别调用核函数s_kernel求解得s,s=1./(temp3-β1·1T);
步骤2.5,首先由GPU0调用核函数cumatMult_aux1_kernel计算exp表示取指数,然后每个GPU分别调用b_kernel求解出aux2=1+sum(aux1,1);
步骤2.6,由GPU0调用核函数cumatMult_Ztemp_kernel和cublasDgemm函数来完成对的计算,其中p=aux1./(1·aux2),v为迭代过程中间变量,初始化为ω0,b为布雷格曼矢量,初始化为0;
步骤2.7,由GPU0调用cublasDgemm完成矩阵乘法,每个GPU调用w_kernel函数完成点乘计算;
步骤2.8,每个GPU调用Soft_kernel函数完成对ωt+1,vt+1和bt+1的并行更新计算,ωt+1=Ur·ωt·UuT,Ur为对Rx进行特征值分解后特征向量的集合,Uu为对U进行特征值分解后特征向量的集合,vt+1=soft(ωt+1-bt,λ/β),bt+1=bt-(ωt+1-vt+1),
步骤2.9,更新β=1.05*β,每个GPU调用s_kernel函数来完成对s的并行计算;
重复步骤2.5-步骤2.9,如果t>T,则循环结束,否则t=t+1;
步骤2.10,每个GPU分别调用p_addCols_kernel函数求得pSMLR
i∈[1,N],k∈[1,K],w(k)表示w的第k列,
输出:测试样本X的最大似然概率矩阵pSMLR
3.根据权利要求2所述的基于多GPU协同交互数据流组织的高光谱图像快速分类法,其特征在于,步骤3具体为:
步骤3.1,在两个GPU中分别初始化更新参数Vi[d]0,乘子Di[d]0,i=1,…,5,其中d指GPU设备号;
步骤3.2,GPU0调用IL_kernel函数并行计算IL=(HTH+I)-1,H是与全差变正则化操作等价的卷积算子;GPU1调用UIFY_kernel函数并行计算U=IF×pSMLR,其中IF=1/4;
步骤3.3,将IL拷贝到GPU1,将U拷贝到GPU0;
步骤3.4,各个GPU分别调用q_kernel函数求得q[d]t+1然后调用函数fiexq_kernel将训练样本中的元素拷贝到矩阵q[d]的相应位置;
步骤3.5,各个GPU分别调用nu_aux3_sum_kernel函数求得s[d]和S_sum,s[d]=q[d]t+1-D3[d]t,S_sum为对各个GPU上的s[d]合并求取列和;
步骤3.6,各个GPU分别调用VS_V3_kernel函数完成V2[d]t+1=max(q[d]t+1-D2[d]t)、b=(1-S_sum)/K,V3[d]t+1=s[d]+1·b的计算,μ为马尔科夫参数;
步骤3.7,各个GPU调用V4_kernel和cuFFT库求得V4[d]t+1=(HTH+I)-1(q[d]t+1-D4[d]t+HT(V5[d]t+D5[d]t));
步骤3.8,各个GPU分别调用Soft_D_kernel函数计算出V5[d]t+1=soft(D5[d]t-HV4[d]t+1,λ/μ)并更新乘子,λ为正则化参数;
重复步骤3.4-步骤3.8,如果t>T,则循环结束,否则t=t+1;
步骤3.9,将GPU0中q[0]拷贝到CPU中相应的位置q中;
步骤3.10,将GPU1中的q[1]拷贝到CPU中相应的位置q中;
输出:测试样本集的边际概率矩阵q。
4.根据权利要求3所述的基于多GPU协同交互数据流组织的高光谱图像快速分类法,步骤4具体为:从多个GPU中将边际概率矩阵分别拷贝到CPU相应位置,在CPU上求得最终的分类结果;
边际概率矩阵q=[q1,...qi,...,qN]∈RK×N,qi=[qi1,…,qiK]T∈RK×1,则像元xi的最终所属类别的判别公式为:
CN201910147758.0A 2019-02-27 2019-02-27 基于多gpu协同交互数据流组织的高光谱图像快速分类法 Active CN109948462B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910147758.0A CN109948462B (zh) 2019-02-27 2019-02-27 基于多gpu协同交互数据流组织的高光谱图像快速分类法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910147758.0A CN109948462B (zh) 2019-02-27 2019-02-27 基于多gpu协同交互数据流组织的高光谱图像快速分类法

Publications (2)

Publication Number Publication Date
CN109948462A true CN109948462A (zh) 2019-06-28
CN109948462B CN109948462B (zh) 2023-11-03

Family

ID=67007090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910147758.0A Active CN109948462B (zh) 2019-02-27 2019-02-27 基于多gpu协同交互数据流组织的高光谱图像快速分类法

Country Status (1)

Country Link
CN (1) CN109948462B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110929627A (zh) * 2019-11-18 2020-03-27 北京大学 基于宽模型稀疏数据集的高效gpu训练模型的图像识别方法
CN112801853A (zh) * 2021-02-09 2021-05-14 中国人民解放军国防科技大学 基于napc的高光谱图像特征提取的并行加速方法
CN113034343A (zh) * 2021-05-28 2021-06-25 南京理工大学 参数自适应的高光谱图像分类gpu并行方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107092921A (zh) * 2017-03-10 2017-08-25 佛山市南海区广工大数控装备协同创新研究院 基于k最近邻滤波的高光谱图像分类方法
CN108985301A (zh) * 2018-07-04 2018-12-11 南京师范大学 一种多特征类子字典学习的高光谱图像分类方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107092921A (zh) * 2017-03-10 2017-08-25 佛山市南海区广工大数控装备协同创新研究院 基于k最近邻滤波的高光谱图像分类方法
CN108985301A (zh) * 2018-07-04 2018-12-11 南京师范大学 一种多特征类子字典学习的高光谱图像分类方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110929627A (zh) * 2019-11-18 2020-03-27 北京大学 基于宽模型稀疏数据集的高效gpu训练模型的图像识别方法
CN110929627B (zh) * 2019-11-18 2021-12-28 北京大学 基于宽模型稀疏数据集的高效gpu训练模型的图像识别方法
CN112801853A (zh) * 2021-02-09 2021-05-14 中国人民解放军国防科技大学 基于napc的高光谱图像特征提取的并行加速方法
CN112801853B (zh) * 2021-02-09 2022-04-15 中国人民解放军国防科技大学 基于napc的高光谱图像特征提取的并行加速方法
CN113034343A (zh) * 2021-05-28 2021-06-25 南京理工大学 参数自适应的高光谱图像分类gpu并行方法
CN113034343B (zh) * 2021-05-28 2021-09-03 南京理工大学 参数自适应的高光谱图像分类gpu并行方法

Also Published As

Publication number Publication date
CN109948462B (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
Zheng et al. Low-rank tensor completion via smooth matrix factorization
Salvador et al. Naive bayes super-resolution forest
Ji et al. A non-convex tensor rank approximation for tensor completion
Erichson et al. Randomized low-rank dynamic mode decomposition for motion detection
Setzer et al. Infimal convolution regularizations with discrete ℓ1-type functionals
Fu et al. Simple hardware-efficient long convolutions for sequence modeling
CN109948462A (zh) 基于多gpu协同交互数据流组织的高光谱图像快速分类法
Qi et al. TenSR: Multi-dimensional tensor sparse representation
Garea et al. Caffe CNN-based classification of hyperspectral images on GPU
Feng et al. Robust block tensor principal component analysis
Li et al. Low-rank tensor completion via combined non-local self-similarity and low-rank regularization
CN108388863A (zh) 一种高光谱遥感图像混合像元分解方法
CN110163333B (zh) 卷积神经网络的并行优化方法
CN108765282B (zh) 基于fpga的实时超分辨方法及系统
CN108510013A (zh) 基于低秩核心矩阵的改进稳健张量主成分分析方法
Zhang et al. A separation–aggregation network for image denoising
Song et al. Deep memory-augmented proximal unrolling network for compressive sensing
Huang et al. A deep dictionary model for image super-resolution
Gabor et al. Compressing convolutional neural networks with hierarchical Tucker-2 decomposition
Wang et al. Image super-resolution using non-local Gaussian process regression
Shao et al. Iviu-net: Implicit variable iterative unrolling network for hyperspectral sparse unmixing
Moustafa et al. Acceleration of super-resolution for multispectral images using self-example learning and sparse representation
Liu et al. GJTD-LR: A trainable grouped joint tensor dictionary with low-rank prior for single hyperspectral image super-resolution
Tan et al. Total variation regularized multi-matrices weighted Schatten p-norm minimization for image denoising
Liu et al. Fine-grained MRI reconstruction using attentive selection generative adversarial networks

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