基于ADSP-BF561的視頻跟蹤系統(tǒng)的研究與實現(xiàn)
智能化是現(xiàn)代視頻監(jiān)控系統(tǒng)的重要發(fā)展方向,目標(biāo)跟蹤成為發(fā)展過程中一項不可缺少的重要功能。智能監(jiān)控技術(shù)是指在不依賴人為干預(yù)的情況下,采用計算機技術(shù)和圖像處理技術(shù)對攝像機拍攝的圖像數(shù)據(jù)進行自動分析,實現(xiàn)對圖像內(nèi)容含義的理解以及對客觀場景的解釋。智能監(jiān)控算法流程如圖1所示。
本文在研究視頻跟蹤系統(tǒng)相關(guān)算法和硬件結(jié)構(gòu)的基礎(chǔ)上,設(shè)計一套基于ADSP-BF561的視頻跟蹤系統(tǒng),通過控制攝像機姿態(tài)實現(xiàn)對監(jiān)控場景中的運動目標(biāo)進行自動識別和跟蹤,符合現(xiàn)代視頻監(jiān)控系統(tǒng)向智能化發(fā)展的趨勢。
1 系統(tǒng)總體設(shè)計方案
嵌入式處理器中數(shù)字信號處理器(Digital Signal Processor,DSP)具有強大的數(shù)字信號處理功能,適用于視頻圖像、語音等大量數(shù)據(jù)的實時處理。ADSP—BF561是一款集音頻、視頻圖像處理和控制于一身的雙核DSP,具有高速的內(nèi)核時鐘、靈活的存儲器架構(gòu)和專用的視頻接口,在視頻圖像處理方面具有較大優(yōu)勢。
采用ADSP—BF561作為處理器設(shè)計視頻跟蹤系統(tǒng)硬件平臺,系統(tǒng)平臺由DSP處理器、攝像機、監(jiān)視器和云臺等部分組成,系統(tǒng)結(jié)構(gòu)如圖2所示。硬件結(jié)構(gòu)中攝像機和云臺兩部分固定為一體,云臺的運動反映攝像機監(jiān)控姿態(tài)的調(diào)整。DSP通過對攝像機采集的視頻圖像數(shù)據(jù)進行跟蹤圖像處理,獲取運動目標(biāo)所在位置,并在監(jiān)視器上實時顯示監(jiān)控圖像。DSP根據(jù)目標(biāo)位置信息發(fā)送云臺控制指令,控制云臺運動,調(diào)整攝像機監(jiān)控姿態(tài),使運動目標(biāo)保持在監(jiān)控中心附近,實現(xiàn)自動跟蹤功能。
2 硬件設(shè)計
2.1 硬件系統(tǒng)總體設(shè)計
系統(tǒng)采用嵌入式ADSP—BF561為核心處理器構(gòu)建視頻跟蹤系統(tǒng)硬件平臺。系統(tǒng)硬件平臺主要由BF561處理器、2自由度云臺攝像機、RS232轉(zhuǎn)換器、存儲器、視頻編碼器、視頻解碼器、監(jiān)視器、復(fù)位電路、下載調(diào)試接口、電源和時鐘等部分組成,硬件系統(tǒng)結(jié)構(gòu)組成如圖3所示。
圖像采集設(shè)備和跟蹤單元采用2自由度云臺攝像機,該模塊內(nèi)部集成了攝像系統(tǒng)、云臺系統(tǒng)及通信系統(tǒng)3部分。由攝像機采集視頻信號并通過視頻解碼芯片送至DSP,經(jīng)視頻圖像分析確定跟蹤目標(biāo)位置,由模擬彩色電視機作為監(jiān)視器顯示監(jiān)控視頻圖像。與此同時,DSP通過發(fā)送相應(yīng)命令控制云臺運動,實現(xiàn)了運動目標(biāo)始終處于監(jiān)控范圍內(nèi),完成自動跟蹤功能。
2.2 視頻編解碼器
視頻編解碼器是視頻跟蹤系統(tǒng)的重要組成部分,攝像機輸出的視頻信號和監(jiān)視器直接播放的視頻信號均為模擬信號。視頻信號在進入DSP處理前必須進行A/D轉(zhuǎn)換成數(shù)字信號,DSP處理后的視頻信號也需要進行D/A轉(zhuǎn)換。
視頻解碼器即完成A/D轉(zhuǎn)換功能的器件,系統(tǒng)采用ADI公司的ADV7183A。ADV7183A是一款集成式視頻解碼器,無需任何配置便能自動檢測NTSC、PAL和SECAM制式的模擬基帶電視信號,并轉(zhuǎn)換成YUV4:2:2格式的數(shù)字視頻信號。BF561與ADV7183A接口原理如圖4所示。
2.3 視頻編碼器
視頻編碼器即完成D/A轉(zhuǎn)換功能的器件,系統(tǒng)采用ADI公司的ADV7179。ADV7179為集成式視頻編碼器,其可將ITU-656格式的YUV4:2:2數(shù)字視頻信號轉(zhuǎn)換成PAL、NTSC等標(biāo)準(zhǔn)制式模擬電視信號。因ADV7179需要用I2C總線對其進行配置,但BF561內(nèi)部并未集成I2C總線,因此利用軟件模擬I2C總線進行通信。BF561與ADV7179接口原理如圖5所示。
2.4 RS232轉(zhuǎn)換器
系統(tǒng)選用Winyork公司MCC-INOS云臺攝像機,它支持工業(yè)標(biāo)準(zhǔn)RS232總線,標(biāo)準(zhǔn)UART可通過RS232電平轉(zhuǎn)換獲得,所采用的電平轉(zhuǎn)換芯片為ADM3202,其與BF561接口電路如圖6所示。將RS232總線經(jīng)電平轉(zhuǎn)換后與DSP通用異步收發(fā)器接口相連,進而與攝像機的云臺進行通信。
3 軟件設(shè)計
3.1 DSP雙核資源規(guī)劃
系統(tǒng)采用ADI公司的DSP芯片BF561作為主處理器,BF561內(nèi)有雙核獨特結(jié)構(gòu),給系統(tǒng)設(shè)計帶來方便。BF561雙核獨特結(jié)構(gòu),既可相互獨立運行,也可協(xié)調(diào)處理并行運行,提高運算速度。根據(jù)視頻跟蹤處理算法,可對A核和B核工作進行合理分配,使其既相互獨立互不干擾,同時共同完成自動視頻跟蹤功能。其中,A核主要工作是完成運動目標(biāo)檢測與跟蹤,B核主要工作內(nèi)容是完成云臺運動控制算法的實現(xiàn),共享存儲器L2作為雙核公共存儲器主要用于雙核間的信息交互。其具體工作內(nèi)容如下:
(1)A核。完成視頻圖像采集存儲至外存儲器中;將外存儲器中的圖像數(shù)據(jù)傳輸至內(nèi)核存儲器中;進行運動目標(biāo)檢測及跟蹤運算,計算出目標(biāo)質(zhì)心坐標(biāo)并求出目標(biāo)跟蹤矩形框。
(2)B核。根據(jù)A核計算得到的目標(biāo)質(zhì)心坐標(biāo),實現(xiàn)云臺運動控制算法;通過串口通信控制云臺攝像機跟蹤運動目標(biāo);將原視頻圖像增加目標(biāo)跟蹤矩形框,完成視頻數(shù)據(jù)實時輸出至監(jiān)視器。
(3)共享存儲器L2。存儲A核與B核通信數(shù)據(jù)與共享數(shù)據(jù),主要包括跟蹤目標(biāo)質(zhì)心坐標(biāo)、目標(biāo)跟蹤矩形框參數(shù)信息和云臺靜止標(biāo)志信息等。
根據(jù)系統(tǒng)規(guī)劃可知,BF561采用雙核協(xié)同工作方式,其雙核并行工作結(jié)構(gòu)流程如圖7所示。
3.2 視頻采集
DSP采用PPI0進行整場圖像模式采集,并將整場圖像數(shù)據(jù)存放于外部存儲器SDRAM中。攝像機輸出復(fù)合視頻信號經(jīng)視頻解碼器AD7183轉(zhuǎn)換成每秒25幀,每幀625行,每行864點像素,每點像素2 Byte視頻信號,由PPI0以DMA方式傳輸至SDRAM,并以PAL整場模式存儲,完成視頻采集。其PPI0 DMA具體配置如下:
*Pppi0_CONTROL=0x0183;//輸入模式,整場模式,32包裝模式
*Pppi0_FRAME=625;//接收總行數(shù)
*Pdmal_0_X_COUNT=864*2/32;//每行接收包次數(shù),32 Byte包裝
*Pdmal_0_Y_COUNT=625;//接收總行數(shù)
*Pdmal_0_X_MODIFY=32;//傳輸間隔
*Pdmal_0_Y_MODIFY=32;//傳輸間隔
3.3 運動目標(biāo)檢測及跟蹤
運動目標(biāo)檢測及跟蹤算法為系統(tǒng)軟件的核心,現(xiàn)被處理視頻亮度信息(Frame_Compress)存儲于片上共享存儲器L2中,并在DSP的A核中實現(xiàn)運動目標(biāo)檢測和跟蹤算法,求出目標(biāo)質(zhì)心坐標(biāo)與跟蹤矩形框四頂點坐標(biāo)參數(shù)。
運動目標(biāo)檢測及跟蹤核心算法程序流程如圖8所示,首先將已壓縮的連續(xù)3幀圖像進行三幀差分運算得到灰度圖像*Gray_Image,并經(jīng)二值化、形態(tài)學(xué)濾波處理獲得準(zhǔn)確的運動目標(biāo)圖像* Binary_Image。目標(biāo)圖像通過連通域標(biāo)記處理得到一組與圖像大小一致的標(biāo)記信息*Conneted_Image,并經(jīng)卡爾曼跟蹤模型確定面積最大目標(biāo)在本幀圖像的位置參數(shù),包括目標(biāo)質(zhì)心坐標(biāo)(X_CENT,Y_CENT)和跟蹤矩形框四頂點坐標(biāo)((X_Left,Y_Up),(X_Right,Y_Up),(X_Left,Y_Down),(X_Right,Y_Down))。
由于運動目標(biāo)檢測及跟蹤算法是針對壓縮后的圖像進行處理,故目標(biāo)質(zhì)心坐標(biāo)和跟蹤矩形框四頂點坐標(biāo)均需放大4倍處理,進而還原成實際圖像參數(shù)值。最后將得到的實際目標(biāo)坐標(biāo)及跟蹤矩形框四頂點坐標(biāo)存放于共享內(nèi)存L2中,使得B核可直接調(diào)用。
3.4 云臺控制
云臺運轉(zhuǎn)控制由BF561中的B核處理完成,B核調(diào)用共享內(nèi)存L2中的目標(biāo)質(zhì)心坐標(biāo)(X_CENT,Y_CENT),實現(xiàn)對云臺的控制。為實現(xiàn)對運動目標(biāo)的有效跟蹤,需在實際有效分辨率為720×576圖像進行三級虛擬線圈劃分,具體劃分參數(shù)如圖9所示。
系統(tǒng)通過判斷目標(biāo)質(zhì)心坐標(biāo)是否超出虛擬線圈,決定云臺是否旋轉(zhuǎn),并結(jié)合所選攝像機云臺性能特點,將云臺移動所需角度和角速度進行設(shè)定。采用多級線圈,較好地解決了一級線圈的不足,不僅使目標(biāo)盡可能地處于中心附近,同時也可根據(jù)目標(biāo)移動的速度調(diào)整攝像機的旋轉(zhuǎn)速度,從而使攝像機旋轉(zhuǎn)更加平穩(wěn),獲得更好的跟蹤效果。
3.5 視頻輸出
監(jiān)控的視頻圖像存儲于外部存儲器SDRAM中,并由B核控制PPI1輸出至視頻編碼器,實現(xiàn)在監(jiān)視器上的實時播放。在視頻數(shù)據(jù)輸出前,可在原圖像的基礎(chǔ)上增加目標(biāo)跟蹤矩形框進行輔助顯示,其矩形框4頂點坐標(biāo)存儲于共享內(nèi)存L2中,B核可直接在原圖像數(shù)據(jù)中增加矩形框數(shù)據(jù)。
BF561視頻圖像輸出方法不同,系統(tǒng)采用在緩存中靜態(tài)建立一個整場模式的方法,即存儲器內(nèi)已是標(biāo)準(zhǔn)ITU-656視頻格式,此時按地址順序直接通過PPI輸出即可。PPI以DMA的方式進行傳送,具體配置如下:
4 系統(tǒng)測試
運動目標(biāo)自動跟蹤系統(tǒng),主要通過控制云臺攝像機的姿態(tài)使運動目標(biāo)保持在監(jiān)控范圍內(nèi),并通過輔助矩形框鎖定目標(biāo)加以提示。當(dāng)監(jiān)控范圍內(nèi)出現(xiàn)運動目標(biāo)時,監(jiān)視器內(nèi)便出現(xiàn)跟蹤矩形框鎖定運動目標(biāo)。如果運動目標(biāo)移動至距離監(jiān)控畫面邊緣一定距離時,攝像機將轉(zhuǎn)動使目標(biāo)回到監(jiān)控畫面中心附近。跟蹤效果監(jiān)控畫面如圖10所示,系統(tǒng)自動識別運動人員并用矩形框鎖定,如圖10(a);當(dāng)運動目標(biāo)移動至監(jiān)控窗口內(nèi)一定范圍時,云臺發(fā)生轉(zhuǎn)動如圖10(b)和圖10(c)。
5 結(jié)束語
文中基于ADSP-BF561為核心處理器設(shè)計一套自動視頻跟蹤系統(tǒng),對智能監(jiān)控系統(tǒng)中關(guān)鍵技術(shù)的實現(xiàn)進行研究,包括運動目標(biāo)檢測、目標(biāo)跟蹤算法、硬件平臺搭建及攝像機的運動控制等。實驗表明,系統(tǒng)可快速自動識別運動目標(biāo)并進行跟蹤,且具有一定的實時性及穩(wěn)定性。由于時間限制,系統(tǒng)在設(shè)計上仍然存在不足,在多個方面仍需進一步完善。