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的實時檢測速度。