一种CMOS图像传感器信号处理自动白平衡算法

2015-11-04 06:19方建荣周晓方
计算机工程 2015年9期
关键词:白平衡单色白点

方建荣,苏 畅,周晓方,俞 军,沈 磊

(1.上海复旦微电子集团股份有限公司,上海200433;2.复旦大学专用集成电路与系统国家重点实验室,上海200433)

·图形图像处理·

一种CMOS图像传感器信号处理自动白平衡算法

方建荣1,苏 畅1,周晓方2,俞 军2,沈 磊2

(1.上海复旦微电子集团股份有限公司,上海200433;2.复旦大学专用集成电路与系统国家重点实验室,上海200433)

针对常见白平衡算法存在色温修正性不足或算法复杂度过高的问题,提出一种基于改进的灰度世界算法、改进的完美反射算法和单色算法相结合的三模互补自动白平衡算法。为完美反射算法增加色温估计约束条件以增强色温估计的精度,对灰度世界算法增加有效性判断。结合完美反射算法和灰度世界算法各自的特点,以弥补单个算法的不足。单色算法利用色温曲线排除单色场景,避免大片单色区域造成的白平衡失效。在一个CMOS图像传感器的信号处理过程中实现该算法。在不同色温环境以及多种场景下进行测试,结果表明该算法对图像偏色有较好的校正效果和适应性。

CMOS图像传感器;图像信号处理算法;自动白平衡;完美反射;灰度世界;色温曲线;单色

1 概述

不同光源具有不同的光谱成分和分布,色度学上称为色温[1]。受光源的影响,白色物体在低色温下偏红,在高色温下偏蓝。在晴天、阴天、白炽灯或日光灯等实际生活的场景中,人看到的白色物体总是白色的,这是因为人眼视觉修正的结果。人脑对物体的颜色具有一定先验知识[2],可依据值侦测并更正这种色差。对于CMOS图像传感器而言,没有办法直接修正这种色温的改变,须依靠内建的白平衡功能进行调整。

近年来国内外对于图像白平衡算法做了大量研究。文献[3]提出了一种基于色温估计的自动白平衡算法,该算法的难点是色温的划分以及各个色温下R/G和B/G范围的确定。文献[4]提出了基于Raw格式图像的自动白平衡算法,该算法计算图像的平均值和方差,并进行开平方运算,需要消耗大量的运算资源。文献[5]提出了一种基于边缘检测的图像自动白平衡算法,该算法的缺点是需要一个图像3倍大小的存储器,消耗了大量存储资源。文献[6]提出了使用自适应颜色样本的自动白平衡算法,将数据从RGB空间转换到YCbCr空间计算色温,然后又转回到RGB空间计算增益,2次转换损失了计算精度。文献[7]提出了一种实时的自动白平衡算法,由后端处理器参与运算。

在CMOS图像传感器的图像信号处理(Image Signal Processing,ISP)过程中实现自动白平衡,需要综合考虑算法实现的可行性、资源消耗情况及白平衡的效果。基于以上考虑,本文提出一种自动白平衡算法。改进的灰度世界算法相对于传统灰度世界算法[8-9]增加了在YCbCr空间上色温的有效性判断,避免灰度世界算法在色彩不够丰富的场景中失效。针对白点受色温偏色的影响,改进的完美反射算法相对于文献[10-11]增加了Cb与Cr间的约束条件,提高了色温估计的精度。另外扩展了基于色温曲线的自动白平衡算法[12]的使用算法,增加单色算法避免将单色图像处理成灰色。

2 算法描述

完美反射算法在白点足够多的场景中能取得不错的校正效果,但是接近肤色的颜色容易被误当成白点;物体光滑表面过度曝光的情况下调整效果也不尽人意。灰度世界算法在色彩丰富的场景中能取得较好的效果,但在场景中存在大量纯色物体时,校正效果会出现偏差。灰度世界算法与完美反射算法是基于2种不同假设的算法,在其中一种算法失效时能够很好地互补。图1为2种算法的关系示意图。

图1 完美反射和灰度世界关系示意图

灰度世界算法和完美反射算法能够满足大部分场景,但对于单色场景却无能为力,此时不进行白平衡处理反而是更好的选择。为了能够处理单色场景,增加了单色算法。

2.1 完美反射算法

