趙 寶 瑋 , 相 里 斌 ,, 呂 群 波 ,張桂峰,曾曉茹,郭文記
(1.西安電子科技大學(xué) 物 理與光電工程學(xué)院,陜西 西 安 710071;2.中國科學(xué)院 光 電研究院,北京 100094)
高光譜圖像具有非常豐富的光譜信息,可以通過目標(biāo)間的細(xì)微差異發(fā)現(xiàn)用紋理、邊緣等空間特征無法或難以探測的地面目標(biāo)[1].近年來,國內(nèi)外研究出很多高光譜遙感圖像的目標(biāo)探測與識別算法[2].由Reed等[3]提出的基于廣義似然比檢驗(yàn)的RX算法,由于不需目標(biāo)先驗(yàn)光譜信息而被廣泛研究應(yīng)用,并衍生出很多改進(jìn)算法[4-9].
隨著技術(shù)發(fā)展,高光譜遙感圖像的數(shù)據(jù)量日益增大.龐大的運(yùn)算量造成異常目標(biāo)探測算法并不能直接運(yùn)用于遙感平臺(tái),常用的做法是將原始光譜數(shù)據(jù)傳輸至地面進(jìn)行處理.文獻(xiàn)[9]中在主頻為2.66GHz、內(nèi)存為3GB的計(jì)算機(jī)上采用RX探測算法處理169個(gè)波段、分辨率為100×100的高光譜數(shù)據(jù),需要近200s時(shí)間,即使采用服務(wù)器或者局域網(wǎng)并行的方式運(yùn)行算法,在數(shù)據(jù)量很大的情況下加上數(shù)據(jù)傳輸耗時(shí)仍然會(huì)給探測結(jié)果的應(yīng)用造成很大的時(shí)延.這在一些對探測結(jié)果實(shí)時(shí)性要求較高的場合,如公共安全、軍事偵察等,對應(yīng)用有很大的局限性.
20世紀(jì)90年代末期,隨著數(shù)字信號處理器(DSP)技術(shù)逐漸成熟,F(xiàn)PGA和多數(shù)字信號處理的并行處理平臺(tái)以其高性能、低成本、靈活、小型等優(yōu)點(diǎn)被廣泛應(yīng)用.美國的TacSat-3衛(wèi)星上運(yùn)用類似系統(tǒng)實(shí)現(xiàn)了高光譜圖像產(chǎn)品在戰(zhàn)場上的單兵應(yīng)用,為現(xiàn)代信息化戰(zhàn)爭中的情報(bào)搜集占領(lǐng)了先機(jī).
為了實(shí)現(xiàn)高光譜數(shù)據(jù)異常目標(biāo)探測的在線處理和處理結(jié)果的實(shí)時(shí)應(yīng)用,通過分析經(jīng)典RX算法原理特征及執(zhí)行過程,從控制和數(shù)據(jù)等方面分析了算法的并行特性.
圖1 RX算法探測原理
RX算法基于恒虛警異常探測算子,在目標(biāo)光譜和背景的協(xié)方差未知的條件下,以高光譜圖像每個(gè)像素為中心建立復(fù)合探測窗口.假定外窗為背景,內(nèi)窗為以待測光譜點(diǎn)為中心的目標(biāo)區(qū)域,如圖1所示.
若高光譜圖像有N個(gè)波段,每個(gè)點(diǎn)可由一個(gè)N維列向量表示,即xn=[xn1,xn2,xn3,…,xnN]T.設(shè)選取的背景矩陣有M個(gè)像素,則該背景矩陣可表示為xb=[x1,x2,x3,…,xM].RX算法建立如下二值假設(shè):
其中,n表示噪聲向量;s= [s1,s2,s3,…,sN]T,為目標(biāo)光譜向量;a是系數(shù).假設(shè)窗口圖像具有相同的協(xié)方差和不同的均值,式(1)中兩種情況分別服從高斯分布N(μb,Cb)和N(μs,Cb),其中μb和μs分別為圖1中外窗和內(nèi)窗的均值,Cb為背景的協(xié)方差,則RX算法的探測結(jié)果可近似為
其中,xn為待測光譜點(diǎn)b和為背景均值和協(xié)方差矩陣估計(jì)值,η為判決閾值.和的表示式為
通過探測窗口在整個(gè)高光譜圖像上的遍歷探測判決,便可以得到一幅二值異常點(diǎn)分布圖,即最終探測結(jié)果.
并行處理是讓多個(gè)處理單元(PE)同時(shí)工作,從而達(dá)到高速處理的目的.算法并行化主要有兩種軟件方式:控制并行和數(shù)據(jù)并行.控制并行是指多個(gè)處理單元分別實(shí)現(xiàn)算法的不同部分,最典型的例子是流水線;而數(shù)據(jù)并行是指多個(gè)處理單元對不同的數(shù)據(jù)集完成幾乎相同的處理.數(shù)據(jù)并行又可以分為SPMD(Single Program Multiple Data)和MPMD(Multiple Program Multiple Data),其區(qū)別在于各處理單元是否執(zhí)行相同的數(shù)據(jù)處理操作.兩種并行化處理系統(tǒng)的構(gòu)成如圖2所示.
下面分析RX算法對于這兩種并行化方式的可行性.由1.1節(jié)總結(jié)RX算法的流程如圖3所示.從圖3中可以明顯看出,RX算法在流程上具有線形特征,即數(shù)據(jù)在軟件的各處理流程間是順序傳遞,承上啟下,無數(shù)據(jù)環(huán).這種流程結(jié)構(gòu)有利于設(shè)計(jì)流水線式并行硬件架構(gòu).圖4為RX算法的流水線并行方式,其中DnOm表示第n組數(shù)據(jù)的第m個(gè)操作,每行流程在時(shí)間t內(nèi)串行發(fā)生.假設(shè)硬件系統(tǒng)有4個(gè)處理單元,分別完成4個(gè)操作.
雖然流水線并行方式的硬件實(shí)現(xiàn)比較容易,但從圖4可以看出,該方式存在以下不足:
(1)要求輸入數(shù)據(jù)也為流的方式,并且在數(shù)據(jù)處理的起始和結(jié)束階段會(huì)出現(xiàn)處理器空閑狀態(tài).如果數(shù)據(jù)量較小,則會(huì)極大地降低并行的效率,得不償失.
圖2 不同工作方式的并行處理系統(tǒng)框圖
圖3 RX算法流程圖
(2)流水線結(jié)構(gòu)的處理效率還受限于各操作流程復(fù)雜度的均衡性.如果每個(gè)處理單元執(zhí)行的流程不均衡,就會(huì)造成數(shù)據(jù)在某個(gè)處理單元的“流阻”,致使其他處理單元頻繁掛起,降低了并行效率.
這些都給流水線并行方式的算法設(shè)計(jì)造成很大困難.
綜上所述,采用數(shù)據(jù)并行方式實(shí)現(xiàn)RX算法并行化更加靈活,
并且RX算法各個(gè)流程間的數(shù)據(jù)相關(guān)性很小,可以采用SPMD的硬件程序架構(gòu).
圖4 RX算法的流水線并行方式
為研究并行RX算法的可行性及并行效率,找出算法特性,為硬件平臺(tái)設(shè)計(jì)提供軟硬件架構(gòu)依據(jù),采用MATLAB實(shí)現(xiàn)了RX算法,并結(jié)合RX算法的原理及流程用并行計(jì)算工具箱對算法進(jìn)行了并行化實(shí)現(xiàn)及仿真.
并行算法將高光譜數(shù)據(jù)立方體整合成以每個(gè)波段圖像數(shù)據(jù)為行向量的矩陣,然后通過并行parfor循環(huán)以行列向量為單位實(shí)現(xiàn)該矩陣的開窗、探測及數(shù)據(jù)整合.這種方式符合硬件處理的特點(diǎn).
在CPU為I7-3610QM(四核)、內(nèi)存為8GB的個(gè)人電腦上,用MATLAB開辟4個(gè)工作池對不同大小的光譜數(shù)據(jù)進(jìn)行運(yùn)算,統(tǒng)計(jì)算法并行化前后的處理時(shí)間及加速比,如表1所示.
表1 RX算法并行化前后對不同大小光譜數(shù)據(jù)的處理時(shí)間及加速比
從表1中可以得出以下結(jié)論:
(1)加速比隨波段數(shù)的增加而降低,原因是波段數(shù)增加導(dǎo)致單位塊運(yùn)算量增大;
(2)加速比隨圖像幅面增大而降低,原因是數(shù)據(jù)傳輸時(shí)間和窗口劃分等預(yù)處理時(shí)間在算法中占有可觀的比重,這些部分并不能被并行.這也是加速比不能達(dá)到工作池?cái)?shù)量值的原因.
搭建并行硬件處理平臺(tái)需要從運(yùn)算能力、硬件架構(gòu)、核心器件選型等方面進(jìn)行考慮,還要使系統(tǒng)具有靈活性和可擴(kuò)展性,以適應(yīng)不同的數(shù)據(jù)處理要求.根據(jù)以上原則,通過計(jì)算RX算法的運(yùn)算量,結(jié)合1.3節(jié)中的結(jié)論來進(jìn)行器件選型和硬件架構(gòu)的規(guī)劃,最終結(jié)合硬件架構(gòu)以優(yōu)化的軟件設(shè)計(jì)實(shí)現(xiàn)高速并行RX算法.
假設(shè)光譜數(shù)據(jù)大小為xyp(p為維度),所開滑窗窗口內(nèi)窗尺寸為m1×n1,外窗尺寸為m2×n2.從RX算法原理及實(shí)際編程運(yùn)算計(jì)算多光譜圖像一個(gè)像素點(diǎn)所需的運(yùn)算量約為
數(shù)據(jù)傳輸量約為
則整個(gè)光譜圖像運(yùn)算量約為xyC,數(shù)據(jù)傳輸量為xyT.
從以上計(jì)算可以看出,該算法的運(yùn)算量和數(shù)據(jù)傳輸量非常大.例如處理64譜段280×800大小的高光譜數(shù)據(jù),所開窗口外窗大小為15×15,內(nèi)窗大小為5×5,計(jì)算得總的運(yùn)算量約為4.48TFLOPS,數(shù)據(jù)傳輸量約為3.28GFloats.
光譜圖像的維度也對運(yùn)算量有較大的影響.因此,無論是從減少數(shù)據(jù)傳輸量角度,還是從減少運(yùn)算量角度出發(fā),都需要對原始高光譜圖像進(jìn)行降維預(yù)處理.
選擇ADI公司的TS201型號數(shù)字信號處理器作為運(yùn)算核心.選擇Xilinx的Virtex-Ⅱ-Pro系列的FPGA作為與數(shù)字信號處理的接口器件,實(shí)現(xiàn)邏輯控制及光譜數(shù)據(jù)預(yù)處理.
為達(dá)到盡量快的處理速度和系統(tǒng)可擴(kuò)展性,采用FPGA和4片TS201組成高速處理板卡.4片TS201之間采取松緊耦合相結(jié)合的方式,除了外部總線互連,簇內(nèi)采用DLink構(gòu)成環(huán),單板理論最高處理速度達(dá)到14.4GFLOPS.板卡數(shù)據(jù)傳輸采用CPCI總線接口,可以通過增加板卡數(shù)量提高系統(tǒng)的運(yùn)算能力.
整個(gè)硬件平臺(tái)架構(gòu)如圖5所示.這種硬件架構(gòu)非常靈活,既可以進(jìn)行流水線并行,也可以進(jìn)行數(shù)據(jù)并行,可根據(jù)算法特點(diǎn)來配置硬件.
圖5 硬件平臺(tái)原理
從2.1節(jié)中可以得出,為減少龐大的高光譜數(shù)據(jù)傳輸量和運(yùn)算量,需要對高光譜數(shù)據(jù)進(jìn)行降維處理.該處理由FPGA實(shí)現(xiàn).現(xiàn)有降維方法可分為3類:利用波段選擇進(jìn)行降維,通過劃分?jǐn)?shù)據(jù)源進(jìn)行降維和利用特征值提取進(jìn)行降維[10].為了利于硬件實(shí)現(xiàn),采用奇異值分解算法對光譜數(shù)據(jù)進(jìn)行降維[11],在此不再詳述.
FPGA先通過CPCI總線將高光譜數(shù)據(jù)寫入SDRAM,再對該數(shù)據(jù)進(jìn)行降維處理,所得的結(jié)果也暫存在SDRAM中,最后將降維的光譜數(shù)據(jù)分塊通過DLink接口分發(fā)給各個(gè)數(shù)字信號處理卡進(jìn)行處理,并將處理結(jié)果回收重組.
4片數(shù)字信號處理卡具有相同的算法處理流程,每片數(shù)字信號處理通過DMA模式接收到FPGA發(fā)來的窗口數(shù)據(jù)后隨即進(jìn)行RX算法處理.在算法即將結(jié)束及結(jié)果數(shù)據(jù)回傳的同時(shí)接收下一個(gè)窗口數(shù)據(jù),從而實(shí)現(xiàn)數(shù)據(jù)的無縫處理,提高算法效率.4個(gè)數(shù)字信號處理卡與FPGA間的數(shù)據(jù)傳輸是無序的,即每個(gè)數(shù)字信號處理卡完成一個(gè)窗口的數(shù)據(jù)處理時(shí),隨即向FPGA申請下一包數(shù)據(jù),并不是按窗口順序申請.這樣就抵消了數(shù)字信號處理卡之間在運(yùn)算能力上的微小差別,不會(huì)形成“木桶效應(yīng)”,在異步方式下實(shí)現(xiàn)了數(shù)據(jù)的無縫傳輸,進(jìn)一步提高了運(yùn)算效率.
將64譜段280×800大小的高光譜數(shù)據(jù)在上述硬件平臺(tái)上進(jìn)行處理.圖6為第1譜段圖像,所得檢測結(jié)果如圖7所示,處理時(shí)間為4.86s,實(shí)現(xiàn)了快速并行RX算法.并且所得探測結(jié)果圖像數(shù)據(jù)量僅為224kByte,驗(yàn)證了該算法平臺(tái)用于高光譜遙感載荷進(jìn)行在線異常目標(biāo)快速探測和實(shí)時(shí)下傳及應(yīng)用的可行性.
圖6 高光譜數(shù)據(jù)第1譜段圖像
圖7 硬件平臺(tái)并行RX算法檢測結(jié)果
以大容量高光譜數(shù)據(jù)異常目標(biāo)探測的載荷平臺(tái)在線實(shí)現(xiàn)和探測結(jié)果快速獲取為目標(biāo),研究了RX算法的原理及特征,通過計(jì)算機(jī)仿真驗(yàn)證了算法并行化的可行性.通過加速比變化特征,設(shè)計(jì)了優(yōu)化的高性能FPGA和多數(shù)字信號處理硬件平臺(tái).用該平臺(tái)實(shí)現(xiàn)了高光譜數(shù)據(jù)的快速RX硬件并行處理,且處理結(jié)果數(shù)據(jù)量非常小,能夠?qū)崿F(xiàn)實(shí)時(shí)傳輸,對公共安全、軍事偵察等領(lǐng)域的敏感目標(biāo)偵察及快速獲取具有很大的意義.在不改變硬件的前提下,該并行平臺(tái)通過軟件配置可以實(shí)現(xiàn)靈活的架構(gòu)變化,從而能夠?qū)崿F(xiàn)多種多光譜數(shù)據(jù)異常目標(biāo)探測算法的并行化研究.因?yàn)橛布铀俚哪芰χ荒芡ㄟ^硬件規(guī)模的擴(kuò)大來提高,因此隨著高光譜數(shù)據(jù)量的增大,這種實(shí)時(shí)處理平臺(tái)的體積將成為制約因素,未來可以通過SOPC(System-On-a-Programmable-Chip)技術(shù)來解決這一問題.
[1] 李杰,趙春暉,梅鋒.利用背景殘差數(shù)據(jù)檢測高光譜圖像異常[J].紅外與毫米波學(xué)報(bào),2010,29(2):150-155.Li Jie,Zhao Chunhui,Mei Feng.Detecting Hyperspectral Anomaly by Using Background Residual Error Data[J].Journal of Infrared and Millimeter Waves,2010,29(2):150-155.
[2] 賀霖,潘泉,邸韡,等.高光譜圖像目標(biāo)檢測研究進(jìn)展[J].電子學(xué)報(bào),2009,37(9):2016-2022.He Lin,Pan Quan,Di Wei,et al.Research Advance on Target Detection for Hyperspectral Imagery[J].Acta Electronica Sinica,2009,37(9):2016-2022.
[3] Reed I S,Yu X L.Adaptive Multiple-band CFAR Detection of an Optical Pattern with Unknown Spectral Distribution[J].IEEE Transactions on Acoustics,Speech and Signal Processing,1990,38(10):1760-1770.
[4] Kwon H,Nasrabadi N M.Kernel RX-algorithm:a Nonlinear Anomaly Detector for Hyperspectral Imagery[J].IEEE Transactions on Geoscience and Remote Sensing,2005,43(2):388-397.
[5] 秦翰林,姚柯柯,程茂林,等.基于多尺度分解的超光譜圖像異常檢測[J].強(qiáng)激光與粒子束,2012,24(2):327-330.Qin Hanlin,Yao Keke,Cheng Maolin,et al.Multiscale Decomposition-based Anomaly Detection for Hyperspectral Images[J].High Power Laser And Particle Beams,2012,24(2):327-330.
[6] 史振威,吳俊,楊碩,等.RX及其變種在高光譜圖像中的異常檢測[J].紅外與激光工程,2012,41(3):796-802.Shi Zhenwei,Wu Jun,Yang Shuo,et al.RX and Its Variants for Anomaly Detection in Hyperspectral Images[J].Infrared and Laser Engineering,2012,41(3):796-802.
[7] 趙春暉,李杰,梅鋒.核加權(quán)RX高光譜圖像異常檢測算法[J].紅外與毫米波學(xué)報(bào),2010,29(5):378-382.Zhao Chunhui,Li Jie,Mei Feng.A Kernel Weighted RX Algorithm for Anomaly Detection Hyperspectral Imagery[J].Journal of Infrared and Millimeter Waves,2010,29(5):378-382.
[8] 趙春暉,胡春梅.基于目標(biāo)正交子空間投影加權(quán)的高光譜圖像異常檢測算法[J].吉林大學(xué)學(xué)報(bào)(工學(xué)版),2011,41(5):1468-1474.Zhao Chunhui,Hu Chunmei.Weighted Anomaly Detection Algorithm for Hyperspectral Image Based on target Orthogonal Subspace Projection[J].Journal of Jilin University(Engineering and Technology Edition),2011,41(5):1468-1474.
[9] 蒲曉豐,雷武虎,張林虎,等.基于改進(jìn)RX算法的高光譜異常檢測[J].中國圖象圖形學(xué)報(bào),2011,16(9):1632-1636.Pu Xiaofeng,Lei Wuhu,Zhang Linhu,et al.Anomaly Detection Based on Improved RX Algorithm in Hyperspectral Imagery[J].Journal of Image and Graphics,2011,16(9):1632-1636.
[10] 王秀朋.基于投影尋蹤的高光譜圖像降維算法研究[D].西安:西北工業(yè)大學(xué),2006.
[11] 何光林,彭林科.基于FPGA的高光譜圖像奇異值分解降維技術(shù)[J].中國激光,2009,36(11):2983-2988.He Guanglin,Peng Linke.FPGA Implement of SVD for Dimensionality Reduction in Hyperspectral Images[J].Chinese Journal of Lasers,2009,36(11):2983-2988.