图像打光方法和装置
技术领域
本发明涉及图像处理技术,尤其涉及一种图像打光方法和装置。
背景技术
随着终端设备(如手机、平板、手环等)的摄像头像素不断提升,越来越多的用户开始频繁使用终端设备进行人像拍摄并进行人像拍摄后的图像美化以获取理想的人像拍摄效果。理想的人像拍摄需要专业的布光,对人脸施加适量的光照以达到较好的拍照效果,而大多数实际拍摄场景下很难达到理想的布光环境,因此实际拍摄得到的图像中的人像通常存在面部阴暗、缺乏立体感、面部光线不均匀等问题。
为解决上述问题,常见解决方案为根据人像照片对人像进行3D建模,调整人像上的光照,对图像进行渲染,获取打光后的图像。现有打光方式在人脸识别、基于图像的渲染、以及电影后期制作等领域都有着非常广泛的应用。
但是,人像建模受人脸识别影响较大,在人脸识别不准确时,建模误差也较大。故现有的图像打光方案复杂、效率较低。
发明内容
本发明实施例提供一种图像打光方法和装置。
第一方面,本发明实施例提供一种图像打光方法,包括:
确定初始图像的打光操作类型对应的卷积神经网络;
通过所述卷积神经网络,获取所述初始图像的局部特征信息和全局特征信息;
通过所述卷积神经网络,基于所述局部特征信息和所述全局特征信息,获取所述初始图像的融合特征信息;
通过所述卷积神经网络,基于所述初始图像的亮度分量图,获取最大池化结果图和最小池化结果图;
基于所述融合特征信息、所述最大池化结果图和所述最小池化结果图,获取所述初始图像的双边网格矩阵;
根据所述双边网格矩阵对所述初始图像进行仿射变换得到目标图像,所述目标图像为对所述初始图像按照所述打光操作类型打光后的图像。
通过采用深度学习的卷积神经网络技术,以及具体通过采用卷积神经网络对初始图像进行特征提取,并根据初始图像的最大池化结果图和最小池化结果图获取初始图像的自适应的双边网格矩阵,根据双边网格矩阵获取初始图像的目标图像,使得图像打光效果更自然。
结合本发明任一实施例,可选的,所述根据所述双边网格矩阵对所述初始图像进行仿射变换得到目标图像,包括:
根据所述双边网格矩阵、所述最大池化结果图和所述最小池化结果图,对所述初始图像的亮度分量图进行切片处理,获取仿射变换矩阵;
根据所述仿射变换矩阵对所述初始图像进行仿射变换得到所述目标图像。
通过对初始图像的亮度分量图进行切片处理,可简化图像打光算法,提高图像打光速度,降低图像打算算法对硬件设备的性能要求,使得图像打光方法可部署在终端设备中。
结合本发明任一实施例,可选的,所述根据所述双边网格矩阵对所述初始图像进行仿射变换得到目标图像,包括:
根据所述双边网格矩阵、所述最大池化结果图和所述最小池化结果图,对所述初始图像的亮度分量图进行切片处理,得到残差矩阵;
根据所述残差矩阵和所述初始图像得到所述目标图像。
结合本发明任一实施例,可选的,所述根据所述残差矩阵和所述初始图像得到所述目标图像,包括:
将所述残差矩阵和所述初始图像的亮度分量图的相同位置处的像素点的取值相加,获取所述目标图像。
结合本发明任一实施例,可选的,所述通过所述卷积神经网络,获取所述初始图像的局部特征信息和全局特征信息,包括:
将所述初始图像和所述初始图像的人脸掩模图输入至所述卷积神经网络,获取所述初始图像的局部特征信息和全局特征信息。
通过输入初始图像和初始图像的人脸掩模图,可使图像打光后人脸五官更为立体,脸部细节更丰富。
结合本发明任一实施例,可选的,所述通过所述卷积神经网络,获取所述初始图像的局部特征信息和全局特征信息,包括:
将所述初始图像输入至所述卷积神经网络的低层级特征提取层,获取所述初始图像的低层级特征信息;
将所述初始图像的低层级特征信息输入至所述卷积神经网络的局部特征提取层,获取所述初始图像的局部特征信息;
将所述初始图像的低层级特征信息输入至所述卷积神经网络的全局特征提取层,获取所述初始图像的全局特征信息。
结合本发明任一实施例,可选的,所述通过所述卷积神经网络,获取所述初始图像的局部特征信息和全局特征信息之前,所述方法还包括:
根据所述初始图像的人脸掩模图对所述初始图像的亮度分量图进行人脸修正,得到修正后的图像;
所述通过所述卷积神经网络,获取所述初始图像的局部特征信息和全局特征信息,包括:
通过所述卷积神经网络,基于修正后的图像,获取所述初始图像的局部特征信息和全局特征信息。
通过根据人脸掩模图对初始图像进行修正,可使图像打光后人脸五官更为立体,脸部细节更丰富。
结合本发明任一实施例,可选的,所述通过所述卷积神经网络,获取所述初始图像的局部特征信息和全局特征信息之前,所述方法还包括:
对所述初始图像进行缩小处理。
结合本发明任一实施例,所述根据所述双边网格矩阵对所述初始图像进行仿射变换得到目标图像之后,所述方法还包括:
对所述目标图像进行放大处理,获取与所述初始图像尺寸相同的目标图像。
缩小后的图像具有更小的数据量,提高了图像打光的处理速度。
结合本发明任一实施例,可选的,所述根据所述双边网格矩阵对所述初始图像进行仿射变换得到目标图像之后,所述方法还包括:
获取所述目标图像的人像分割图,根据所述目标图像对所述人像分割图进行快速导向滤波,获取初始权重图;根据所述初始图像的人脸掩模图获取初始聚光灯光效权重图;
根据所述初始聚光灯光效权重图和所述初始权重图,获取人像聚光灯光效权重图;
根据所述人像聚光灯光效权重图和所述目标图像,获取增加聚光灯光效的图像。
结合本发明任一实施例,可选的,所述根据所述人像聚光灯光效权重图和所述目标图像获取增加聚光灯光效的图像,包括:
根据所述人像聚光灯光效权重图W和所述目标图像Iin,采用如下公式获取增加聚光灯光效的图像Iout;
Iout[i,j,1]=Iin[i,j,1]×W[i,j]
Iout[i,j,2]=(Iin[i,j,2]-0.5)×min(1,W[i,j]×1.5)+0.5
Iout[i,j,3]=(Iin[i,j,3]-0.5)×min(1,W[i,j]×1.5)+0.5
其中,i的取值范围为[0,N-1],j的取值范围为[0,M-1],M和N的取值为大于1的整数,所述N为所述目标图像的总行数,M为所述目标图像的总列数。
结合本发明任一实施例,可选的,所述获取所述目标图像的人像分割图,包括:
对所述目标图像进行人像分割,获取人像前景图;
对所述目标图像进行关键点提取,获取人像面部图;
根据所述人像前景图和所述人像面部图获取人像分割图。
结合本发明任一实施例,可选的,所述根据所述人像前景图和所述人像面部图获取人像分割图,包括:
遍历所述人像前景图Sw中的所有像素点,对于所述人像前景图Sw中的任一像素点Sw(i,j),若所述人像面部图Sf中相同位置处的像素点Sf(i,j)属于人像部分,则判断所述像素点Sw(i,j)和所述像素点Sf(i,j)的取值是否均为1;若否,则将所述人像前景图Sw中的像素点Sw(i,j)的取值修改为0;
得到所述人像分割图;
其中,i的取值范围为[0,N-1],j的取值范围为[0,M-1],M和N的取值为大于1的整数,所述N为所述目标图像的总行数,M为所述目标图像的总列数。
结合本发明任一实施例,可选的,所述人脸掩模图还包括人脸的鼻影信息、鼻翼信息、鼻头信息、腮部信息、太阳穴信息、肤色类型信息中的至少一项。
结合本发明任一实施例,可选的,所述打光操作类型包括轮廓光、摄影室光、舞台光、单色光、双色光或多色光。
本发明实施例第二方面还提供一种图像打光装置,包括:
卷积神经网络获取模块,用于确定初始图像的打光操作类型对应的卷积神经网络;
特征信息获取模块,用于通过所述卷积神经网络,获取所述初始图像的局部特征信息和全局特征信息;
融合特征信息获取模块,用于通过所述卷积神经网络,基于所述局部特征信息和所述全局特征信息,获取所述初始图像的融合特征信息;
池化结果图获取模块,用于通过所述卷积神经网络,基于所述初始图像的亮度分量图,获取最大池化结果图和最小池化结果图;
双边网格矩阵获取模块,用于基于所述融合特征信息、所述最大池化结果图和所述最小池化结果图,获取所述初始图像的双边网格矩阵;
目标图像获取模块,用于根据所述双边网格矩阵对所述初始图像进行仿射变换得到目标图像,所述目标图像为对所述初始图像按照所述打光操作类型打光后的图像。
结合本发明任一实施例,可选的,所述目标图像获取模块,具体用于,
根据所述双边网格矩阵、所述最大池化结果图和所述最小池化结果图,对所述初始图像的亮度分量图进行切片处理,获取仿射变换矩阵;
根据所述仿射变换矩阵对所述初始图像进行仿射变换得到所述目标图像。
结合本发明任一实施例,可选的,所述目标图像获取模块,具体用于,
根据所述双边网格矩阵、所述最大池化结果图和所述最小池化结果图,对所述初始图像的亮度分量图进行切片处理,得到残差矩阵;
根据所述残差矩阵和所述初始图像得到所述目标图像。
结合本发明任一实施例,可选的,所述目标图像获取模块,具体用于,
将所述残差矩阵和所述初始图像的亮度分量图的相同位置处的像素点的取值相加,获取所述目标图像。
结合本发明任一实施例,可选的,所述特征信息获取模块,具体用于,
将所述初始图像和所述初始图像的人脸掩模图输入至所述卷积神经网络,获取所述初始图像的局部特征信息和全局特征信息。
结合本发明任一实施例,可选的,所述特征信息获取模块,包括:
低层级特征信息获取单元,用于将所述初始图像输入至所述卷积神经网络的低层级特征提取层,获取所述初始图像的低层级特征信息;
局部特征信息获取单元,用于将所述初始图像的低层级特征信息输入至所述卷积神经网络的局部特征提取层,获取所述初始图像的局部特征信息;
全局特征信息获取单元,用于将所述初始图像的低层级特征信息输入至所述卷积神经网络的全局特征提取层,获取所述初始图像的全局特征信息。
结合本发明任一实施例,可选的,所述图像打光装置还包括:
修正模块,用于根据所述初始图像的人脸掩模图对所述初始图像的亮度分量图进行人脸修正,得到修正后的图像;
所述特征信息获取模块,具体用于通过所述卷积神经网络,基于修正后的图像,获取所述初始图像的局部特征信息和全局特征信息。
结合本发明任一实施例,可选的,所述图像打光装置还包括:
缩小模块,用于对所述初始图像进行缩小处理。
结合本发明任一实施例,可选的,所述图像打光装置还包括:
放大模块,用于对所述打光后的图像进行放大处理,获取与所述初始图像尺寸相同的目标图像。
结合本发明任一实施例,可选的,所述图像打光装置还包括:
人像分割图获取模块,用于获取所述目标图像的人像分割图;
初始权重图获取模块,用于根据所述目标图像对所述人像分割图进行快速导向滤波,获取初始权重图;
初始聚光灯光效权重图获取模块,用于根据所述初始图像的人脸掩模图获取初始聚光灯光效权重图;
人像聚光灯光效权重图获取模块,用于根据所述初始聚光灯光效权重图和所述初始权重图,获取人像聚光灯光效权重图;
聚光灯光效打光模块,用于根据所述人像聚光灯光效权重图和所述目标图像,获取增加聚光灯光效的图像。
结合本发明任一实施例,可选的,所述聚光灯光效打光模块具体用于,
根据所述人像聚光灯光效权重图W和所述目标图像Iin,采用如下公式获取增加聚光灯光效的图像Iout;
Iout[i,j,1]=Iin[i,j,1]×W[i,j]
Iout[i,j,2]=(Iin[i,j,2]-0.5)×min(1,W[i,j]×1.5)+0.5
Iout[i,j,3]=(Iin[i,j,3]-0.5)×min(1,W[i,j]×1.5)+0.5
其中,i的取值范围为[0,N-1],j的取值范围为[0,M-1],M和N的取值为大于1的整数,所述N为所述目标图像的总行数,M为所述目标图像的总列数。
结合本发明任一实施例,可选的,所述人像分割图获取模块包括:
人像前景图获取单元,用于对所述目标图像进行人像分割,获取人像前景图;
人像面部图获取单元,用于对所述目标图像进行关键点提取,获取人像面部图;
人像分割图获取单元,用于根据所述人像前景图和所述人像面部图获取人像分割图。
结合本发明任一实施例,可选的,所述人像分割图获取单元具体用于,
遍历所述人像前景图Sw中的所有像素点,对于所述人像前景图Sw中的任一像素点Sw(i,j),若所述人像面部图Sf中相同位置处的像素点Sf(i,j)属于人像部分,则判断所述像素点Sw(i,j)和所述像素点Sf(i,j)的取值是否均为1;若否,则将所述人像前景图Sw中的像素点Sw(i,j)的取值修改为0;
得到所述人像分割图;
其中,i的取值范围为[0,N-1],j的取值范围为[0,M-1],M和N的取值为大于1的整数,所述N为所述目标图像的总行数,M为所述打光后的图像的总列数。
结合本发明任一实施例,可选的,所述人脸掩模图还包括人脸的鼻影信息、鼻翼信息、鼻头信息、腮部信息、太阳穴信息、肤色类型信息中的至少一项。
结合本发明任一实施例,可选的,所述打光操作类型包括轮廓光、摄影室光、舞台光、单色光、双色光或多色光。
本发明实施例第三方面还提供一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,执行上述第一方面中任一实施例的方法步骤。
本发明实施例第四方面还提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序用于执行上述第一中任一实施例的方法步骤。
本实施例提供的图像打光方法和装置,通过采用深度学习的卷积神经网络技术,以及具体通过采用卷积神经网络对初始图像进行特征提取,并根据初始图像的最大池化结果图和最小池化结果图获取初始图像的自适应的双边网格矩阵,根据双边网格矩阵获取初始图像的目标图像,使得图像打光效果更自然。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1为本发明实施例一提供的图像打光方法的流程示意图;
图2为本发明实施例提供的图像打光效果示意图;
图3为本发明实施例提供的人脸掩模图示意图;
图4为本发明实施例二提供的图像打光方法的流程示意图;
图5为本发明实施例二提供的图像打光方法中的图像处理的流程示意图;
图6为本发明实施例一提供的图像打光装置的结构示意图;
图7为本发明实施例二提供的图像打光装置的结构示意图;
图8为本发明实施例三提供的图像打光装置的结构示意图;
图9为本发明实施例四提供的图像打光装置的结构示意图;
图10为本发明实施例五提供的图像打光装置的结构示意图;
图11为本发明实施例一提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
用户通常使用便携式终端设备(如手机、平板、手环等)的摄像头进行合影拍照和自拍。随着便携式终端设备的摄像头像素不断提升,越来越多的用户开始使用终端设备进行人像拍摄,并对人像拍摄得到的图像进行美化以得到理想的人像拍摄效果。但是,理想的人像拍摄需要专业的打光,对人脸施加适量的光照以达到较好的拍照效果,而大多数实际拍摄场景下很难达到理想的打光环境,因此实际拍摄得到的图像中的人像通常存在面部阴暗、缺乏立体感、面部光线不均匀等问题。
相关技术中,通常根据拍摄完成后得到的人像照片,对人像进行3D建模,调整人像上的光照,对图像进行渲染,获取打光后的图像。但是,人像建模受人脸识别影响较大,在人脸识别不准确时,建模误差也较大。故现有的图像打光方案复杂、效率较低。
本发明实施例为解决上述问题,提供一种图像打光方法和装置,打光效果较好。
下面结合具体实施例对本发明提供的技术方案进行示例性说明。
图1为本发明实施例一提供的图像打光方法的流程示意图,该方法可以应用于任意携带有摄像头的终端设备中,还可应用于计算机、服务器中,该方法的执行主体可以为具有摄像头的终端设备,如手机等。如图1所示,图像打光方法,包括:
S101、确定初始图像的打光操作类型对应的卷积神经网络。
S102、通过卷积神经网络,获取初始图像的局部特征信息和全局特征信息。
示例性的,初始图像可以为通过摄像头拍摄获得的图像。
S103、通过卷积神经网络,基于局部特征信息和全局特征信息,获取所述初始图像的融合特征信息。
S104、通过卷积神经网络,基于初始图像的亮度分量图,获取最大池化结果图和最小池化结果图。
示例性的,S104在S105之前执行,与S101-S103没有严格的先后执行关系。
S105、基于融合特征信息、最大池化结果图和最小池化结果图,获取初始图像的双边网格矩阵。
示例性的,本发明实施例将初始图像输入至经过训练的卷积神经网络,得到初始图像的双边网格矩阵。
示例性的,在执行本发明实施例提供的图像打光方法前,本发明实施例还包括采用标签图像对卷积神经网络进行训练,得到经过训练的卷积神经网络。标签图像包括原始人像图像和打光后的人像图像。采用标签图像训练得到的卷积神经网络可以实现对任意人像图像的打光。
可选的,针对人像图像的打光类型包括轮廓光、摄影室光、舞台光、单色光、双色光或多色光等。图2为本发明实施例提供的图像打光效果示意图。经过轮廓光光效处理后的人像图像相比未打光的人像图像,人脸五官更为立体。经过摄影室光光效处理后的人像图像相比未打光的人像图像,人脸面部光线更加饱满均匀。对应不同的打光类型,具有不同的标签图像,采用不同的标签图像对卷积神经网络进行训练,得到不同打光类型对应的卷积神经网络。当想要对初始图像进行轮廓光类型的打光时,则对应的采用轮廓光类型对应的卷积神经网络。当想要对初始图像进行摄影室光类型的打光时,则对应的采用摄影室光类型对应的卷积神经网络。可选的,针对人像图像的打光类型还可包括其他类型。
可选的,还可将初始图像和初始图像的人脸掩模图同时输入至卷积神经网络。
示例性的,人脸掩模图可以为通过采用人脸识别算法对初始图像进行人脸识别得到,可以为终端设备如手机自带的人脸框架图。图3为本发明实施例提供的人脸掩模图示意图。人脸掩模图中通常包含人脸的眉毛、眼睛、鼻子、嘴巴和脸部轮廓等信息,如图3左侧所示。通过将人脸掩模图和初始图像同时输入至卷积神经网络,可进一步提高针对人脸的打光效果。
可选的,本发明各实施例中的人脸掩模图还包括人脸的鼻影信息、鼻翼信息、鼻头信息、腮部信息、太阳穴信息、肤色类型信息中的至少一项。包含上述信息的人脸掩模图称为人脸细节掩模图,如图3右侧所示。通过获取信息更详尽的人脸掩模图,可使得人脸打光效果针对不同肤色用户效果更好。
在一种可能的实施例中,在执行S102中的将初始图像输入至卷积神经网络的特征提取层之前,可先根据初始图像的人脸细节掩模图对初始图像的亮度分量图进行人脸修正,得到修正后的图像。然后将修正后的图像,或者,修正后的图像和人脸掩模图同时输入至卷积神经网络。
示例性的,对于任意打光类型的卷积神经网络,本实施例中的卷积神经网络包括特征提取层、融合层和池化层。
具体的,特征提取层用于对输入卷积神经网络的图像进行卷积,提取图像的低层级特征和高层级特征。低层级特征通常为图像中的边缘、曲线等特征,高层级特征对应的通常为图像中的图形、文字等特征。
可选的,在本实施例的基础上,对卷积神经网络的特征提取层进行详细说明。示例性的,特征提取层具体包括低层级特征提取层和高层级特征提取层。高层级特征提取层具体包括局部特征提取层和全局特征提取层。对应的,上述步骤S102中的通过卷积神经网络,获取初始图像的局部特征信息和全局特征信息,具体包括:
S11、将初始图像输入至卷积神经网络的低层级特征提取层,获取初始图像的低层级特征信息。
示例性的,首先将初始图像输入至卷积神经网络的低层级特征提取层,从而获取图像的低层级特征信息。示例性的,低层级特征提取层包括8个卷积层,通过低层级特征提取层之后得到的低层级特征信息为特征矩阵,特征矩阵的尺寸大小为64x64,通道数为coeff*gd*(2n_conv)。其中,coeff为预设参数,示例性的可以为1,gd为双边网格深度,示例性的可以为8,n_conv为卷积层数量,示例性的可以为8。对应的,通道数示例性的可以为1*8*28=512。
可选的,本申请各实施例中卷积神经网络的输入大小,卷积层数量,双边网格大小及深度均可根据卷积神经网络的性能和效果要求而自由调整。
示例性的,卷积神经网络的输入,即初始图像,的大小可以在64x64-512x512之间,低层级特征提取卷积层数量不小于log2(in_hw/g_hw)。其中,in_hw为卷积神经网络的输入图像的边长,如512,g_hw为初始图像经过卷积神经网络获取的双边网格的边长,如32。通过控制卷积神经网络输入图像的尺寸可调整双边网格大小。可选的,双边网格深度通常在1-128间浮动。
S12、将初始图像的低层级特征信息输入到卷积神经网络的局部特征提取层,获取初始图像的局部特征信息。
S13、将初始图像的低层级特征信息输入到卷积神经网络的全局特征提取层,获取初始图像的全局特征信息。
示例性的,在提取了初始图像的低层级特征信息后,将初始图像的低层级特征信息输入到卷积神经网络的高层级特征提取层中。具体的,将初始图像的低层级特征信息同时输入到卷积神经网络的局部特征提取层和全局特征提取层,以获取初始图像的局部特征信息和全局特征信息。示例性的,通过提取初始图像的全局特征有助于提升初始图像的整体打光效果,提取到的局部特征有助于提升初始图像中的人脸局部细节。
示例性的,在提取初始图像的局部特征信息和全局特征信息之后,将初始图像的局部特征信息和全局特征信息输入到卷积神经网络的融合层,以获取初始图像的双边网格矩阵。具体的,双边网格矩阵是对图像进行空间域(space)和值域(range)两个维度的采样。在双边网格矩阵中,每个网格里提供一个图像变换算子,它的原理是在空间域与值域相近的区域内,相似输入图像的亮度经算子变换后也应该是相似的,因此在每个网格里的操作算子可以看成是输入/输出的近似曲线,也即一个仿射模型。网格用于对图像的颜色进行变换,具体每个网格具有不同的功能,例如,用于让图像的蓝色更蓝,使得天空效果更好;用于让草地颜色更绿等。示例性的,双边网格可包含16x16个网格,每个网格可包含8个通道,图像的灰度值可以为0-255,每个通道示例性的可包含32个色阶,例如一个通道中网格的灰度值范围是0-31,另一个通道中网格的灰度值范围是32-63。考虑到图像的颜色取值范围可能比较集中,例如人脸的色度范围并不会均匀分布在0-255,本实施例中对每个通道的色阶范围进行重新限定。
示例性的,在获取初始图像的双边网格矩阵时,参考初始图像的最大池化结果图和最小池化结果图。其中,最大池化结果图用于指示各采样区域内的最大值,最小池化结果图用于指示各采样区域内的最小值。根据初始图像的最大池化结果图和最小池化结果图获取到的双边网格矩阵中每个网格的8个通道的色阶范围可自适应的反映初始图像中的值域范围,进而提高图像打光效果。
示例性的,将初始图像的亮度分量图输入至卷积神经网络的池化层,对亮度分量图同时进行最大池化和最小池化,获取获取初始图像的最大池化结果图和最小池化结果图。
可选的,为减少卷积神经网络的计算数据量,可在将初始图像输入至卷积神经网络之前,首先采用拉普拉斯金字塔算法对初始图像进行缩小处理。缩小后的图像具有更小的数据量,提高了图像打光的处理速度。
S106、根据双边网格矩阵对初始图像进行仿射变换得到目标图像。
其中,目标图像为对初始图像按照打光操作类型打光后的图像。
可选的,在一种可能的实现方式中,根据双边网格矩阵对初始图像进行仿射变换得到目标图像,具体包括:
S21、根据双边网格矩阵、最大池化结果图和最小池化结果图,对初始图像的亮度分量图进行切片处理,获取仿射变换矩阵。
示例性的,在获取了初始图像的额双边网格矩阵后,将初始图像的亮度分量图作为参考图(guide),对亮度分量图的像素进行空域和值域的采样,然后找到其在网格中的位置,对双边网格进行差值,得到仿射变换矩阵,反射变换矩阵包含8个通道。
可选的,还可采用对初始图像进行非线性仿射变换,以及卷积得到的单通道图作为guide。
S22、根据仿射变换矩阵对初始图像进行仿射变换,获取目标图像。
示例性的,在获取了仿射变换矩阵后,根据仿射变换矩阵对初始图像进行仿射变换,即可获取目标图像。
可选的,在另一种可能的实现方式中,卷积神经网络的深度、宽度和卷积层数量均小于上述实施例中的卷积神经网络的深度、宽度和卷积层数量。初始图像的双边网格矩阵的大小示例性的可以为16x16,深度为4。
此时,将初始图像输入至卷积神经网络,具体可以为:
将初始图像的亮度分量图输入至卷积神经网络。
通过仅将初始图像的亮度分量图输入至卷积神经网络中,提高了卷积神经网络的特征提取速度。
对应的,根据双边网格矩阵对初始图像进行仿射变换得到目标图像,具体包括:
S31、根据双边网格矩阵、最大池化结果图和最小池化结果图,对初始图像的亮度分量图进行切片处理,得到残差矩阵。
初始图像的残差矩阵为单通道。
S32、根据残差矩阵和初始图像得到目标图像。
可选的,根据残差矩阵和初始图像,获取目标图像,具体包括:
将残差矩阵和初始图像的亮度分量图的相同位置处的像素点的取值相加,获取目标图像。
在此种实现方式中,图像打光算法简单,计算量低,可在对图像进行拍摄的同时,实现对图像的实时打光,从而方便用户通过显示屏实时查看图像打光效果。
可选的,若在将初始图像输入至卷积神经网络之前,首先采用拉普拉斯金字塔算法对初始图像进行缩小处理。则对应的,获取的目标图像为缩小后的打光后的图像,本发明实施例提供的图像打光方法还应包括:
采用拉普拉斯金字塔算法对目标图像进行放大处理,获取与初始图像尺寸相同的打光后的图像。
本发明实施例提供图像打光方法,包括确定初始图像的打光操作类型对应的卷积神经网络;通过卷积神经网络,获取初始图像的局部特征信息和全局特征信息;通过卷积神经网络,基于局部特征信息和全局特征信息,获取初始图像的融合特征信息;通过卷积神经网络,基于初始图像的亮度分量图,获取最大池化结果图和最小池化结果图;基于融合特征信息、最大池化结果图和最小池化结果图,获取初始图像的双边网格矩阵;根据双边网格矩阵对初始图像进行仿射变换得到目标图像,目标图像为对初始图像按照打光操作类型打光后的图像。本实施例提供的图像打光方法,通过采用深度学习的卷积神经网络技术,以及具体通过采用卷积神经网络对初始图像进行特征提取,并根据初始图像的最大池化结果图和最小池化结果图获取初始图像的自适应的双边网格矩阵,根据双边网格矩阵获取初始图像的目标图像,使得图像打光效果更自然。
进一步地,在上述实施例的基础上,本发明实施例还提供一种图像打光方法。图4为本发明实施例二提供的图像打光方法的流程示意图。本实施例给出了一种对初始图像增加聚光灯光效的图像打光方法(即图2所示光效图中的舞台光)。具体如图4所示,本实施例提供的图像打光方法,针对初始图像,在执行了如图1所示的实施例中的S101至S106之后,获取的目标图像,图像打光方法还包括:
S401、获取目标图像的人像分割图,根据目标图像对人像分割图进行快速导向滤波,获取初始权重图;根据初始图像的人脸掩模图获取初始聚光灯光效权重图。
示例性的,其中打光操作类型包括轮廓光、摄影室光、单色光、双色光或多色光。
可选的,本发明实施例另一方面还可提供一种图像打光方法,针对任意的人像图,执行图4所示图像打光方法,从而可获取增加聚光灯光效的打光图。
示例性的,在获取了初始图像的目标图像后,对打光后的图像进行人像分割,获取人像分割图。示例性的,可以采用具有轮廓光或摄影室光的打光后的图像。目标图像中的人像细节更丰富,特征更明显,相比原始的初始图像更容易进行人像分割。
可选的,获取目标图像的人像分割图,具体包括:
S41、对目标图像进行人像分割,获取人像前景图。
示例性的,图5为本发明实施例二提供的图像打光方法中的图像处理的流程示意图,如图5所示,对于打光后的图像S,采用人像分割技术,获取打光后的图像S的人像前景图Sw,人像前景图Sw中属于人体的部分取值为第一数值,不属于人体,例如背景的部分取值为第二数值。可选的,第一数值可以为1,第二数值可以为0。
可选的,还可基于目标图像或者初始图像的深度信息,获取人像前景图。可选的,还可基于目标图像或者初始图像的深度信息,采用人像分割算法获取人像前景图。
S42、对目标图像采用关键点提取技术获取人像面部图。
示例性的,考虑到现有人像分割技术可能存在的人脸分割不准确的问题,采用关键点提取技术获取目标图像S的人像面部图。可选的,人像面部图可以为图1所示实施例中的人脸掩模图Sf。人脸面部图Sf中属于人脸的部分取值为第三数值,不属于人脸的部分取值为第四数值。可选的,第三数值可以为1,第四数值可以为0。
可选的,S41和S42可以同时执行,也可以先后执行,并没有严格的时序关系。
S43、根据人像前景图和人像面部图获取人像分割图。
示例性的,在获取到人像前景图Sw和人像面部图Sf后,根据人像前景图Sw和人像面部图Sf获取人像分割图。
示例性的,考虑到人像前景图Sw中人脸范围不够准确以及人像面部图Sf中缺少人体其他部分信息,可将人像前景图Sw和人像面部图Sf结合,获取准确的人像分割图。
可选的,获取人像分割图的过程具体包括:
遍历人像前景图Sw中的所有像素点,对于人像前景图Sw中的任一像素点Sw(i,j),若人像面部图Sf中相同位置处的像素点Sf(i,j)属于人像部分,则判断像素点Sw(i,j)和像素点Sf(i,j)的取值是否均为1;若否,则将人像前景图Sw中的像素点Sw(i,j)的取值修改为0;
得到人像分割图;
其中,i的取值范围为[0,N-1],j的取值范围为[0,M-1],M和N的取值为大于1的整数,N为目标图像的总行数,M为目标图像的总列数。
示例性的,人像分割图中取值为1的像素点属于人体,取值为0的像素点属于背景区域。
示例性的,当对初始图像添加聚光灯光效时,需对人体部分打强光,并对背景部分降低亮度。同时,对于人脸部分也许根据人脸的高亮区和阴影区分别增加不同强度光效。
具体的,可根据初始图像的人脸掩模图获取聚光灯光效权重图W1。示例性的,聚光灯光效权重图W1中的各像素点的取值的取值范围为[0,1],各像素点的取值代表了对初始图像中相同位置处的像素点的打光强度。示例性的,聚光灯光效权重图W1通常为一副高斯模糊的实心椭圆图。
可选的,在获取目标图像的人像分割图之后,采用目标图像作为引导图(guide),对人像分割图进行快速导向滤波,得到初始权重图W2,初始权重图W2的边缘更加贴合目标图像中人像的边缘。
S402、根据初始聚光灯光效权重图W1和初始权重图W2,获取人像聚光灯光效权重图W。
示例性的,可将初始聚光灯光效权重图W1和初始权重图W2中的相同位置处的像素点的取值相乘,得到人像聚光灯光效权重图中的各像素点的取值。
S403、根据人像聚光灯光效权重图和目标图像,获取增加聚光灯光效的图像。
示例性的,根据人像聚光灯光效权重图对目标图像进行打光,使得目标图像被添加聚光灯光效,从而得到增加聚光灯光效的图像。
可选的,增加聚光灯光效的过程具体包括:
根据人像聚光灯光效权重图W和目标图像Iin,采用如下公式1获取增加聚光灯光效的图像Iout;
其中,i的取值范围为[0,N-1],j的取值范围为[0,M-1],M和N的取值为大于1的整数,所述N为目标图像的总行数,M为目标图像的纵列数。
示例性的,对于目标图像Iin,通常包括三个分量图像,可分别表示为[:,:,1],[:,:,2],[:,:,3],例如当图像格式为RGB格式时,图像Iin的分量图像[:,:,1],[:,:,2],[:,:,3]可分别表示图像Iin的红色分量图,绿色分量图和蓝色分量图。可选的,图像Iin的格式还可以为YcbCr等。
本发明实施例提供的图像打光方法,包括获取目标图像的人像分割图,根据初始图像的人脸掩模图获取初始聚光灯光效权重图;根据初始聚光灯光效权重图和人像分割图,获取人像聚光灯光效权重图;根据人像聚光灯光效权重图和目标图像,获取增加聚光灯光效的图像。通过获取人像聚光灯光效权重图,根据人像聚光灯光效权重图对目标图像进行打光,获取增加聚光灯光效的图像,可提高聚光灯光效的打光效果。
本发明实施例还提供一种图像打光装置,用于执行上述图1至图5实施例中的图像打光方法,具有相同或相似的技术特征和技术效果。
图6为本发明实施例一提供的图像打光装置的结构示意图。如图6所示,图像打光装置包括:
卷积神经网络获取模块601,用于确定初始图像的打光操作类型对应的卷积神经网络;
特征信息获取模块602,用于通过卷积神经网络,获取初始图像的局部特征信息和全局特征信息;
融合特征信息获取模块603,用于通过卷积神经网络,基于局部特征信息和全局特征信息,获取初始图像的融合特征信息;
池化结果图获取模块604,用于通过卷积神经网络,基于初始图像的亮度分量图,获取最大池化结果图和最小池化结果图;
双边网格矩阵获取模块605,用于基于融合特征信息、最大池化结果图和最小池化结果图,获取初始图像的双边网格矩阵;
目标图像获取模块606,用于根据双边网格矩阵对初始图像进行仿射变换得到目标图像,目标图像为对初始图像按照打光操作类型打光后的图像。
可选的,目标图像获取模块606,具体用于,
根据双边网格矩阵、最大池化结果图和最小池化结果图,对初始图像的亮度分量图进行切片处理,获取仿射变换矩阵;
根据仿射变换矩阵对初始图像进行仿射变换得到目标图像。
可选的,特征信息获取模块602,具体用于,
将初始图像和初始图像的人脸掩模图输入至卷积神经网络,获取初始图像的局部特征信息和全局特征信息。
示例性的,在图6所示实施例的基础上,本发明实施例还提供一种图像打光装置。图7为本发明实施例二提供的图像打光装置的结构示意图。如图7所示,图像打光装置中的特征信息获取模块602,包括:
低层级特征信息获取单元6021,用于将初始图像输入至卷积神经网络的低层级特征提取层,获取初始图像的低层级特征信息;
局部特征信息获取单元6022,用于将初始图像的低层级特征信息输入至卷积神经网络的局部特征提取层,获取初始图像的局部特征信息;
全局特征信息获取单元6023,用于将初始图像的低层级特征信息输入至卷积神经网络的全局特征提取层,获取初始图像的全局特征信息。
示例性的,在图6或图7所示实施例的基础上,本发明实施例还提供一种图像打光装置。图8为本发明实施例三提供的图像打光装置的结构示意图。如图8所示,图像打光装置还包括:
修正模块600,用于根据初始图像的人脸掩模图对初始图像的亮度分量图进行人脸修正,得到修正后的图像;
特征信息获取模块602,具体用于通过卷积神经网络,基于修正后的图像,获取初始图像的局部特征信息和全局特征信息。
可选的,如图8所示,图像打光装置还包括:
缩小模块607,用于对初始图像进行缩小处理。
可选的,如图8所示,图像打光装置还包括:
放大模块608,用于对目标图像进行放大处理,获取与初始图像尺寸相同的目标图像。
示例性的,在图6至图8任一实施例的基础上,本发明实施例还提供一种图像打光装置。图9为本发明实施例四提供的图像打光装置的结构示意图。如图9所示,图像打光装置还包括:
人像分割图获取模块901,用于获取目标图像的人像分割图;
初始权重图获取模块902,用于根据目标图像对人像分割图进行快速导向滤波,获取初始权重图;
初始聚光灯光效权重图获取模块903,用于根据初始图像的人脸掩模图获取初始聚光灯光效权重图;
人像聚光灯光效权重图获取模块904,用于根据初始聚光灯光效权重图和初始权重图,获取人像聚光灯光效权重图;
聚光灯光效打光模块905,用于根据人像聚光灯光效权重图和目标图像,获取增加聚光灯光效的图像。
可选的,聚光灯光效打光模块905具体用于,
根据人像聚光灯光效权重图W和目标图像Iin,采用如下公式获取增加聚光灯光效的图像Iout;
Iout[i,j,1]=Iin[i,j,1]×W[i,j]
Iout[i,j,2]=(Iin[i,j,2]-0.5)×min(1,W[i,j]×1.5)+0.5
Iout[i,j,3]=(Iin[i,j,3]-0.5)×mmin(1,W[i,j]×1.5)+0.5
其中,i的取值范围为[0,N-1],j的取值范围为[0,M-1],M和N的取值为大于1的整数,N为目标图像的总行数,M为目标图像的总列数。
示例性的,在图9所示实施例的基础上,本发明实施例还提供一种图像打光装置。图10为本发明实施例五提供的图像打光装置的结构示意图。如图10所示,图像打光装置中的人像分割图获取模块901包括:
人像前景图获取单元11,用于对目标图像进行人像分割,获取人像前景图;
人像面部图获取单元12,用于对目标图像进行关键点提取,获取人像面部图;
人像分割图获取单元13,用于根据人像前景图和人像面部图获取人像分割图。
可选的,人像分割图获取单元13具体用于,
遍历人像前景图Sw中的所有像素点,对于人像前景图Sw中的任一像素点Sw(i,j),若人像面部图Sf中相同位置处的像素点Sf(i,j)属于人像部分,则判断像素点Sw(i,j)和像素点Sf(i,j)的取值是否均为1;若否,则将人像前景图Sw中的像素点Sw(i,j)的取值修改为0;
得到人像分割图;
其中,i的取值范围为[0,N-1],j的取值范围为[0,M-1],M和N的取值为大于1的整数,N为目标图像的总行数,M为目标图像的总列数。
可选的,人脸掩模图还包括人脸的鼻影信息、鼻翼信息、鼻头信息、腮部信息、太阳穴信息、肤色类型信息中的至少一项。
可选的,打光操作类型包括轮廓光、摄影室光、舞台光、单色光、双色光或多色光。
可选的,目标图像获取模块606,具体用于,
根据双边网格矩阵、最大池化结果图和最小池化结果图,对初始图像的亮度分量图进行切片处理,得到残差矩阵;
根据残差矩阵和初始图像得到目标图像。
可选的,目标图像获取模块606,具体用于,
将残差矩阵和初始图像的亮度分量图的相同位置处的像素点的取值相加,获取目标图像。
本发明实施例另一方面还提供一种电子设备,图11为本发明实施例一提供的电子设备的结构示意图,如图11所示,该电子设备包括:
存储器1101,用于存储程序指令;
处理器1102,用于调用并执行存储器中的程序指令,执行上述图1至图5所示实施例中的方法步骤。
本发明实施例另一方面还提供一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序用于执行上述图1至图5所示实施例中的方法步骤。
本实施例中的装置与前述实施例中的方法是基于同一发明构思下的两个方面,在前面已经对方法实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施中的系统的结构及实施过程,为了说明书的简洁,在此就不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。