溫慶福,郭向東
(1.電子科技大學光電信息學院,四川成都610051;2.安徽現代電視技術有限公司成都研發中心,四川成都610017)
記錄活動目標軌跡是對運動目標監測和跟蹤的一項重要內容[1]。尤其是在對飛行器的實時坐標定位及飛行軌跡的記錄,在航空航天等領域起著重要應用。對這些目標的運動空間軌跡的自動記錄非常復雜[2],除了必須具備一系列先進的科學儀器設備外,還要進行大量的數據處理和復雜的數學建模分析才能實現[3]。
在圖像的識別與跟蹤中,為了增強人的信息判斷力,通常需要顯示出活動目標的軌跡[4]。為了解決跟蹤存在的問題,需要對目標的軌跡進行預測[5]。如果圖像出現了許多個目標,可以根據預測軌跡范圍剔除虛假目標;如果預測目標軌跡誤差在允許的范圍內,則在連續幾幀失去目標仍可以跟蹤,提高跟蹤的可行性[6]。但是如果直接將這些點送入軌跡檢測環節(包括大量的復雜運算,如乘法、除法等)進行軌跡預測、匹配,不僅運算量大、消耗硬件資源多,還對系統的實時性提出很高要求[7]。傳統的基于硬件的電路,要實現目標軌跡的記錄,所需存儲容量與軌跡需要記錄的時間,單幀圖像大小和圖像幀頻成正比[8]。通常在硬件資源成本和體積上開銷很大。而且使用的器件越多,流程越長,系統的穩定性越低。
因此,本文提出一種新型活動目標軌跡算法。該算法不再受圖像頻率和顯示時間的限制,根據軌跡所需保留時間長短來調整傳遞函數,僅僅需要一個幀存器就能實現。對非計算機系統,極大地減小硬件的體積和降低成本,提高系統的穩定性。尤其是在便攜式設備中,優勢相當明顯。同時,避免了將軌跡不作區分的顯示。該方法可根據速度大小、顯示時長等因素,自行設定軌跡的顯示。
所謂活動目標蹤跡,就是要在當前第i幀畫面上,既要顯示當前活動目標的位置,還要顯示過去第i-1,i-2,…,i-n幀該活動目標的位置信息。過去n幀的蹤跡保留記錄,一般需要n個幀存儲器才能實現。采用n個幀存儲器,設備量大增,成本大增。本文僅用一個幀延遲器來完成n幀疊加處理的功能,即循環遞歸疊加法。本文設計的遞歸傳遞函數為

式中:k是變換系數;z-1表示延遲1幀。
將式(1)傳遞函數轉換成電路,一個四端網絡。已知當前第k幀帶有活動目標信息的圖像Ro(x,y)作為網絡的輸入,Ro(x,y)是經過二值化處理的值。設該網絡的輸出信號(經傳遞函數運算處理后,載有活動目標歷史記錄以及當前目標信息的色差信號)為輸出Rch(x,y)=Ro(x,y)·H(z)。也就是說,輸入Ro(x,y)乘以傳遞函數H(z)等于輸出Rch(x,y),這就是傳遞函數的定義,如圖1所示。

圖1 H(z)傳遞函數的四端網絡
根據四端網絡的傳遞函數定義:“輸出信號”=“輸入信號”·“傳遞函數”,則有

將式(2)翻譯成電路,如圖2所示。

圖2 循環遞歸疊加電路原理圖
如圖2所示,“z-1”就是1個幀延遲器。首次循環疊加前,應將系統的所有存儲器清零,去掉先前時刻保持的信息。也就是第一幀時Rch(x,y)等于Ro(x,y)+0。將輸出信號Rch(x,y)經 1 幀延遲后成為Rch(x,y)·z-1信號。
k為變換系數,Rch(x,y)·z-1信號乘k得到Rch(x,y)·k·z-1反饋信號。將“活動目標軌跡”作為歷史記錄,變換系數k的取值,對軌跡記錄時間和記錄效果起著十分重要的作用。本文設定當前時刻目標點的灰度值為M,該目標點消失時為m。顯示的時間為T,T通常取單幀圖像顯示時間的整數倍。圖像顯示的幀頻為F,k與T對應的關系為

當k=1時,軌跡始終保留著,甚至活動目標消失后,它仍存在。但如果k取值過小,灰度值迅速降低,不利于形成軌跡顯示,如k取0.5時,軌跡時間過短。因此,k值范圍一般為0.5≤k<1。若運動的目標過多,k的取值過于趨近1,歷史記錄太多將占滿屏幕,顯示過于繁雜,勢必影響對當前目標的關注力。因此,在設計k的取值時,需要綜合考慮運動物體的數目、速度,以及需要顯示的軌跡時間,以便識別。從而能達到軌跡適度清晰的顯示,使畫面清爽。在灰度圖像中,采用該算法直接改變圖像的灰度值,能得到很好的顯示效果。k取值不同時,將影響灰度值的變化的。亮度值的范圍通常為16~235。
圖3為灰度值Y(k,f)的函數圖。橫坐標f表示幀數,縱坐標為灰度值Y。坐標圖表示了取不同變換系數k值時,各幀f對應灰度值Y的函數圖。即活動目標在第0幀時出現,被賦予最大灰度值235。在以后各種幀中,運用循環遞歸函數得到目標顯示的灰度值。圖中6條函數線表示k分別取:1.00,0.95,0.90,0.80,0.70,0.50,對應0~50幀的灰度值曲線。由圖3可以看出,從同一時刻開始,在相同幀,k越大對應的圖像灰度值越大。最上方直線表示k=1,即灰度值恒為235,下方的虛線為灰度值恒為16的圖像。因此,k取值越趨近于1,Y衰減越慢,軌跡保留的時間就越長。

