目前,視頻運動控制卡的研究已經成為熱點。本文針對TI公司的視頻高速處理芯片TMS320DM642,設計了對目標物體進行視頻實時跟蹤的運動控制卡。筆者希望通過本文分享DM642平臺應用中的一些經驗。 1 系統方案與原理 系統主要由視頻解碼器、CPLD采集控制、TMS320-DM642、視頻編碼器等部分組成。其總體框架如圖1所示。CCD攝像頭攝取視頻圖像,輸出標準 PAL制式的模擬視頻信號。視頻解碼器收到模擬視頻信號,將其轉換為標準格式的數字視頻數據流,由CPLD控制視頻解碼器將數據采集到高速緩存中暫存,避免了數字視頻數據長時間占用DSP外部總線。然后DSP的EDMA控制器通過DMA方式從高速緩存中將視頻數據搬運到SDRAM中,采集到的視頻數據經過 DSP圖像處理后,一方面通過視頻編碼器將圖像數據以PAL制式的模擬信號傳送給視頻轉換盒,然后通過USB接口連接PC,顯示跟蹤結果。另一方面, DSP通過串口發送與目標物體三維坐標相關的控制命令,從而控制驅動器操縱舵機,實現對目標物體的跟蹤與抓取。 2 圖像采集的CPLD控制 系統采用CPLD控制視頻解碼器SAA7111A采集圖像數據,送到高速緩存。SAA7111A芯片提供了很多同步信號來實現系統工作同步,邏輯控制器對這些信號進行邏輯運算,完成同步控制。 圖2為控制圖像采集的邏輯框圖。其中虛線框部分由CPLD完成。CPLD上電后,首先使D觸發器輸出為高電平,控制FIFO寫信號或門中的1路信號為高電平,這樣FIFO寫信號禁止,從而關閉圖像采集開關。行計數器和像素計數器處于等待計數狀態。待DSP、SAA7111A、EDMA和FIFO初始化完成后,由DSP發出啟動圖像采集的信號。在VREF為高電平且HREF為所要行時,行計數器開始計數,達到512行時行計數器復位。同時,在HREF為高電平且像素是想要的像素時,像素計數器開始計數,并在達到512個像素時計數器復位。經過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行圖像數據。此處設計行計數器是用來達到取中間256行有效像素的目地。圖3為采集一場圖像的時序仿真圖。同樣,輸出的HREF高電平表示1行有效像素,為720個LLC2周期,每行要求只采集中間的512個像素。因此編寫像素計數器,目地是在HREF上升沿出現后,取中間的512 個像素作為有用的像素。 3 DSP的軟件系統設計 3.1 雙目視覺算法 本文所采用的攝像機的空間關系如圖4所示。假設C1與C2攝像機的焦距相等,各內部參數也相等,且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就是此系統的2條極線。 假設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 嵌入式實時系統DSP/BIOS設置 本文對嵌入式實時系統DSP/BIOS的配置分為4個部分: ①系統設置。配置系統的存儲器為外部SDRAM,并指定存儲地址。 ②實時分析。指定調試函數,用于記錄系統運行時間和調試結果。 ③任務調度。采用RF5框架,定義了4個執行任務,分別完成視頻輸入、處理、控制、輸出。 ④同步控制。用于完成上位機對目標物體的設定。 系統DSP/BIOS設置如圖5所示。 圖8中第1行為視頻跟蹤卡應用在由舵機搭建手臂上,對三維空間小球的實時跟蹤效果圖。第2行為視頻控制卡反饋回PC機的4路圖像:第1路為左攝像頭拍攝的真實圖像,第2路為右攝像頭拍攝的真實圖像,第3路為對第1路圖像中的小球進行顏色識別后圖像分割的效果圖,第4路為對第2路圖像中的小球進行顏色識別后圖像分割的效果圖。 結語 本文設計的視頻檢測運動控制卡,可以在三維空間內準確定位目標物體,同時采用動態跟蹤的方式對目標物體進行夾取。采用DSP與CPLD相結合的方式,并嵌入實時DSP/BIOS操作系統,提高了系統對視頻處理的速度。該系統定位準確,功耗低,適合應用于移動機器人等領域。 參考文獻 1. Wu Liming.Li Dongdong.Wang Guitang Design of Realtime Image Acquisition System of IC Wafer 2007 2. 孫詠.黃丹丹.任俊.李志能 CPLD在DSP實時圖像采集系統中的應用 [期刊論文] -江南大學學報(自然科學版)2006(2) 3. 龔乃建.尹崗 DM642的I2C總線配置與應用 [期刊論文] -單片機與嵌入式系統應用2008(7) 4. 曹磊.范彩霞 基于RF5框架的視頻處理系統研究 [期刊論文] -單片機與嵌入式系統應用2008(6) 作者: 張衍儒 (山東大學) 武潁 (哈爾濱工程大學) 來源:《單片機與嵌入式系統應用 》 2009(7) |