一种改进的高光谱端元提取算法及其FPGA实现

2019-08-20 03:46张锦涛吴凌云黄碧莹李云松
西安电子科技大学学报 2019年4期
关键词:投影光谱矩阵

张锦涛,雷 杰,吴凌云,黄碧莹,李云松

(西安电子科技大学 综合业务网理论及关键技术国家重点实验室,陕西 西安 710071)

随着遥感技术的迅速发展,高光谱遥感图像在获取更加丰富地物信息的同时,庞大的数据量也给数据存储、卫星下行传输以及后续高光谱图像处理技术带来了巨大的压力[1]。众多中外学者在高光谱解混[2]、端元提取与异常检测[3]等领域展开深入研究。其中,端元提取作为高光谱遥感数据解析的重要技术,在民用及军事领域备受关注[4]。从1990年开始,国内外高光谱界的众多研究学者都将关注点放在了高光谱端元提取这一新领域中,近些年涌现出了顶点成分分析算法(Vertex Component Analysis, VCA)[5]、基于正交子空间投影的自动目标生成算法(Automatic Target Generation Process,ATGP)[6]和最小体积单纯形分析算法(Minimum Volume Simplex Analysis, MVSA)[7]等。其中,自动目标生成算法的性能在检测精度和计算复杂度方面表现良好[8]。然而,在自动迭代获取新端元的过程中,传统的自动目标生成算法需要不断增加运算规模来完成正交投影算子矩阵的更新。这种不规则的运算问题使其在实际实时星载应用中受到端元数量的限制。为了解决上述问题,笔者提出了基于施密特正交向量投影算法(Gram-Schmidt Orthogonal Vector Projection,GSOVP)的Parallel-ATGP算法,将投影算子的更新过程由复杂且运算量不断增加的求逆过程优化为固定规模的运算量。

高光谱图像丰富的光谱信息使自动目标生成算法的计算量不可小觑,这也增大了在硬件实现过程中硬件加速器的并行加速运算的需求。低功耗可重构的现场可编程门阵列(Field Programable Gate Array,FPGA)在并行性计算和可定制流水线操作中有显著优势[9],Gonzalez等[10]完成了基于正交子空间投影的自动目标生成算法(Automatic Target Generation Algorithm based on Orthogonal Subspace Projection,ATGP-OSP)的硬件实现,然而在解决自动目标生成算法所要求的矩阵求逆问题时,Gauss-Jordan方法仍然具有很高的计算复杂度,这也成为了限制系统工作频率的主要瓶颈。

针对上述问题,笔者设计实现了一种Parallel-ATGP算法的硬件实现架构。实验结果表明,文中提出的Parallel-ATGP算法能够在经典高光谱数据集中以200 MHz频率达到是ATGP-OSP算法检测速度9.7倍的效果。

1 算法优化及分析

传统的自动目标生成算法能够在缺乏先验信息的情况下准确地提取端元。其算法的核心思想是将像元矢量投影到正交于已提取到的端元特征的子空间上,迭代计算出每次在图像中表现为亮度最大的像元作为要提取的端元。其具体计算过程如下所述。

假设高光谱图像数据F有r(r=W×H)个像素向量,每个像素是一个L维的光谱向量(L为图像波段数)。自动目标生成算法首先根据式(1)选择高光谱图像中当前亮度最大的像素向量所在的位置p,同时更新端元矩阵U。

(1)

(2)

(3)

2 FGPA硬件实现

2.1 整体硬件架构

图1 Parallel-ATGP的整体硬件实现架构

2.2 端元提取模块并行优化

整个算法实现过程消耗时间最长的是端元提取模块,该模块的像元投影器完成了高光谱图像在正交子空间上的投影。对于高光谱图像的投影操作,难度在于高光谱图像的数据量一般较大,而在硬件计算中不能一次将所有图像数据读入进行计算,所以并行优化的重点也放在该模块。如图2所示,为了能够在硬件中实现加速计算,将图像分块,然后设置多个PE并行完成投影操作。同时,为了充分利用逻辑计算单元,每个PE内部采用流水设计。最后,运算结果通过移位寄存器传递到端元定位器。

值得一提的是,为了能充分利用片外存储器的带宽给多个PE不间断传输数据,文中设置了数据分配器完成对数据的预处理。在该次实验中,将DDR3的数据位宽设置为128 bit,给定图像像素位宽为16 bit, 一个像素向量中的8个连续波段只需要一个地址保存。考虑到平衡资源与性能两个因素,将PE的数目设置为8,处理单元可以充分利用所设置的DDR3带宽。

2.3 像元投影器硬件电路并行优化

高光谱数据量大和维数高的特性使得各种端元提取算法在实现时往往运算量很大。例如文中提出的Parallel-ATGP算法中就存在大量的高阶矩阵与向量的运算。为了提高并行计算的能力,设计了多种并行硬件电路加速算法实现。接下来以核心模块像元矢量的投影为例说明笔者提出的并行优化方法和过程。

