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