人脸图像的光照处理方法和装置
技术领域
本发明涉及图像处理技术领域,尤其是涉及人脸图像的光照处理方法和装置。
背景技术
人脸图像作为图像数据的一种,目前被广泛使用在计算机视觉、人工智能等领域,是诸如人脸检测与识别、人脸属性检测和人脸关键点检测的重要训练数据。在人工智能领域中对在光照环境较差的场景中采集的人脸图像进行人脸检测与识别一直面临着准确率差的问题,为了提高在光照环境较差的场景中人脸检测与识别的准确率,需要获取大量在光照环境较差的场景中采集的人脸图像作为样本对神经网络进行训练。
但是,很难批量采集在光照环境较差的场景中人脸图像(例如逆光、侧光或阴阳脸等)。
发明内容
有鉴于此,本发明的目的在于提供人脸图像的光照处理方法和装置,可以获取不同光照的人脸图像。
第一方面,本发明实施例提供了人脸图像的光照处理方法,所述方法包括:
获取人脸图像,并对所述人脸图像进行检测,确定所述人脸图像中的第一面部区域;
获取场景光照参数;
根据所述场景光照参数对所述第一面部区域进行渲染,得到光照编辑的第二面部区域;
根据所述第二面部区域与所述第一面部区域,确定所述第一面部区域内每个像素对应的颜色变换参数;
根据所述第一面部区域内每个像素对应的颜色变换参数,确定所述图像中所述第一面部区域外的每个像素对应的颜色变换参数;
根据所述第一面部区域内每个像素对应的颜色变换参数和所述人脸图像中所述第一面部区域外的每个像素对应的颜色变换参数对所述人脸图像进行颜色变换,得到光照编辑的人脸图像。
进一步的,所述根据所述场景光照参数对所述第一面部区域进行渲染,得到光照编辑的第二面部区域,包括:
确定所述第一面部区域的特征参数,所述特征参数包括人脸三维信息和人脸材质信息中的至少一种;
根据所述特征参数和所述场景光照参数,对所述第一面部区域进行渲染,得到所述第二面部区域。
进一步的,所述确定所述第一面部区域的特征参数,包括:
将所述第一面部区域输入人脸关键点检测模型,得到人脸关键点位置信息;
将所述第一面部区域和所述人脸关键点位置信息输入三维人脸识别模型,得到所述人脸三维信息。
进一步的,所述确定所述第一面部区域的特征参数,包括:
获取所述第一面部区域的人脸三维信息;
将所述人脸三维信息和所述第一面部区域输入场景光照检测模型,得到所述人脸图像的场景光照参数和所述人脸材质信息。
进一步的,所述根据所述第一面部区域内每个像素对应的颜色变换参数,确定所述人脸图像中所述第一面部区域外的每个像素对应的颜色变换参数,包括:
将所述第一面部区域内的像素对应的颜色变换参数平滑扩散至所述人脸图像中所述第一面部区域外的像素,使得位于所述第一面部区域边界两侧的任意相邻像素的颜色变换参数的差值最小化,且所述人脸图像中所述第一面部区域外的任意相邻像素的颜色变换参数的差值最小化,确定所述人脸图像中所述第一面部区域外的每个像素对应的颜色变换参数。
第二方面,本发明实施例提供了人脸图像的光照处理装置,所述装置包括:
检测模块,用于获取人脸图像,并对所述人脸图像进行检测,确定所述人脸图像中的第一面部区域;
获取模块,用于获取场景光照参数;
渲染模块,用于根据所述场景光照参数对所述第一面部区域进行渲染,得到光照编辑的第二面部区域;
第一确定模块,用于根据所述第二面部区域与所述第一面部区域,确定所述第一面部区域内每个像素对应的颜色变换参数;
第二确定模块,用于根据所述第一面部区域内每个像素对应的颜色变换参数,确定所述图像中所述第一面部区域外的每个像素对应的颜色变换参数;
颜色变换模块,用于根据所述第一面部区域内每个像素对应的颜色变换参数和所述人脸图像中所述第一面部区域外的每个像素对应的颜色变换参数对所述人脸图像进行颜色变换,得到光照编辑的人脸图像。
进一步的,所述渲染模块具体用于:
确定所述第一面部区域的特征参数,所述特征参数包括人脸三维信息和人脸材质信息中的至少一种;
根据所述特征参数和所述场景光照参数,对所述第一面部区域进行渲染,得到所述第二面部区域。
进一步的,所述渲染模块具体用于:
将所述第一面部区域输入人脸关键点检测模型,得到人脸关键点位置信息;
将所述第一面部区域和所述人脸关键点位置信息输入三维人脸识别模型,得到所述人脸三维信息。
进一步的,所述渲染模块具体用于:
获取所述第一面部区域的人脸三维信息;
将所述人脸三维信息和所述第一面部区域输入场景光照检测模型,得到所述人脸图像的场景光照参数和所述人脸材质信息。
进一步的,所述第二确定模块具体用于:
将所述第一面部区域内的像素对应的颜色变换参数平滑扩散至所述人脸图像中所述第一面部区域外的像素,使得位于所述第一面部区域边界两侧的任意相邻像素的颜色变换参数的差值最小化,且所述人脸图像中所述第一面部区域外的任意相邻像素的颜色变换参数的差值最小化,确定所述人脸图像中所述第一面部区域外的每个像素对应的颜色变换参数。
第三方面,本发明实施例还提供电子设备,包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的人脸图像的光照处理方法的步骤。
第四方面,本发明实施例还提供计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的人脸图像的光照处理方法的步骤。
本发明实施例提供的人脸图像的光照处理方法和装置,能够得到不同光照的人脸图像,而无需在各种实际的光照环境场景中采集图像,进而节省了采集图像的成本。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的电子设备的示意图;
图2为本发明实施例二提供的人脸图像的光照处理方法流程图;
图3为本发明实施例二提供的人脸图像的光照处理方法中步骤S103的流程图;
图4为本发明实施例三提供的人脸图像的光照处理装置示意图。
图标:
10-检测模块;20-获取模块;30-渲染模块;40-第一确定模块;50-第二确定模块;60-颜色变换模块;100-电子设备;102-处理器;104-存储装置;106-输入装置;108-输出装置;110-图像采集装置;112-总线系统。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本实施例进行理解,下面对本发明实施例进行详细介绍。
实施例一:
图1是本发明实施例一提供的电子设备的示意图。
参照图1,用于实现本发明实施例的人脸图像的光照处理方法和装置的示例电子设备100,包括一个或多个处理器102以及一个或多个存储装置104。可选地,电子设备100还可以包括输入装置106、输出装置108以及图像采集装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理器102可以是中央处理单元(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(Random Access Memory,RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(Read-Only Memory,ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
所述图像采集装置110可以拍摄用户期望的图像(例如照片、视频等),并且将所拍摄的图像存储在所述存储装置104中以供其它组件使用。
示例性地,用于实现根据本发明实施例提供的人脸图像的光照处理方法和装置的示例电子设备可以被实现为诸如智能手机、平板电脑等移动终端上。
实施例二:
图2为本发明实施例二提供的人脸图像的光照处理方法流程图。
根据本发明实施例,提供了人脸图像的光照处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。参照图2,该方法包括以下步骤:
步骤S101,获取人脸图像,并对人脸图像进行检测,确定人脸图像中的第一面部区域。
这里,获取的人脸图像可以通过摄像机进行采集,采集的一张人脸图像为未标注的人脸图像,人脸图像可以从不同的角度进行采集,例如,正脸、侧脸、仰头和俯头,也可以采集多张人脸。
可选地,将人脸图像输入人脸检测器,以获取人脸图像中的第一面部区域,第一面部区域可通过矩形框表示。本发明实施例对人脸检测器采用的人脸检测算法不作限定,该人脸检测器可以采用现有的或未来的各种人脸检测算法。
步骤S102,获取场景光照参数。
这里,场景光照参数可以通过从存储装置中选取得到。例如,从存储装置中预先存储的多个场景光照参数中随机选取一个场景光照参数,或选择满足预设要求的一个场景光照参数,或选择指定的场景光照参数。
场景光照参数也可以是通过光学检测设备获取的,例如通过全景相机获取某个场景的光照图像,对该场景的光照图像进行拟合,即可得到场景光照参数。
步骤S103,根据场景光照参数对第一面部区域进行渲染,得到光照编辑的第二面部区域。
这里,将场景光照参数作为渲染器的输入,对第一面部区域进行渲染,得到光照编辑的第二面部区域。第二面部区域与第一面部区域相比颜色发生了变化,即呈现出不同的光照效果。
步骤S104,根据第二面部区域与第一面部区域,确定第一面部区域内每个像素对应的颜色变换参数。
根据第一面部区域内每个像素对应的颜色变换参数对第一面部区域内的每个像素进行颜色变换,即可得到第二面部区域。
例如,可以根据第二面部区域内每个像素的颜色值和第一面部区域内每个像素的颜色值,确定第一面部区域内每个像素对应的颜色变换参数。
步骤S105,根据第一面部区域内每个像素对应的颜色变换参数,确定图像中第一面部区域外的每个像素对应的颜色变换参数。
步骤S106,根据第一面部区域内每个像素对应的颜色变换参数和人脸图像中第一面部区域外的每个像素对应的颜色变换参数对人脸图像进行颜色变换,得到光照编辑的人脸图像。
光照编辑后的人脸图像与步骤S101中获取的人脸图像相比颜色发生了变化,即呈现出不同的光照效果。
通过重复执行步骤S102~S106,并在步骤S102中每次选择一个不同的场景光照参数,即可得到多张具有不同光照的人脸图像。
本发明实施例能够得到不同光照的人脸图像,而无需在各种实际的光照环境场景中采集图像,能够节省采集图像的成本。
另外,由于人脸图像的面部区域的细节信息比较丰富,首先对面部区域进行渲染,有利于使得面部区域的渲染效果贴近真实效果。然后再根据渲染前后的面部区域颜色差异确定人脸图像中每个像素的颜色变换参数,并对人脸图像进行颜色变换得到光照编辑的人脸图像,这样可以使得光照编辑后的人脸图像更加真实。
进一步的,参照图3,步骤S103中,根据场景光照参数对第一面部区域进行渲染,得到光照编辑的第二面部区域可以包括以下步骤:
步骤S201,确定第一面部区域的特征参数,特征参数包括人脸三维信息和人脸材质信息中的至少一种;
步骤S202,根据特征参数和场景光照参数,对第一面部区域进行渲染,得到第二面部区域。
通过结合人脸三维信息和人脸材质信息中的至少一种对面部区域进行渲染,能够使得人脸图像中面部区域的渲染效果更加贴近在真实的光照环境下实际采集的效果,即能够使得面部区域的渲染效果更加真实,从而进一步使得最终得到的光照编辑的人脸图像更加真实。
进一步的,步骤S201中,确定第一面部区域的特征参数可以包括:
将第一面部区域输入人脸关键点检测模型,得到人脸关键点位置信息;
将第一面部区域和人脸关键点位置信息输入三维人脸识别模型,得到人脸三维信息。
该人脸关键点检测模型可以是采用现有或未来出现的各种人脸关键点检测算法实现的,本发明实施例对此不作限定,例如,该人脸关键点检测模型可以是由预先训练好的用于检测人脸关键点的神经网络实现的。该三维人脸识别模型也可以是采用现有或未来出现的各种三维人脸识别算法实现的,本发明实施例对此不作限定,例如,该三维人脸识别模型也可以是由预先训练好的用于识别人脸三维信息的神经网络实现的。
可选的,人脸关键点位置信息包括眼睛、鼻子、嘴巴、眉毛和脸部轮廓中的至少一种。
人脸三维信息包括第一面部区域的每个像素点在三维空间中的深度信息和位置信息。
除了上述获取人脸三维信息的方法外,还可以采用其他方法获取人脸三维信息。例如:将人脸图像或人脸图像中的面部区域输入预先训练好的三维人脸识别模型,经由该三维人脸识别模型输出人脸三维信息;利用深度摄像机采集深度人脸图像,其中,深度人脸图像包括面部的深度信息;或者拍摄多个角度的人脸图像,然后根据多个角度的人脸图像计算三维信息。需要说明的是,拍摄多个角度的人脸图像是位于不同角度的多个摄像机同时拍摄或者是一个摄像机进行多次拍摄。
进一步的,步骤S201中,确定第一面部区域的特征参数还可以包括:
获取第一面部区域的人脸三维信息;
将人脸三维信息和第一面部区域输入场景光照检测模型,得到人脸图像的场景光照参数和人脸材质信息。
场景光照检测模型可以根据人脸图像的面部区域和面部区域的人脸三维信息估计出人脸图像的场景光照参数和人脸材质信息。该人脸材质信息为无光照信息的人脸材质信息。该场景光照模型可以是采用现有或未来出现的各种场景光照拟合算法实现的,本发明实施例对此不作限定,例如,该场景光照模型也可以是由预先训练好的用于估计图像的场景光照参数的神经网络实现的。
另外,还可以将场景光照模型估计出的场景光照参数按照预设范围或预设调整方式进行调整,得到的调整后的场景光照参数可以用于渲染人脸图像的面部区域。示例性地,步骤S102中获取的场景光照参数还可以是对从步骤S101中获取的人脸图像中估计出的场景光照参数进行调整后得到的。
对场景光照参数进行调整可以包括:根据预设角度范围对场景光照参数进行旋转,例如,预设角度范围为60度到90度,场景光照参数可进行60度旋转,得到调整后的场景光照参数。
示例地,场景光照参数可相当于多维向量,如多维向量a=(x,y,z),多维向量a中包括多个数据。可以按照预设方式对场景光照参数进行调整,例如通过改变多维向量a中的某个数据,从而得到调整后的场景光照参数。
还可以通过全局旋转的方式对场景光照参数进行调整,从而得到调整后的场景光照参数。
进一步的,步骤S105中,根据第一面部区域内每个像素对应的颜色变换参数,确定图像中第一面部区域外的每个像素对应的颜色变换参数包括:
将第一面部区域内的像素对应的颜色变换参数平滑扩散至人脸图像中第一面部区域外的像素,使得位于第一面部区域边界两侧的任意相邻像素的颜色变换参数的差值最小化,且人脸图像中所述第一面部区域外的任意相邻像素的颜色变换参数的差值最小化,确定人脸图像中所述第一面部区域外的每个像素对应的颜色变换参数。
这里,通过将第一面部区域内的像素对应的颜色变换参数平滑扩散至人脸图像中第一面部区域外的像素,确定人脸图像中第一面部区域外的每个像素对应的颜色变换参数。在平滑扩散的过程中,使得位于第一面部区域边界两侧的任意相邻像素的颜色变换参数的差值最小化,且人脸图像中所述第一面部区域外的任意相邻像素的颜色变换参数的差值最小化,能够使人脸图像中不同区域的颜色过渡更加自然,进而使得经颜色转换后得到的人脸图像更加真实。
实施例三:
本发明实施例还提供了人脸图像的光照处理装置,该人脸图像的光照处理装置主要用于执行本发明实施例上述内容所提供的人脸图像的光照处理方法,以下对本发明实施例提供的人脸图像的光照处理装置做具体介绍。为避免重复,这里适当省略了部分内容。
图4为本发明实施例三提供的人脸图像的光照处理装置示意图。
参照图4,该装置包括:检测模块10、获取模块20、渲染模块30、第一确定模块40、第二确定模块50和颜色变换模块60。
检测模块10,用于获取人脸图像,并对人脸图像进行检测,确定人脸图像中的第一面部区域;
获取模块20,用于获取场景光照参数;
渲染模块30,用于根据场景光照参数对第一面部区域进行渲染,得到光照编辑的第二面部区域;
第一确定模块40,用于根据第二面部区域与所述第一面部区域,确定第一面部区域内每个像素对应的颜色变换参数;
第二确定模块50,用于根据第一面部区域内每个像素对应的颜色变换参数,确定图像中所述第一面部区域外的每个像素对应的颜色变换参数;
颜色变换模块60,用于根据第一面部区域内每个像素对应的颜色变换参数和人脸图像中所述第一面部区域外的每个像素对应的颜色变换参数对人脸图像进行颜色变换,得到光照编辑的人脸图像。
进一步的,渲染模块30具体用于:
确定第一面部区域的特征参数,特征参数包括人脸三维信息和人脸材质信息中的至少一种;
根据特征参数和场景光照参数,对第一面部区域进行渲染,得到第二面部区域。
进一步的,渲染模块30具体用于:
将第一面部区域输入人脸关键点检测模型,得到人脸关键点位置信息;
将第一面部区域和人脸关键点位置信息输入三维人脸识别模型,得到人脸三维信息。
进一步的,渲染模块30具体用于:
获取第一面部区域的人脸三维信息;
将人脸三维信息和第一面部区域输入场景光照检测模型,得到人脸图像的场景光照参数和人脸材质信息。
进一步的,第二确定模块50具体用于:
将第一面部区域内的像素对应的颜色变换参数平滑扩散至人脸图像中第一面部区域外的像素,使得位于第一面部区域边界两侧的任意相邻像素的颜色变换参数的差值最小化,且人脸图像中所述第一面部区域外的任意相邻像素的颜色变换参数的差值最小化,确定人脸图像中所述第一面部区域外的每个像素对应的颜色变换参数。
应理解,在一些实施例中,检测模块10、获取模块20、渲染模块30、第一确定模块40、第二确定模块50和颜色变换模块60可以由图1所示电子设备100中的处理器102来实现。
本发明实施例的人脸图像的光照处理装置能够得到不同光照的人脸图像,而无需在各种实际的光照环境场景中采集图像,进而节省了采集图像的成本。
本发明实施例提供的人脸图像的光照处理装置,与上述实施例提供的人脸图像的光照处理方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,术语“第一”、“第二”、“第三”仅用于区分不同的对象,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。