图2 端元提取模块并行优化策略

图3 像元矢量投影器并行优化策略

图3(a)展示了矩阵与向量相乘的具体电路模块,在该模块中,例化了L个乘加器和累加器,矩阵的每一列元素将依次与像元矢量运算,然后运算结果暂存到寄存器中,最后累加出来的结果就是想要的像元投影值。同时图3(b)给出了使用高层次综合工具实现该模块的C++伪代码和添加综合约束的方案,高层次综合工具将根据设置的约束自动综合成所需要的硬件电路。

3 性能与仿真

本节将从检测精度、资源消耗以及检测速度3个方面,将Parallel-ATGP与ATGP-OSP[10]算法的硬件实现性能进行对比。为确保比较的客观性,将采用与文献[10]相同的器件和相同的高光谱数据集完成测试。同时笔者通过引进高层次综合开发工具[12]完成了算法的硬件实现,避免了基于寄存器传输级的FPGA开发过程中难度大且流程繁琐的问题。通过高层次综合工具,将高级抽象语言C/C++转化为硬件描述语言,使开发流程更为简便且易于实现[13]。

3.1 精度分析

以1998年获取的美国内华达州Cuprite地区的航空高光谱AVIRIS数据进行试验。图像的分辨率为250 pixel×191 pixel,波长范围在0.4~2.5μm之间,含有224个波段,共包含12类地物。由于低吸水率和低信噪比等原因,去除1~2波段、104~113波段、148~167波段和221~224波段,使用188个波段进行端元提取实验[14]。端元的真实地物信息由USGS光谱库(http://speclab.cr.usgs.gov/)获得以用来评估检测性能。

通过使用光谱角距离(Spectral Angle Match,SAM)[15]指标来评价检测到的端元的精度,SAM弧度值越小,说明检测性能越高。Parallel-ATGP算法在AVIRIS Cuprite高光谱数据集中提取到的12个已知地物信息的端元的精度值如表1所示。值得强调的是,文中实现的Parallel-ATGP算法与ATGP-OSP算法精度相同。

表1 AVIRIS Cuprite数据中Parallel-ATGP算法的SAM值

3.2 资源消耗

笔者采用的FPGA器件是Xilinx公司的Virtex-7 XC7VX690T,该器件总共有1 470个Block RAM,3 600个DSP48E1,433 200个Slice LUTs和866 400个Slice Registers。表2给出了在使用相同器件的情况下ATGP-OSP与ParallelATGP硬件资源利用情况的对比 。如表2所示,因为实现了并行优化,Slice LUTs和Slice Registers的资源利用率相比ATGP-OSP有所增加。但是由于采用了比较高效的硬件实现架构,Block RAM和DSP48E1等资源明显减少。

表2 ATGP-OSP与Parallel-ATGP资源利用情况对比

3.3 加速性能

表3给出了ATGP-OSP和Parallel-ATGP两种算法的硬件实现加速性能对比。如表3所示, Parallel-ATGP的最大频率高于ATGP-OSP,而且处理同一个数据集,Parallel-ATGP占用的时钟周期个数小于ATGP-OSP。综合两者因素,可以得出Parallel-ATGP的处理速度约为ATGP-OSP的9.7倍。

值得注意的是,Parallel-ATGP算法的硬件实现对于AVIRIS传感器数据已经做到了严格的实时处理。AVIRIS传感器的数据采集比率是已知的,在推扫式仪器AVIRIS中,跨轨道线扫描时间相当快(8.3ms收集512个全像素矢量)。这就意味着所提出的硬件实现需要在0.77 s中处理完该数据集,而不会影响传感器处的收集过程。Parallel-ATGP硬件实现的处理时间(包括加载时间和从主机CPU到硬件设备的数据传输时间)都低于0.133 s,相对于ATGP-OSP,Parallel-ATGP在时间性能上有了显著提升。

表3 ATGP-OSP和Parallel-ATGP加速性能对比

4 结束语

通过对高光谱端元提取算法进行深入研究,笔者提出了一种实时检测算法Parallel-ATGP的硬件加速实现。首先对经典自动目标生成算法的进行分析,发现矩阵求逆过程中存在运算量增加的问题。对于这个问题,在更新正交投影算子矩阵时,采用固定规模的矩阵乘加运算代替复杂的矩阵求逆过程,从而保证硬件资源的消耗不会随着检测端元数量的增加而变化。使用相同硬件器件进行的实验结果表明,对于AVIRIS Cuprite数据,笔者提出的Parallel-ATGP算法的检测速度是ATGP-OSP算法的9.7倍,并且达到了严格的实时性。

猜你喜欢
投影光谱矩阵
基于三维Saab变换的高光谱图像压缩方法
高光谱遥感成像技术的发展与展望
解变分不等式的一种二次投影算法
基于最大相关熵的簇稀疏仿射投影算法
找投影
找投影
初等行变换与初等列变换并用求逆矩阵
星载近红外高光谱CO2遥感进展
矩阵
矩阵