基于嵌入式GPU的SAR實(shí)時(shí)艦船檢測(cè)算法CUDA設(shè)計(jì)
作者 武鵬1 金燕2 張俊舉1 1.南京理工大學(xué) (江蘇 南京 210094) 2.中國(guó)科學(xué)院電子學(xué)研究所蘇州研究院 (江蘇 蘇州 215123)
本文引用地址:http://www.ex-cimer.com/article/201703/345943.htm武鵬(1991-),女,碩士生,研究方向:信號(hào)與信息處理。
摘要:為了實(shí)現(xiàn)對(duì)合成孔徑雷達(dá)(SAR)圖像中艦船目標(biāo)的實(shí)時(shí)檢測(cè),本文以雙參數(shù)恒虛警(CFAR)算法為例,提出一種基于ARM+GPU架構(gòu)的SAR圖像艦船目標(biāo)檢測(cè)算法的實(shí)現(xiàn)方案。該方案在NVIDIA Jetson TK1開(kāi)發(fā)板上的測(cè)試結(jié)果表明,與傳統(tǒng)基于CPU 的SAR圖像艦船檢測(cè)算法相比,該方案能夠達(dá)到數(shù)百倍的速度提升,有效解決了利用CPU平臺(tái)進(jìn)行艦船目標(biāo)檢測(cè)耗時(shí)長(zhǎng)、效率低的問(wèn)題。Jetson TK1作為嵌入式處理平臺(tái),相對(duì)于工作站或服務(wù)器,在功耗和便攜性方面都具有明顯的優(yōu)勢(shì)。
引言
對(duì)海上艦船目標(biāo)進(jìn)行檢測(cè)與監(jiān)視一直都是世界各海岸地帶國(guó)家的傳統(tǒng)任務(wù)[1]。我國(guó)領(lǐng)海廣闊,海洋資源豐富,開(kāi)展艦船目標(biāo)檢測(cè)的研究在軍事、民用方面都具有極其重要的意義。星載合成孔徑雷達(dá)(Synthetic Aperture Radar, SAR)作為一種全天時(shí)、全天候的有源主動(dòng)式微波成像系統(tǒng),以其優(yōu)越的二維高分辨率特性,日益成為世界各國(guó)普遍重視的遙感探測(cè)技術(shù)[2]。在軍事領(lǐng)域,主要用于陸戰(zhàn)場(chǎng)偵查、海洋監(jiān)測(cè)、偽裝識(shí)別以及發(fā)現(xiàn)假目標(biāo)等,快速準(zhǔn)確地獲取瞬息萬(wàn)變戰(zhàn)場(chǎng)上的動(dòng)態(tài)情報(bào),獲取軍事主動(dòng)權(quán);在海洋監(jiān)測(cè)方面,可以根據(jù)艦船的反射特性及其產(chǎn)生的尾跡特征進(jìn)行艦船目標(biāo)的檢測(cè)、監(jiān)視和識(shí)別,還能從中提取位置、航向、航速等信息。因此,SAR已經(jīng)成為當(dāng)今艦船目標(biāo)檢測(cè)、監(jiān)視和定位的最有效手段之一[3]。然而,傳統(tǒng)基于中央處理器(Central Processing Unit ,CPU)的個(gè)人計(jì)算機(jī)、工作站及大型計(jì)算服務(wù)器對(duì)SAR艦船目標(biāo)檢測(cè)往往效率很低,不能滿足在災(zāi)害應(yīng)急監(jiān)測(cè)和軍事應(yīng)用領(lǐng)域的高機(jī)動(dòng)性、高應(yīng)急性和時(shí)效性的要求。
近年來(lái),由于市場(chǎng)對(duì)實(shí)時(shí)、高清晰度的圖形處理需求的推動(dòng),可編程圖形處理器(GPU)得到了空前的發(fā)展,已經(jīng)演變成具有極高存儲(chǔ)器帶寬、強(qiáng)大的計(jì)算能力、高并行度、多線程的多核處理器。GPU不再僅限于圖形圖像處理領(lǐng)域的應(yīng)用,還被廣泛應(yīng)用于生物信息學(xué)、流體力學(xué)、信號(hào)處理、信息檢索、線性代數(shù)等通用計(jì)算領(lǐng)域,在這些領(lǐng)域取得了幾十甚至幾百的加速比[4]。同樣,在SAR艦船目標(biāo)檢測(cè)方面,GPU也展現(xiàn)出了越來(lái)越重要的作用。
早期的SAR圖像處理過(guò)程需要將數(shù)據(jù)下傳至地面站進(jìn)行,這不僅要求雷達(dá)衛(wèi)星具有高帶寬的下行數(shù)據(jù)鏈路,而且還受到衛(wèi)星過(guò)頂時(shí)間的限制,這些都使得如何對(duì)SAR圖像數(shù)據(jù)進(jìn)行在軌實(shí)時(shí)處理成為熱點(diǎn)問(wèn)題,在軌實(shí)時(shí)處理包括:在軌完成遙感圖像的預(yù)處理、數(shù)據(jù)壓縮、存儲(chǔ)與格式轉(zhuǎn)換、目標(biāo)特征點(diǎn)的提取等工作,通過(guò)使用星上的自主數(shù)據(jù)處理能力,盡量少地減少地面站對(duì)衛(wèi)星任務(wù)的干預(yù),從而滿足未來(lái)遙感衛(wèi)星對(duì)高機(jī)動(dòng)性、高應(yīng)急性和時(shí)效性的要求,在災(zāi)害應(yīng)急監(jiān)測(cè)以及軍事應(yīng)用等領(lǐng)域發(fā)揮更大的作用。在軌SAR實(shí)時(shí)處理系統(tǒng)作為一種典型的實(shí)時(shí)系統(tǒng),在性能、體積、重量、功耗及可靠性方面都有很高的要求,NVIDIA Jetson TK1平臺(tái)通過(guò)采用ARM+GPU的嵌入式架構(gòu),體積小、功耗低,滿足在軌實(shí)時(shí)處理的需求,提高了系統(tǒng)的數(shù)據(jù)處理能力,可以實(shí)現(xiàn)在軌SAR遙感圖像目標(biāo)檢測(cè)的過(guò)程。同時(shí),該硬件架構(gòu)可以應(yīng)用于很多需要在軌高速數(shù)據(jù)處理的情況中,例如合成孔徑雷達(dá)所獲取的大量數(shù)據(jù)在軌處理、在軌維修、空間攻防、航天器的捕獲與攻擊、空間交會(huì)對(duì)接等需要對(duì)目標(biāo)物體進(jìn)行快速測(cè)量與控制的場(chǎng)合,具有極其重要的研究?jī)r(jià)值和非常廣闊的應(yīng)用前景。
在艦船目標(biāo)檢測(cè)中經(jīng)常用到的檢測(cè)特征主要有艦船的灰度、面積、形狀及艦船由于航行所產(chǎn)生的尾跡等,其中提取艦船的高亮、形狀、尾跡等特征是SAR圖像艦船目標(biāo)檢測(cè)中研究的重點(diǎn)[5]。艦船檢測(cè)所用的算法主要有四類:雙參數(shù)恒虛警(CFAR)算法、基于K-分布的CFAR算法、多極化檢測(cè)算法、其他檢測(cè)算法(簡(jiǎn)單閾值法、模糊決策法、基于分割的模擬退火算法)[6]。雙參數(shù)CFAR算法主要適用于分辨率較低的SAR圖像目標(biāo)檢測(cè)[7],K-分布CFAR算法的應(yīng)用集中于RADARSAT圖像,多極化檢測(cè)算法僅限于應(yīng)用在具有同時(shí)多極化觀測(cè)的SAR圖像中。其他算法中,簡(jiǎn)單閾值法和模糊決策法都不具備自適應(yīng)性,而基于分割的模擬退火算法適用性更是非常有限。本文擬采用雙參數(shù)CFAR算法在NVIDIA Jetson TK1平臺(tái)上實(shí)現(xiàn)對(duì)遠(yuǎn)洋圖像中的艦船目標(biāo)進(jìn)行檢測(cè),雙參數(shù)恒虛警(CFAR)檢測(cè)方法是雷達(dá)信號(hào)檢測(cè)領(lǐng)域里最常用和最有效的一類檢測(cè)算法[8]。大量的研究和實(shí)驗(yàn)指出,即使在海況極其惡劣的情況下,CFAR檢測(cè)器仍然能夠獲得較好的檢測(cè)結(jié)果[9]。
1 雙參數(shù)CFAR艦船檢測(cè)算法結(jié)構(gòu)分析
針對(duì)不同的天氣、風(fēng)速等條件,海況有很大的變化,呈現(xiàn)在SAR圖像中的海洋雜波的效果也有較大的差別[10],因此,針對(duì)上述各種復(fù)雜的情況,在對(duì)艦船目標(biāo)進(jìn)行檢測(cè)過(guò)程中,需要采用一種能夠自適應(yīng)的恒虛警檢測(cè)方法。雙參數(shù)CFAR目標(biāo)檢測(cè)算法是基于背景雜波,服從高斯分布的假設(shè)[11],具有自適應(yīng)性,能夠適應(yīng)背景雜波變化。通過(guò)使用局部滑動(dòng)窗口,對(duì)每個(gè)像素進(jìn)行檢測(cè),計(jì)算背景窗口中的所有雜波像素的均值和方差,得到該局部窗口的門(mén)限,將目標(biāo)窗口中高于該門(mén)限的像素判定為艦船目標(biāo)[12]。最后再利用一系列形態(tài)學(xué)的處理方法將目標(biāo)在圖中標(biāo)注出來(lái)。
如圖1所示,設(shè)XT為待檢測(cè)的像素點(diǎn),在它的周圍分別定義了兩個(gè)局部滑動(dòng)窗口:背景窗口和保護(hù)窗口。背景窗口的大小可以根據(jù)船只實(shí)際的大小進(jìn)行選取,主要用于背景雜波的統(tǒng)計(jì)分析,保護(hù)窗口主要起到保護(hù)的作用,防止將待測(cè)像素點(diǎn)周圍的目標(biāo)像素也計(jì)算在對(duì)背景窗口的統(tǒng)計(jì)分析中。
如圖2所示,由于要對(duì)圖像中每個(gè)像素進(jìn)行背景雜波統(tǒng)計(jì)及閾值比較的操作,局部滑動(dòng)窗口進(jìn)行統(tǒng)計(jì)分析的過(guò)程具有計(jì)算量大,耗時(shí)長(zhǎng)的特點(diǎn),運(yùn)行時(shí)間與窗口尺寸的大小有關(guān)[14],是雙參CFAR算法的核心步驟。因此,要實(shí)現(xiàn)對(duì)艦船目標(biāo)的實(shí)時(shí)檢測(cè),必須考慮如何對(duì)局部滑動(dòng)窗口部分算法進(jìn)行相應(yīng)的優(yōu)化,減小計(jì)算量,縮短檢測(cè)周期。
2 算法優(yōu)化
由于雙參CFAR算法是通過(guò)對(duì)當(dāng)前像素點(diǎn)的鄰域數(shù)據(jù)進(jìn)行統(tǒng)計(jì)判斷為目標(biāo)點(diǎn)或背景,相比于全局閾值的處理方法具有自適應(yīng)的特性。局部滑動(dòng)窗口計(jì)算類似于基于模板的運(yùn)算,在進(jìn)行計(jì)算時(shí),需要使用當(dāng)前像素點(diǎn)的鄰域數(shù)據(jù),并且對(duì)前后兩個(gè)像素進(jìn)行操作的存儲(chǔ)訪問(wèn)高度相關(guān)。如果使用普通的存儲(chǔ)類型進(jìn)行數(shù)據(jù)的存儲(chǔ)訪問(wèn),每次讀取操作都要從全局存儲(chǔ)器(Global Memory)中取出需要的數(shù)據(jù),會(huì)出現(xiàn)重復(fù)讀取數(shù)據(jù)的情況,訪問(wèn)效率低,因此,需要采用一種更為合適的數(shù)據(jù)存儲(chǔ)方式[15]。
紋理存儲(chǔ)器(Texture memory)是一種只讀存儲(chǔ)器,由GPU中用于紋理渲染的圖形專用單元發(fā)展而來(lái),紋理存儲(chǔ)器中的數(shù)據(jù)位于顯存,但可以通過(guò)紋理緩存加速讀取。在通用計(jì)算中,紋理存儲(chǔ)器適用于進(jìn)行圖像處理或查找表等操作,具有良好的加速效果。
紋理緩存主要有兩個(gè)作用。首先,紋理緩存中的數(shù)據(jù)可以被重復(fù)利用,當(dāng)需要訪問(wèn)的數(shù)據(jù)在紋理緩存中已經(jīng)存在時(shí),可以避免再?gòu)娘@存中重復(fù)讀取相同的數(shù)據(jù);第二,紋理緩存可以實(shí)現(xiàn)濾波模式,緩存拾取坐標(biāo)點(diǎn)附近幾個(gè)像元的數(shù)據(jù),提高局部訪問(wèn)的效率。因此,雙參CFAR算法中局部滑動(dòng)窗口部分采用紋理存儲(chǔ)方式,可以很好的滿足應(yīng)用的需求。
紋理類型使用非常簡(jiǎn)單,首先使用cudaBindTextureToArray()將圖像數(shù)據(jù)的數(shù)組綁定到一個(gè)紋理對(duì)象,然后就可以在kernel中使用tex2D()函數(shù)來(lái)快速訪問(wèn)該紋理對(duì)象中的數(shù)據(jù),有一點(diǎn)需要注意的是,由于紋理存儲(chǔ)器是一種只讀存儲(chǔ)器,綁定到紋理的數(shù)據(jù)有變化時(shí),需要重新綁定才能保證訪問(wèn)的數(shù)據(jù)是最新的。
3 設(shè)計(jì)與實(shí)現(xiàn)
下面以雙參數(shù)CFAR檢測(cè)算法為例,分析基于嵌入式GPU的SAR實(shí)時(shí)艦船檢測(cè)算法的CUDA設(shè)計(jì)與實(shí)現(xiàn)過(guò)程。
對(duì)上面所得的二值圖像做進(jìn)一步形態(tài)學(xué)處理:中值濾波、圖像膨脹等。中值濾波、圖像膨脹的過(guò)程同樣在GPU中進(jìn)行,最后,利用OpenCV將圖中的艦船目標(biāo)標(biāo)注出來(lái),這里不再贅述。
4 實(shí)驗(yàn)結(jié)果及加速比測(cè)試
實(shí)驗(yàn)中使用的圖像為海陸分割之后遠(yuǎn)洋SAR圖像,在NVIDIA TK1平臺(tái)進(jìn)行艦船目標(biāo)檢測(cè)。其中雙參數(shù)CFAR算法判決準(zhǔn)則中的標(biāo)稱化因子取為3.1。圖4為原始SAR圖像,圖5為原始圖像經(jīng)過(guò)滑窗操作、中值濾波之后的圖像,圖6為經(jīng)過(guò)膨脹運(yùn)算后的SAR圖像,圖7為最終的艦船檢測(cè)結(jié)果。
檢測(cè)結(jié)果圖7中畫(huà)出的方框表示正確檢測(cè)的目標(biāo),圓圈表示檢測(cè)的虛警目標(biāo)。
為了衡量檢測(cè)效果,定義檢測(cè)結(jié)果的品質(zhì)因數(shù)FoM為:
(2)
其中Ntt為檢測(cè)結(jié)果中正確檢測(cè)出來(lái)的目標(biāo)數(shù),Nfa為虛警目標(biāo)數(shù),Ngt為實(shí)際的目標(biāo)數(shù),這里實(shí)際的目標(biāo)數(shù)Ngt以目視解譯的結(jié)果為準(zhǔn)[6]。原圖中有20只艦船,因此,實(shí)際目標(biāo)數(shù) 為20。
本文使用的GPU平臺(tái)是NVIDIA公司生產(chǎn)的NVIDIA Jetson TK1 開(kāi)發(fā)組件,與之進(jìn)行對(duì)比的常規(guī)CPU是選用Intel?Core?i3處理器。經(jīng)過(guò)多次實(shí)驗(yàn),對(duì)于2048×2048大小的SAR圖像數(shù)據(jù),分別測(cè)試了基于CPU單線程的Matlab程序和基于GPU多線程的檢測(cè)算法運(yùn)行時(shí)間,如表2所示。
由測(cè)試結(jié)果可知,本文提出的利用CUDA實(shí)現(xiàn)的,基于ARM+GPU的SAR艦船檢測(cè)算法具有極高的效率,相比傳統(tǒng)的基于CPU的SAR艦船檢測(cè)算法,效率得到了162倍以上的提升。
5 結(jié)論
本文對(duì)SAR遙感圖像艦船目標(biāo)檢測(cè)算法中的雙參數(shù)CFAR算法在CUDA架構(gòu)下的高效實(shí)現(xiàn)方法進(jìn)行了深入研究。首先對(duì)雙參CFAR算法的結(jié)構(gòu)特征以及CUDA架構(gòu)下的實(shí)現(xiàn)思路進(jìn)行了詳細(xì)分析,并對(duì)算法的CUDA實(shí)現(xiàn)進(jìn)行了優(yōu)化,相對(duì)于傳統(tǒng)的基于CPU的艦船檢測(cè)方式,具有低廉的成本、極低的功耗,以及高度的便攜性,同時(shí)獲得了162倍以上的加速比。
參考文獻(xiàn):
[1]唐沐恩,林挺強(qiáng),文貢堅(jiān).遙感圖像中艦船檢測(cè)方法綜述[J].計(jì)算機(jī)應(yīng)用研究,2011,01:29-36.
[2]郭勐,簡(jiǎn)方軍,張欽,等.基于FPGA實(shí)現(xiàn)的星載SAR實(shí)時(shí)成像系統(tǒng)研究[J].計(jì)算機(jī)研究與發(fā)展,2007,03:497-502.
[3]雷盼飛,蘇清賀,楊桄. SAR圖像艦船目標(biāo)檢測(cè)研究[J].影像技術(shù),2011,04:40-45.
[4]姚成祥.基于CPU+GPU異構(gòu)計(jì)算平臺(tái)的SAR成像研究與實(shí)現(xiàn)[D].中國(guó)航天第二研究院航天科工集團(tuán)第二研究院, 2012.
[5]李文武.中低分辨率光學(xué)遙感圖像艦船目標(biāo)檢測(cè)算法研究[D].國(guó)防科學(xué)技術(shù)大學(xué),2008.
[6]種勁松.合成孔徑雷達(dá)圖像艦船目標(biāo)檢測(cè)算法與應(yīng)用研究[D].中國(guó)科學(xué)院電子學(xué)研究所,2002.
[7]李俊敏. SAR圖像艦船目標(biāo)檢測(cè)方法研究[D].西安電子科技大學(xué),2014.
[8]趙明波,何峻,付強(qiáng). SAR圖像CFAR檢測(cè)的快速算法綜述[J].自動(dòng)化學(xué)報(bào),2012,12:1885-1895.
[9]周樹(shù)道,王敏,葉松,王俊. 基于SAR圖像的海洋艦船目標(biāo)檢測(cè)技術(shù)[J]. 微計(jì)算機(jī)應(yīng)用,2010,02:61-65.
[10]Blake A P, Blacknell D, and Oliver C J. Sea clutter analysis and its resolution dependence[C].Radar conference 97,Edinburgh, UK, Oct.14-16, 1997: 124-128.
[11]Novak L M, Halversen S D, Owirka G J, et al. Effects of polarization and resolution on SAR ATR[J]. erospace and Electronic Systems, IEEE Transactions on, 1997, 33(1): 102-116.
[12]陳利民,楊學(xué)志,張晰,等. SAR艦船檢測(cè)算法對(duì)比分析研究[J].遙感信息,2015,02:99-104+110.
[13]龔小冬,李飛,張志敏,等. 一種新穎的高分辨率SAR艦船檢測(cè)方法[J].雷達(dá)科學(xué)與技術(shù),2015,01:70-75.
[14] MOREIRA A,PRATSTIRAOLA P,YOUNIS M,et al.A tutorial on synthetic aperture radar[J].IEEE Geoscience and Remote Sensing Magazine,2013,1( 1) : 6 - 43.
[15]陶偉東,黃昊,苑振宇,等.基于GPU并行的遙感影像邊緣檢測(cè)算法[J].地理與地理信息科學(xué),2013,01:8-11.
本文來(lái)源于《電子產(chǎn)品世界》2017年第4期第53頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處。
評(píng)論