設(shè)計(jì)任務(wù)及要求
紅外動(dòng)目標(biāo)跟蹤與識(shí)別系統(tǒng)的輸入信號(hào)是紅外攝像機(jī)提供的模擬或數(shù)字視頻信號(hào)。該系統(tǒng)通過(guò)基于C6X系列高速DSP的數(shù)字視頻處理卡,,實(shí)時(shí)的處理紅外數(shù)字視頻序列,,完成對(duì)運(yùn)動(dòng)目標(biāo)的搜索、捕獲,、跟蹤,、記憶;并且在PC上實(shí)時(shí)顯示紅外視頻圖像,,實(shí)時(shí)給出運(yùn)動(dòng)目標(biāo)的空間坐標(biāo),產(chǎn)生運(yùn)動(dòng)目標(biāo)區(qū)域的特征數(shù)據(jù),,完成運(yùn)動(dòng)目標(biāo)區(qū)域圖像的實(shí)時(shí)存儲(chǔ)或遠(yuǎn)程傳輸,。硬件模塊需要為系統(tǒng)功能的實(shí)現(xiàn)提供硬件支持,即提供與系統(tǒng)功能相適應(yīng)的底層物理支持,,包括運(yùn)算處理速度,、存儲(chǔ)容量等。
模擬視頻數(shù)字化精度要求:AD精度為8bit,;數(shù)字視頻通道的要求:按RS422傳輸協(xié)議接收數(shù)據(jù),,像素精度14bit;每場(chǎng)圖像處理時(shí)間<40ms,;搜索到捕獲時(shí)間:0.2~1s,;捕獲到跟蹤時(shí)間<120ms;25幀/s實(shí)時(shí)識(shí)別,、跟蹤運(yùn)動(dòng)目標(biāo)(即當(dāng)前場(chǎng)數(shù)據(jù)必須在下一場(chǎng)數(shù)據(jù)到來(lái)之前處理完畢,,并由計(jì)算機(jī)輸出處理結(jié)果,,顯示視頻圖像),并給出目標(biāo)位置及領(lǐng)域圖像,;與計(jì)算機(jī)的接口為PCI接口,。
系統(tǒng)總體設(shè)計(jì)
根據(jù)設(shè)計(jì)任務(wù)和系統(tǒng)要求,本系統(tǒng)大致可分為四個(gè)模塊(見(jiàn)圖1),。
圖1系統(tǒng)模塊組成
UNIT 1模塊基于標(biāo)準(zhǔn)32位+5V的PCI總線,,并配以超大規(guī)模可編程芯片(DSP,,F(xiàn)PGA),,具有極強(qiáng)的運(yùn)算、處理能力,。
UNIT 2模塊的功能主要實(shí)現(xiàn)是運(yùn)動(dòng)背景下的動(dòng)目標(biāo)檢測(cè),、跟蹤??紤]到系統(tǒng)的實(shí)時(shí)性要求,,運(yùn)動(dòng)背景下的動(dòng)目標(biāo)檢測(cè)采用基于攝像機(jī)運(yùn)動(dòng)補(bǔ)償?shù)牟罘旨夹g(shù)。首先對(duì)攝像機(jī)運(yùn)動(dòng)造成的全局運(yùn)動(dòng)進(jìn)行補(bǔ)償,,對(duì)補(bǔ)償后的序列圖像進(jìn)行差分運(yùn)算,;然后在差分域搜索目標(biāo)運(yùn)動(dòng)引起的運(yùn)動(dòng)擾動(dòng)區(qū)域;最后在原視頻圖像上分割提取運(yùn)動(dòng)目標(biāo),。同時(shí),,采用預(yù)測(cè)技術(shù)對(duì)目標(biāo)的可能位置和存在區(qū)域進(jìn)行估計(jì),以實(shí)現(xiàn)實(shí)時(shí),、準(zhǔn)確跟蹤(或記憶)目標(biāo),。系統(tǒng)軟件按照其工作狀態(tài)分為四個(gè)狀態(tài)模塊:搜索、捕獲,、跟蹤,、記憶跟蹤。系統(tǒng)按照搜索,、捕獲,、跟蹤、記憶跟蹤四個(gè)狀態(tài)及其轉(zhuǎn)換運(yùn)行,,以實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)的實(shí)時(shí)檢測(cè)與跟蹤,。
UNIT 3模塊的主要功能是實(shí)現(xiàn)硬件模塊與上層應(yīng)用程序的數(shù)據(jù)通信與信息交互。系統(tǒng)采用了PCI 9054 Target方式的單周期讀/寫(xiě),;在圖像數(shù)據(jù)傳送的時(shí)候?yàn)榱藵M足每秒25幀圖像的實(shí)時(shí)傳送和處理的要求,,采用了PCI 9054的Scatter/Gather DMA方式的數(shù)據(jù)傳輸。在整個(gè)系統(tǒng)的信息交互中,,采用了一次握手協(xié)議,,也就是請(qǐng)求一一應(yīng)答協(xié)議,。
UNIT 4模塊的主要功能是向硬件模塊下載DSP跟蹤程序,啟動(dòng)/停止DSP,,實(shí)時(shí)顯示場(chǎng)景視頻,,對(duì)運(yùn)動(dòng)目標(biāo)序列進(jìn)行實(shí)時(shí)存儲(chǔ),對(duì)運(yùn)動(dòng)目標(biāo)序列的基本特性進(jìn)行實(shí)時(shí)分析和結(jié)果的顯示,。
系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)硬件原理框圖如圖2所示,,為了設(shè)計(jì)和描述的方便,我們把硬件模塊的電路結(jié)構(gòu)劃分為以下幾個(gè)單元:視頻接口單元,、輸入輸出FIFO視頻圖像存儲(chǔ)器,、數(shù)字圖像處理單元(DSP)、可編程控制器,、與PC的PCI接口電路等,。
圖2系統(tǒng)硬件原理框圖
1視頻接口單元
紅外運(yùn)動(dòng)目標(biāo)識(shí)別與跟蹤系統(tǒng)的視頻源是紅外攝像機(jī)提供的視頻信號(hào)。紅外攝像機(jī)有兩路視頻輸出,,即模擬視頻輸出和數(shù)字視頻輸出,。本系統(tǒng)要求硬件模塊對(duì)兩路視頻信號(hào)都能夠進(jìn)行處理。因此,,必須對(duì)輸入視頻信號(hào)進(jìn)行預(yù)處理,,為數(shù)字圖像處理單元(DSP)提供必要的視頻數(shù)據(jù)和視頻同步數(shù)據(jù)。視頻接口單元框圖如圖3所示,。
2 輸入輸出緩沖FIFO
設(shè)置輸入輸出緩沖FIFO的目的是在高速器件和低速器件之間設(shè)置一個(gè)緩沖區(qū),,可以避免高速器件因等待低速器件的數(shù)據(jù)而使系統(tǒng)的效率降低。A/D芯片送出的數(shù)字信號(hào)的時(shí)鐘頻率約為12MHz(模擬通道時(shí)鐘12.51MHz,,數(shù)字通道時(shí)鐘12MHz),,而處理卡上DSP的總線頻率高達(dá)50MHz,兩者差異較大,,所以采用輸入輸出緩沖FIFO是必要的,。基于以上考慮,,最終選用Cypress公司的CY7C4275,。它的容量為32K×18,,最大存取速度可達(dá)到l0ns,。
3 可編程控制器(FPGA)
在本系統(tǒng)中,F(xiàn)PGA控制了絕大部分單元,,包括通道選擇/電平轉(zhuǎn)換芯片,、輸入輸出 FIFO、SRAM,、DSP,、PCI接口電路等,。利用FPGA芯片的系統(tǒng)內(nèi)可編程(ISP)性能,完成所有DSP外圍芯片的控制邏輯,;并在其中設(shè)置狀態(tài)寄存器,、命令字寄存器和專(zhuān)用寄存器,完成與主機(jī)的實(shí)時(shí)通信,,接收主機(jī)傳送的命令信息和向主機(jī)傳送所需要的狀態(tài)信息,。
在本系統(tǒng)中,數(shù)字信道為14bit,,模擬為8bit,,需要由FPGA對(duì)信號(hào)進(jìn)行第一次裝配(區(qū)別于DSP為了顯示而對(duì)圖像按FGB格式進(jìn)行的第二次裝配),即將數(shù)字/模擬信號(hào)/數(shù)據(jù)均轉(zhuǎn)換為16bit的數(shù)據(jù),,然后將兩個(gè)16bit數(shù)據(jù)裝配成一個(gè)32bit的數(shù)據(jù),。
4數(shù)字圖像存儲(chǔ)器(SRAM)
紅外動(dòng)目標(biāo)識(shí)別與跟蹤系統(tǒng)要完成對(duì)運(yùn)動(dòng)目標(biāo)的識(shí)別與跟蹤。其實(shí)現(xiàn)算法必然涉及到對(duì)多幀(差分處理,,至少兩幀)視頻圖像的處理,。為了給實(shí)現(xiàn)算法提供較為充裕的存儲(chǔ)空間,我們選用的存儲(chǔ)器能容納6場(chǎng)視頻圖像,。因此,,最后選用的存儲(chǔ)器是Giga SemIConductor公司的兩片GS74116,其每片容量為256K×16bit,,存取速度為15ns,。考慮到我們視頻圖像每場(chǎng)的數(shù)據(jù)量為76800像素,,兩片512K的SRAM可以存下至少6張視頻圖像,。在本系統(tǒng)中,我們?cè)O(shè)置了4幀圖像存儲(chǔ)空間,,其余空間用于存放目標(biāo)小圖,、DSP裝配數(shù)據(jù)等,數(shù)據(jù)空間具體地址分配如圖4所示,。
圖4 SRAM數(shù)據(jù)空間分配
5 數(shù)字圖像處理模塊(DSP)
DSP采用TI公司的TMS320C6202芯片,。我們采用隔點(diǎn)、隔行的亞抽樣,。抽樣后,,每幀圖像大小約為20KB,總計(jì)約需80KB的數(shù)據(jù)空間,,TMS320C6202的片內(nèi)數(shù)據(jù)空間足夠所需,。我們對(duì)DSP芯片的內(nèi)部空間分配如圖5所示。
圖5 DSP內(nèi)部空間分配
6 PCI接口電路
由于本系統(tǒng)與PC的接口是PCI接口,。為了避免受困于PCI接口繁雜的數(shù)據(jù)傳送協(xié)議,,充分發(fā)揮PCI總線的數(shù)據(jù)傳送能力,,PCI接口電路采用PCI9054芯片。它是PCI總線專(zhuān)用接口芯片,,具有數(shù)據(jù)傳送快,、數(shù)據(jù)傳送簡(jiǎn)單等優(yōu)點(diǎn)。在33MHz的PCI總線工作頻率下,,它的最大數(shù)據(jù)吞吐能力為132MB/s,。
PCI9054與DSP的數(shù)據(jù)交換或通信是通過(guò)DSP芯片內(nèi)部的兩個(gè)寄存器實(shí)現(xiàn)的,即地址寄存器XBISA,;數(shù)據(jù)寄存器XBD,。對(duì)PCI9054及DSP芯片而言,它們互相并不能直接訪問(wèn)對(duì)方的資源,,數(shù)據(jù)交換必須由這兩個(gè)寄存器中繼,,如圖6所示。
圖6 PCI9054與DSP連接圖
系統(tǒng)軟件設(shè)計(jì)
首先進(jìn)行系統(tǒng)上電自檢,,查看系統(tǒng)各部分是否進(jìn)入正常工作狀態(tài),,并將檢測(cè)結(jié)果送往主機(jī)。然后對(duì)整機(jī)系統(tǒng)進(jìn)行初始化工作,,檢測(cè)命令字寄存器確定圖像的輸入方式和系統(tǒng)的工作方式,,若主機(jī)未指定,則進(jìn)入等待狀態(tài),,直到操作員指定系統(tǒng)的工作方式為止,,系統(tǒng)進(jìn)入正常工作。系統(tǒng)軟件流程圖如圖7所示,。