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