【学习笔记】传感器技术(4):基于CMOS图像传感器的亮度测量系统设计
2016年电子技术应用第1期
作者:张玉杰,陈志磊
摘 要: 对于道路照明,路面亮度分布的均匀性是为机动车驾驶员提供安全舒适的视觉条件的保证。针对路面亮度分布检测的需求,从光度学原理出发,提出了一种基于CMOS图像传感器的亮度分布测量系统。通过CMOS图像传感器OV7670采集图像,以STM32作为微控制器对图像进行处理并计算路面亮度及亮度分布。通过CMOS图像传感器测量亮度原理,对图像采集处理的各部分电路及系统软件进行了详细的分析和说明。通过对参数进行标定,完成了对路面亮度分布的检测,能够满足系统的设计要求。
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.