文献[8-9]提出了一个六面体模型用于白点选择,该模型考虑了Y与Cb,Cr之间的相关性,当Y为定值时,该模型实际上为正方形,没有完全考虑白点受色温影响产生的色偏现象。本文相对于文献[8-9]增加了对Y上限值的限制,防止图像中过度曝光点引入到白点统计中,如式(1)所示:

另外,针对白点受色温影响产生的偏移,增加了色度信息Cb与Cr之间的约束关系,如式(2)所示:

其中,Angle1为第二象限的限制角度;Angle2为第四象限的限制角度;Bound1~Bound4分别为坐标轴上的偏移值,改进后的白点选择区域如图2所示。完美反射算法流程如图3所示。

图2 改进的白点检测区域

图3 完美反射算法流程

根据式(1)、式(2)的约束条件统计图像中的白点,若白点数量大于阈值则判定统计结果是可靠的,其次计算图像的色温和R,G,B通道的增益,最后将增益作用到下一帧图像的R,G,B通道上从而完成色温校正。

2.2 灰度世界算法

如果输入图像中出现大片单色区域的情况,会导致该颜色权重过大,造成灰度世界算法失效。因此,本文只选取R,G,B 3个通道值在一定范围内的点进行色温统计。另外消除亮度过暗的点和过度曝光的点对色温估计的影响,选择G通道作为亮度筛选通道。样本点约束条件如式(3)所示:

其中,Gmin是暗点的约束条件;Gmax是过度曝光点的约束条件;θ为R,G,B的比例系数。

为了进一步增强算法的适用性,在YCbCr空间对色温进行有效性判断,如式(4)所示。首先计算满足式(3)样本点的图像平均色温Cbmean和Crmean,然后依据式(4)进行有效性判断。Cbmin,Cbmax是Cbmean的约束条件,Crmin,Crmax是Crmean的约束条件。

灰度世界算法流程如图4所示。首先在RGB空间统计光源色温,在YCbCr空间进行色温有效性判断。然后计算R,G,B通道的增益。最后将增益作用到下一帧图像的R,G,B通道上从而完成色温校正。

图4 灰度世界算法流程

2.3 单色算法

文献[12]中色温曲线用于白点选择,本文扩展了色温曲线的用途,将色温曲线用于图像单色判断。在标准色温灯箱中对一定色温范围([2 000 K,13 000 K],间隔500 K)下的24色color chart中标准白色块的R/G与B/G进行了统计测试,并且利用统计得到的数据拟合色温曲线y=5.16χ2-12.19χ+ 7.95,如图5中实线所示。在色温曲线附近定义单色块的识别区,如图5中2条虚线之间的区域。该识别区的范围可通过寄存器调整。单色块远离该识别区,而在识别区里的则认为是白色块。

图5 色温曲线

该算法将一幅图像划分为M×N个宏块,如图6所示。图像大小和宏块分割方法可通过寄存器配置,一方面易于硬件的移植,另一方面满足所有图像的判断。

图6 图像划分

首先计算每个宏块中三通道的平均值R,G,B,然后计算R/G和B/G的比值,由B/G依据色温曲线计算得到理想的R_o/G_o,比较R/G和R_o/G_o的关系,若R_o/G_o超出了R/G的一定比例,则判定该宏块为单色,同时累计的单色宏块数加1。当图像单色宏块的数量达到一定阈值时,则判断该图像为单色图像,整个算法不进行白平衡调整。具体流程如图7所示。

图7 单色算法流程

2.4 三模切换控制

三模切换控制是单色算法、灰度世界算法和完美反射算法的控制核心,负责完成3种算法之间的自由切换。三模切换控制示意图如图8所示。共有IDLE,MC,PR,GW 4个状态。IDLE为无效状态,MC为单色算法模式,PR为完美反射算法模式,GW为灰度世界算法模式。MC_en,PR_en,GW_en分别为单色算法模式、完美反射算法模式和灰度世界算法模式的有效控制信号。单色算法模式优先级最高,完美反射算法模式次之,灰度世界算法模式的优先级最低,各个模式之间可以自动切换。

图8 三模切换控制

为了避免各个模式频繁切换而导致视觉的差异性,各个模式中增加了退出与进入的鲁棒性设计。在单色算法模式中设置2个宏块数量判断的阈值,分别用于进入单色算法模式和退出单色算法模式的判断。在完美反射算法模式中,设置2个白点数量判断的阈值,分别用于进入完美反射算法模式和退出完美反射算法模式的判断。

3 算法验证

