具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例所描述的终端可以包括智能手机(如Android手机、iOS手机、WindowsPhone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备(MID,MobileInternetDevices)或穿戴式设备等,上述终端仅是举例,而非穷举,包含但不限于上述终端。
请参阅图1,为本发明实施例提供的一种图像处理的方法的第一实施例流程示意图。本实施例中所描述的图像处理的方法,包括以下步骤:
101、对待处理图像进行人脸检测,以得到所述待处理图像中的人脸区域。
本发明实施例中,待处理图像可为利用终端的摄像头拍摄的图像,在终端的摄像头进行拍摄之后,可得到raw图像,可对该raw图像进行线性化处理,在该线性化之后,再进行Demosaic处理,便可以得到本发明中的待处理图像。
其中,利用终端的摄像头进行拍摄以得到待处理图像的步骤如下:对利用终端的摄像头拍摄得到的raw图像进行线性化处理。线性化处理可依据如下公式:
其中,raw_data为raw图像数据,liner_data为线性化处理后的数据。
接着,对上述线性化处理后的数据进行demosaic处理,进行demosaic处理的主要原因在于:由于传感器只能感受光的“强度”而非“色彩”,因而,需要在传感器之前放置一些特定波长的滤光片,使得经过这些滤光片后作用在传感器上的光信号只是单一波长的乘积形式(比如550nm),而非整个可见光波段(380nm~780nm)的积分形式。实现这个功能最常见的滤光片就是拜耳滤镜。
灰色部分为CMOS,彩色部分为对应颜色的滤镜,每个滤镜下方对应的像素点只能接收到该滤镜对应波长的光信号,而不是整个可见光谱范围的光信号。根据左上角四个滤镜从左至右、从上至下的顺序一般有“RGGB”、“GBRG”、“GRBG”、“BGGR”几种。因此,只要得知传感器的拜耳滤镜的排列方式就可以计算Demosaic。一般都采用常见的插值算法,例如双线性插值,中值插值等插值算法,但从算法复杂度和算法实用性的角度考虑,优选地,采用了直接将每四个像素合成为一个像素进行处理,计算(Matlab中)程序如下:
其中,r、g、b为图像的红、绿、蓝三通道的值,row为图像的宽,col为图像的高。从而,对raw图像进行线性化处理和Demosaic处理,便可以得到待处理图像。
其中,终端可对待处理图像进行人脸检测,从而,可确定待处理图像中的人脸区域。其中,在待处理图像中包含一个人脸的情况下,可确定该待处理图像中的1个人脸区域;在待处理图像中包含多个人脸的情况下,可确定该待处理图像中的多个人脸区域。
102、确定所述人脸区域中的目标镜面反射区域。
本发明实施例中,终端可将待处理图像中的人脸区域裁剪出来,并对该人脸区域进行镜面反射区域检测,从而,可确定该人脸区域中的目标镜面反射区域。可见,目标镜面反射区域是人脸区域中的部分区域。终端在对待处理图像中进行人脸检测,可确定该待处理图像中的人脸区域,可对该待处理图像进行图像分割,以得到该待处理图像中的目标镜面反射区域,更确切地说,目标镜面反射区域为人脸区域中的一部分。在实际应用中,目标镜面反射区域是由多个子区域构成。
步骤102可由暗通道理论实现,如下:由暗通道理论可知,亮度越高的暗通道区域,其为镜面反射区域的概率就越大,检测人脸反射区域可由公式(3)实现,如下:
其中,公式(3)中Ω(x)是中心在x的任一人脸图像,其中,x是子图像的中心坐标,y是子图像的中心坐标x对应的纵坐标,c表示任一通道,r、g、b分别为待处理图像的红色通道、绿色通道和蓝色通道,I为暗通道图像。
可选地,终端可先确定人脸区域中的镜面反射区域,然后,再对该镜面反射区域进行镜面反射区域检测,以得到该镜面反射区域中的目标镜面反射区域。即,对人脸区域进行两次镜面反射区域检测,这样,可提高镜面反射区域的精度。进一步地,终端还可对人脸区域进行多次镜面反射区域检测,以3次镜面反射区域检测为例进行说明,首先,对人脸区域进行镜面反射区域检测,以得到第一镜面反射区域,由于第一镜面反射区域往往会包含一些漫反射的区域,因此,可再次对该第一镜面反射区域进行镜面反射区域检测,以得到第二镜面反射区域,最后,为了提高白平衡精度,还可对该第二镜面反射区域进行镜面反射区域检测,将最终检测到的区域作为目标镜面反射区域。
103、将所述目标镜面反射区域投影到IIC空间,以得到所述目标镜面反射区域的投影数据。
本发明实施例中,终端可将目标镜面反射区域投影到IIC空间,首先,可计算步骤102中输入的目标镜面反射区域对应的图像的r、g、b三通道的值以及对应的通道的chroma值,如公式(4):
其中,公式(4)中,c为r、g、b中任一通道,chromac为c通道chroma值,也称为色品值。I为目标镜面反射区域对应的图像。
在IIC空间中,由双色反射模型(DRM模型)理论可知,任一图像均可由漫反射和镜面反射两部分来表示,本实施中所涉及到的图像也不例如,如以下公式(5)所示:
Ic(x)=md(x)Λc(x)+ms(x)Γc(5)
其中,公式(5)中md(x)可表示形如公式(6):
其中,公式(5)中ms(x)可表示形如公式(7):
由公式(5)和公式(4)可以推出,图像的色品值chromaticity可以表示为
其中,公式(5)-公式(8)中Ic(x)代表光源,Γc代表镜面反射,Λc(x)代表漫反射,md(x)为漫反射评估参数,ms(x)为镜面反射评估参数。
接着,由公式(8)可推导出
将上述公式(9)的结果带入公式(8)可得到:
其中,公式(9)中pc(x)可表示如下:
pc(x)=md(x)(Λc(x)-Γc)(11)
由上述公式(10)可知,在将目标镜面反射区域在IIC空间进行投影后,所得的截距即为本实施例中要计算的色温。如图1a所示,该目标镜面反射区域可以根据图1a所描述的模型进行检测。
由图1a可知,图1a中水平的直线为漫反射部分,而斜率较大部分并与Y轴交于一点的为镜面反射部分。可参见图1a,由图1a中的模型可有下列公式总结:
y=kx+b,x>Threshold
y=N,x≤Threshold(11)
在公式(11)的描述下,只需要求出对应的Threshold就可以有效的去除漫反射部分像素对算法结果的影响。而由图1a中所描述的模型可以看出,Threshold处属于梯度变化点,因此使用一阶导数求出梯度变化点即可,如公式(12):
其中,公式(12)中所示的ii表示反增强(inverseintensity),具体如公式(13)所示:
其中,step可根据具体实际情况设定,本专利将预设该step的范围为0.05-0.2,可选地,此处step可为0-1之间,优选地,0.05-0.2。
对公式(11)进行求解一阶导数,如公式(14)所示:
优选地,上述公式中,Threshold可为T中第一个大于0的元素。
104、将所述投影数据进行拟合,以得到拟合直线。
本发明实施例中,终端可利用最小二乘法将步骤103中的投影数据进行拟合,为一条直线并计算其斜率和截距。具体地,如公式(15)所示:
d=yave-a·xave(15)
其中,公式(15)在本专利中ave上标代表着将所有的数据点按照x轴等距进行平均处理的数据点。中a表示斜率,d表示截距。由于,目标镜面反射区域为多个,因而,对应着多个a和多个d。
105、基于所述拟合直线计算所述目标镜面反射区域的多个色品值。
本发明实施例中,终端可通过r、g、b中任一通道的多个色品值。针对任一目标镜面反射区域,都会由一个a和一个d。其中,d即为我们所需要求得的色品值。
106、根据所述多个色品值估算预设通道的目标色品值,其中所述预设通道为r、g、b通道中的任一通道。
本发明实施例中,终端可对r、g、b中任一通道进行估算目标色品值,例如,以r通道为例进行说明,
具体地,可通过概率密度算法得到概率目标色品值。其理论和实施方式如下:
由概率论的知识可知,假设样本数据值在D维空间服从一个未知的概率密度函数,那么在区域R内的概率为:
P=∫Rp(x)dx(16)
本实施例中,D为2维空间,R为目标镜面反射区域,样本数据可为上述截距d,概率P的含义就为每个样本数据点落入区域R的概率为P。假设N个样本数据点有K个落入了区域R,那么就应该服从二项分布:
在N样本数据很大时,K约等于N*P。反之,假设区域R足够小的话,那么P约等于p(x)*V(V为区域R的空间)。
即:
p≈p(x)·V(18)
由公式(17)与(18),可得:
可选地,根据公式(18)求得概率密度最大的色品值作为目标色品值。进一步地,终端还可以将概念密度第二大的色品值作为目标色品值。
107、通过所述目标色品值确定所述待处理图像的色温。
本发明实施例中,色温可为r、g、b三个通道的色品值,由于待处理图像可由r、g、b三个通道构成,从而,在该三个通道中某一通道的色品值确定时,可求解另外两个通道的色品值。
具体地,由于双色反射模型(DichromaticReflectionModel,DRM)模型和反增强色调(InverseIntensityChroma,IIC)模型的理论基于一定的条件并且在计算物体镜面反射的区域时也可能发生误差,于是,可引入色温曲线进行验证。色温曲线的拟合可以在实验条件下使用固定的元器件使用灰卡进行采集,并根据采集的数据点进行拟合,本发明在具体实施过程中,发明人采用金立S5.1PRO手机的摄像机元器件进行采集对环境进行拍摄,从而,拟合的色温曲线如图1b所示,该色温曲线的横轴为r通道的色品值(由x表示),纵轴为g通道的色品值(由y表示),r通道的色品值与g通道的色品值的关系,可如公式(20):
y=3.1627x2+1.8346x=0.1826(20)
其中,若x一定,那么可直接求出y,即在r通道的色品值已知的情况下,可直接求解出y通道的色品值。
可选地,终端还可得到有关r通道与b通道的色温曲线,或者,g通道与b通道的色温曲线,因而,只需求求解出任一一个通道的色品值,便可以求得其他通道的色品值,所有通道的色品值可构成图像的色温。
108、根据所述色温对所述待处理图像进行处理。
本发明实施例中,可用步骤108得到的色温对待处理图像进行处理。
通过本发明实施例,对待处理图像进行人脸检测,以得到该待处理图像中的人脸区域,确定该人脸区域中的目标镜面反射区域,并将该目标镜面反射区域投影到IIC空间,以得到该目标镜面反射区域的投影数据,将该投影数据进行拟合,以得到拟合直线,基于该拟合直线计算该目标镜面反射区域的多个色品值,根据该多个色品值估算预设通道的目标色品值,其中该预设通道为r、g、b通道中的任一通道;通过该目标色品值确定该待处理图像的色温,根据该色温对所述待处理图像进行处理。从而,只对待处理图像进行人脸检测,将该待处理图像中的人脸区域确定整个待处理图像中的色温,因此,可使得图像中的人物肤色更为自然。
请参阅图2,为本发明实施例提供的一种图像处理的方法的第二实施例流程示意图。本实施例中所描述的图像处理的方法,包括以下步骤:
201、对待处理图像进行人脸检测,以得到所述待处理图像中的人脸区域。
202、将所述人脸区域划分为尺寸大小相同的多个独立方块区域。
本发明实施例中,终端可对人脸区域进行划分,划分为尺寸大小相同的多个独立方块区域,其中,每个独立方块区域的尺寸大小可为3×3、5×5、7×7、9×9、11×11等等。在人脸区域为多个时,可分别将每个人脸区域均划分为尺寸大小相同的多个独立方块区域。
203、分别计算所述多个独立方块区域的暗通道值,以得到多个暗通道值。
本发明实施例中,每个独立方块区域均对应一个暗通道值,从而,可得到多个暗通道值。
由暗通道理论可知,亮度越高的暗通道区域,其为镜面反射区域的概率就越大,检测人脸反射区域可由如下公式实现,如下:
其中,Ω(x)是中心为x的某一人脸图像,其中,x是该图像的中心坐标,y是该图像的中心坐标x对应的纵坐标,c表示任一通道,r、g、b分别为待处理图像的红色通道、绿色通道和蓝色通道,I为暗通道图像。
204、将所述多个暗通道值中的目标暗通道值对应的独立方块区域作为镜面反射区域,其中所述目标暗通道值均大于预设阈值。
本发明实施例中,终端可对多个暗通道值与预设阈值进行比较,若暗通道值i大于预设阈值,则将该暗通道值i作为目标暗通道值,其中,该暗通道值i为该多个暗通道值中的任一个。其中,预设阈值可由经验值决定,或者,由用户设置。
205、对所述镜面反射区域进行镜面反射区域检测,以得到所述镜面反射区域中的目标镜面反射区域。
206、将所述目标镜面反射区域投影到IIC空间,以得到所述目标镜面反射区域的投影数据。
207、将所述投影数据进行拟合,以得到拟合直线。
208、基于所述拟合直线计算所述目标镜面反射区域的多个色品值。
209、根据所述多个色品值估算预设通道的目标色品值,其中所述预设通道为r、g、b通道中的任一通道。
本发明实施例中,终端可构造概率密度函数,根据该概率密度函数估计出预设通道的目标色品值。
210、通过所述目标色品值确定所述待处理图像的色温。
211、根据所述色温对所述待处理图像进行处理。
通过本发明实施例,对待处理图像进行人脸检测,以得到该待处理图像中的人脸区域,确定该人脸区域中的镜面反射区域,并将该镜面反射区域划分为多个独立方块区域,计算每一独立方块区域的暗通道值,该暗通道值中大于预设阈值的目标暗通道值对应的独立方块区域作为目标镜面反射区域,并将该目标镜面反射区域投影到IIC空间,以得到该目标镜面反射区域的投影数据,将该投影数据进行拟合,以得到拟合直线,基于该拟合直线计算该目标镜面反射区域的多个色品值,根据该多个色品值估算预设通道的目标色品值,其中该预设通道为r、g、b通道中的任一通道;通过该目标色品值确定该待处理图像的色温,根据该色温对所述待处理图像进行处理。从而,只对待处理图像进行人脸检测,将该待处理图像中的人脸区域确定整个待处理图像中的色温,在根据人脸区域确定待处理图像的色温的过程中,将待处理图像划分为多个独立方块区域,将多个独立方块区域中暗通道值大于预设阈值的独立方块区域,从而,可提高白平衡的精度,因此,可使得图像中的人物肤色更为自然。
请参阅图3,为本发明实施例提供的一种图像处理的方法的第三实施例流程示意图。本实施例中所描述的图像处理的方法,包括以下步骤:
301、对待处理图像进行人脸检测,以得到所述待处理图像中的人脸区域。
302、确定所述人脸区域中的目标镜面反射区域。
303、将所述目标镜面反射区域投影到IIC空间,以得到所述目标镜面反射区域的投影数据。
304、将所述投影数据进行拟合,以得到拟合直线。
305、基于所述拟合直线计算所述目标镜面反射区域的多个色品值。
306、根据所述多个色品值估算预设通道的目标色品值,其中所述预设通道为r、g、b通道中的任一通道。
307、获取所述待处理图像所在环境中的色温曲线。
本发明实施例中,基于双色反射模型模型和反增强色调模型的理论基于一定的条件并且在计算物体镜面反射的区域时也可能发生误差,于是,可引入色温曲线进行验证。色温曲线的拟合可以在实验条件下使用固定的元器件使用灰卡进行采集,并根据采集的数据点进行拟合,本发明在具体实施过程中,发明人采用金立S5.1PRO手机的摄像机元器件进行采集对环境进行拍摄,从而,拟合的色温曲线如图1b所示,该色温曲线的横轴为r通道的色品值(由x表示),纵轴为g通道的色品值(由y表示),r通道的色品值与g通道的色品值的关系,可如下式:
y=3.1627x2+1.8346x=0.1826
其中,若x一定,那么可直接求出y,即在r通道的色品值已知的情况下,可直接求解出y通道的色品值。
可选地,终端还可得到有关r通道与b通道的色温曲线,或者,g通道与b通道的色温曲线,因而,只需求求解出任一一个通道的色品值,便可以求得其他通道的色品值,所有通道的色品值可构成图像的色温。
308、根据所述目标色品值和所述色温曲线确定所述预设通道之外的其他通道的色品值。
309、根据所述目标色品值和所述其他通道的色品值对所述待处理图像进行处理。
通过本发明实施例,对待处理图像进行人脸检测,以得到该待处理图像中的人脸区域,确定该人脸区域中的目标镜面反射区域,并将该目标镜面反射区域投影到IIC空间,以得到该目标镜面反射区域的投影数据,将该投影数据进行拟合,以得到拟合直线,基于该拟合直线计算该目标镜面反射区域的多个色品值,根据该多个色品值估算预设通道的目标色品值,其中该预设通道为r、g、b通道中的任一通道;通过该目标色品值确定该待处理图像的色温,根据该色温对所述待处理图像进行处理。从而,只对待处理图像进行人脸检测,将该待处理图像中的人脸区域确定整个待处理图像中的色温,因此,可使得图像中的人物肤色更为自然。
请参阅图4,为本发明实施例提供的一种终端的第一实施例结构示意图。本实施例中所描述的终端,包括:
检测单元401,用于对待处理图像进行人脸检测,以得到所述待处理图像中的人脸区域;
第一确定单元402,用于确定所述检测单元401检测到的所述人脸区域中的目标镜面反射区域;
投影单元403,用于将所述第一确定单元402确定的所述目标镜面反射区域投影到IIC空间,以得到所述目标镜面反射区域的投影数据;
拟合单元404,用于将所述投影单元403投影得到的所述投影数据进行拟合,以得到拟合直线;
第一计算单元405,用于基于所述拟合单元404拟合得到的所述拟合直线计算所述目标镜面反射区域的多个色品值;
第一估算单元406,用于根据所述计算单元405计算出的所述多个色品值估算预设通道的目标色品值,其中所述预设通道为r、g、b通道中的任一通道;
第二确定单元407,用于通过所述第一估算单元406估算出的所述目标色品值确定所述待处理图像的色温;
处理单元408,用于根据所述第二确定单元407确定出的所述色温对所述待处理图像进行处理。
可选地,所述第一确定单元402包括:
第三确定单元4021,用于确定所述人脸区域中的镜面反射区域;
检测单元4022,用于对所述第三确定单元4021确定的所述镜面反射区域进行镜面反射区域检测,以得到所述镜面反射区域中的目标镜面反射区域。
可选地,所述第三确定单元4021包括:
划分单元409,用于将所述人脸区域划分为尺寸大小相同的多个独立方块区域;
第二计算单元410,用于分别计算所述划分单元409划分的所述多个独立方块区域的暗通道值,以得到多个暗通道值;
第四确定单元411,用于将所述第二计算单元410计算出的所述多个暗通道值中的目标暗通道值对应的独立方块区域作为镜面反射区域,其中所述目标暗通道值均大于预设阈值。
可选地,所述第一估算单元406包括:
构造单元4061,用于根据所述多个色品值构成关于预设区域的概率密度函数;
第二估算单元4062,用于根据所述构造单元构造的所述概率密度函数估算预设通道的目标色品值。
可选地,所述第二确定单元407包括:
获取单元4071,用于获取所述待处理图像所在环境中的色温曲线;
第五确定单元4072,用于根据所述目标色品值和所述获取单元4071获取的所述色温曲线确定所述预设通道之外的其他通道的色品值。
通过本发明实施例所描述的终端可对待处理图像进行人脸检测,以得到该待处理图像中的人脸区域,确定该人脸区域中的目标镜面反射区域,并将该目标镜面反射区域投影到IIC空间,以得到该目标镜面反射区域的投影数据,将该投影数据进行拟合,以得到拟合直线,基于该拟合直线计算该目标镜面反射区域的多个色品值,根据该多个色品值估算预设通道的目标色品值,其中该预设通道为r、g、b通道中的任一通道;通过该目标色品值确定该待处理图像的色温,根据该色温对所述待处理图像进行处理。从而,只对待处理图像进行人脸检测,将该待处理图像中的人脸区域确定整个待处理图像中的色温,因此,可使得图像中的人物肤色更为自然。
请参阅图5,为本发明实施例提供的一种终端的第二实施例结构示意图。本实施例中所描述的终端,包括:至少一个输入设备1000;至少一个输出设备2000;至少一个处理器3000,例如CPU;和存储器4000,上述输入设备1000、输出设备2000、处理器3000和存储器4000通过总线5000连接。
其中,上述输入设备1000具体可为触控面板、物理按键或者鼠标。
上述输出设备2000具体可为显示屏。
上述存储器4000可以是高速RAM存储器,也可为非不稳定的存储器(non-volatilememory),例如磁盘存储器。上述存储器4000用于存储一组程序代码,上述输入设备1000、输出设备2000和处理器3000用于调用存储器4000中存储的程序代码,执行如下操作:
上述处理器3000,用于:
对待处理图像进行人脸检测,以得到所述待处理图像中的人脸区域;
确定所述人脸区域中的目标镜面反射区域;
将所述目标镜面反射区域投影到IIC空间,以得到所述目标镜面反射区域的投影数据;
将所述投影数据进行拟合,以得到拟合直线;
基于所述拟合直线计算所述目标镜面反射区域的多个色品值;
根据所述多个色品值估算预设通道的目标色品值,其中所述预设通道为r、g、b通道中的任一通道;
通过所述目标色品值确定所述待处理图像的色温;
根据所述色温对所述待处理图像进行处理。
可选地,上述处理器3000确定所述人脸区域中的目标镜面反射区域,包括:
确定所述人脸区域中的镜面反射区域;
对所述镜面反射区域进行镜面反射区域检测,以得到所述镜面反射区域中的目标镜面反射区域。
可选地,上述处理器3000确定所述人脸区域中的镜面反射区域,包括:
将所述人脸区域划分为尺寸大小相同的多个独立方块区域;
分别计算所述多个独立方块区域的暗通道值,以得到多个暗通道值;
将所述多个暗通道值中的目标暗通道值对应的独立方块区域作为镜面反射区域,其中所述目标暗通道值均大于预设阈值。
可选地,上述处理器3000根据所述多个色品值估算预设通道的目标色品值,包括:
根据所述多个色品值构成关于预设区域的概率密度函数;
根据所述概率密度函数估算预设通道的目标色品值。
可选地,上述处理器3000通过所述目标色品值确定所述待处理图像的色温,包括:
获取所述待处理图像所在环境中的色温曲线;
根据所述目标色品值和所述色温曲线确定所述预设通道之外的其他通道的色品值。
具体实现中,本发明实施例中所描述的输入设备1000、输出设备2000和处理器3000可执行本发明实施例提供的一种图像处理的方法的第一实施例、第二实施例和第三实施例中所描述的实现方式,也可执行本发明实施例提供的一种终端的第一实施例中所描述的终端的实现方式,在此不再赘述。
本发明所有实施例中的单元,可以通过通用集成电路,例如CPU(CentralProcessingUnit,中央处理器),或通过ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)来实现。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例终端中的单元可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存取存储器(RandomAccessMemory,简称RAM)等。
以上对本发明实施例所提供的一种图像处理的方法及终端进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。