譚艷麗,趙永強(qiáng)
(太原工業(yè)學(xué)院 電子工程系,山西 太原 030008)
一種CMOS圖像傳感器自動曝光算法的設(shè)計及實現(xiàn)
譚艷麗,趙永強(qiáng)
(太原工業(yè)學(xué)院 電子工程系,山西 太原 030008)
針對傳統(tǒng)自動曝光算法收斂時間長的問題,設(shè)計了一種基于對分搜索的CMOS圖像傳感器自動曝光控制算法,研究了基于CMOS圖像的測光方法,給出了自動曝光算法的流程。首先在MATLAB中對算法進(jìn)行了仿真,并和傳統(tǒng)算法進(jìn)行了比較,曝光收斂時間縮小了一半。最后在基于FPGA的CMOS圖像采集平臺上對算法進(jìn)行了實現(xiàn),實驗證明了該算法的有效性。
自動曝光;對分搜索;CMOS;圖像采集
伴隨著半導(dǎo)體集成器件的發(fā)展,CMOS圖像傳感器應(yīng)用領(lǐng)域越來越廣[1],尤其是在數(shù)碼相機(jī)、汽車行車記錄儀、安防監(jiān)控等方面。自動曝光的意義在于當(dāng)外界光線發(fā)生變化時,通過調(diào)整圖像傳感器的曝光時間來調(diào)節(jié)圖像的亮度,使其處于標(biāo)準(zhǔn)值的范圍內(nèi)。傳統(tǒng)的CMOS圖像傳感器自動曝光算法有計算法、查表法和迭代法[2]。由于CMOS圖像傳感器呈像圖像的亮度并非和外界光照成線性關(guān)系,所以無法建立一個完美的函數(shù)來表達(dá)圖像亮度值和光照關(guān)系,所以采用計算法需要系統(tǒng)具有強(qiáng)大的計算能力。查表法是工業(yè)用相機(jī)自動曝光常采用的一種方法[3-5],但需要進(jìn)行大量的實驗測試得到查表數(shù)據(jù),且當(dāng)相機(jī)鏡頭發(fā)生變化時,此數(shù)據(jù)需要進(jìn)行重新測量。迭代法也是最常用的自動曝光控制算法之一,傳統(tǒng)的迭代法計算收斂時間較長,本文研究了一種基于對分搜索的CMOS圖像傳感器自動曝光控制算法,曝光收斂時間縮小了一半。
1.1 CMOS圖像傳感器輸出圖像格式
采用圖像測光的方法主要是通過圖像數(shù)據(jù),計算得到圖像的亮度信息,從而用亮度信息來代替空間的光照度,對于不同格式的色彩空間,對圖片亮度值的計算過程是不一樣的,如RGB色彩空間[6],需要先將圖像從RGB色彩空間轉(zhuǎn)換到Y(jié)UV色彩空間,YUV色彩空間中的Y值即為圖片的亮度值,由于只需要獲取Y值,所以轉(zhuǎn)換時只需要求取Y值即可,轉(zhuǎn)換公式為
Y=0.299R+0.587G+0.114B
(1)
CMOS圖像傳感器輸出的圖像為Bayer格式,如圖1所示。

圖1 Bayer格式
在進(jìn)行圖片測光時,需要先將Bayer格式轉(zhuǎn)換成RGB色彩空間,再將RGB色彩空間轉(zhuǎn)換為YUV色彩空間,從而獲得圖片的亮度信息。
1.2 全局測光
根據(jù)測光區(qū)域的不同,大致可以分為全局測光、點測光和局部測光。局部測光是指在進(jìn)行測光計算時選取圖像的局部數(shù)據(jù)進(jìn)行測光,這種方法使得曝光時間隨關(guān)注目標(biāo)的亮度值而改變,這種方法在圖像為大面積黑色背景的環(huán)境中使用較多,如深空環(huán)境等[7],且由于其計算量小、測光靈活被廣泛應(yīng)用。點測光由于進(jìn)一步降低測光算法的計算量,在部分特殊場合就得到應(yīng)用,但是由于其測光區(qū)域小,會造成誤測,所以只在部分特殊場合得到應(yīng)用[8]。全局測光是相機(jī)中經(jīng)常使用的一種測光方式,在正常的拍攝條件下,全局測光根據(jù)整幅圖像的亮度值來還原拍攝背景的光照度,本文所研究的曝光計算就采用全局測光模式。
1.3 自動曝光算法
傳統(tǒng)的CMOS圖像傳感器自動曝光算法有計算法、查表法和迭代法[9],由于上述3種方法均無法滿足快速自動曝光和算法簡單兼具的要求。本文設(shè)計了一種基于對分搜索的自動曝光控制算法,算法流程如圖2所示。

