電視圖像跟蹤器是一種具有簡(jiǎn)單智能的圖像跟蹤裝置,,由于需要逐場(chǎng)(20ms)處理視場(chǎng)中的數(shù)據(jù),因此處理的數(shù)據(jù)量大,、算法復(fù)雜度高,傳統(tǒng)的處理器一般不能滿(mǎn)足速度要求,,本系統(tǒng)選擇美國(guó)TI公司TMS320C5416信號(hào)處理器為核心,實(shí)現(xiàn)了實(shí)時(shí)采集視場(chǎng)中的圖像數(shù)據(jù)并完成相應(yīng)的圖像處理算法運(yùn)算的任務(wù),。TMS320C5416主頻可達(dá)160MHz,,片內(nèi)總存儲(chǔ)空間為128M×16bit,是一款高性能低功耗通用數(shù)字信號(hào)處理芯片,。該系統(tǒng)能處理50場(chǎng)/秒的,,圖像分辨率可調(diào)的標(biāo)準(zhǔn)電視圖像信號(hào)。
2.系統(tǒng)硬件框圖
圖1系統(tǒng)硬件整體結(jié)構(gòu)框圖
如圖1所示系統(tǒng)采用雙DSP+CPLD構(gòu)架,系統(tǒng)有兩路輸入,,一路接數(shù)字視頻信號(hào)輸入,,另外一路從攝像機(jī)輸入PAL制式的視頻信號(hào)。雙DSP中一個(gè)為主DSP,,負(fù)責(zé)處理跟蹤算法以及與上位機(jī)通信,,另外一個(gè)從DSP負(fù)責(zé)實(shí)時(shí)產(chǎn)生模擬高斯噪聲用以檢測(cè)各種噪聲條件下跟蹤算法的效果。兩個(gè)DSP之間通過(guò)一個(gè)共享雙口RAM或HPI進(jìn)行通信,。在場(chǎng)正程圖像數(shù)據(jù)存儲(chǔ)到圖像SRAM中,,主DSP在場(chǎng)逆程從圖像雙口RAM中讀取圖像數(shù)據(jù)到DSP內(nèi)部,場(chǎng)正程開(kāi)始時(shí)主DSP開(kāi)始進(jìn)行圖像處理算法,,在下一場(chǎng)逆程主DSP將處理的結(jié)果以及相關(guān)數(shù)據(jù)寫(xiě)入圖形顯示雙口RAM同時(shí)開(kāi)始從SRAM讀入下一場(chǎng)數(shù)據(jù),,DSP處理完成以后在時(shí)序電路和視頻復(fù)合電路配合下將處理結(jié)果顯示到監(jiān)視器上,完成實(shí)時(shí)圖像處理任務(wù),。
2.1圖像采集模塊
圖像采集模塊的主要功能是獲取輸入視頻信號(hào)中的灰度數(shù)據(jù)和同步時(shí)鐘,,它是后續(xù)處理的基準(zhǔn)。系統(tǒng)采用同步分離和鎖相技術(shù)設(shè)計(jì),,采用分立元件,。具體實(shí)現(xiàn)是信號(hào)從CCD出來(lái)后分為兩路,一路經(jīng)同步分離同步分離器LM1881,輸出復(fù)合同步HS,,場(chǎng)同步VS作為后面電路的控制信號(hào),,另一路經(jīng)篏位和直流恢復(fù),然后放大,,將圖像信號(hào)調(diào)整到A/D轉(zhuǎn)換器的參考電壓范圍之內(nèi),。對(duì)行同步信號(hào)進(jìn)行鎖相倍頻即可得到像素時(shí)鐘信號(hào),鎖相環(huán)芯片采用74HC4046,。輸入視頻信號(hào)經(jīng)鎖相環(huán)鎖相輸出系統(tǒng)象素時(shí)鐘提供給A/D變換器使用,,得到數(shù)字圖像數(shù)據(jù)。
2.2時(shí)序電路模塊
時(shí)序模塊主要由一片CPLD(Xilinx公司的95288XL)實(shí)現(xiàn),,包括鎖相計(jì)數(shù),、標(biāo)準(zhǔn)視頻行場(chǎng)信號(hào)生成、DSP的外接存儲(chǔ)器接口片選讀寫(xiě)信號(hào)生成以及部分存儲(chǔ)器地址生成,、實(shí)現(xiàn)圖形信號(hào)的并串轉(zhuǎn)換,、用戶(hù)自定義I/O等。
2.3通訊接口模塊
本系統(tǒng)用到一個(gè)異步串口接收PC發(fā)送的調(diào)試命令,,并向PC返回運(yùn)算結(jié)果,。
5416提供的串口是一種同步串行接口,并不支持通用異步接收器/發(fā)送器(UART)標(biāo)準(zhǔn),,本系統(tǒng)使用MAXIM公司的MAX3100芯片實(shí)現(xiàn)同步串口到異步串口的轉(zhuǎn)換,。5416使用FSR和FSX作為每次傳輸?shù)耐叫盘?hào),F(xiàn)SX作為MAX3100的選通信號(hào)。同步接收時(shí)鐘CLKR和同步發(fā)送時(shí)鐘CLKX在本系統(tǒng)中使用內(nèi)部的時(shí)鐘源,,并且把CLKX作為MAX3100的同步時(shí)鐘,。系統(tǒng)中使用MAX3100的接收中斷作為DSP的外部中斷信號(hào),通知DSP數(shù)據(jù)準(zhǔn)備好,,可以開(kāi)始接收,。
2.4存儲(chǔ)器訪問(wèn)模塊
圖像緩存采用單口大容量SRAM,可以存儲(chǔ)整場(chǎng)圖像,。在場(chǎng)正程接收從采集模塊采集進(jìn)來(lái)的數(shù)據(jù),。在場(chǎng)逆程DSP將待處理的數(shù)據(jù)由SRAM讀入片內(nèi)數(shù)據(jù)區(qū)處理。
圖形數(shù)據(jù)雙口RAM用于存儲(chǔ)用于顯示的字符,、圖形等,。視場(chǎng)中的一個(gè)確定位置對(duì)應(yīng)于存儲(chǔ)器中的一個(gè)單元(byte)中的一位(bit)。DSP將要顯示的字符或圖形以點(diǎn)陣形式寫(xiě)入存儲(chǔ)器規(guī)定的存儲(chǔ)單元內(nèi),,存儲(chǔ)器在系統(tǒng)時(shí)序控制下讀出要顯示字符或圖形的點(diǎn)陣信號(hào),。8位圖形數(shù)據(jù)經(jīng)CPLD并-串轉(zhuǎn)換電路變成串行信號(hào)迭加在模擬視頻信號(hào)上提供顯示。
3.系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)可作為數(shù)字圖像處理的通用平臺(tái),,處理多種圖像處理程序,,軟件設(shè)計(jì)靈活。
主DSP用以完成搜索跟蹤算法,,搜索,、跟蹤的算法有很多種,現(xiàn)以經(jīng)典的相關(guān)跟蹤算法為例來(lái)說(shuō)明圖像跟蹤處理軟件設(shè)計(jì)的一般流程,。如果需要,,可以增加不同的跟蹤算法。
相關(guān)跟蹤是利用圖像相似性度量方法,,在圖像中尋找最佳匹配子區(qū)的工作,可選用算法包括歸一化互相關(guān)(NCC)和平均絕對(duì)差累加和(MAD)等,。由于相關(guān)運(yùn)算數(shù)據(jù)處理量大,,為便于實(shí)時(shí)實(shí)現(xiàn),本系統(tǒng)采用最小絕對(duì)差累加和的相關(guān)匹配算法,。該方法在計(jì)算兩幅圖象f1,、f2它們之間的相似性度量時(shí)按下式進(jìn)行:
其中f1、f2分別表示模板和搜索區(qū)圖象的子區(qū)圖象,,在計(jì)算所有搜索區(qū)圖子區(qū)與模板圖象的絕對(duì)差累加和C后,,確定最小C對(duì)應(yīng)的子區(qū)位置即最佳匹配點(diǎn)。
對(duì)于32×32的模板和64×64的搜索區(qū)圖象,,每一幀圖象僅僅確定最佳匹配位置的計(jì)算次數(shù)為,,再加上模板修正和決策判斷等工作,每一幀的數(shù)據(jù)計(jì)算量很大。例如,,當(dāng)指令周期為6ns時(shí),,運(yùn)算時(shí)間約為7ms。為了減少計(jì)算量,,可采用圖象分辨率先粗后精的方法,。圖象分辨率降低一倍,計(jì)算量降低接近15倍,。實(shí)際系統(tǒng)中,,模板粗采樣匹配跟蹤執(zhí)行時(shí)間約為1ms,可以滿(mǎn)足系統(tǒng)實(shí)時(shí)性的要求,。
實(shí)踐證明,在進(jìn)行序列圖象跟蹤過(guò)程中,如果單純地將當(dāng)前圖象的最佳匹配位置處的圖象來(lái)作為模板進(jìn)行下一幀圖象的匹配,跟蹤結(jié)果很容易受某一幀發(fā)生突變圖象的影響而偏離正確位置,。因此,應(yīng)當(dāng)考慮根據(jù)舊模板和當(dāng)前圖象的最佳匹配位置處的匹配度(合適度)來(lái)制定合適的新模板,相當(dāng)于對(duì)匹配跟蹤過(guò)程進(jìn)行一個(gè)指導(dǎo),以達(dá)到比較好的跟蹤效果.本系統(tǒng)設(shè)計(jì)一種模板加權(quán)修正方案,即其中:A為原模板圖像內(nèi)容;B為本次匹配最佳匹配位置子圖像內(nèi)容;M為修正后模板圖像內(nèi)容;W為加權(quán)系數(shù)(根據(jù)幀內(nèi)和幀間相關(guān)置信度選取)在跟蹤過(guò)程中,,由于背景復(fù)雜,,還可能會(huì)出現(xiàn)局部遮擋等情況,本系統(tǒng)采取了抗遮擋措施在一定程度上消除了局部遮擋的影響,。其根據(jù)是在發(fā)生遮擋的情況下,,最佳匹配位置的絕對(duì)差累加和會(huì)比未發(fā)生遮擋的時(shí)候大得多,在匹配過(guò)程中對(duì)匹配結(jié)果進(jìn)行遮擋評(píng)估如下:
1,、首先確定遮擋面積門(mén)限即遮擋部分占模板面積的百分比門(mén)限,,超過(guò)門(mén)限就認(rèn)為被遮擋;
2、然后根據(jù)最佳匹配位置的平均象素絕對(duì)差為參考確定遮擋象素的灰度門(mén)限,,實(shí)時(shí)搜索區(qū)對(duì)應(yīng)模板區(qū)域的象素灰度值大于灰度門(mén)限,,則認(rèn)為該象素被遮擋;
3、計(jì)算當(dāng)前最佳匹配位置圖象與模板圖象絕對(duì)差超出遮擋象素灰度門(mén)限的個(gè)數(shù)S,,然后判斷S是否超過(guò)遮擋的面積門(mén)限,,如果超過(guò),則認(rèn)為目標(biāo)被遮擋,,置目標(biāo)遮擋標(biāo)志位,,調(diào)初始化匹配結(jié)果堆棧例程,模板校正周期計(jì)數(shù)器歸位停止校正模板,,然后把當(dāng)前的匹配結(jié)果用前面若干場(chǎng)匹配結(jié)果的統(tǒng)計(jì)平均值替換;否則認(rèn)為沒(méi)有被遮擋,,清目標(biāo)遮擋標(biāo)志位。
系統(tǒng)軟件具體實(shí)現(xiàn)過(guò)程為:首先對(duì)系統(tǒng)進(jìn)行初始化,。初始化子程序中定義一個(gè)狀態(tài)字SysStatus來(lái)控制程序的流程,,例如SysStatus=0時(shí)是搜索態(tài),SysStatus=1時(shí)是相關(guān)跟蹤算法SysStatus=2時(shí)是對(duì)比度跟蹤態(tài)等,。初始化結(jié)束后,,系統(tǒng)進(jìn)入循環(huán)等待狀態(tài),,每場(chǎng)查詢(xún)SysStatus的狀態(tài),等待狀態(tài)的改變,。跟蹤目標(biāo)模板的初始捕獲可以選擇在搜索態(tài)由目標(biāo)搜索算法完成,,也可由人工完成。以人工捕獲為例,,用戶(hù)在上位PC機(jī)視場(chǎng)中選定目標(biāo)區(qū)域,,然后將目標(biāo)位置坐標(biāo)及搜索區(qū)域大小信息通過(guò)RS232串口傳送給DSP,DSP根據(jù)接收到的狀態(tài)賦值給全局變量SysStatus。然后根據(jù)SysStatus參數(shù)所指示的值進(jìn)入不同的跟蹤狀態(tài),。
具體相關(guān)跟蹤算法流程如下圖2所示:
圖2相關(guān)匹配流程圖
一場(chǎng)數(shù)據(jù)處理完成后結(jié)果一路經(jīng)串口反饋到上位機(jī)上,,一路經(jīng)圖形存儲(chǔ)器把在目標(biāo)位置處畫(huà)出窗口并顯示到監(jiān)視器上。然后開(kāi)始進(jìn)行下一場(chǎng)處理,。
從DSP完成實(shí)時(shí)高斯噪聲的生產(chǎn),,噪聲疊加到采集的輸入圖像上可以用以用來(lái)檢驗(yàn)不同的跟蹤算法在不同強(qiáng)度的高斯噪聲下的實(shí)際效果。
算法為由均勻噪聲通過(guò)映射表生成高斯隨機(jī)噪聲,,具有高速,、高精度的優(yōu)點(diǎn)。原理框圖如圖3所示:左半部分為均勻噪聲生成部分,,采用模數(shù)取余法,,依靠已有的k個(gè)在(-x,x)內(nèi)均勻分布,互相獨(dú)立的隨機(jī)數(shù)種子x(1),…..x(k),,不斷的生成新的隨機(jī)數(shù),,并將之向外輸出。右半部分采用左部分的輸出值為偏移地址,,加上右表的基地址生成映射表地址,,將查表后得到的該地址結(jié)果輸出就得到了所要求的結(jié)果高斯噪聲值,然后進(jìn)入下一個(gè)循環(huán),。
圖3噪聲產(chǎn)生原理圖
從DSP主要完成噪聲的產(chǎn)生工作,,如果系統(tǒng)不需要模擬高斯噪聲,此DSP也可根據(jù)實(shí)際需要用作別的用途,,增加了系統(tǒng)的可擴(kuò)展性,。
4.結(jié)束語(yǔ)
本系統(tǒng)在硬件上采用了DSP、CPLD等集成度高,、功耗低的先進(jìn)器件,使得系統(tǒng)電路具備體積小,、重量輕,、功耗低、可靠性高等優(yōu)點(diǎn),是一種優(yōu)良的圖像處理平臺(tái),。