基于多DSP和FPGA的實(shí)時(shí)雙模視頻跟蹤裝置設(shè)計(jì)
1、引言
隨著現(xiàn)代高速DSPan" style="margin: 0px; padding: 0px; ">處理器的迅猛發(fā)展,圖像處理技術(shù)也日益成熟。其中,移動(dòng)目標(biāo)的視頻檢測(cè)與跟蹤是圖像處理、分析應(yīng)用的一個(gè)重要領(lǐng)域,是當(dāng)前相關(guān)領(lǐng)域的研究前沿。移動(dòng)目標(biāo)視頻檢測(cè)與跟蹤技術(shù),在機(jī)器人視覺(jué)、交通監(jiān)測(cè)、可視預(yù)警、機(jī)器導(dǎo)航等民用領(lǐng)域有著廣泛的應(yīng)用,同時(shí)在火力攔截、導(dǎo)彈電視和紅外視頻制導(dǎo)等軍用方面也發(fā)揮著重要作用?;诙S轉(zhuǎn)臺(tái)以DSP和FPGA為核心器件構(gòu)成的視頻識(shí)別和跟蹤裝置,可工作于電視圖像或紅外兩個(gè)波段,實(shí)現(xiàn)圖像跟蹤各項(xiàng)功能。本文提出的跟蹤算法與設(shè)計(jì)的跟蹤裝置可在一定程度上解決視頻跟蹤精度低、處理速度慢的問(wèn)題,同時(shí)本視頻跟蹤裝置也可作為進(jìn)一步研究圖像處理與跟蹤控制的平臺(tái)。
2、視頻跟蹤裝置的硬件設(shè)計(jì)
圖像處理最主要的是實(shí)時(shí)性、可靠性和精確度。針對(duì)圖像處理速度慢的問(wèn)題,考慮從硬件和和軟件兩方面解決:一是選擇高速的DSP和FPGA為核心器件;二是從平衡圖像處理的實(shí)時(shí)性和效果中選擇最優(yōu)的圖像處理算法。針對(duì)圖像跟蹤可靠性問(wèn)題,采用雙模式復(fù)合制導(dǎo),由處理器根據(jù)信號(hào)的置信度來(lái)選擇跟蹤模式。針對(duì)圖像形心跟蹤算法的精度問(wèn)題,采取基于去圖像陰影的圖像跟蹤算法。
2.1 視頻跟蹤裝置的圖像信號(hào)處理模塊硬件組成
為達(dá)到實(shí)時(shí)處理圖像信號(hào)信息,我們選擇3片高速DSP作為核心處理器。其中用作信息融合的是TMS320C6416,在跟蹤模塊中,使用了兩片相對(duì)價(jià)格低廉一些的TMS320C6201實(shí)現(xiàn)并行圖像跟蹤算法。配合DSP工作的外圍邏輯電路,我們采用xlinix公司的XCV400E型FPGA,同時(shí)實(shí)現(xiàn)部分的圖像預(yù)處理功能。
本視頻跟蹤裝置的圖像信號(hào)處理模塊主要硬件構(gòu)成如圖1所示:以電視圖像波段為例,圖像采集模塊的傳感器是面陣CCD攝像機(jī),用來(lái)采集視頻圖像信息。A/D轉(zhuǎn)換將拍攝到的模擬圖像信號(hào)轉(zhuǎn)為8位數(shù)字信號(hào)送FPGA處理,同步信號(hào)接受攝像機(jī)的行同步和場(chǎng)同步信號(hào)也送入FPGA。一部分處理的結(jié)果直接經(jīng)D/A轉(zhuǎn)換器送監(jiān)視器顯示。SDRAM數(shù)據(jù)存儲(chǔ)區(qū)存儲(chǔ)背景圖像數(shù)據(jù)。一路在FPGA進(jìn)行背景差分、4×4滑動(dòng)平均、去陰影后形成的移動(dòng)目標(biāo)信號(hào)濾波后送到其中一塊TMS320C6201執(zhí)行基于分割的改進(jìn)型形心跟蹤算法,另一路則經(jīng)過(guò)濾波后送入另一片TMS320C6201執(zhí)行相關(guān)跟蹤算法,然后由決策融合模塊的TMS320C6416根據(jù)兩路信號(hào)的置信度來(lái)選擇跟蹤模式,達(dá)到并行雙模式圖像復(fù)合跟蹤。最后將目標(biāo)位置信號(hào)進(jìn)行轉(zhuǎn)化后輸送到運(yùn)動(dòng)控制器控制二維轉(zhuǎn)臺(tái)對(duì)移動(dòng)目標(biāo)進(jìn)行實(shí)時(shí)跟蹤。
2.2視頻跟蹤裝置運(yùn)動(dòng)控制模塊的硬件組成
運(yùn)動(dòng)控制模塊硬件由GPT轉(zhuǎn)臺(tái)構(gòu)成。GPT系列轉(zhuǎn)臺(tái)為模擬火炮或雷達(dá)跟蹤系統(tǒng)的旋轉(zhuǎn)運(yùn)動(dòng)系統(tǒng),它包含電控箱、兩維數(shù)控轉(zhuǎn)臺(tái)本體及運(yùn)動(dòng)控制器三大部分。轉(zhuǎn)臺(tái)本體主要由機(jī)械結(jié)構(gòu)件(含PAN和TILT)、驅(qū)動(dòng)用交流伺服電機(jī)(兩套)、諧波減速器、斜齒輪、限位開(kāi)關(guān)等部分組成。電控箱內(nèi)安裝有交流伺服驅(qū)動(dòng)器、I/O接口板、開(kāi)關(guān)電源、開(kāi)關(guān)、指示燈和電氣元件等主要部件。運(yùn)動(dòng)控制器主要由GT-400-SV運(yùn)動(dòng)控制卡、GM-400-SV運(yùn)動(dòng)控制卡用戶接口軟件等部分組成。作為機(jī)電控制系統(tǒng)的核心組成部分,GPT轉(zhuǎn)臺(tái)可用作監(jiān)控設(shè)備的基礎(chǔ)運(yùn)動(dòng)平臺(tái),又可作為研制火箭、導(dǎo)彈、魚(yú)雷和衛(wèi)星等高科技尖端武器的仿真和試驗(yàn)平臺(tái)。該系統(tǒng)可實(shí)現(xiàn):定位精度:±0.0069°;重復(fù)精度:±0.00056°;速度:0.01~90°/sec;加速度:90°/sec2;行程:Pan方向?yàn)?plusmn;176°;Tilt方向?yàn)?15°~+50°;負(fù)載:30kg。
3、視頻跟蹤裝置算法的分析
按照處理順序,我們將整個(gè)過(guò)程分解為圖2所示。圖像采集模塊:對(duì)視頻圖像進(jìn)行A/D轉(zhuǎn)換,形成原始的256級(jí)灰度圖像,作為待處理的圖像信息。背景差分模塊:重建背景,并完成與當(dāng)前幀的差分。在背景重建時(shí)采用基于最小二乘法的時(shí)域遞推公式來(lái)完成,這個(gè)方法只需要一幀圖像的存儲(chǔ),而且可以用遞推實(shí)現(xiàn)。去噪聲模塊:做應(yīng)用鄰域平均法實(shí)現(xiàn)圖像平滑濾波,以及采用顏色濾波法去除陰影等工作。以上算法都是針對(duì)FPGA的特點(diǎn)提出的,將FPGA設(shè)計(jì)成專用運(yùn)算器并實(shí)現(xiàn)算法。
形心跟蹤模塊和相關(guān)跟蹤模塊分別使用的形心投影方法和二維最小絕對(duì)差累加和算法計(jì)算目標(biāo)的位置,融合決策模塊實(shí)現(xiàn)置信度選擇,同時(shí)對(duì)目標(biāo)信號(hào)進(jìn)行擬合和軌跡外推,實(shí)現(xiàn)目標(biāo)在偶然丟失下的預(yù)測(cè)跟蹤,以及深度丟失下的跟蹤狀態(tài)轉(zhuǎn)換和搜索狀態(tài)下控制二維轉(zhuǎn)臺(tái)對(duì)視場(chǎng)的慢速掃搜。這部分針對(duì)DSP的特點(diǎn),采用C語(yǔ)言編程實(shí)現(xiàn)。
3.1主要算法特點(diǎn)分析
(1)背景差分法算法
背景差分是利用當(dāng)前圖像與背景圖像差分來(lái)檢測(cè)出運(yùn)動(dòng)區(qū)域的一種技術(shù),一般能提供最完全的特征數(shù)據(jù),但對(duì)于動(dòng)態(tài)場(chǎng)景的變化,如光照等事件的干擾特別敏感??紤]到攝像機(jī)移動(dòng)緩慢,背景圖像變化比較遲緩,而運(yùn)動(dòng)對(duì)象相對(duì)于背景變化較快,這樣相對(duì)于變化較慢的背景圖像來(lái)說(shuō),可把運(yùn)動(dòng)對(duì)象看作是一個(gè)對(duì)背景圖像的隨機(jī)擾動(dòng)。針對(duì)本裝置的設(shè)計(jì)要求,我們應(yīng)用Kalman濾波器在零均值白噪聲的退化公式即漸消記憶遞歸最小二乘法,來(lái)更新和重建背景圖像,得到時(shí)域漸消遞歸最小二乘法的遞歸式:
(2)顏色濾波去陰影算法
如果圖像中具有運(yùn)動(dòng)陰影和分割碎塊,分割所得的圖像往往與實(shí)際目標(biāo)不符,產(chǎn)生欠分割或過(guò)分割的現(xiàn)象。由于陰影象素的灰度值在一個(gè)局部領(lǐng)域中變化不是很大,所以顏色濾波主要是構(gòu)造一個(gè)包含陰影的模板,再用這個(gè)模板與差分結(jié)果做邏輯與的操作,從而檢出陰影。本算法比較簡(jiǎn)單,執(zhí)行速度快,處理中不需要區(qū)分陰影和半陰影,而且可以將移動(dòng)陰影和背景中的陰影都檢出來(lái),只是模板中的參數(shù)要根據(jù)現(xiàn)實(shí)情況和經(jīng)驗(yàn)來(lái)定。由于靜止物體的陰影也是不動(dòng)的,所以靜止目標(biāo)可以歸入背景中。由公式(2)可檢測(cè)出動(dòng)目標(biāo)。
(3)形心跟蹤算法
形心跟蹤是將整個(gè)跟蹤波門內(nèi)的圖像二值化,用求目標(biāo)形心的辦法獲得目標(biāo)位置參量。由于形心值是相對(duì)于目標(biāo)面積歸一化的值,因此形心值不受目標(biāo)面積、形狀以及灰度分布細(xì)節(jié)的限制。同時(shí),形心跟蹤的計(jì)算頗為簡(jiǎn)便。但是,形心跟蹤器受目標(biāo)的劇烈運(yùn)動(dòng)或目標(biāo)被遮擋的影響較為嚴(yán)重,瞄準(zhǔn)點(diǎn)漂移是遠(yuǎn)距離跟蹤系統(tǒng)的主要誤差之一。這也是我們采用目標(biāo)軌跡擬合算法來(lái)外推運(yùn)動(dòng)目標(biāo)位置,并與相關(guān)跟蹤法并行工作的原因。由于形心算法比較普及,本跟蹤裝置直接采用了改進(jìn)的形心跟蹤算法,用目標(biāo)峰值自適應(yīng)檢測(cè)算法使系統(tǒng)的計(jì)算可靠性和實(shí)時(shí)性達(dá)到最佳結(jié)合值。
(4)相關(guān)跟蹤算法
相關(guān)跟蹤是對(duì)目標(biāo)圖像和輸入圖像進(jìn)行相關(guān)運(yùn)算,通過(guò)對(duì)搜索區(qū)域每次運(yùn)算結(jié)果進(jìn)行處理獲取相關(guān)峰值?
從而確定目標(biāo)在輸入圖像的位置。在圖像目標(biāo)背景比較復(fù)雜以及背景與目標(biāo)無(wú)明顯灰度差的場(chǎng)合,相關(guān)跟蹤具有較好的抗干擾能力,可以應(yīng)付一定的形變和灰度畸變,能對(duì)復(fù)雜場(chǎng)景中的指定目標(biāo)進(jìn)行穩(wěn)定跟蹤,并對(duì)目標(biāo)交叉遮擋有較好的記憶效果,因此我們采用基于二維最小絕對(duì)差累加和算法的相關(guān)匹配算法進(jìn)行圖像特征識(shí)別,相似性度量為:
(5)雙模式組合算法[6]
如表1所示,由于形心跟蹤和相關(guān)跟蹤各有優(yōu)缺點(diǎn),具有較大的互補(bǔ)性[7] 。采用形心跟蹤算法的DSPan" style="margin: 0px; padding: 0px; ">DSP和相關(guān)匹配跟蹤算法的DSP同時(shí)工作,按照各自的圖像分割方法分割出目標(biāo)和背景,抽取目標(biāo)的特征,輸出目標(biāo)的跟蹤信息。最后在主控的TMS320c6416進(jìn)行檢查,把相關(guān)匹配跟蹤模式中采用相關(guān)峰值的相關(guān)度函數(shù)構(gòu)造的目標(biāo)位置置信度和形心跟蹤模式的置信度進(jìn)行置信度判決,從而決定選擇跟蹤控制信號(hào),同時(shí)對(duì)不適當(dāng)?shù)母櫮K進(jìn)行重新裝定。
表1 兩種模式優(yōu)缺點(diǎn)比較
(6)目標(biāo)暫時(shí)丟失下目標(biāo)軌跡外推算法
在跟蹤目標(biāo)的過(guò)程中,目標(biāo)在視場(chǎng)中可能會(huì)被短時(shí)遮擋而丟失;另外當(dāng)目標(biāo)在視場(chǎng)中停留,則目標(biāo)可能融入背景,也會(huì)出現(xiàn)目標(biāo)丟失的現(xiàn)象。針對(duì)這兩種情況,當(dāng)目標(biāo)短時(shí)遮擋,根據(jù)存儲(chǔ)記憶以前各幀和本幀的目標(biāo)信息,采用微分線性擬合外推方法預(yù)測(cè)下一時(shí)刻目標(biāo)的位置。而當(dāng)目標(biāo)在視場(chǎng)停留時(shí),首先按目標(biāo)被遮擋處理,當(dāng)外推有限步,或是外推到接近邊界時(shí)目標(biāo)仍未出現(xiàn)時(shí),則確定該目標(biāo)在視場(chǎng)停留,標(biāo)記停留位置,當(dāng)目標(biāo)再次出現(xiàn)時(shí)繼續(xù)完成跟蹤。
4、系統(tǒng)工作狀態(tài)分析
為實(shí)現(xiàn)使自動(dòng)有序的跟蹤,我們確定系統(tǒng)各個(gè)跟蹤狀態(tài)和各狀態(tài)之間的轉(zhuǎn)換條件。
本系統(tǒng)跟蹤狀態(tài)有四種:
S0 搜索狀態(tài) 發(fā)生在系統(tǒng)初始工作或目標(biāo)完全丟失階段。
S1 捕獲狀態(tài) 系統(tǒng)處于發(fā)現(xiàn)目標(biāo)狀態(tài)。
S2 正常跟蹤狀態(tài) 系統(tǒng)處于對(duì)目標(biāo)的正常跟蹤中。
S3 預(yù)測(cè)跟蹤 目標(biāo)偶爾丟失時(shí),系統(tǒng)通過(guò)自學(xué)習(xí)對(duì)當(dāng)前目標(biāo)進(jìn)行預(yù)測(cè)跟蹤,并試圖再捕獲目標(biāo)。
本系統(tǒng)轉(zhuǎn)換條件有三種:
C1目標(biāo)截獲。
C2目標(biāo)偶然丟失,指目標(biāo)瞬間丟失?
其運(yùn)動(dòng)仍具有可預(yù)測(cè)性。
C3目標(biāo)深度丟失,指目標(biāo)丟失一段時(shí)間,其運(yùn)動(dòng)不可預(yù)測(cè)。
系統(tǒng)狀態(tài)轉(zhuǎn)換情況如圖3所示。在視頻跟蹤裝置啟動(dòng)并初始化后,進(jìn)入搜索狀態(tài)S0,系統(tǒng)按照一定的掃搜規(guī)律進(jìn)行搜索;當(dāng)形心跟蹤模塊發(fā)現(xiàn)移動(dòng)目標(biāo),則進(jìn)入捕獲狀態(tài)S1;由相關(guān)跟蹤模塊對(duì)目標(biāo)進(jìn)行識(shí)別,確認(rèn)后進(jìn)入正常跟蹤狀態(tài)S2;當(dāng)目標(biāo)偶爾丟失時(shí),系統(tǒng)通過(guò)自學(xué)習(xí)對(duì)當(dāng)前目標(biāo)進(jìn)行預(yù)測(cè)跟蹤,并試圖再捕獲目標(biāo),進(jìn)入預(yù)測(cè)跟蹤狀態(tài)S3;如果目標(biāo)完全丟失,則改變搜索策略,重新再搜索,以便有可能再次捕獲目標(biāo)。
5、結(jié)論
本視頻跟蹤裝置在設(shè)計(jì)上能完成對(duì)移動(dòng)目標(biāo)的檢測(cè)和跟蹤,初步實(shí)驗(yàn)結(jié)果表明采用基于DSP和FPGA的硬件實(shí)現(xiàn)算法使系統(tǒng)的實(shí)時(shí)性能得到很大提高。雙模式的圖像跟蹤算法使系統(tǒng)適合多種背景下的移動(dòng)目標(biāo)跟蹤,自適應(yīng)能力強(qiáng),抗干擾性能好,具有鎖定目標(biāo)短暫丟失后的再次捕獲能力,提高了跟蹤的可信度。但本設(shè)計(jì)擬在下面兩個(gè)方面作進(jìn)一步的研究。一是考慮本裝置的軍事應(yīng)用背景,需要目標(biāo),尤其是遠(yuǎn)方目標(biāo)有相對(duì)較高的速度才能觸發(fā)系統(tǒng)捕獲,因此沒(méi)有考慮攝像頭自身跟蹤時(shí)的運(yùn)動(dòng)補(bǔ)償[8]。否則,必須加入攝像機(jī)運(yùn)動(dòng)估計(jì)和補(bǔ)償;二是對(duì)移動(dòng)目標(biāo)的識(shí)別能力還需加強(qiáng),在設(shè)定特定跟蹤目標(biāo)上,尤其是跟蹤到多個(gè)移動(dòng)目標(biāo)時(shí),不具備區(qū)分的能力,需要改進(jìn)到能識(shí)別設(shè)定中的跟蹤目標(biāo)并完成對(duì)設(shè)定目標(biāo)的跟蹤。