目前,視頻運(yùn)動控制卡的研究已經(jīng)成為熱點(diǎn)。本文針對TI公司的視頻高速處理芯片TMS320DM642,設(shè)計(jì)了對目標(biāo)物體進(jìn)行視頻實(shí)時(shí)跟蹤的運(yùn)動控制卡。筆者希望通過本文分享DM642平臺應(yīng)用中的一些經(jīng)驗(yàn)。 1 系統(tǒng)方案與原理 系統(tǒng)主要由視頻解碼器、CPLD采集控制、TMS320-DM642、視頻編碼器等部分組成。其總體框架如圖1所示。CCD攝像頭攝取視頻圖像,輸出標(biāo)準(zhǔn) PAL制式的模擬視頻信號。視頻解碼器收到模擬視頻信號,將其轉(zhuǎn)換為標(biāo)準(zhǔn)格式的數(shù)字視頻數(shù)據(jù)流,由CPLD控制視頻解碼器將數(shù)據(jù)采集到高速緩存中暫存,避免了數(shù)字視頻數(shù)據(jù)長時(shí)間占用DSP外部總線。然后DSP的EDMA控制器通過DMA方式從高速緩存中將視頻數(shù)據(jù)搬運(yùn)到SDRAM中,采集到的視頻數(shù)據(jù)經(jīng)過 DSP圖像處理后,一方面通過視頻編碼器將圖像數(shù)據(jù)以PAL制式的模擬信號傳送給視頻轉(zhuǎn)換盒,然后通過USB接口連接PC,顯示跟蹤結(jié)果。另一方面, DSP通過串口發(fā)送與目標(biāo)物體三維坐標(biāo)相關(guān)的控制命令,從而控制驅(qū)動器操縱舵機(jī),實(shí)現(xiàn)對目標(biāo)物體的跟蹤與抓取。 ![]() 2 圖像采集的CPLD控制 系統(tǒng)采用CPLD控制視頻解碼器SAA7111A采集圖像數(shù)據(jù),送到高速緩存。SAA7111A芯片提供了很多同步信號來實(shí)現(xiàn)系統(tǒng)工作同步,邏輯控制器對這些信號進(jìn)行邏輯運(yùn)算,完成同步控制。 圖2為控制圖像采集的邏輯框圖。其中虛線框部分由CPLD完成。CPLD上電后,首先使D觸發(fā)器輸出為高電平,控制FIFO寫信號或門中的1路信號為高電平,這樣FIFO寫信號禁止,從而關(guān)閉圖像采集開關(guān)。行計(jì)數(shù)器和像素計(jì)數(shù)器處于等待計(jì)數(shù)狀態(tài)。待DSP、SAA7111A、EDMA和FIFO初始化完成后,由DSP發(fā)出啟動圖像采集的信號。在VREF為高電平且HREF為所要行時(shí),行計(jì)數(shù)器開始計(jì)數(shù),達(dá)到512行時(shí)行計(jì)數(shù)器復(fù)位。同時(shí),在HREF為高電平且像素是想要的像素時(shí),像素計(jì)數(shù)器開始計(jì)數(shù),并在達(dá)到512個像素時(shí)計(jì)數(shù)器復(fù)位。經(jīng)過SAA7111解碼得到的PAL制式的圖像最大分辨率為720× 576,要求采集的圖像大小為512×512像素,只取其中部分像素。SAA7111A的像素時(shí)鐘LLC2頻率為13.5 MHz,作為CPLD的工作時(shí)鐘。由SAA7111A的時(shí)序圖可知,輸出圖像分為奇偶單場。奇偶單場中的VREF高電平都對應(yīng)行有效,單場為288行 (288個HREF);輸出VREF低電平表示場消隱信號,為25行(25個HREF)。由于單場為256行,要求采集圖像為512行,所以不采集單場有效行的前16行和后16行圖像數(shù)據(jù)。此處設(shè)計(jì)行計(jì)數(shù)器是用來達(dá)到取中間256行有效像素的目地。圖3為采集一場圖像的時(shí)序仿真圖。同樣,輸出的HREF高電平表示1行有效像素,為720個LLC2周期,每行要求只采集中間的512個像素。因此編寫像素計(jì)數(shù)器,目地是在HREF上升沿出現(xiàn)后,取中間的512 個像素作為有用的像素。 ![]() ![]() 3 DSP的軟件系統(tǒng)設(shè)計(jì) 3.1 雙目視覺算法 本文所采用的攝像機(jī)的空間關(guān)系如圖4所示。假設(shè)C1與C2攝像機(jī)的焦距相等,各內(nèi)部參數(shù)也相等,且2個攝像機(jī)的光軸平行,x軸重合。由于光軸與圖像平面垂直,故2個攝像機(jī)的圖像坐標(biāo)系x軸重合,y軸平行。因此,將第1個攝像機(jī)沿其z軸平移一段距離后與第2個攝像機(jī)完全重合。 當(dāng)雙攝像機(jī)這樣配置時(shí),2個攝像機(jī)坐標(biāo)系只相差x軸方向上的1個平移,將平移距離1記為b。 如圖4所示,O1O2為C1及C2坐標(biāo)的x軸。PO1O2平面與2個圖像平面I1及I2的交線分別為E1和E2。由于2個圖像平面位于同一平面,則E1與 E2為該平面上的同一直線。又由于圖像平面平行于x軸,故E1和E2與x軸平行。P1和P2分別為O1P與I1,及O2P與I2的交點(diǎn),則P1與P2分別在E1和E2上。事實(shí)上,一幅圖像上的任一點(diǎn),在另一幅圖像上的對應(yīng)點(diǎn)只可能位于1條特定的被稱為極線的直線上,而E1和E2就是此系統(tǒng)的2條極線。 ![]() 假設(shè)C1坐標(biāo)系為x1y1z1,C2坐標(biāo)系為x2y2z2。在上述攝像機(jī)配置下,若任何空間點(diǎn)P的坐標(biāo)在C1坐標(biāo)系下為(x1,y1,zz),在C2坐標(biāo)系下為(x1-b,y1,z1)。由中心攝影的比例關(guān)系可得: ![]() ![]() 可見,由P1與P2的圖像坐標(biāo)(u1,v1)、(u2,v2)可求出空間點(diǎn)P的三維坐標(biāo)x1、y2、z1。 上述公式組中,b稱為基線(baseline)長度,(u1-u2)稱為視差(disparity)。分析表明,基線長度越長,x1、y1、z1的計(jì)算相對誤差越小。但基線長度不可太長,否則,由于物體各部分的互相遮擋,2個攝像機(jī)可能不能同時(shí)觀察到P點(diǎn)。視差是由于雙攝像機(jī)位置不同,使P點(diǎn)在圖像中投影點(diǎn)的位置不同引起的。由z1式可見,P點(diǎn)的距離越遠(yuǎn)(即z1越大),視差越小。事實(shí)上,當(dāng)P點(diǎn)趨于無窮遠(yuǎn)時(shí),O1P與O2P趨于平行,視差趨于零。 3.2 嵌入式實(shí)時(shí)系統(tǒng)DSP/BIOS設(shè)置 本文對嵌入式實(shí)時(shí)系統(tǒng)DSP/BIOS的配置分為4個部分: ①系統(tǒng)設(shè)置。配置系統(tǒng)的存儲器為外部SDRAM,并指定存儲地址。 ②實(shí)時(shí)分析。指定調(diào)試函數(shù),用于記錄系統(tǒng)運(yùn)行時(shí)間和調(diào)試結(jié)果。 ③任務(wù)調(diào)度。采用RF5框架,定義了4個執(zhí)行任務(wù),分別完成視頻輸入、處理、控制、輸出。 ④同步控制。用于完成上位機(jī)對目標(biāo)物體的設(shè)定。 系統(tǒng)DSP/BIOS設(shè)置如圖5所示。 ![]() ![]() 圖8中第1行為視頻跟蹤卡應(yīng)用在由舵機(jī)搭建手臂上,對三維空間小球的實(shí)時(shí)跟蹤效果圖。第2行為視頻控制卡反饋回PC機(jī)的4路圖像:第1路為左攝像頭拍攝的真實(shí)圖像,第2路為右攝像頭拍攝的真實(shí)圖像,第3路為對第1路圖像中的小球進(jìn)行顏色識別后圖像分割的效果圖,第4路為對第2路圖像中的小球進(jìn)行顏色識別后圖像分割的效果圖。 ![]() ![]() 結(jié)語 本文設(shè)計(jì)的視頻檢測運(yùn)動控制卡,可以在三維空間內(nèi)準(zhǔn)確定位目標(biāo)物體,同時(shí)采用動態(tài)跟蹤的方式對目標(biāo)物體進(jìn)行夾取。采用DSP與CPLD相結(jié)合的方式,并嵌入實(shí)時(shí)DSP/BIOS操作系統(tǒng),提高了系統(tǒng)對視頻處理的速度。該系統(tǒng)定位準(zhǔn)確,功耗低,適合應(yīng)用于移動機(jī)器人等領(lǐng)域。 參考文獻(xiàn) 1. Wu Liming.Li Dongdong.Wang Guitang Design of Realtime Image Acquisition System of IC Wafer 2007 2. 孫詠.黃丹丹.任俊.李志能 CPLD在DSP實(shí)時(shí)圖像采集系統(tǒng)中的應(yīng)用 [期刊論文] -江南大學(xué)學(xué)報(bào)(自然科學(xué)版)2006(2) 3. 龔乃建.尹崗 DM642的I2C總線配置與應(yīng)用 [期刊論文] -單片機(jī)與嵌入式系統(tǒng)應(yīng)用2008(7) 4. 曹磊.范彩霞 基于RF5框架的視頻處理系統(tǒng)研究 [期刊論文] -單片機(jī)與嵌入式系統(tǒng)應(yīng)用2008(6) 作者: 張衍儒 (山東大學(xué)) 武潁 (哈爾濱工程大學(xué)) 來源:《單片機(jī)與嵌入式系統(tǒng)應(yīng)用 》 2009(7) |