傳統的數字圖像處理通常采用圖像采集卡,將模擬電視信號轉換成數字信號,然后由PC機進行軟處理。這樣不僅不夠靈活,處理能力也受到PC機和軟件的限制。隨著CMOS成像芯片工藝的改進和數字信號處理器功能的提升,使得數據量與計算量較大的圖像硬處理成為可能。本文詳細介紹了通過兩路CMOS攝像頭采集圖像,以浮點DSP為核心處理器,采用60萬門FPGA實現邏輯控制的數字圖像采集處理系統的設計原理和實現方法。本系統所采用的芯片與器件,在保證性能的同時,兼顧低功耗,整個系統可以由1394線纜供電。 1 原理概述 整個系統的原理框圖如圖1所示。系統上電后,FPGA配置子板把配置文件加載到FPGA中。DSP由外部 FLASH引導,通過FPGA先設置1394接口芯片的內部寄存器,再通過I2C總線設置攝像頭1、2的控制寄存器。FPGA提供攝像頭的工作時序和圖像序列的讀寫時序。云臺在DSP的控制下可以上下左右調整,捕捉感興趣的目標。8片1MB的SRAM作為兩路攝像頭的數據存儲器,16MB的SDRAM則充當DSP的外部數據緩沖。處理后的圖像既可以直接輸出至LCD進行顯示,也可以通過1394總線傳送至PC機。 圖1 數字圖像采集處理系統原理框圖 2 系統設計 整個系統由三部分構成:圖像采集模塊、圖像處理模塊和圖像傳輸模塊。 2.1 圖像采集模塊 該模塊主要由兩組CMOS攝像頭和云臺組成。該模塊的接口信號見圖2。 圖2 圖像采集模塊連接圖 攝像頭采用韓國現代的HV7131R和五層玻璃透鏡。HV7131R采用0.3μm的CMOS工藝,有效像素30萬,功耗低于90mW,具有曝光控制、增益控制和白平衡處理等功能,最大幀率30fps@VGA。通過標準的I2C接口設置HV7131R的內部寄存器,可以調節圖像的曝光時間、分辨率、幀率、RGB增益、鏡像等。HV7131R輸出10位的RGB原始數據,本系統采用了其中的高8位。多層玻璃透鏡可以濾除波長大于630nm的紅外線,并采用超焦距對焦方式,最小成像距離為3cm。 攝像頭借助云臺跟蹤運動目標,水平旋轉范圍為-180°~180°;垂直旋轉范圍為-45°~45°。 考慮到運動圖像處理至少需要3幀的序列圖像,每組攝像頭配備了4片RAM。3片做數據采集緩沖,1片存儲DSP處理后的結果。 2.2 圖像處理模塊 該模塊由DSP、FPGA和數據緩存器組成。 DSP主要完成的功能有: (1)加電自舉,初始化1394接口芯片; (2)通過I2C接口設置攝像頭的寄存器; (3)對圖像進行預處理,提高成像質量; (4)控制云臺的轉動,實現運動目標的跟蹤。 FPGA在本系統中的作用有: (1)提供圖像采集、存儲與傳輸的工作時序; (2)協同DSP實現復雜的組合邏輯控制電路; (3)實現標準的VGA接口,外接LCD顯示器。 基于以上要求,本系統采用TI公司的32位浮點DSP TMS320C6711B。6711B采用改進的哈佛總線結構,主頻為150MHz,內部集成硬件乘法器和累加器,采用流水線VelociTITM甚長指令字(VLIW)指令,具有豐富的片上外設,并有專門針對數字信號處理的指令系統,運算能力可達1200MFLOPS,適用于計算量大、實時性高的數字圖像處理領域。FPGA 則采用Altera公司Apex系列的EP20K600EBC652。EP20K600EBC652具有高速度(622MHz的數據速率)、高密度(有效邏輯60萬門)、低噪聲和低功耗的特點。有4個PLL、480個低電壓差分信號(LVDS)的I/O口,工作電壓為2.5V和1.8V。 2.2.2 圖像的預處理 運動目標檢測與跟蹤、目標的識別與提取等基于圖像內容的處理,對圖像質量要求較高。影響成像質量的兩個重要因素為曝光和白平衡:人眼對外部環境的明暗變化非常敏感,在強光環境下,瞳孔縮小,使得景物不那么刺眼;而光線較弱時,瞳孔擴大,使景物盡可能地變清楚。這在成像中,稱為曝光。當外界光線較弱時,CMOS成像芯片工作電流較小,所成圖像偏暗,這時要適當增加曝光時間進行背光補償;光線充足或較強時,要適當減少曝光時間,防止曝光過度,圖像發白。改善成像質量,僅靠調節曝光時間是不夠的。因為物體顏色會隨照射光線的顏色發生改變,在不同的光線場合圖像有不同的色溫。這就是白平衡問題。傳統光學相機或攝像機通過給鏡頭加濾鏡消除圖像的偏色現象。對于CMOS成像芯片,可以通過調整RGB三基色的電子增益解決白平衡問題。 本系統的自動曝光控制和白平衡處理實現方法如下: 采集一幀RGB原始圖像,在6711B中先計算出整幅圖像亮度的均值m(Y);然后對圖像做直方圖均衡化,再計算出此時圖像的亮度均值并作為一個閾值Yt。將m(Y)與Yt進行比較,如果m(Y) < Yt,則調大HV7131R的INT(Integration Time)寄存器的值以增加曝光時間;反之,減小曝光時間。白平衡的調節與此相似,根據原始圖像與均衡化后的Cr和Cb的均值,通過HV7131R的RCG(Red Color Gain)、BCG(Blue Color Gain)調節紅色、藍色通道的增益。YCrCb和RGB的轉換關系式為: Y=0.59G+0.31R+0.11B Cr=0.713×(R-Y) Cb=0.564×(B-Y) 其中,Y是亮度分量,Cr和Cb則是色差分量。 HV7131R的曝光時間范圍為0~(224-1)個像素時鐘周期,即0~1.34s?.5MHz;增益范圍一般為30~63。試驗結果表明,經過5~10次的迭代就能取得較為理想的效果。上述過程示意圖以及成像效果如圖3和圖4所示。 圖3 曝光控制和白平衡處理 圖4 成像效果 2.3 圖像傳輸模塊 本系統圖像傳輸模塊采用IEEE1394高速串行總線。1394總線支持點對點通信、即插即用和熱插拔,有等時和異步兩種傳輸模式,速率高達400Mbps,最大有效距離為4.5m。1394線纜可以提供8V~40V的DC電壓以及最高可達1.5A的電流,完全滿足整個系統的供電需求。該模塊主要包括鏈路層和物理層兩個控制器。 2.3.1鏈路層控制器(LLC) TSB12LV32具有2KB的通用接收FIFO(GRF)與2KB的通用發送FIFO(ATF),支持異步傳輸與等時傳輸。微控制器接口支持8/16位的數據寬度,工作時鐘最高達60MHz。TSB12LV32提供DMA方式,待發送數據邊讀取邊傳送,傳輸效率較高。 2.3.2 物理層控制器(PLC) TSB41AB3提供三個1394端口,3.3V單獨供電,符合1394a標準,支持等時傳輸和異步傳輸,支持100/200/400Mbps的傳輸速率,可以與TSB12LV21、TSB12LV31、TSB12LV32、TSB12LV41或TSB12LV01A等鏈路層控制器實現無縫連接,具有較高的通信速率與可靠性。 本系統為了便于調試,PC機被設定為根節點控制器,應用程序和硬件通過驅動程序進行交互。Win32應用程序通過設備驅動程序、總線驅動程序、端口驅動程序與1394設備進行通信,如圖5所示。 圖5 主機與1394設備之間的通信 其中,1394總線驅動程序和端口驅動程序處理所有繁瑣的底層通信,只需提供設備驅動程序。LLC和PLC的內部寄存器通過6711B設置,設備的發現與識別、驅動程序的安裝、1394總線的初始化等也需要6711B的控制和響應。 本系統圖像的最大數據量為640×480×30×2=18.4Mbps,1394a最高支持400Mbps的傳輸速率,圖像實時傳輸不需要經過壓縮。實際傳輸過程中,為確保每幀圖像的完整,采用異步傳輸模式,圖像序列之間加入了幀同步信號,使帶寬利用率有所下降,最終的實測速率為20fps?×480。該系統采用32位浮點DSP和大容量、多I/O口的高速FPGA,數據處理能力強,電路設計靈活,為今后運動目標檢測與跟蹤算法的研究提供了軟硬件支持。 |