新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種實(shí)時(shí)圖像目標(biāo)搜索與跟蹤系統(tǒng)設(shè)計(jì)

一種實(shí)時(shí)圖像目標(biāo)搜索與跟蹤系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2011-08-08 來(lái)源:網(wǎng)絡(luò) 收藏

1.引言

本文引用地址:http://m.butianyuan.cn/article/150407.htm

  電視器是一種具有簡(jiǎn)單智能的裝置,由于需要逐場(chǎng)(20ms)處理視場(chǎng)中的數(shù)據(jù),因此處理的數(shù)據(jù)量大、算法復(fù)雜度高,傳統(tǒng)的處理器一般不能滿足速度要求,本選擇美國(guó)TI公司TMS320C5416信號(hào)處理器為核心,實(shí)現(xiàn)了采集視場(chǎng)中的數(shù)據(jù)并完成相應(yīng)的圖像處理算法運(yùn)算的任務(wù)。TMS320C5416主頻可達(dá)160MHz,片內(nèi)總存儲(chǔ)空間為128M×16bit,是一款高性能低功耗通用數(shù)字信號(hào)處理芯片。該能處理50場(chǎng)/秒的,圖像分辨率可調(diào)的標(biāo)準(zhǔn)電視圖像信號(hào)。

  2.硬件框圖

  圖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é)產(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ù)寫入圖形顯示雙口RAM同時(shí)開(kāi)始從SRAM讀入下一場(chǎng)數(shù)據(jù),DSP處理完成以后在時(shí)序電路和視頻復(fù)合電路配合下將處理結(jié)果顯示到監(jiān)視器上,完成圖像處理任務(wù)。

  2.1 圖像采集模塊

  圖像采集模塊的主要功能是獲取輸入視頻信號(hào)中的灰度數(shù)據(jù)和同步時(shí)鐘,它是后續(xù)處理的基準(zhǔn)。系統(tǒng)采用同步分離和鎖相技術(shù),采用分立元件。具體實(shí)現(xiàn)是信號(hào)從CCD出來(lái)后分為兩路,一路經(jīng)同步分離同步分離器LM1881,輸出復(fù)合同步HS,場(chǎng)同步VS作為后面電路的控制信號(hào),另一路經(jīng)G位和直流恢復(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ǔ)器接口片選讀寫信號(hào)生成以及部分存儲(chǔ)器地址生成、實(shí)現(xiàn)圖形信號(hào)的并串轉(zhuǎn)換、用戶自定義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), FSX作為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)陣形式寫入存儲(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)軟件

  本系統(tǒng)可作為數(shù)字圖像處理的通用平臺(tái),處理多種圖像處理程序,軟件靈活。

  主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,可以滿足系統(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、首先確定遮擋面積門限即遮擋部分占模板面積的百分比門限,超過(guò)門限就認(rèn)為被遮擋;

  2、然后根據(jù)最佳匹配位置的平均象素絕對(duì)差為參考確定遮擋象素的灰度門限,實(shí)時(shí)搜索區(qū)對(duì)應(yīng)模板區(qū)域的象素灰度值大于灰度門限,則認(rèn)為該象素被遮擋;

  3、計(jì)算當(dāng)前最佳匹配位置圖象與模板圖象絕對(duì)差超出遮擋象素灰度門限的個(gè)數(shù) S,然后判斷S是否超過(guò)遮擋的面積門限,如果超過(guò),則認(rèn)為被遮擋,置遮擋標(biāo)志位,調(diào)初始化匹配結(jié)果堆棧例程,模板校正周期計(jì)數(shù)器歸位停止校正模板,然后把當(dāng)前的匹配結(jié)果用前面若干場(chǎng)匹配結(jié)果的統(tǒng)計(jì)平均值替換;否則認(rèn)為沒(méi)有被遮擋,清遮擋標(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)查詢SysStatus的狀態(tài),等待狀態(tài)的改變。跟蹤目標(biāo)模板的初始捕獲可以選擇在搜索態(tài)由目標(biāo)搜索算法完成,也可由人工完成。以人工捕獲為例,用戶在上位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)。
上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