文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.01.012
中文引用格式: 張玉杰,陳志磊. 基于CMOS圖像傳感器的亮度測量系統設計[J].電子技術應用,2016,42(1):48-50,57.
英文引用格式: Zhang Yujie,Chen Zhilei. The design of luminance measurement system based on CMOS image sensor[J].Application of Electronic Technique,2016,42(1):48-50,57.
0 引言
道路照明不僅要保證駕駛員可以看清路面以避免交通事故,還要為其提供安全舒適的視覺條件從而緩解駕駛疲勞。因此,路面的平均亮度、亮度均勻性分布以及炫光控制水平等是道路照明控制的主要參考指標。目前,環境亮度的檢測均使用了光敏二極管、光敏三極管、光敏電阻等傳感器作為檢測元件,這種測量方法得到的測量值實際上是測量點某一區域范圍的平均值,無法真實反應路面的亮度均勻分布情況。由于CMOS圖像傳感器(CMOS Image Sensor,CIS)成本不斷下降并大量使用于照度檢測中,將圖像處理方法用于路面亮度的測量,可以大范圍進行亮度分布的測量,從而更好地控制路面指標。
相對于傳統的照度檢測方法,基于CIS的亮度測量系統以微控制器(Micro Controller Unit,MCU)為核心,通過CIS采集測量區域的圖像信息,結合數字圖像處理算法以及圖像灰度與環境亮度關系式,不僅可以快速測量某一區域的平均亮度,并且可以方便地檢測路面亮度分布,從而為道路照明控制提供更多的反饋信息。
1 亮度測量原理
根據攝影和照相光度學理論,照相機通過鏡頭將目標成像在感光靶面上,圖像上每一個像素的灰度值與目標物在靶面對應點的曝光量存在以下關系:
其中,D為圖像的灰度值,H為曝光量,γ為傳感器的反差系數,m為常數,m、γ均由感光材料決定。
在光學測量系統中,曝光量H可表示為:
其中,τ為鏡頭的透射系數,由鏡頭的特性決定;B為被測量物體的實際亮度;F為相機的光圈數,T是曝光時間。
由式(1)、式(2)可得:
CIS的灰度不僅和T、F、B相關聯,同時和A/D轉換之前通過自動增益控制模塊的放大器增益有關。在曝光時間不變的情況下,圖像灰度和增益G呈線性正比關系,從而式(3)可進一步寫為:
在CIS中,可以通過相關寄存器操作控制當前的曝光時間T和放大增益G,同時對獲取的圖像處理計算圖像的平均灰度值。通過系統的標定,可以確定h、γ的值,從而按式(5)求得目標的照度。
為便于計算,使用泰勒級數展開式(5),以灰度為D=0點展開,并簡化為3次多項式,可得:
a、b、c、d通過系統標定確定。
2 系統結構
系統的硬件結構如圖1所示,采用STM32F103RET6為核心處理器構成嵌入式亮度分布測量系統。系統由CIS、FIFO(First Input First Output)緩沖區、SRAM、MCU、LCD顯示及鍵盤、電源等部分組成。
MCU選擇以ARM Cortex-M3為核心的處理器STM32F103RET6。其具有高達72 MHz的工作頻率,512 KB的程序存儲器及64 KB內部靜態存儲區,集成定時器、USART、USB、I2C等豐富的外設,其低功耗、高性能的特點符合本系統的設計要求。
CMOS圖像傳感器選擇OmniVision公司的OV7670,內部集成640×480的感光陣列、模擬信號處理器、A/D轉換、數字信號處理器、DSP處理器、SCCB(Serial Camera Control Bus)控制接口等,實現了單芯片成像系統,幀率高達30 fps,支持VGA、QVGA、等各種分辨率輸出,支持RGB、YUV4:2:2、YCbCr等多種輸出格式。在本系統設計中,為了保證測量精度并減少運算量,設置OV7670輸出格式為YUV4:2:2,輸出分辨率為QVGA。
為了使OV7670與MCU的讀寫匹配,便于MCU讀取圖像幀,添加了數據緩沖FIFO AL422B。AL422B是一個存儲容量為393 216 B×8 bit的FIFO存儲芯片,它具有獨立的讀寫操作,能自動完成尋址、刷新操作。AL422B的主要控制信號如圖1所示,其中WE為AL422B的寫入使能,OE為輸出使能,RCLK為數據讀取時鐘,WRST和RRST控制寫指針和讀指針復位。
在本系統中,MCU控制OV7670及AL422B采集圖像,將生成的QVGA圖像存入SRAM并進行圖像處理,然后根據灰度、增益及曝光時間來計算路面平均亮度及亮度分布,LCD顯示與鍵盤用于人機交互,USB接口用于系統標定時對參數進行設置或結果輸出。
3 軟件設計
3.1 圖像采集與處理
在圖像采集前,需要OV7670進行參數配置,微控制器可通過SCCB總線接口設置或者讀取OV7670的工作狀態、工作方式以及數據的輸出格式等。為了保證測量的精度,提高系統的工作效率,設置OV7670的輸出分辨率為QVGA,即240×320,輸出格式為YUV4:2:2,Y為亮度信號,常用Y值表示圖像灰度值,U、V為色度信號,這種采樣方式保證了亮度信息的完整,且不需進行灰度轉化。在OV7670中,設置TSLB和COM13寄存器,使YUV4:2:2的輸出順序為YUYV。通過讀取自動增益控制(Automatic Gain Control,AGC)及自動曝光時間控制(Automatic Exposure Control,AEC)寄存器獲取所需的曝光時間T及增益D。
OV7670的行輸出時序如圖2所示,PCLK為像素時鐘,用于輸出一個像素(或半個像素),HREF為行同步信號,D[7:0]為數字視頻接口(Digital Video Port)信號。
從時序圖可以看出,數據圖像在HREF為高時輸出,每一個PCLK時鐘輸出1 B數據,采用QVGA時序,YUV4:2:2輸出格式,每2 B組成一個像素,高字節為Y,低字節為U或V,則每行共輸出240×2個PCLK周期,輸出240×2 B。
在圖像采集時,MCU通過中斷的方式檢測OV7670的VSYNC(幀同步)信號,并設置FIFO的地址、選通、寫等邏輯信號,控制FIFO中圖像幀的寫入和讀取。當MCU檢測到中斷后,會復位FIFO的寫指針并使能寫入,當一幀數據寫入完成后,進行讀取操作,復位FIFO讀指針并使能輸出,控制讀取時鐘RCLK完成一幀圖像的讀取。當MCU將FIFO中暫存的圖像幀讀入到SRAM后,隨即對圖像進行濾波及去邊緣處理,提取出圖像的灰度信息,并計算平均灰度,然后根據亮度計算式即可求得公路路面的亮度分布及平均亮度。
3.2 系統軟件設計
系統軟件需要完成圖像采集及處理、亮度計算、人機交互等任務。圖像采集及處理任務完成對指定格式圖像的采集;亮度計算任務則根據采集的圖像獲取灰度、增益、曝光時間,根據式(6)來計算亮度分布及平均亮度,并繪制等亮度分布圖。人機交互任務主要用于處理用戶輸入,并將測量信息通過LCD顯示或USB輸出。在軟件設計時,要充分考慮道路亮度分布檢測對測量系統的實時性要求,保證各個任務的合理調度。
系統軟件設計流程如圖3所示。在系統上電后,對系統進行初始化,當完成圖像的采集后,對圖像進行處理并計算亮度,繪制等亮度曲線,并將計算的亮度結果送入LCD顯示。
4 實驗結果
利用本系統對道路亮度檢測進行實驗前,需要對亮度測量系統進行參數標定。通過標定,可以計算式(6)所對應的參數,然后進行測量。標定系統的結構如圖4所示,主要由光源、圖像采集單元、PC機及電源組成。
在標定時,使用積分球建立一個均勻的輻射光源,利用光能量在積分球內部均勻分布的特性,將CMOS攝像頭放置于積分球出口處,同時使用一個亮度計對積分球輸出的光亮度進行測量。并且保證CMOS圖像傳感器工作于線性區。
標定過程如下:改變積分球的亮度,記錄亮度計不同亮度下的亮度值,同時通過CMOS攝像頭采集圖像,并記錄對應的曝光時間和增益值。使用MATLAB數字圖像的處理工具,對采集的圖像進行預處理,根據圖像的灰度D、曝光時間T、增益G進行參數辨識,得到式(6)中的多項式參數。
當完成了系統標定及參數辨識,即可以使用本系統測量道路亮度。圖5(a)是得到的公路路面灰度圖像,圖5(b)是系統輸出的亮度分布特征圖。可以看到路面圖像被有效分隔為幾個區域,圖上標出的數字為系統計算的各區域的平均亮度。由于系統及計算誤差,測量亮度分布有一定的偏差,經過和亮度計進行實驗比對,其最大偏差不超過1 cd/m2,相對誤差小于10%,不會對路面亮度分布測量產生影響。系統能在一幀時間內完成一幅圖像的處理與特征量的提取,在1 s內完成對亮度分布的測量。經過在不同的路面情況及天氣狀況下對系統進行測試,取得了較好的測量效果。
5 結論
本文設計了一種基于CMOS圖像傳感器的亮度測量系統,該系統以OV7670作為CMOS圖像傳感器,以微控制為控制核心,介紹了系統的總體設計結構,以及圖像采集及處理的設計方法,相比于傳統的亮度傳感器,其靈活性更高,能夠快速地檢測路面亮度及亮度分布,為公路路面亮度分布均勻性評估提供技術支持,為道路設計、施工、道路燈光分布、維護提供幫助。
參考文獻
[1] 錢可元,胡曉佳.同時實現路面照度與亮度均勻性的LED光源光學系統研究[J].光學學報,2015(2):67-74.
[2] 闖家亮.基于圖像處理的隧道亮度檢測系統研究[D].西安:西安建筑科技大學,2012.
[3] 沈小明,任軍軍.道路照明的亮度測量方法[J].城市照明,2012,16(2):45-48.
[4] 王書曉,羅濤.圖像亮度測量技術在道路照明測試中的應用[J].城市亮化,2012(2):26-27.
[5] 李莉,孫立軍,陳長,等.改進的路面圖像背景校正算法[J].同濟大學學報(自然科學版),2011,39(1):79-84.
[6] 竇江龍.基于CMOS傳感器的顯微圖像處理分析系統設計[D].杭州:浙江大學,2012.
[7] 楊中東,王鵬,李曉慧,等.基于LCoS像素級圖像亮度調整方法研究[J].儀器儀表學報,2013,34(1):147-152.