一种基于gpu加速的dem超分辨率方法_2

文档序号:9275155阅读:来源:国知局
ffiM学习数据中存在n个区域块与低分辨率EffiM重建数据的区 域块的相似权重大于给定的阈值T时,得到的高分辨率的DEM区域块的第i个像素值
.y/ 为这n个区域块对应的高分辨率DEM学习数据的区域 块的第i个像素值。
[0038] (4)将步骤(3)得到的高分辨率的DEM区域块按照与低分辨率DEM重建数据的区 域块相同的方式拼接起来,区域块的重叠部分取均值,得到重建后的高分辨率DEM数据。
[0039] 随着技术的发展,GPU的应用范围越来越广,其强大的并行计算能力解决了日益增 长的数据量的计算问题。针对基于学习算法运算量大、待重建块之间相互独立的特点,非常 适合用GPU进行并行加速。
[0040] 统一计算设备架构(Compute Unified Device Architecture,CUDA)是英伟达 (NVIDIA)推出的一种运算平台,它采用易掌握的C语言来进行开发,开发人员既无需为了 而另外学习新的编程语言,又可以从CPU的编写模式平稳过渡到GPU的编写模式。
[0041] 图2展示了 CUDA的编程模型,该模型分为两部分,一部分为主机端(Host),一部分 为设备端(Device)。主机端由CPU执行,主要负责串行计算以及逻辑运算,设备端由GPU执 行,主要负责高度并行化的数据处理。kernel (内核函数)是针对并行运算的函数,它是完 整程序的一部分,只负责并行处理,一个完整的CUDA程序包括Host的串行运算以及Device 的并行运算功能组成,依次执行对应程序中的语句顺序。
[0042] 为了满足CUDA可以在核心数量不同的硬件上的运行,CUDA本身就有一定的线程 结构。kernel最根本的是以线程(thread)构成的,若干数量的线程可以构成一个线程块 (Block),若干个线程块则可以构成一个线程网格(Grid),而线程网格则是kernel的组织 形式。各block之间是同时运行切互不干扰的,并且block之间是无任何通信机制存在的, 这样的编程模型保证了 GPU无论对于单个线程块或是多个线程块都可以很好的编程。
[0043] 优选地,上述步骤(3)由GPU实现,如图3所示,GPU按照如下步骤实现上述步骤 (3):
[0044] (S1)为DEM数据分配内存,将高分辨率DEM学习数据、低分辨率DEM学习数据和低 分辨率DEM重建数据读入CPU,初始化CUDA编程环境。
[0045] (S2)为GPU开辟显存地址空间用于内核函数的输入和输出,将高分辨率DEM学习 数据、低分辨率DEM学习数据和低分辨率DEM重建数据由CPU传送到GPU。
[0046] (S3)根据区域块的大小、区域块间的步长分配线程结构,编写GPU端并行执行的 内核函数,内核函数完成低分辨率DEM重建数据的每个区域块的重建工作并将结果输出。
[0047] (S4)将GPU端的输出结果传回到内存。
[0048] (S5)释放整个GPU端开辟的所有显存地址空间,退出CUDA。
[0049] 下面通过实例来证明GPU加速后效率的提升。所采用的CPU型号是Intel (R) Core (TM) i3-21003. 10GHz,GPU 型号是 NVIDIA GeForce GTX 660Ti,操作系统是 32 位 Windows 7系统。表1和表2为选择不同区域块大小时,CPU和GPU的重建时间对比表。 其中,表1采用的低分辨率DEM重建数据的大小为500X500,高分辨率DEM学习数据及低 分辨率DEM学习数据的大小均为1500X750 ;表2采用的低分辨率DEM重建数据的大小为 500 X 500,高分辨率DEM学习数据及低分辨率DEM学习数据的大小均为500 X 500。
[0050] 从表中可以看出,无论学习数据大或小,CUDA的运行速度均远远高于CPU,提速 效果非常明显,选择的区域块越小,提速比也越高,充分体现了 GPU高密度简单计算的优越 性。最后,在实际中,我们也验证了 CUDA重建结果与C++是完全一致的,并且结果好于插值 方法。
[0051] 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以 限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含 在本发明的保护范围之内。
【主权项】
1. 一种DEM超分辨率方法,其特征在于,包括如下步骤: (1)利用插值方法将低分辨率DEM学习数据扩充K倍,使其与高分辨率DEM学习数据 达到同一尺度,此时,低分辨率DEM学习数据与高分辨率DEM学习数据上的点一一对应;同 时,将待重建的DEM数据通过相同的插值方法扩充K倍,得到低分辨率DEM重建数据; (2 )分别将高分辨率DEM学习数据、低分辨率DEM学习数据和低分辨率DEM重建数据分 为一系列大小为NXN的相互重叠的区域块; (3 )对低分辨率DEM重建数据的每一个区域块,在低分辨率DEM学习数据中进行相似块 查找,计算与低分辨率DEM学习数据的区域块的相似权重,将相似权重与给定的阈值T进行 比较,若低分辨率DEM学习数据中存在n个区域块与低分辨率DEM重建数据的区域块的相 似权重大于给定的阈值T,则根据这n个区域块对应的高分辨率DEM学习数据的区域块对低 分辨率DEM重建数据的区域块进行重建,得到高分辨率的DEM区域块;若低分辨率DEM学习 数据中不存在与低分辨率DEM重建数据的区域块的相似权重大于给定的阈值T的区域块, 则直接将低分辨率DEM学习数据的区域块作为高分辨率的DEM区域块; (4)将步骤(3)得到的高分辨率的DEM区域块按照与低分辨率DEM重建数据的区域块 相同的方式拼接起来,区域块的重叠部分取均值,得到重建后的高分辨率DEM数据。2. 如权利要求1所述的DEM超分辨率方法,其特征在于,所述步骤(3)由GPU实现。3. 如权利要求2所述的DEM超分辨率方法,其特征在于,GPU按照如下步骤实现所述步 骤(3): (51) 为DEM数据分配内存,将高分辨率DEM学习数据、低分辨率DEM学习数据和低分辨 率DEM重建数据读入CPU,初始化CUDA编程环境; (52) 为GPU开辟显存地址空间用于内核函数的输入和输出,将高分辨率DEM学习数据、 低分辨率DEM学习数据和低分辨率DEM重建数据由CPU传送到GPU; (53) 根据区域块的大小、区域块间的步长分配线程结构,编写GPU端并行执行的内核 函数,内核函数完成低分辨率DEM重建数据的每个区域块的重建工作并将结果输出; (S4 )将GPU端的输出结果传回到内存; (S5)释放整个GPU端开辟的所有显存地址空间,退出CUDA。4. 如权利要求1至3中任一项所述的DEM超分辨率方法,其特征在于,所述步骤(3) 中,低分辨率DEM重建数据的区域块与低分辨率DEM学习数据的第j个区域块的相似权重,其中,h为衰减参数,为低分辨率DEM重建 数据的区域块与低分辨率DEM学习数据的第j个区域块的平均欧氏距离,yt(i)为低分辨率DEM重建数据的区域块的第i个像素值,允(〇为低分辨率DEM学习数据的第j个区域块的 第i个像素值,f为低分辨率DEM重建数据的区域块的平均像素值,允为低分辨率DEM学 习数据的第j个区域块的平均像素值。5. 如权利要求1至3中任一项所述的DEM超分辨率方法,其特征在于,所述步 骤(3)中,低分辨率DEM学习数据中存在n个区域块与低分辨率DEM重建数据的区域 块的相似权重大于给定的阈值T时,得到的高分辨率的EffiM区域块的第i个像素值,其中,为低分辨率DEM重建数据的区域块与低分辨率DEM 学习数据的第j个区域块的相似权重,<(0为这n个区域块对应的高分辨率DEM学习数据 的区域块的第i个像素值,&为低分辨率DEM学习数据的第j个区域块的平均像素值,f 为低分辨率DEM重建数据的区域块的平均像素值。6. 如权利要求1至3中任一项所述的DEM超分辨率方法,其特征在于,所述插值方法为 最近邻域插值、双线性插值或双三次插值。7. 如权利要求1至3中任一项所述的DEM超分辨率方法,其特征在于,所述步骤(2)中, 区域块间的步长为(N-1) /2。
【专利摘要】本发明公开了一种基于GPU加速的DEM超分辨率方法。包括:(1)利用插值方法将低分辨率DEM学习数据扩充K倍,使其与高分辨率DEM学习数据达到同一尺度;同时将待重建的DEM数据通过相同的插值方法扩充K倍,得到低分辨率DEM重建数据;(2)分别将高分辨率DEM学习数据、低分辨率DEM学习数据和低分辨率DEM重建数据分为一系列大小为N×N的相互重叠的区域块;(3)对低分辨率DEM重建数据的每一个区域块,在低分辨率DEM学习数据中进行相似块查找,计算区域块的相似权重,通过将相似权重与给定的阈值T进行比较,得到高分辨率的DEM区域块。本发明能高效快速重建高分辨率DEM数据,且重建结果清晰,准确度高。
【IPC分类】G06T5/00
【公开号】CN104992425
【申请号】CN201510447886
【发明人】侯文广, 陈子轩, 王学文, 徐泽楷
【申请人】华中科技大学
【公开日】2015年10月21日
【申请日】2015年7月27日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1