论文部分内容阅读
SAR目标识别方法已经成为近年来的研究热点,其研究成果被广泛应用于军事和民用领域。随着高分辨SAR成像技术的发展,SAR图像的分辨率和数据量均迅速增加,基于CPU串行计算的目标识别算法已经不能达到高分辨SAR目标识别软件实时处理数据的要求,且计算代价过高。而近些年出现的GPU(Graphic Process Unit)通用计算可以提供强大的计算能力和存储带宽,此外其具有开发成本低、周期短等优点。因此,基于GPU的并行目标识别算法的研究,对实时处理数据的目标识别软件系统的研究和建立具有重要推动作用。本文首先讨论了GPU的体系结构以及CUDA编程模型,并将目标识别算法分为特征提取部分和分类器部分,然后详细描述了如何将各部分的具体计算任务进行并行分解,以及如何通过CUDA并行编程实现各个计算任务,最终对CUDA程序进行一系列优化处理,争取实现算法的加速最大化。具体的工作安排如下:(1)分析了CUDA的编程模型、存储模型以及编程语言,然后研究主成分分析、非负矩阵分解和线性判别分析这三种比较成熟的特征提取技术和支持向量机这种分类方法的基础原理和实现方法,为后文目标识别算法并行分析提供理论依据和技术基础。(2)研究特征提取方法和分类器的计算任务,将计算过程拆分并做并行改进。分别对三种特征提取方法中的矩阵乘法、Jacobi迭代法求矩阵特征值、归约法、类间和类内散度矩阵构造等计算任务进行并行分析和GPU并行改进。然后分析SMO算法的计算过程和并行性,实现SVM在CUDA上的并行移植。最终,以MSTAR公开数据库为基础,通过实验得到目标识别算法在CPU端和GPU端的运行时间,并作对比分析,以证明GPU并行计算对目标识别算法的加速效果。(3)结合CUDA程序的通用评估方式和优化策略,深入分析了目标识别算法中影响CUDA程序运行速度的原因,实现了从通信、访存和指令流三个方面对算法进行优化处理。并通过实验表明基于GPU并行实现的目标识别算法经过优化获得了25-30倍的性能提升。