本发明属于遥感图像处理领域,尤其涉及一种基于流形学习降维的高光谱遥感图像分类方法。
背景技术:
由于流形学习算法能够很好保持波段之间非线性的局部结构信息,基于流形学习的分类方法已经被广泛应用于高光谱影像分类处理。然而由于流形学习算法高复杂性,特别是特征分解部分,能够达到正比于像素点数三次方的级别,大大降低了流形学习算法的运算效率,不利用基于此类方法的实时应用。
目前,国内外对提高图像处理速度的研究主要集中在提高数据传输速度、优化算法策略和合理数据结构这三方面。采用并行处理的方式可以在保证运算精度的情况下实现对数据的实时处理。通过对算法的并行化,可以数十倍甚至上百倍的提高数据处理的速度,实现大规模、高吞吐率的高光谱遥感影像数据处理。
因此,基于gpu的高光谱遥感影像并行处理在保证图像质量的同时,能够大幅提高图像处理速度,满足实际工程的实时需求。
技术实现要素:
本发明主要是将流形学习降维算法移植到gpu平台,保证降维矢量正确性的同时,大大加快高光谱图像处理速度。
本发明涉及的并行化加速算法技术问题主要是通过下述算法方案得以解决的:
引入隐式重启lanczos方法。隐式重启lanczos方法是求解大型稀疏对成矩阵端部特征问题的一种正交投影方法。通过初始向量逐步构造krylov子空间的正交基,利用小规模投影矩阵的特征对近似初始矩阵的特征对。同时,利用合理的重启策略解决基向量正交性损失带来的数值偏差问题。该方法的引入能够很好的解决流形降维算法中特征对的计算问题,且利于移植到gpu平台进行并行优化。
引入压缩稀疏行格式存储大型稀疏矩阵。利用改格式对非零元素存储,大大减少算法实际执行过程中需要的矩阵存储。
引入cuda。cuda是一种由nvidia推出的通用并行计算架构,该架构利用gpu解决复杂的计算问题。通过cuda提供的开发库,优化在求解矩阵特征对过程中涉及到的矩阵与矩阵相乘、矩阵与向量相乘等步骤。
附图说明
图1为本发明实施例中的高光谱遥感图像分类的并行化加速算法原理图。
具体实施方式
请见图1,遥感图像分类的并行化加速算法分两部分执行,第一部分在cpu上执行流形学习降维算法的邻接图构建、权重矩阵构建以及特征分解矩阵的构建;第二部分在gpu上执行隐式重启的lanczos方法。而在gpu上执行有可以细分为两个部分求解:全局求解和局部求解。全局求解控制cpu与gpu的数据交互;局部求解激活cuda库函数在gpu实现优化运算过程。
以上是本发明涉及的高光谱遥感图像分类的并行加速算法的实现步骤。通过隐式重启的lanczos方法、压缩稀疏行格式和cuda的引入,可以在保证分类精度的情况下,加速分类处理,达到实时的应用要求。