紅外圖像實時跟蹤系統(tǒng)
系統(tǒng)組成及工作原理
實時紅外圖像自動跟蹤系統(tǒng),對紅外成像傳感器獲取的地面場景圖像數(shù)據(jù)中指定目標(biāo)區(qū)域進(jìn)行實時自動跟蹤,實時解算出目標(biāo)在圖像場景中的精確位置,并輸出目標(biāo)偏離系統(tǒng)視軸的方位,通過伺服控制回路,驅(qū)動穩(wěn)定平臺跟蹤目標(biāo)。同時,圖像跟蹤系統(tǒng)接受來自外部控制系統(tǒng)的控制命令和數(shù)據(jù),并按總體通訊協(xié)議要求向外部控制系統(tǒng)回送跟蹤系統(tǒng)的狀態(tài)、圖像數(shù)據(jù)和系統(tǒng)關(guān)鍵參數(shù)。
根據(jù)系統(tǒng)總體要求,選擇Altera公司Stratix系列的EP1S25。實時圖像跟蹤系統(tǒng)總體框圖如圖1所示,圖像跟蹤系統(tǒng)接受來自紅外成像焦平面視頻數(shù)據(jù)流,通過視頻信號行場和像素時鐘用來確定視場中每個像素的空間位置,視頻信號分為兩路處理,一路經(jīng)過系統(tǒng)中的Nios II相關(guān)跟蹤部分作自動跟蹤處理,另一路通過采集和顯示邏輯送到LCD監(jiān)視器用來觀察系統(tǒng)跟蹤情況。啟動相關(guān)跟蹤之前,系統(tǒng)通過遠(yuǎn)距離的RS485接收目標(biāo)位置和大小參數(shù),將選定目標(biāo)分割后的數(shù)據(jù)保存到目標(biāo)模板存儲區(qū),形成初始模板。利用模板對目標(biāo)進(jìn)行跟蹤,對跟蹤結(jié)果進(jìn)行預(yù)測外推,得到目標(biāo)的坐標(biāo)參數(shù)誤差后,通過RS232控制伺服系統(tǒng)對目標(biāo)進(jìn)行跟蹤。為了減小外圍電路使用,系統(tǒng)采用對二值化后的數(shù)據(jù)進(jìn)行相關(guān)匹配方式。考慮到EP1S25帶有1944576 bits的RAM,因此利用RAM模塊用來做高速相關(guān)匹配模板存儲區(qū),例化兩場圖像數(shù)據(jù)需要120000bits,僅占片內(nèi)RAM總?cè)萘康?%。
圖 1 系統(tǒng)的總體結(jié)構(gòu)框圖
跟蹤算法
目前有多種算法可用于目標(biāo)跟蹤。為了發(fā)揮FPGA實現(xiàn)并行算法的優(yōu)勢和NiosⅡ的靈活性,系統(tǒng)采用自遞歸的0tsu分割和相關(guān)跟蹤算法對紅外目標(biāo)進(jìn)行穩(wěn)定跟蹤,為了提高跟蹤精度,克服分割后的噪聲干擾,采用形態(tài)學(xué)方法去除噪聲突出目標(biāo)。整個算法的實現(xiàn)過程如圖2所示。
圖2 跟蹤原理算法圖
目標(biāo)分割
目標(biāo)圖像的分割效果尤其是有效地使目標(biāo)從背景中分離出來是保證系統(tǒng)穩(wěn)定跟蹤的關(guān)鍵。系統(tǒng)采用自遞歸的Otsu的聚類分割法。用聚類準(zhǔn)則分割圖像,當(dāng)目標(biāo)在圖像中占有適當(dāng)?shù)谋壤龝r,分割結(jié)果比較好,而且算法比較簡單,有利于實時處理。然而對小目標(biāo)圖像卻不能把目標(biāo)從背景中分割出來,經(jīng)常會把很多背景錯分為目標(biāo),為此,我們提出了利用Otsu準(zhǔn)則對圖像進(jìn)行自遞歸分割。即在第一次Otsu方法分割之后,將分割得到的亮像素再次利用Otsu分割準(zhǔn)則計算得到新的分割閾值。
圖3 硬件實現(xiàn)相關(guān)匹配算法原理圖
相關(guān)跟蹤
相關(guān)跟蹤算法將系統(tǒng)的基準(zhǔn)圖像 (即模板)在實時圖像上以一定的偏移值平移,然后根據(jù)一定的相似性度量準(zhǔn)則對基準(zhǔn)圖像和與基準(zhǔn)圖像同樣大小的實時圖像塊進(jìn)行相關(guān)匹配,最匹配的那個位置就認(rèn)為是目標(biāo)位置??紤]利用FPGA實現(xiàn)算法,系統(tǒng)采用絕對差相關(guān)算法。
為了保證系統(tǒng)實時性,減小算法對圖像RAM的使用量,采取如下方式對算法進(jìn)行優(yōu)化:圖像經(jīng)過分割后得到二值化圖像,運(yùn)用異或運(yùn)算處理來代替相關(guān)度的復(fù)雜計算:即將圖像和模板的二值灰度函數(shù)進(jìn)行異或運(yùn)算,其最小值即為正確匹配位置。
目標(biāo)預(yù)測
在目標(biāo)跟蹤過程中,根據(jù)目標(biāo)在運(yùn)動過程中具有軌跡的連續(xù)性的特點(diǎn),首先利用目標(biāo)過去的位置信息預(yù)測當(dāng)前位置,然后在預(yù)測點(diǎn)周圍一定范圍內(nèi)進(jìn)行匹配。這樣既能減少計算量,在一定程度上又能排除其它物體對跟蹤的影響,從而保證匹配的可靠性。系統(tǒng)中采用最佳線性逼近預(yù)測法。
模板刷新
相關(guān)跟蹤算法進(jìn)行跟蹤時,用事先存儲好的模板在波門范圍內(nèi)進(jìn)行匹配,尋找最佳匹配點(diǎn)。在跟蹤過程中,隨著視場范圍內(nèi)場景的變化,目標(biāo)形體的變化,需要及時更新模板,使得模板始終正確地反映要跟蹤地目標(biāo)。
系統(tǒng)采用模板的自適應(yīng)刷新。根據(jù)相關(guān)峰確定是否更換模板,若所尋找到的相關(guān)峰同某個閥值比較,若小于該閥值,則認(rèn)為此時的目標(biāo)己經(jīng)和模板存在較大的差距,此時應(yīng)該及時更新模板。經(jīng)大量試驗,閥值選取0.985有較好的跟蹤效果。
跟蹤算法實現(xiàn)
為了滿足系統(tǒng)實時性,系統(tǒng)采用NiosⅡ的定制指令和VHDL編寫硬件算法加速器保證系統(tǒng)運(yùn)行速度,在系統(tǒng)目標(biāo)跟蹤算法中,對需要循環(huán)迭代浮點(diǎn)處理的Otsu分割和運(yùn)動預(yù)測算法,采用自定義的單精度浮點(diǎn)運(yùn)算指令加速計算結(jié)果,表1 所示為采用自定義浮點(diǎn)指令和軟件實現(xiàn)浮點(diǎn)運(yùn)算性能對比。定制指令邏輯和Nios II的連接在SOPC Builder 中完成。NiosⅡCPU配置向?qū)峁┝艘粋€圖形用戶界面,在該界面中可導(dǎo)入設(shè)計文件,設(shè)置定制指令名,并分配定制指令所需的CPU時鐘周期數(shù)目。系統(tǒng)生成時,Nios II IDE為每條用戶指令產(chǎn)生一個在系統(tǒng)頭文件中定義的宏,可以在C或C++應(yīng)用程序代碼中直接調(diào)用這個宏。
系統(tǒng)的相關(guān)匹配算法采用VHDL語言硬件并行實現(xiàn),并且作為Avalon總線的用戶外設(shè)集成到Nios II中實現(xiàn)算法的硬件加速單元。通過SOPC Builder中元件編輯器在GUI下將用戶邏輯封裝成一個 Nios Ⅱ的用戶外設(shè)。這樣用戶可以像Altera提供的外設(shè)元件一樣使用自定義的邏輯組件。
圖3為硬件實現(xiàn)相關(guān)匹配算法原理圖,主要包括一個帶圖像行移位FIFO的模板寄存器組和目標(biāo)模板生成模塊、集成相關(guān)運(yùn)算的Avalon總線接口。
圖4 系統(tǒng)對2公里外的靶機(jī)目標(biāo)跟蹤效果圖
實驗結(jié)果
系統(tǒng)在夜間對2公里外的多云天空中靶機(jī)目標(biāo)進(jìn)行跟蹤實驗,圖像格式為384
c++相關(guān)文章:c++教程
評論