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