梁海軍,王 玄,夏正洪
(中國民航飛行學院空中交通管理學院,四川 廣漢 618307)
基于CUDA GPU的多攝像機場面航空器識別加速算法?
梁海軍,王 玄,夏正洪
(中國民航飛行學院空中交通管理學院,四川 廣漢 618307)
基于攝像機的航空器識別是機場場面監(jiān)視的重要工具。針對多攝像機場面航空器識別算法存在的計算效率低等缺點,提出基于GPU CUDA的加速算法。利用CUDA線程并行處理能力與GPU計算能力,對算法進行了重新設計與優(yōu)化。通過實地對多路場面視頻監(jiān)視數據進行了多次實驗,驗證了在NVIDIA Geforce 8800GTS顯卡上可實現(xiàn)10倍以上的加速性能,提高了航空器目標識別效率,可以滿足機場場面監(jiān)視中對航空器識別與跟蹤的實時性要求。
場面監(jiān)視,目標識別,目標跟蹤,GPU,CUDA
21世紀以來,我國航空運輸量隨航空運輸需求快速增加,機場機動區(qū)域不斷擴大,滑行道和跑道越來越復雜,航空器在機場場面發(fā)生危險沖突的概率也隨之增大。尤其是在飛行流量較大的大型機場,跑道和滑行道等資源嚴重不足,機場場面交通擁堵的現(xiàn)象時常出現(xiàn)。此外,部分跑道附近或聯(lián)絡節(jié)點區(qū)域屬于監(jiān)視盲區(qū),為機場運行埋下安全隱患。目前,我國多數機場都建立了場面視頻圖像系統(tǒng)以提高監(jiān)控效率,但仍然存在較多缺點。迫切需要針對多攝像機的目標識別、跟蹤等智能視頻分析手段,提高監(jiān)控效果。
運動目標識別是數字圖像處理技術的一個主要部分,是計算機視覺、目標跟蹤、模式識別、運動圖像編碼、基于內容的檢索等研究領域的重點和難點。由于天氣和光照的變化、背景混亂運動的干擾、運動目標的影子運動等原因的存在,在實際應用系統(tǒng)中進行多運動目標實時識別成為跟蹤系統(tǒng)研究中的一項重要課題。其中圖像變換、插值與融合的計算量巨大,是實時目標檢測與跟蹤的瓶頸。
本文提出基于GPU的多攝像機場面航空器識別加速方法,在CUDA(Compute Unified Driver Architecture)環(huán)境實現(xiàn)并優(yōu)化。在NVIDIA Geforce 8800GTS顯卡試驗可得到10倍左右的加速性能,基本可以滿足機場場面監(jiān)視中對航空器識別與跟蹤的實時性要求。本文的方法成功運用在民航科技項目“基于圖像的機場沖突熱點檢測處理關鍵技術研究”及樣機系統(tǒng)中,取得了較好效果。
單高斯背景模型能夠描述有微小變化的簡單場景,當場景中有樹木的晃動、熒屏的閃爍時,固定位置的像素值在不斷改變,呈現(xiàn)多模態(tài)特性,使用單高斯背景模型往往不能準確地模擬背景的變化。考慮到多模態(tài)情況下背景像素值的分布是多峰的,可以根據單模態(tài)的思想方法,定義每個像素點的分布模型為由多個單高斯模型組成的集合,根據每一個新的像素值更新模型參數,按照一定的準則判斷哪些像素點為背景點,哪些為前景點,從而實現(xiàn)對運動目標的識別。
1.1 混合高斯背景模型
K為單模型的個數,體現(xiàn)了像素值多峰分布的峰的個數,K的選取依賴于像素值的分布情況,同時也取決于計算機內存及對算法的速度要求,一般在3~5之間取值;為t時刻混合模型中第i個單高斯分布模型;為這個單模型的權值,其大小體現(xiàn)了當前用該模型表示像素值的可靠程度;為單模型的均值,體現(xiàn)了單模型的單峰分布的中心;為單模型的方差,反映了單模型的單峰分布的寬度,其大小體現(xiàn)了像素值的不穩(wěn)定程度;
1.1.2 修正像素模型參數
為了使模型貼近當前像素值的分布規(guī)律,需要針對每一個新到的像素值更新模型的參數。像素模型由多個單模型組成,具體修正步驟如下:
step5:去除當前多模型集合中權重最小的單模型,同時在多模型集合中加入一個新的單模型,這個單模型的權重為當前多模型集合中的最小權重,均值為新到的像素值,方差是一個給定的較大的常數。
step6:對多模型集合中各個單模型的權重進行歸一化處理:
1.1.3 建立背景像素模型
混合高斯模型對背景像素和運動前景像素一同建立模型,因此,每個像素模型中并不是所有的高斯分布都描述場景背景,需要確定哪些單模型是表示背景像素的。像素模型中是背景像素的模型應具有權重大和方差小的特點,權重大表示出現(xiàn)頻率高,方差小表示像素值變化不大。
1.2 運動目標檢測
運動目標檢測通過將當前幀圖像與背景模型相比較,判斷當前幀像素值是否與該像素的背景模型相匹配,如果不匹配,則認為該像素點為運動前景點。
CUDA是一種并行編程模型和軟件環(huán)境,是實現(xiàn)GPGPU計算的新軟件架構。在CUDA編程模型中,把CPU視為主機端(Host),GPU視為設備端(Device)。Host處理程序的整體流程和復雜分支的業(yè)務邏輯,Device處理大規(guī)模數據的并行計算,Host主機異步調用GPU的計算核進行計算,GPU運行并行程序并向CPU返回計算結果。顯存由Global Memory、Constant Memory、Texture Memory 3 種類型組成,如圖1所示,3種類型內存都可以在多個SM間共享,Constant Memory和Texture Memory內存是只讀的,Global內存是可以讀寫的。
圖1 異構體系結構圖
隨著攝像機技術的發(fā)展,圖像分辨率都在百萬級以上,圖像處理所需運算量也異常大,利用CUDA并行編程程序的可擴展性、存儲模式、數據調用等特點已有算法中數據處理流程改為并行處理算法,可大大提高處理效率。在對多攝像機視頻數據進行航空器目標識別處理時,首先對處理任務進行分解,可通過主機端CPU線程管理GPU,即將采集到的每路攝像機圖像數據從CPU內存?zhèn)鬏數紾PU顯存中,并負責數據傳輸、內核函數啟動、流程控制等,將多路視頻圖像進行系列化,用不同的線程塊處理不同幀的圖像以獲得并行性能。
考慮到對多攝像機、多幀圖像中的航空器目標進行識別的計算可相互獨立進行,因此,可以利用GPU并行快速實現(xiàn),如算法1所示。
實驗測試地點為中國西南某通航訓練機場,該機場飛行區(qū)等級為4 C級別,使用3部三星SNB-6004網絡高清攝像機與Tamron 13FG08IR鏡頭實現(xiàn)場面監(jiān)控,攝像機安裝位置及場面結構如下頁圖2所示,其中跑道長2 200 m寬30 m,滑行道較短,停機坪緊鄰塔臺。
數據處理工作站為Intel Core2 6400 2.13GHz CPU,內存2 G,支持CUDA顯卡為NVIDIA GeForce8800 GTS。NVIDIA GeForce 8800 GTS支持CUDA計算能力1.0規(guī)范,最大活躍線程數768。CUDA SDK為v3.2版本,開發(fā)工具為QT。為驗證GPU加速算法的計算效率,本實驗利用單線程、多線程和GPU加速算法分別對1路、3路攝像機錄取的5 min、10 min、20 min時長的景象數據進行航空器目標識別的計算效率進行了比較,結果如表1所示。由表1可以看出,當僅有一部攝像機時,利用CPU單線程技術處理時間很長,利用CPU多線程技術處理可以縮短處理時間,而利用GPU技術處理時則可以大大縮短處理時間,這種優(yōu)勢在使用3部攝像機時可以明顯的體現(xiàn)出來,利用CPU單線程技術處理時間很長,已無法滿足系統(tǒng)應用,而利用GPU技術對數據量不是很敏感,計算效率比CPU多線程技術提升10倍左右,能夠滿足系統(tǒng)應用。
圖2 機場場面結構及攝像機安裝位置圖
表1 采用CPU單線程、多線程和GPU計算時間
本實驗開發(fā)了基于CUDA GPU的多攝像機場面航空器識別原型系統(tǒng),利用采集到機場場面數據對上述算法進行了驗證,航空器識別效果如圖3所示,3個通道分別顯示3路攝像機所獲得的視頻圖像,通過多攝像機的視頻目標定位、跟蹤、關聯(lián),可以自動檢測出現(xiàn)在被觀測區(qū)域內的運動目標,并以顯著顏色在視頻通道中記錄其運動軌跡,如圖3中紅色軌跡線。通過實驗發(fā)現(xiàn),在非惡劣天氣情況下(如暴雨、大霧、大雪等),本文算法能夠將視頻原始數據轉化為直接有效的、可供監(jiān)控人員決策的信息,讓監(jiān)控人員全面、及時地了解機場場面航空器運動態(tài)勢。
圖3 場面監(jiān)視視頻航空器目標識別定位結果
本文針對多攝像機場面航空器識別算法存在的計算效率低等缺點采用CUDA方法進行加速,主要通過CUDA線程并行處理能力和GPU的計算能力,對算法進行了重新設計與優(yōu)化。通過實驗對比分析,本加速算法可以達到10倍以上的加速性能。在實地測試中,本算法在航空器目標檢測與跟蹤效率方面表現(xiàn)突出,能夠確?;诙鄶z像機場面航空器識別算法在機場場面監(jiān)視中應用。
[1]OWENSL J D,LUEBKE D.A survey of general-purpose computation on graphics hardware [J].COMPUTER GRAPHICS forum,Volume,2007,26(1):80-113.
[2]NADATHUR S.Designing efficient sorting algorithms for manycore GPUs[C]//23rd IEEE International Parallel and Distributed Processing Symposium,2009.
[3]NAGA K.GPUTeraSort:high performance graphics coprocessor sorting for large database management[R].Microsoft Technical Report 2005.
[4]張洪鉞,郭紅濤,楊雪勤.基于主動輪廓法的復雜背景下飛機圖像的輪廓提取[J].航天控制,2003(3):26-34.
[5]李渝,吳增印.基于局部和整體特征的飛機識別方法.現(xiàn)代電子技術[J].2013,36(14):44-47.
[6]周芳.智能監(jiān)控系統(tǒng)中運動目標識別技術的研究[D].武漢:武漢科技大學,2011.
[7]馬崎,馬蔚鵬,劉彥,等.基于支持向量機的圖像飛機目標自動識別算法研究[J].計算機測量與控制,2014,22(9).2851-2889.
[8]趙瑤.運動目標檢測與跟蹤方法研究[D].濟南:山東大學,2005.
[9]WANG X J,PAN F,WANG W H.Tracking of moving target based on video motion nuclear algorithm [J].International Journal on Smart Sensing and Intelligent System,2015,8(1):181-198.
[10]ROSENFELD A,KAK A C.Digital picture processing(2th ed)[M].New York:Academic Press,1982.
[11]XU C,PRINCE J L.Snakes,shapes and gradient vector flow [J].IEEE Transactions on Image Processing,1998,7(3):359-369.
Research of Accelerating Surface Aircraft Detection Algorithm Based on Multi-camera Using CUDA GPUs
LIANG Hai-jun,WANG Xuan,XIA Zheng-hong
(School of Air Traffic Management,Civil Aviation Flight University of China,Guanghan 618307,China)
One of the important surface surveillance tools is aircraft detection using camera in airport.The accelerating algorithm using CUDA technology on graphics processing units(GPU)was proposed to improve the speed of aircraft detection algorithm based on multi-camera.The aircraft detection algorithm is redesigned and optimized using multi-thread parallel processing capability of CUDA and computation capability of GPU.The true surveillance data from airport video is used to test the detection algorithm many times.The results validated that more than 10-fold speedup compared with CPU are obtained by using NVIDIA Geforce 8800 GTS.This approach can improve efficiency of target detection in airport surface,and satisfy with the real-time requirements of airport surface surveillance.
surface surveillance,target detection,target tracking,GPU,CUDA
V351;TP391
A
10.3969/j.issn.1002-0640.2017.07.010
1002-0640(2017)07-0044-04
2016-05-05
2016-07-07
國家自然科學基金(U1433126);中國民航飛行學院科研基金(BJ2016-08);民航科技基金資助項目(MHRD20150228)
梁海軍(1983- ),男,山東威海人,博士,講師。研究方向:空中交通管理,實時軟件工程。