为了验证本文算法的有效性,采用自行研发的CMOS图像传感器在标准色温灯箱中拍摄24色color chart样本图片和单色图片,并使用Matlab构建了其他算法的实验环境,以实现对图像数据的读取和白平衡等操作。

实验1为各个算法在D65色温环境下调整的效果;实验2为各个算法在TL83色温环境下调整的效果;实验3为各个算法在F色温环境下调整的效果。各实验调整效果如图9~图11所示。

图9 实验1调整效果

图10 实验2调整效果

图11 实验3调整效果

首先从主观感受判断,各个算法都对图像进行了白平衡调整,调整结果也基本满足了主观要求。其次从客观角度进行判断,使用Imatest软件对图像进行白平衡误差分析,分析结果如表1所示,Gray19~Gray23分别对应color chart中第19块~第23块的灰色块。

表1 白平衡误差ΔE

从表1中可以看出,虽然RGB最大值法和动态值法相较于原始图像白平衡做了较大调整,但部分调整结果没有达到Im atest的调整要求,而本文算法调整后的误差都小于0.1,都达到了Imatest客观分析的要求。另外文献[13]提出了基于平均Cb,Cr的白平衡度量方法,白平衡值CSWB如式(5)所示:

其中,Car是图像特定像素的Cb的平均值;Cab是图像特定像素的Cr平均值,而特定像素指图中(Cr/Cb)∈[-1.5,-0.5]的像素。CSWB值越小白平衡效果越好。表2为各个算法的白平衡值的计算结果。在中间色温的情况下,本文算法的效果和动态值法差别不大,但在高色温和低色温的情况下,本文算法的优势更加明显。在高色温下提高了23%,在低色温下提高了46%。

表2 各种算法的白平衡值

为了验证本文算法对于单色场景的处理能力,分别在红色、绿色、蓝色占主导的场景中进行了测试。各个算法的对比测试结果如图12~图14所示。

图12 实验4调整效果

图13 实验5调整效果

图14 实验6调整效果

实验4为绿色场景,实验5为红色场景,实验6为蓝色场景。从各个算法的效果可以看出,RGB最大值法和动态值法在单色占主体颜色的场景下基本失效,而本文算法通过色温曲线的判断能够正确识别单色场景,从而对图像不做白平衡处理。

从以上图像效果及数据可以看出,本文的三模互补自动白平衡算法有很好的校正效果,可适用于不同的场景。

4 硬件实现

采用Verilog语言在A ltera的Cyclone IV E系列的器件EP4CE30F23C8L平台上验证了本文算法,并且在一个CMOS图像传感器中实现了该算法。硬件实现框架如图15所示。为了减少硬件资源的开销,在保证色温估计准确性的前提下,对输入数据进行了采样,采样的频率可通过内部寄存器设置,RGB转YCbCr模块将输入的RGB数据转换成YCbCr数据。单色算法模式在RGB色彩空间实现,灰度世界算法模式在完美反射算法模式在YCbCr空间实现,控制模块是整个算法的状态机,根据数据的判断决定采用哪种模式。

图15 AW B总体架构

顶层模块的仿真波形如图16所示。将色温估计的增益GianR,GainG和GainB分别在R,G,B通道进行增益运算处理,运算波形符合预计的算法约定。

图16 AW B顶层模块的仿真波形

5 结束语

本文提出了一种基于改进的灰度世界、改进的完美反射和单色算法相结合的三模互补自动白平衡算法。灰度世界算法和完美反射算法具有互补的特性,两者结合能够处理大部分场景及色温环境,且两者硬件实现简单,在CMOS图像传感器ISP中容易实现,但都无法处理单色场景,因此,本文在此基础上增加了单色处理算法。实验结果表明本文提出的自动白平衡算法满足主观和客观的要求。下一步工作可以在现有算法的基础上继续完善:单色算法可增加宏块在图像中的位置信息,为每个宏块分配一定的权重比例;完美反射算法的白点检测区域可按权重进行划分,使色温估计更加精准,从而达到更佳的白平衡效果。

[1] Bilcu R C.Multiframe Auto White Balance[J].IEEE Signal Processing Letters,2011,18(3):165-168.

[2] Barnard K,Cardei V,Funt B.A Comparison of Computational Color Constancy Algorithms-Part II Methodology and Experiments with Synthesized Data[J].IEEE Transactions on Image Processing,2002,11(9):972-984.

[3] 王 敏.基于色温估计自动白平衡算法研究和实现[D].天津:天津大学,2011.

