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