一种扩展动态范围的图像处理算法*
2011-05-06朱良销余学才王世阳
朱良销,余学才,陈 涛,苏 柯,王世阳
(电子科技大学光电信息学院,成都 610054)
对于图像传感器,提高动态范围(DR)和信噪比(SNR)是很重要的。图像传感器的动态范围被定义为最大非饱和信号与黑暗条件下噪声的比值,这是图像传感器品质的关键因素[1]。传统结构的图像传感器的动态范围只有大约 60 dB,而环境图景的动态范围往往超过 100 dB[2],这就使得图像传感器所拍摄到的图像的对比度不够,当强背景光时,会使得图像传感器饱和,导致图像分辨率不足。
图像传感器的动态范围定义为最大非饱和信号和最小可测信号的比值,即表示为:动态范围 =最大非饱和信号/最小可测信号[3]。其中,最大非饱和信号为临界饱和信号,与光电探测器的势阱容量有关;最小可测信号为噪声的均方差。一般来说,图像传感器的动态范围都达不到自然界光强的范围,尤其是CMOS图像传感器的读出噪声较大,动态范围更受限制。图像传感器的动态范围示意图如图 1所示。
根据上图中饱和值和最小可测信号值的比值就可以求得图像传感器的动态范围。
图1 图像传感器的动态范围示意图
自然场景的光动态范围大于 105(100 dB),常见图像采集系统的动态范围[4],如表 1所示。
表1 常见图像采集系统的动态范围
从上表中可以看出,只有高端 CCD数码相机的动态范围才能达到胶片相机和人眼的水平,此类数码相机价格非常昂贵,应用受到很大的限制。由于自然场景的光动态范围大于 100 dB,CMOS图像传感器若要在更多领域取代 CCD图像传感器,开拓出更广阔的市场,就必须扩展其动态范围。
扩展图像传感器动态范围可采用各种技术,如对数像素结构、横向溢出栅像素结构、多次曝光技术、局部曝光技术等[5-6]。对数像素结构该像素单元输出信号与入射光信号成对数关系,它的工作特点是光信号被连续地转化为电压信号,这种方法是通过提高图像接收器件的探测性能来达到扩展动态范围[7-8]。要获得高动态范围的同时又有较高的信噪比 SNR,可采用两次或多次曝光的方法,这也是采用得最多的方法,很多研究人员进行了这方面的包括不通曝光量图像的获取和图像合成算法方面的研究。两次曝光方法使指对同一幅场景摄像两次,即在较短时间积分后摄像一次,更长积分时间后再摄像一次。从理论上说,短积分时间采样的图像在势阱饱和前捕获了高照度区域,长积分时间采样的图像在足够的积分时间后,捕获了低照度区域,因此所采样的两幅图像通过一定的合成算法可组合成一幅高动态范围的图像[9-11]。本文提出一种图像处理的算法来扩展动态范围,其原理是对同一图像进行连续采集两次,利用数学算法对图像进行合成以达到动态外围的扩展。
1 扩展动态范围的图像处理算法
利用同一图像传感器连续采集到几幅图像,这几幅图像是在同一背景下的,再运用图像合成算法来扩展动态范围。该算法主要是通过对两幅幅图像进行相加后,再对图像进行改算法处理,使所合成的图像的灰度值得到很好的改善。这种算法可以使图像中很暗、难分辨的物体得到增强,并可以使图像的背景得到适当的改善,由此可以分辨较暗物体和背景,动态范围得到了扩展。这里要利用用几幅图像相加的方法,是因为这样能增加合成图像的信噪比。对于几幅相近的图像,信噪比相差不是很大,相加过程中,信号的增加幅度比噪声的增加幅度要高,这样就提高了合成后的图像信噪比。
设第i幅图像在(x,y)位置的像素值为 Gi(x,y),合成后的图像在(x,y),位置的像素值为g(x,y),则:
其中 N0为所采集到的图像数目,G0为预设的参数值,为每幅图像在(x,y)位置上各像素值的平均值即:
该算法中的限制条件是 G0×N0<255。本算法与所取图像的数目 N0和预设的参数值 G0有关,如图 2所示,当预设的参数值为 50时,所取图像的数目 N0对该算法的影响。如图 3所示,当图像数目确定为 2时,预设的参数值 G0对该算法的影响。由图 2和图 3可看出对图像中低像素值(较暗的物体)进行了增强,使其能被肉眼所见,而对图像高像素值(较亮的物体和背景)进行适当的增强,从而使动态范围得以扩展。本算法的一个重要优点是合成后的图像的像素值都在 0~255之间,不存在像素值溢出的问题,不需要对图像进行归一化处理,使图像很好地保持原有的信息。
图2 本算法中图像数目 N0对灰度值的影响
本算法在运算速度上具有一定的优势,在MATLAB下做了速度的测试工作。MATLAB用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境[12]。当取两幅图像时本算法所耗的时间为 1 ms,这个测试是在图像为30万像素时进行的。对于一般的图像传感器,利用此算法可以有效的进行实时显示,并且可以利用此算法来抑制强背景光。
图3 本算法中预设的参数值G0对灰度值的影响
2 实验效果
实验中,我们使用 Point Grey Research的 PGR Fly Capture CMOS图像传感器,对同一景物进行拍摄。采集多图像,根据上面的合成算法,我们利用VC编程实现对图像的采集,算法的实现和图像的显示。做了两组实验,图 4为原始图像,一组是当G0为 50时,N0从 2到 3变化,一组是当 N0为 2,G0从 20到 50变化。实验结果图分别为图 5和图 6。
图4 原始图像
图5
图6
经过实验得到本算法中的图像数目 N0为 2,预设的参数值 G0为 50时所得到的效果最佳。
3 结论
通过上述提出的一种扩展图像传感器动态范围的图像处理算法,我们将两幅图像合成一幅图像扩展了图像传感器的动态范围。实验表明,这种合成图像的算法较好地表示了原图像的信息,这时一种简洁优化的动态范围扩展方法。改算法的关键在于:确定图像的数目和预设的参数。提高图像传感器动态范围的方法在技术上,商业上都会有很大的空间,对在光照强弱分明的景物中,获取更多的图像信息具有重要意义。
[1]Yang S,Cho K.High Dynamic Range CMOS Image Sensor with Conditional Reset[C]//Custom Integrated Circuits Conference,2002.Proceedings of the IEEE,May 2002,265-268.
[2]McIlrath L G.A Low-Power Low-Noise Ultrawide-Dynamic-Range CMOS Image with Pixel-parallel A/D Conversion[J].IEEE J.of Solide State Circuits,May 2001,36:846-853.
[3]David X D Yang,Abbas ElGamal.A 640×512CMOS Image Sensor with Ultra wide Dynamic Range Floating-Point Pixel-Level ADC[J].IEEE Journal of Solid-State Circuits,1999,34(12):1821-1834.
[4]Abbas El Gamal,SNR and Dynamic Range,EE392B Lecture Note 5[R].Stanford University,Stanford,USA,2001.
[5]何烽,徐之海.一种基于数字图像合成的扩展动态范围方法[J].光电工程,2006,30(5):66-68.
[6]刘恒殊,黄廉卿.基于人眼视觉特性的医学图像处理方法[J].光电工程,2001,28(4):38-41.
[7]姜秀彬,毛毳,何乐年.一个提高 CMOS图像传感器的动态范围的算法[J].微电子学与计算机,2006,23(2):45-48.
[8]Bogoni L.Extending Dynamic Range of Monochrome Color Image through Fusion[C]//Proceeding of the 15thInternational Conference on Pattern Recognition,IEEE Computer Society,2000,3:7-12.
[9]SBattiato,A Castorina,M Mancuso.High Dynamic Range Imaging for Digital Still Camera:an Overview[J].Journal of Electronic Imageing,2007,12(3):459-469.
[10]裴志军,国澄明.CMOS图像传感器动态范围扩展技术[J].传感器技术,2006,22(6):1-3.
[11]王庆有.图像传感器应用技术[M].北京:电子工业出版社,2006.235-240.
[12]王爱玲,叶明生,邓秋香.图像处理技术与应用[M].北京:电子工业出版社,2008.210-220,240-281.