Paper:A Deep Pipelined Implementation of Hyperspectral Target Detection Algorithm on FPGA Using HLS

背景介绍

光谱遥感图像是一个三维的图像,除了普通图像具有的空间维,还额外有信息量丰富的谱间信息。

对于已知部分信息的目标,比如舰船的油漆的型号、材质等是已知的。针对这种情况,本项目可以根据已知的信息,比如油漆的型号,采用基于约束最小能量算子的流式背景统计方法DPBS-CEM(Deep pipelined background statistics based on Constrained energy minimization)算法去实现实时应用。DPBS-CEM 与线性约束最小方差波束形成器的原理是相通的,该方法可以在提取一个方向的信号的同时削弱其他不同方向的信号干扰。DPBS-CEM在某种地物成分占图像方差比例非常小的条件下有很好的效果,它能使这种目标得到凸显而使其他地物背景得到抑制,因此这种地物能够从背景中分离出来。

CEM算法介绍

假设已知一张高光谱图 r 和已知信息的光谱信息 d(即作为目标光谱向量),比如油漆的光谱信息作为d。然后需要设计一个 FIR 滤波器,使得目标光谱向量d的输出恒定,整体输出信号能量最小,即d恒定,其他位置信号得到压制。用 W 来表示滤波器,对于高光谱图中的每一个像素点的光谱向量?? ,输出的光谱向量??可以表示为 ,因此,输出信号平均能量可表示为:

 CEM算法可以表述为如下的线性约束最优化问题:

求解上式,得到的最优解为

因此,进行目标检测时,只需将高光谱图像数据通过FIR滤波器即可,得到输出图像数据为:

经典的CEM算法实现的是全局目标检测器的功能。其使用图像的所有像素计算相关矩阵,在全部计算完相关矩阵后再求逆矩阵以求解滤波系数。经典CEM算法要求在收集整个图像数据后做目标检测。 

 

 DPBS-CEM算法

为了实现实时目标检测,同时避免CEM算法中复杂的求逆运算。DPBS-CEM算法使用一个连续对背景相关矩阵更新的方法来计算矩阵的逆矩阵,且在求逆的同时完成自相关运算。DPBS-CEM算法已在Virtex7 FPGA 板卡(Alpha-Data ADM-PCIE-7V3)中实现了硬件实时检测。

DPBS-CEM主要利用Sherman-Morrison求逆公式,使用累积窗口的思想,对整个矩阵完成自相关求逆运算。

为了从一开始就可以使用Woodbury矩阵引理,令初始逆矩阵为 。附加矩阵 不会影响检测器的性能。 相反,它有能力使检测结果更加稳定。

为了加速实现算法,可以对数据做分块处理,分块序号使用bn表示。此时,输出结果实时输出可以表示成:

实验结果

下图是DPBS-CEM使用的高光谱数据集。(a)是输入的高光谱图像取波段三个波段形成的伪彩图。(b)是标定的目标点所在的位置。(c)是四种目标的光谱特征曲线。

下图是DPBS-CEM的初步目标检测结果结果。(a)是原始CEM算法对F1, F2, F3, F4四种目标的检测结果。(b)是DPBS-CEM算法的检测结果。

 

使用AUC(area under the curve)指标来衡量算法的检测结果,AUC越高表明算法的检测精度越高。两种算法的AUC结果如下表所示。

HyMap

F1

F2

F3

F4

CEM

0.9107

1

0.9067

0.9987

DPBS-CEM

0.9997

0.9999

0.9992

0.9994

在已经实现的硬件实时检测系统中,DPBS-CEM算法可以在真实高光谱数据集(HyMap)中以200MHz的频率下达到0.15s的实时检测速度。