[4] 李 峰,印蔚蔚.基于Raw格式图像的自动白平衡方法[J].计算机工程,2011,37(17):211-213.

[5] 张 钰,姚素英,胡燕翔.一种基于边缘检测的图像自动白平衡方法[J].光电子·激光,2008,19(6):804-807.

[6] Jang W,Son K,Kim J.Auto White Balance System Using Adaptive Color Samples for Mobile Devices[C]// Proceedings of IEEE Asia Pacific Conference on Circuits and Systems.Washington D.C.,USA:IEEE Press,2008.

[7] Zhang Buyue,Batur A U.A Real-time Auto White Balance Algorithm for Mobile Phone Cam eras[C]// Proceedings of IEEE International Conference on Consumer Electronics.Washington D.C.,USA:IEEE Press,2012:1-4.

[8] Huo Jun-Yan,Chang Yi-Lin,W ang Jing,et al.Robust Automatic White Balance Algorithm Using Gray Color Point in Im ages[J].IEEE Transactions on Consumer Electronics Society,2006,52(2):541-546.

[9] 周荣政,何 捷,洪志良.自适应的数码相机自动白平衡算法[J].计算机辅助设计与图形学学报,2005,17(3):529-533.

[10] Chikane V,Fuh Chiou-Shann.Automatic White Balance for Digital Still Camera[J].IEEE Journal of Information Science and Engineering,2006,30(22):497-509.

[11] Chen Chenglun,Lin Shaohua.Formulating and Solving a Class of Optimization Problem s for High-performance Gray World Automatic White Balance[J].App lied Soft Computing,2009,11(1):523-533.

[12] 金黄斌,自动白平衡算法研究及软硬件实现[D].杭州:杭州电子科技大学,2011.

[13] 赵全友,潘保昌.改进的LoG边缘自动白平衡算法[J].计算机应用研究,2009,26(2):775-778.

编辑 顾逸斐

An Algorithm of Automatic White Balance for CMOS Image Sensor Signal Processing

FANG Jianrong1,SU Chang1,ZHOU Xiaofang2,YU Jun2,SHEN Lei2
(1.Shanghai Fudan Microelectronics Group Co.,Ltd.,Shanghai200433,China;2.State Key Laboratory of ASIC&System,Fudan University,Shanghai 200433,China)

The common automatic white balance algorithm is lack of adaptability or too complicated.An automatic white balance algorithm based on improved gray world algorithm,improved perfect reflection algorithm and mono color algorithm is proposed.In order to enhance the precision of perfect reflection to increase color temperature estimation constraint conditions,the effectiveness of judgment is added on the gray world algorithm.The combination of perfect reflection and gray world algorithm makes up for the deficiency of the two algorithm s effectively.M ono color algorithm using color temperature avoids white balancemal function in the case of one color image.The algorithm is realized in the design of a CMOS image sensor Image Signal Processing(ISP).The test result under different light source and scene shows that the presented method can available adjust image color bias and has strong adaptability.

CMOS image sensor;Image Signal Processing(ISP)algorithm;automatic white balance;perfect reflection;gray world;color temperature curve;mono color

方建荣,苏 畅,周晓方,等.一种CMOS图像传感器信号处理自动白平衡算法[J].计算机工程,2015,41(9):245-250.

英文引用格式:Fang Jianrong,Su Chang,Zhou Xiaofang,et al.An Algorithm of Automatic White Balance for CMOS Image Sensor Signal Processing[J].Computer Engineering,2015,41(9):245-250.

1000-3428(2015)09-0245-06

A

TP391.41

10.3969/j.issn.1000-3428.2015.09.045

上海市经信委软件和集成电路产业发展专项基金资助项目(130303)。

方建荣(1983-),男,硕士,主研方向:CMOS图像传感器;苏 畅,硕士;周晓方,高级工程师;俞 军,教授级高级工程师;沈 磊,高级工程师。

2014-09-22

2014-10-16 E-m ail:jianrong_fang@163.com

猜你喜欢
白平衡单色白点
医 学 指甲上有小白点是缺钙吗?
粉刷匠的孩子,真让我羡慕
消除大型锻件内白点缺陷的工艺方法浅析
刷子李
单色不单调·灯具篇
技术橱窗
彩妆去寻找春天
你的白平衡准确吗?
准单色X射线机替代241Am放射源的测厚应用研究
准确的白平衡管理