王子瑜 張長江 周軍華 李 強
(中國電子科技集團公司第二十七研究所 鄭州 450000)
目標檢測跟蹤算法在20世紀中期已經(jīng)被提出,結(jié)合硬件平臺FPGA和DSP,運用到了各個領(lǐng)域,尤其在軍事方面。但是,伴隨著科學(xué)技術(shù)的發(fā)展與進步,日益復(fù)雜的戰(zhàn)場環(huán)境,對檢測跟蹤算法提出了更高的要求,所以對檢測跟蹤算法進行深入研究是非常必要的。
當前,我國有很多科研人員對目標檢測跟蹤算法進行了研究,如基于局域熵的圖像檢測跟蹤[1],基于Top-hat的圖像檢測跟蹤[2~3],基于塊匹配的圖像檢測跟蹤[4],基于多尺度的圖像檢測跟蹤[5]等。這些算法都能很好地實現(xiàn)檢測跟蹤效果。但是在移植到DSP平臺時,受限于DSP的處理速度、內(nèi)存空間、外界場景等因素,有些算法移植效果并不是很好。
本文針對天空背景的弱小運動目標,根據(jù)TMS320C6455[6]的特點,將FPGA傳輸過來的1800*960像素的一幅圖像,分四次從DDR上乒乓到DSP的芯片內(nèi)部,這樣有效節(jié)省了DSP存儲的空間。然后采用偏微分[7~8]因子和幀間差分[9~10]因子相結(jié)合的算法,并對算法進行改進,減小了算法運行的時間復(fù)雜度,同時也提高了跟蹤的準確度。
DSP接收FPGA傳過來的圖像,然后進行檢測,一旦的檢測到目標,就轉(zhuǎn)入跟蹤模式,最后將目標坐標傳給FPGA和原圖疊加,顯示跟蹤效果。如果在跟蹤模式下,目標丟失,那么就會轉(zhuǎn)搜索模式,重新搜索目標。
圖1 檢測跟蹤總系統(tǒng)流程圖
本文采用的檢測跟蹤算法,首先用偏微分因子和幀間差分因子進行圖像處理,然后閾值分割,隨后進行聚類[11]和管道濾波[12],最終得到目標。
幀間差分算法,就是將一個視頻圖像序列的緊鄰兩幅圖像作差,從而得到運動目標的信息,濾除靜態(tài)背景的信息。偏微分算法是根據(jù)目標信息和周邊灰度背景之間的關(guān)系,對一幅靜態(tài)圖像進行背景抑制[13],從而分離出目標和背景。幀間差分得到的是一個動態(tài)算子,偏微分算法得到的是一個靜態(tài)算子,將兩者結(jié)合,能更好地凸顯目標。
在進行圖像處理后,下一步采用自適應(yīng)閾值分割,分割公式如下:
e、v分別代表圖像均值和標準差。n、k為常量,根據(jù)實際情況取。
對分割后的二值圖像進行聚類。聚類就是對閾值分割后離散的點,按照橫、縱坐標的空間位置,將空間相距比較近的一些點聚在一起,從而得到待選目標。
聚類完成后,采用管道濾波。管道濾波的原理是,真正的目標在一個小區(qū)域范圍內(nèi)是漸變的,而偽目標則是隨機的,在監(jiān)測多幀的基礎(chǔ)上,就可以濾除偽目標,得到真正的目標。
本文算法改進主要體現(xiàn)在以下兩個方面。
1)從DDR上傳輸?shù)紻SP上的圖像,采用四次乒乓方式,將一幅圖像均分成4份,依次從DDR轉(zhuǎn)存到芯片內(nèi)。然后對搬到芯片內(nèi)的1/4部分圖像進行運算,存儲運算結(jié)果,之后搬運另外1/4圖像進入芯片內(nèi)運算,以此類推。
TMS320C6455的L2數(shù)據(jù)存儲空間為2M,本文要處理的圖像為1800*960,一幅圖像大約就占用了1.6M,在幀間差分計算時,為了提高計算速度,需要放兩幅圖像到L2,這樣空間不夠用。如果一幅圖像采用均分成兩次從DDR轉(zhuǎn)存到L2,L2空間勉強夠用,但是在搜索模式下,后續(xù)代碼和數(shù)據(jù)存儲空間就會顯的緊張。如果一幅圖像采用均分成8塊或者更大的塊數(shù),從DDR轉(zhuǎn)存到L2,L2空間雖然充足夠用,但是在近距離檢測跟蹤目標時,由于目標相對較大,得到的感興趣區(qū)域就會較大,這樣感興趣區(qū)域,有可能在圖像上占用多個圖像塊,反而不利于目標圖像跟蹤。實驗表明,一幅圖像均分成4次從DDR轉(zhuǎn)存到L2,既能滿足算法數(shù)據(jù)在L2上的存儲需求,也能滿足目標檢測跟蹤的需求。
圖2 從DDR搬運圖像進入芯片內(nèi)圖示
2)算法一旦檢測到目標,就轉(zhuǎn)跟蹤模式。跟蹤模式所采用的算法和檢測模式一樣,只是檢測模式下,是全局搜索,跟蹤模式下,是感興趣區(qū)域內(nèi)搜索。在檢測到目標的坐標以后,根據(jù)得到的目標的中心位置和長、寬,得到一個以目標為中心的感興趣區(qū)域,本文采用感興趣區(qū)域的長和寬分別是目標長、寬的8倍。
一幅圖像被均分成4塊傳到芯片進行跟蹤,在得到感興趣區(qū)域的左上角坐標以后,在坐標所在的塊上進行感興趣區(qū)域跟蹤,同時,為了避免目標中心坐標在分塊的邊界上或者在下一塊中,本文采用對下一塊進行全局搜索。即如果感興趣區(qū)域左上角坐標在第一塊上,那么就在第一塊的感興趣區(qū)域進行跟蹤,在第二塊上全局檢測搜索,第三塊和第四塊不處理。依次類推。本文只在相鄰塊上進行搜跟,是因為目標一般情況不會分布在分割的三塊上。
采用這種方式進行跟蹤,一幅圖像最多被處理1/4,外加一個感興趣區(qū)域。相比于一幅圖像均分成兩次,改進算法大大減少了計算量,提高了運算速度,同時相比于一幅圖像均分成8次或者更大的次數(shù),該改進算法提高了跟蹤的準確度。
圖3 算法改進后的一次跟蹤流程圖
本文是在天空背景下飛無人機,進行了兩組試驗。
第一組試驗是分別將一幅圖像均分成2、4、8塊傳到L2,一塊進行感興趣區(qū)域跟蹤,相鄰的下一塊全局搜索。
第二組試驗是一幅圖像均分成4塊傳到L2,然后用改進的方案和傳統(tǒng)方案進行對比。
改進的方案采用一塊進行感興趣區(qū)域跟蹤,相鄰的下一塊全局搜索;傳統(tǒng)方案采用一塊進行感興趣區(qū)域跟蹤,另外所有的塊進行全局搜索。
圖4 試驗視頻截圖
表1 試驗對比結(jié)果
表2 試驗對比結(jié)果
試驗結(jié)果表明,采用一幅圖像被均分成4塊傳到L2,相比于均分成兩塊,跟蹤準確度沒有下降,但是跟蹤時間和占用空間都大幅縮小,避免了處理時間過長(系統(tǒng)要求一幀處理時間不能超過40ms),出現(xiàn)的漏幀現(xiàn)象;相比于分成8塊,雖然跟蹤時間和占用空間略大,但也能滿足DSP處理需求,同時跟蹤準確度相對提高。將一幅圖像被均分成4塊傳到L2,通過對比改進方案和傳統(tǒng)方案,發(fā)現(xiàn)跟蹤時間上,傳統(tǒng)方案不能滿足需求,會出現(xiàn)漏幀現(xiàn)象。
本文在TMS320C6455的基礎(chǔ)上,根據(jù)DSP的特點,對弱小運動目標進行檢測跟蹤,試驗結(jié)果表明,本文的改進算法,在保證了搜跟準確度的基礎(chǔ)上,不但降低了空間復(fù)雜度,滿足了芯片的空間要求,而且能縮減運行時間,滿足系統(tǒng)對處理一幅圖像的時間要求。