圖2 基于對分搜索的自動曝光算法流程圖
圖2中,Y1為圖像亮度值,Y0為目標(biāo)亮度值,Texp為曝光值。由圖2可知在計算曝光時間Texp過程中,根據(jù)亮度值差Y的不同,得到的Texp值也不一樣,這與傳統(tǒng)的等步長曝光時間計算方法是不一樣的。
1.4 算法仿真
采用MATLAB模擬傳統(tǒng)算法[10]和本文提出的算法的收斂速度,其對比數(shù)據(jù)如表1所示,其中初始值為測試圖像的歸一化亮度值。由表1可知,本文提出的對分搜索法相較傳統(tǒng)的變步長的收斂速度快近1倍,本算法經(jīng)過近10幀圖像數(shù)據(jù)即可完成目標(biāo)圖像的亮度測量以及準(zhǔn)確的曝光時間計算,而完成相同的工作傳統(tǒng)算法需要近20幀圖像數(shù)據(jù)。受圖像傳感器自身條件的影響,當(dāng)目標(biāo)背景亮度非常小時即使進(jìn)一步提高曝光時間,圖像傳感器輸出圖像的亮度值也不會有所提高。

表1 曝光收斂時間的仿真
基于FPGA CMOS圖像傳感器自動曝光控制平臺結(jié)構(gòu)如圖3所示。
根據(jù)需求,本設(shè)計選擇的FPGA和CMOS圖像傳感器芯片型號分別為Xilinx的Spartan-6系列FPGA XC6SLX4、鎂光MT9T001[11]。
1)FPGA選擇
Spartan-6系列的FPFA產(chǎn)品具有突出的優(yōu)點:壞機(jī)的風(fēng)險降低、工程期間投入減少、I/O支持超過12 Gbit/s的存儲器訪問帶寬、兼容3.3V電壓等。該系列器件生產(chǎn)技術(shù)采用45nm共9層金屬布線雙層氧化工藝,且含有高效雙寄存器,更包括DSP邏輯片、高速收發(fā)器以及PCI Express?接口內(nèi)核。因此選擇該系列FPGA XC6SLX4的芯片作為系統(tǒng)的核心器件[12]。

圖3 系統(tǒng)結(jié)構(gòu)
2)CMOS圖像傳感器
MT9T001是MICRON公司生產(chǎn)的一款CMOS圖像傳感器,分辨率可以達(dá)到QXGA,有效像素陣列為2 048H×1 536V。可實現(xiàn)片上開窗、行列跳躍像素以及快照功能,曝光時間可以通過I2C總線進(jìn)行控制[12]。
在完成了系統(tǒng)電路設(shè)計的基礎(chǔ)上,得到系統(tǒng)的硬件電路如圖4所示。
如圖5所示,F(xiàn)PGA軟件工作量主要包括:I2C讀寫時序、MT9T001數(shù)據(jù)采集時序、數(shù)據(jù)緩存控制時序、自動曝光數(shù)據(jù)處理時序和系統(tǒng)各模塊數(shù)據(jù)交換與控制時序。

圖4 硬件電路

圖5 功能模塊
3.1 I2C控制時序
MT9T001官方提供的I2C總線時序如圖6所示。
由系統(tǒng)要求可知,CMOS圖像傳感器的曝光時間需要通過I2C總線寫入圖像控制器內(nèi),I2C總線模塊從自動曝光算法模塊得到曝光時間按照圖6所示的時序?qū)懭雸D像傳感器中,在FPGA中對I2C總線的時序進(jìn)行了設(shè)計,采用ModelSim6.0得到的時序仿真結(jié)果如圖7所示,并采用了安捷倫示波器對I2C時序進(jìn)行測量,結(jié)果如圖8所示。

圖6 I2C總線時序(截圖)

圖7 I2C時序仿真結(jié)果(截圖)

圖8 采用安捷倫示波器對I2C時序測量結(jié)果(截圖)
3.2 自動曝光模塊的實現(xiàn)
本論文采用的算法分3步實現(xiàn),首先需要統(tǒng)計圖像的像素亮度,然后根據(jù)此亮度帶入公式得出系統(tǒng)的曝光參數(shù),最后以此為依據(jù)整改舊的參數(shù)。以上3步在FPGA內(nèi)部循環(huán)有序進(jìn)行,完成根據(jù)外部環(huán)境變化需要的曝光參數(shù),模塊整體框圖如圖9所示。