圖3 灰度值Y(k,f)的函數圖
在這樣的軌跡顯示中,即使存在某幀目標的漏檢測,同樣能有效形成軌跡的顯示,不影響效果。所以在遠距離的運動小目標的檢測顯示中,能極大增強人對目標的識別。
實現“+”,即Ro(x,y)+Rch(x,y)·kz-1,將其值送入,繼續此循環。在運用該算法進行軌跡的記錄前,應先對目標圖像進行檢測,運用相應的目標檢測算法,將提取的目標區域進行圖像二值化處理,即目標區域的灰度值為“1”,其他像素灰度值為“0”。
這樣可盡量減小虛假目標或噪聲對軌跡顯示的影響,極大提高圖像軌跡的顯示效果,使畫面更加清晰。
使用該算法,活動目標軌跡示意圖見圖4。ti表示當前第i時刻的目標,ts表示固定靜止目標。因為目標在第i-n幀到第i幀一直出現在相同的位置,或者運動速度十分小,幾乎可視為靜止。ti-n表示i之前的第n時刻的出現位置。運動目標,見圖中ti-n~ti,在不同幀出現的位置不同,并且被分別記錄下來。

圖4 活動目標軌跡示意圖
對不同k值的軌跡進行實驗,在現場可編程門陣列(FPGA)中實現。其硬件結構如圖5。其中的FIFO也就是上文中提到的“z-1”,1個幀延遲器。

圖5 硬件結構
FPGA輸入信號采用國際電聯定義的ITU-R BT.656數字圖像接口標準[9],幀頻為25 Hz,分辨力為720×576的PAL制式視頻信號[10]。圖6為經過目標檢測二值化后的圖像。

圖6 原始視頻圖像
圖7 分別對應k=0.5,0.6,0.7,0.8,0.9,0.973 4 時的軌跡。不同的k依次對應的顯示時間分別為:0.16 s,0.24 s,0.32 s,0.48 s,1 s,4 s。當然根據需要,其他情況與上文相同,若要顯示60 s,則可把k設為0.998 2。
對應不同的k值,視頻圖像通過幀循環疊加算法處理后結果如圖7所示。已經能在一定程度上識別出目標的運動軌跡。特別是對于圖7f(k=0.973 4)的軌跡。可以判讀出目標從右上方進入,在中間拐彎向右下方運動。對于那些被檢測的亮度的目標,如圖7中正右方的目標,它始終沒有軌跡,因此可以判斷為靜止目標或者是運動速度極小的趨于靜止的目標。
本文針對硬件系統中活動目標軌跡的保存和顯示進行了深入研究,解決了過去硬件中需要多個幀存器才能實現軌跡顯示的問題。經一系列的理論推導和實驗表明,幀循環疊加算法,通過調整相應的k值就可實現不同時間長短需要的軌跡顯示,操作簡單,能有效解決目標軌跡問題。特別是在遠距離運動小目標問題中,將極大增強人為的二次辨別的能力。

圖7 不同k值對應的軌跡
[1]曾劉蘇.航模飛機實時定位及飛行軌跡記錄方法研究[J].計算機測量與控制,2012,20(6):1656-1661.
[2]張春華,周曉東,陳維真.基于背景抑制的星空圖像目標運動軌跡提取[J].紅外與激光工程,2008,37(1):143-146.
[3]李克新,張偉,叢明煜,等.一種深空背景空間小目標條痕檢測算法[J].光學學報,2010,30(2):445-450.
[4] YIN H,CHAIY,YANG S,et al.Fast-moving target tracking based on mean shift and frame-difference methods[J].Journal of Systems Engineering and Electronics,2011,4(22):587-592.
[5] GUO Jichang,CHEN Minjun,WU Xiaojia.Moving target tracking system based on DSP[C]//Proc.Applied Informatics and Communication-International Conference,ICAIC 2011.,China:[s.n.],2011:20-21.
[6]張永輝,武征,高炳哲.紅外圖像序列中運動弱小目標軌跡預測方法研究[J].紅外與激光工程,2006,35(S1):152-155.
[7]陽芬.紅外序列圖像目標航跡關聯檢測算法研究與硬件設計[D].長沙:國防科技大學,2008.
[8]王文彬,王文革,王松.海量存儲技術在變電站視頻監控中的應用[J].電視技術,2011,35(17):97-100.
[9] GB/T 17953—2000,4∶2∶2 數字分量圖像信號的接口[S].北京:中國標準出版社,2000.
[10]向厚振,張志杰,王鵬.基于FPGA視頻和圖像處理系統的FIFO緩存技術[J].電視技術,2012,36(9):41-43.