VC++基于GPU高光谱图像目标检测方法(4)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

VC++基于GPU高光谱图像目标检测方法(4)

1。3  论文主要内容及结构安排

论文以GPU并行优化模型为基础,针对高光谱波段多、像素多、数据量庞大的特点,提出了基于L1/2稀疏性解混的高光谱图像目标检测方法,并对其中的迭代部分的步骤给出了具体的并行优化的算法,取得了很大的数据处理加速效率,基于VC++开发了一个高光谱遥感图像目标检测并行处理软件系统,具有很大的应用前景。

本文的主要章节结构安排如下:

第一章绪论,介绍了高光谱遥感课题研究的背景与意义,目标检测算法与GPU/CUDA并行优化的国内外研究现状,主要的研究热点与难点,本文的主要内容结构安排等;

第二章介绍了CUDA编程模型及存储结构。首先介绍了GPU通用计算的发展,接着对CUDA编程基础进行了详细的说明,重点阐述了CUDA的内核编程基础及重点内容,然后,对CUDA的软硬件体系进行了细致的研究;最后,展示了本论文的实验平台的配置。

第三章先对基于L1/2稀疏性解混的高光谱目标检测算法的原理以及优化做了具体的阐述,然后利用了GPU/CUDA的并行计算的架构,对算法的迭代过程进行了并行化重构,大大提高了运算速度,最后通过实际高光谱数据的实验表明,该优化算法在保证目标检测精度的同时,能有效提高运行速度。

第四章分析了高光谱图像目标检测系统的总体框架的设计,对组成系统框架的几大模块进行了介绍,详细阐述了本系统的具体实现细节,对每个模块使用的类的主要控件及主要函数进行了分析说明,最后,以多图的形式介绍了本系统的界面设计。

2  CUDA编程模型及存储结构 

2。1  GPU通用计算发展

从第一款GPU在上世纪末由NVIDIA的发布,它的发展势头就很迅猛。GPU凭借不断革新的创造理念和最前卫的半导体制作手段,使其可以快速生成丰富真实的3D图像。GPU在以往应用中被局限在只用于3D图像渲染,但因为GPU通用计算API渐渐发展壮大,GPU的含义也从图形处理器变为通用处理器。很快,GPU并行性的优势被AMD、NVIDIA[14]等GPU生产公司细致地察觉到,经过他们的改造提升GPU的可编码程度,GPU通用计算也就顺势产生了。

GPGPU(General-purpose computing on graphics processing units)为GPU通用计算的简称[15],指用纹理渲染来执行任务,使用汇编语言编写程序,或者高级着色器语言也可以,最后用图形学API来完成。如此几个复杂的步骤对编程人员的要求很苛刻,他们需要深入地了解自己执行的方法的逻辑关系,并且对并行优化也有熟悉,还要学习图形学API,由此看来传统的GPGPU计算的应用也很局限。论文网

2007年6月,NVIDIA发布了CUDA,是一个管辖和调配所要运行的计算设备GPU的软硬件体系[13]。CUDA将GPU作为并行计算的设施,不依靠图形学API的帮助,而是以C系列语言为样板设计,所以CUDA的语法对于精通C/C++语法的开发人员来讲,很简单就可以入门;CUDA的统一处理架构有诸多优势,诸如让编写代码变得简单一点,对先前在渲染器的分散的计算资源,包括顶点和像素有更加充分高效地使用;NVIDIA附加的共享存储器具有线程的通信和随机写入的功能。通过这些改良,CUDA当之无愧成为GPU通用计算的优良架构。

2。2  CUDA编程基础

2。2。1  CUDA编程模型

在CUDA的编程模型中,一个程序分为Host端或者Device端两种类型,分别在CPU上和GPU上执行,在显卡上执行的程序又可叫做"kernel"(内核函数)。通常Host端程序的主要工作是进行数据的前期准备,和kernel函数的调度;Device端主要是完成Host端分配的任务,一般采用多线程并行的方式加速,执行完将执行结果传输给内存。 (责任编辑:qin)