圖9 自動曝光流程示意圖
在FPGA中采用狀態(tài)機(jī)的方法對自動曝光算法進(jìn)行了設(shè)計,采用ModelSim6.0得到的時序仿真結(jié)果如圖10所示。

圖10 自動曝光算法仿真結(jié)果(截圖)
采用本文設(shè)計的硬件系統(tǒng),選擇外部場景不同時間段,光照條件不一樣的環(huán)境對曝光時間和曝光效果進(jìn)行測試,結(jié)果如圖11所示。

圖11 實驗結(jié)果
在完成圖像拍攝后,采用Photoshop對圖11a~11d的亮度進(jìn)行了測量,其亮度值分別為50,98,160,100。這說明在光照較弱和較強(qiáng)的情況下,通過自動曝光后的照片均能獲得較好亮度值。
本文設(shè)計了一種基于對分搜索的CMOS圖像傳感器自動曝光控制算法,研究了基于CMOS圖像的測光方法,給出了自動曝光算法的流程,并在FPGA硬件平臺上對算法進(jìn)行了實現(xiàn),MATLAB仿真和實驗測試表明,該系統(tǒng)能夠達(dá)到對CMOS圖像傳感器快速自動曝光控制的要求,具有一定的工程應(yīng)用價值。
[1]柳笛,黎福海,榮宏.CMOS圖像傳感器優(yōu)勢和最新產(chǎn)品[J].電視技術(shù),2007,31(12):29-31.
[2]洪青江.數(shù)碼相機(jī)的圖像處理通道[J].電子產(chǎn)品世界,2006,11(6):123-125.
[3]貢青,李錦萍,閔子建,等.一種基于CMOS圖像傳感器的flicker自動檢測方法[J].首都師范大學(xué)學(xué)報,2007(28):32-35.
[4]曹希霆,賈敏智.基于圖像處理的智能射擊訓(xùn)練系統(tǒng)[J].電視技術(shù),2013,37(2):158-160.
[5]關(guān)文俊.現(xiàn)代相機(jī)自動測光系統(tǒng)及自動曝光功能闡釋[J].哈爾濱師范大學(xué)學(xué)報:自然科學(xué)版,1999(4):79-82.
[6]胡晶.曝光控制[M].哈爾濱:黑龍江科學(xué)技術(shù)出版社,2006.
[7]伍振榮.光與曝光[M].北京:中國攝影出版社,2007.
[8]劉恩科,朱秉升,羅晉生.半導(dǎo)體物理學(xué)[M].北京:國防工業(yè)出版社,2007.
[9]GAMAL E,ABBAS E,HELMY.CMOS image sensors[J].IEEE Circuits and Devices Magazine,2005(21):6-20.
[10]趙建,劉濟(jì)林,于海濱.基于以太網(wǎng)技術(shù)的立體視覺圖像采集系統(tǒng)[J].電視技術(shù),2005,29(3):70-72.
[11]朱奕丹,方怡冰.基于以太網(wǎng)技術(shù)的立體視覺圖像采集系統(tǒng)[J].計算機(jī)應(yīng)用,2011(31):1258-1261.
[12]潘明,陳元枝,李強(qiáng).基于FPGA的圖像采集系統(tǒng)的設(shè)計[J].國外電子測量技術(shù),2012(31):58-60.
譚艷麗(1978— ),女,講師,主研圖像處理、模式識別;
趙永強(qiáng)(1968— ),教授,主研光通信、移動通信測試技術(shù)、寬帶信息網(wǎng)等。
責(zé)任編輯:李 薇
Implementation and Design of CMOS Image Sensor Exposure Algorithm
TAN Yanli,ZHAO Yongqiang
(DepartmentofElectronicEngineer,TaiyuanInstituteofTechnology,Taiyuan030008,China)
To the convergence time problem of the traditional auto exposure algorithm,a auto exposure algorithm for CMOS image sensor based on binary search is studied in this paper.Firstly,the photometric method based on CMOS image is proposed and the algorithm flow chart is given.Then the algorithm is simulated in the MATLAB and compared with the traditional algorithm which shows that the convergence time is reduced by half.At last,the algorithm is implemented on CMOS image acquisition platform based on FPGA,the experimental results show the effectiveness of the algorithm.
auto exposure; dichotomous search; CMOS; image acquisition
【本文獻(xiàn)信息】譚艷麗,趙永強(qiáng).一種CMOS圖像傳感器自動曝光算法的設(shè)計及實現(xiàn)[J].電視技術(shù),2015,39(3).
TN919.81
A
10.16280/j.videoe.2015.03.011
2014-09-18