发明内容
本发明所要解决的技术问题是提供一种校准图像色彩的方法和系统,能够基于人脸肤色校正自动白平衡的增益,提高图像质量。
为了解决上述技术问题,本发明提供了一种校准图像色彩的方法,该方法包括:
对经过自动白平衡处理的图像进行人脸识别,如识别成功,则确定人脸区域,计算所述人脸区域的红绿蓝RGB统计值;
计算将人脸区域的RGB统计值校正为理想人脸模型的RGB值所需要的红绿蓝RGB三个通道的校正后的白平衡增益;
根据红绿蓝RGB三个通道的校正后的白平衡增益对所述经过自动白平衡处理的图像重新进行白平衡处理。
进一步地,该方法还包括下述特点:
计算所述人脸区域的红绿蓝RGB统计值,包括:
对所述人脸区域的全部像素的红绿蓝RGB值求和后取平均值,得到所述人脸区域的红绿蓝RGB平均值。
进一步地,该方法还包括下述特点:
计算将人脸区域的RGB统计值校正为理想人脸模型的RGB值所需要的红绿蓝RGB三个通道的校正后的白平衡增益,包括:
(a)根据人脸区域的RGB平均值计算所述人脸区域的亮度值;
(b)根据理想人脸模型RGB值计算理想人脸模型的亮度值;
(c)将所述人脸区域的亮度值和理想人脸模型的亮度值进行比较,根据亮度比较结果分别计算红绿蓝RGB三个通道中每一个通道的增益校正因子,将红绿蓝RGB每一个通道的当前白平衡增益与该通道的增益校正因子相乘得到该通道的校正后的白平衡增益。
进一步地,该方法还包括下述特点:
所述根据亮度比较结果分别计算红绿蓝RGB三个通道中每一个通道的增益校正因子,包括:
当人脸区域的亮度值Y0大于或等于理想人脸模型的亮度值Y1时,将理想人脸模型的基色分量除以人脸区域的对应基色分量值所得的商作为底数,将理想人脸模型的亮度值除以人脸区域的亮度值所得的商作为指数,以所述底数和所述指数构造的幂作为该基色对应的通道的增益校正因子;红色通道的增益校正因子αR、绿色通道的增益校正因子αG、蓝色通道的增益校正因子αB依次如下:
当人脸区域的亮度值Y0小于理想人脸模型的亮度值Y1时,将理想人脸模型的基色分量除以人脸区域的对应基色分量值所得的商作为底数,将亮度最大值与理想人脸模型的亮度值的差除以亮度最大值与人脸区域的亮度值的差所得的商作为指数,以所述底数和所述指数构造的幂作为该基色对应的通道的增益校正因子;红色通道的增益校正因子αR、绿色通道的增益校正因子αG、蓝色通道的增益校正因子αB依次如下:
其中,R0为人脸区域的红色分量值,R1为理想人脸模型的红色分量值,G0为人脸区域的绿色分量值,G1为理想人脸模型的绿色分量值,B0为人脸区域的蓝色分量值,B1为理想人脸模型的蓝色分量值,Ymax为亮度最大值,所述Ymax预先设定。
进一步地,该方法还包括下述特点:
所述人脸区域为包含人脸图像的矩形区域或圆形区域。
为了解决上述技术问题,本发明还提供了一种校准图像色彩的系统,包括:
人脸识别模块,用于对经过自动白平衡处理的图像进行人脸识别,如识别成功,则确定人脸区域,计算所述人脸区域的红绿蓝RGB统计值;
增益计算模块,用于计算将人脸区域的RGB统计值校正为理想人脸模型的RGB值所需要的红绿蓝RGB三个通道的校正后的白平衡增益;
白平衡处理模块,用于根据红绿蓝RGB三个通道的校正后的白平衡增益对所述经过自动白平衡处理的图像重新进行白平衡处理。
进一步地,该系统还包括下述特点:
人脸识别模块,用于计算所述人脸区域的红绿蓝RGB统计值,包括:
对所述人脸区域的全部像素的红绿蓝RGB值求和后取平均值,得到所述人脸区域的红绿蓝RGB平均值。
进一步地,该系统还包括下述特点:
增益计算模块,用于计算将人脸区域的RGB统计值校正为理想人脸模型的RGB值所需要的红绿蓝RGB三个通道的校正后的白平衡增益,包括:
(a)根据人脸区域的RGB平均值计算所述人脸区域的亮度值;
(b)根据理想人脸模型RGB值计算理想人脸模型的亮度值;
(c)将所述人脸区域的亮度值和理想人脸模型的亮度值进行比较,根据亮度比较结果分别计算红绿蓝RGB三个通道中每一个通道的增益校正因子,将红绿蓝RGB每一个通道的当前白平衡增益与该通道的增益校正因子相乘得到该通道的校正后的白平衡增益。
进一步地,该系统还包括下述特点:
增益计算模块,用于所述根据亮度比较结果分别计算红绿蓝RGB三个通道中每一个通道的增益校正因子,包括:
当人脸区域的亮度值Y0大于或等于理想人脸模型的亮度值Y1时,将理想人脸模型的基色分量除以人脸区域的对应基色分量值所得的商作为底数,将理想人脸模型的亮度值除以人脸区域的亮度值所得的商作为指数,以所述底数和所述指数构造的幂作为该基色对应的通道的增益校正因子;红色通道的增益校正因子αR、绿色通道的增益校正因子αG、蓝色通道的增益校正因子αB依次如下:
当人脸区域的亮度值Y0小于理想人脸模型的亮度值Y1时,将理想人脸模型的基色分量除以人脸区域的对应基色分量值所得的商作为底数,将亮度最大值与理想人脸模型的亮度值的差除以亮度最大值与人脸区域的亮度值的差所得的商作为指数,以所述底数和所述指数构造的幂作为该基色对应的通道的增益校正因子;红色通道的增益校正因子αR、绿色通道的增益校正因子αG、蓝色通道的增益校正因子αB依次如下:
其中,R0为人脸区域的红色分量值,R1为理想人脸模型的红色分量值,G0为人脸区域的绿色分量值,G1为理想人脸模型的绿色分量值,B0为人脸区域的蓝色分量值,B1为理想人脸模型的蓝色分量值,Ymax为亮度最大值,所述Ymax预先设定。
进一步地,该系统还包括下述特点:
所述人脸区域为包含人脸图像的矩形区域或圆形区域。
与现有技术相比,本发明提供的一种校准图像色彩的方法和系统,通过对经过自动白平衡处理的图像进行人脸识别,计算将人脸区域的RGB统计值校正为理想人脸模型的RGB值所需要的红绿蓝RGB三个通道的校正后的白平衡增益,根据校正后的白平衡增益对所述图像重新进行白平衡处理,本发明能够使处理后的图像呈现的色彩更接近人眼看到的色彩,提高图像质量。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
如图1所示,本发明实施例提供了一种校准图像色彩的方法,该方法包括:
S10,对经过自动白平衡处理的图像进行人脸识别,如识别成功,则确定人脸区域,计算所述人脸区域的红绿蓝RGB统计值;
S20,计算将人脸区域的RGB统计值校正为理想人脸模型的RGB值所需要的红绿蓝RGB三个通道的校正后的白平衡增益;
S30,根据红绿蓝RGB三个通道的校正后的白平衡增益对所述经过自动白平衡处理的图像重新进行白平衡处理。
该方法进一步包括下述特征:
其中,所述人脸区域为包含人脸图像的矩形区域或圆形区域;
其中,计算所述人脸区域的红绿蓝RGB统计值,包括:对所述人脸区域的全部像素的红绿蓝RGB值求和后取平均值,得到所述人脸区域的红绿蓝RGB平均值;
其中,计算将人脸区域的RGB统计值校正为理想人脸模型的RGB值所需要的红绿蓝RGB三个通道的校正后的白平衡增益,包括:
(a)根据人脸区域的RGB平均值计算所述人脸区域的亮度值Y0;
(b)根据理想人脸模型RGB值计算理想人脸模型的亮度值Y1;
(c)将所述人脸区域的亮度值和理想人脸模型的亮度值进行比较,根据亮度比较结果分别计算红绿蓝RGB三个通道的校正后的白平衡增益;
其中,一种根据红绿蓝RGB值计算亮度值Y的常用算法如公式(1)所
示:Y=kr*R+(1-kr-kb)*G+kb*B; (1)
其中,kr=0.299,kb=0.114;R代表红色分量值,G代表绿色分量值,B代表蓝色分量值;
因此,步骤(a)、步骤(b)中:
Y0=kr*R0+(1-kr-kb)*G0+kb*B0 (1-1)
Y1=kr*R1+(1-kr-kb)*G1+kb*B1 (1-1)
其中,R0为人脸区域的红色分量值,R1为理想人脸模型的红色分量值,G0为人脸区域的绿色分量值,G1为理想人脸模型的绿色分量值,B0为人脸区域的蓝色分量值,B1为理想人脸模型的蓝色分量值。
步骤(c)中,将所述人脸区域的亮度值和理想人脸模型的亮度值进行比较,根据亮度比较结果分别计算红绿蓝RGB三个通道中每一个通道的增益校正因子,将红绿蓝RGB每一个通道的当前白平衡增益与该通道的增益校正因子相乘得到该通道的校正后的白平衡增益;
其中,当人脸区域的亮度值Y0大于或等于理想人脸模型的亮度值Y1时,将理想人脸模型的基色分量除以人脸区域的对应基色分量值所得的商作为底数,将理想人脸模型的亮度值除以人脸区域的亮度值所得的商作为指数,以所述底数和所述指数构造的幂作为该基色对应的通道的增益校正因子;红色通道的增益校正因子αR、绿色通道的增益校正因子αG、蓝色通道的增益校正因子αB依次如下:
当人脸区域的亮度值Y0小于理想人脸模型的亮度值Y1时,将理想人脸模型的基色分量除以人脸区域的对应基色分量值所得的商作为底数,将亮度最大值与理想人脸模型的亮度值的差除以亮度最大值与人脸区域的亮度值的差所得的商作为指数,以所述底数和所述指数构造的幂作为该基色对应的通道的增益校正因子;红色通道的增益校正因子αR、绿色通道的增益校正因子αG、蓝色通道的增益校正因子αB依次如下:
其中,Ymax为亮度最大值,Ymax一般预设为255。
下面对如何根据理想人脸模型的RGB值计算红绿蓝RGB三个通道的校正后的白平衡增益,举两个例子:
例1,假设经过自动白平衡处理后的图像整体发蓝,当前RGB增益分别为:GR=3.48,GG=1,GB=2.07,理想人脸模型的RGB值分别为:R1=172.5,G1=117.3,B1=99.3;通过仿真得知,如果将GR修正为3.8,GG修正为1,GB修正为1.8,则图像色彩逼近人眼看到的正常色彩,因此,可以看出自动白平衡处理的图像里面蓝色通道增益GB较高,红色通道增益GR较小导致画面整体偏蓝。现在采用本发明上述的方法对白平衡增益进行校正:
(a)对经过自动白平衡处理的发蓝的图像识别人脸区域,计算出的人脸区域的RGB统计值分别为:R0=137.4,G0=114.4,B0=115.6;
计算人脸区域的亮度值Y0:
Y0=0.114*137.4+(1-0.114-0.299)*114.4+0.299*115.6=185.792
计算理想人脸模型的亮度值Y1:
Y1=0.114*172.5+(1-0.114-0.299)*117.3+0.299*99.3=118.2108
(b)人脸区域的亮度值Y0大于理想人脸模型的亮度值Y1,计算每个通道的新的白平衡增益:
(c)根据红绿蓝RGB三个通道的新的白平衡增益GR'、GG'、GB'对所述发蓝的图像重新进行白平衡处理,可以看出,红色通道新的白平衡增益比原来有所提高,蓝色通道新的白平衡增益比原来有所降低,因此,重新经过白平衡处理后的照片,色彩更接近人眼看到的。
例2,假设经过自动白平衡处理后的图像整体发黄,当前RGB增益分别为:GR=3.963,GG=1,GB=1.518,理想人脸模型的RGB值分别为:R1=172.5,G1=117.3,B1=99.3;通过仿真得知,如果将GR修正为3.8,GG修正为1,GB修正为1.8,则图像色彩逼近人眼看到的正常色彩,因此,可以看出自动白平衡处理的图像蓝色通道增益较小导致画面整体偏黄,现在采用上述的方法对白平衡增益进行校正:
(a)对该经过自动白平衡处理的发黄的图像识别人脸区域,计算出的人脸区域的RGB统计值分别为:R0=174.1761,G0=118.649,B0=82.4667;
计算人脸区域的亮度值Y0:
Y0=0.114*174.1761+(1-0.114-0.299)*118.649+0.299*82.4667=114.160
计算理想人脸模型的亮度值Y1:
Y1=0.114*172.5+(1-0.114-0.299)*117.3+0.299*99.3=118.2108
(b)人脸区域的亮度值Y0小于理想人脸模型的亮度值Y1,计算每个通道的新的白平衡增益,其中,Ymax=255;
(c)根据红绿蓝RGB三个通道的新的白平衡增益GR'、GG'、GB'对所述发蓝的图像重新进行白平衡处理,可以看出,蓝色通道新的白平衡增益比原来有所提高,因此,重新经过白平衡处理后的照片,色彩更接近人眼看到的。
如图2所示,本发明实施例提供了一种校准图像色彩的系统,该系统包括:
人脸识别模块,用于对经过自动白平衡处理的图像进行人脸识别,如识别成功,则确定人脸区域,计算所述人脸区域的红绿蓝RGB统计值;
增益计算模块,用于计算将人脸区域的RGB统计值校正为理想人脸模型的RGB值所需要的红绿蓝RGB三个通道的校正后的白平衡增益;
白平衡处理模块,用于根据红绿蓝RGB三个通道的校正后的白平衡增益对所述经过自动白平衡处理的图像重新进行白平衡处理。
该系统进一步包括下述特征:
其中,所述人脸区域为包含人脸图像的矩形区域或圆形区域。
其中,人脸识别模块,用于计算所述人脸区域的红绿蓝RGB统计值,包括:对所述人脸区域的全部像素的红绿蓝RGB值求和后取平均值,得到所述人脸区域的红绿蓝RGB平均值。
其中,增益计算模块,用于计算将人脸区域的RGB统计值校正为理想人脸模型的RGB值所需要的红绿蓝RGB三个通道的校正后的白平衡增益,包括:
(a)根据人脸区域的RGB平均值计算所述人脸区域的亮度值;
(b)根据理想人脸模型RGB值计算理想人脸模型的亮度值;
(c)将所述人脸区域的亮度值和理想人脸模型的亮度值进行比较,根据亮度比较结果分别计算红绿蓝RGB三个通道中每一个通道的增益校正因子,将红绿蓝RGB每一个通道的当前白平衡增益与该通道的增益校正因子相乘得到该通道的校正后的白平衡增益。
其中,增益计算模块,用于所述根据亮度比较结果分别计算红绿蓝RGB三个通道中每一个通道的增益校正因子,包括:
当人脸区域的亮度值Y0大于或等于理想人脸模型的亮度值Y1时,将理想人脸模型的基色分量除以人脸区域的对应基色分量值所得的商作为底数,将理想人脸模型的亮度值除以人脸区域的亮度值所得的商作为指数,以所述底数和所述指数构造的幂作为该基色对应的通道的增益校正因子;红色通道的增益校正因子αR、绿色通道的增益校正因子αG、蓝色通道的增益校正因子αB依次如下:
当人脸区域的亮度值Y0小于理想人脸模型的亮度值Y1时,将理想人脸模型的基色分量除以人脸区域的对应基色分量值所得的商作为底数,将亮度最大值与理想人脸模型的亮度值的差除以亮度最大值与人脸区域的亮度值的差所得的商作为指数,以所述底数和所述指数构造的幂作为该基色对应的通道的增益校正因子;红色通道的增益校正因子αR、绿色通道的增益校正因子αG、蓝色通道的增益校正因子αB依次如下:
其中,R0为人脸区域的红色分量值,R1为理想人脸模型的红色分量值,G0为人脸区域的绿色分量值,G1为理想人脸模型的绿色分量值,B0为人脸区域的蓝色分量值,B1为理想人脸模型的蓝色分量值,Ymax为亮度最大值,所述Ymax预先设定。
上述实施例提供的一种校准图像色彩的方法和系统,通过对经过自动白平衡处理的图像进行人脸识别,计算将人脸区域的RGB统计值校正为理想人脸模型的RGB值所需要的红绿蓝RGB三个通道的校正后的白平衡增益,根据校正后的白平衡增益对所述图像重新进行白平衡处理,上述方法和系统能够使处理后的图像呈现的色彩更接近人眼看到的色彩,提高图像质量。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。