本申请涉及电子设备技术领域,尤其涉及一种图像处理方法、装置、电子设备和存储介质。
背景技术
随着移动终端技术的不断发展,越来越多的用户选择使用移动终端,如手机、掌上电脑等,进行拍照。为了达到较佳的拍摄效果,还可以采用相关的图像处理手段对图像进行处理。例如,当用户开启摄像头进行拍照时,可以开启美颜功能,对成像图像进行美颜处理。
相关技术中,基于二维的人脸图像进行图像处理,处理效果不佳,处理后的图像真实感不强。
技术实现要素:
本申请提出一种图像处理方法、装置、电子设备和存储介质,用于解决相关技术中基于二维的人脸图像进行图像处理时,处理效果不佳,处理后的图像真实感不强的问题。
本申请一方面实施例提出了一种图像处理方法,包括:
获取目标对象的二维人脸图像及所述二维人脸图像对应的深度信息;
根据所述二维人脸图像及所述深度信息,构建所述目标对象的三维模型;
根据参考三维模型中各第一关键点间的相对位置,将所述目标对象的三维模型中各第二关键点的位置进行调整,以获取所述目标对象调整后的目标三维模型,其中,所述各第二关键点与所述各第一关键点一一对应;
基于所述目标三维模型及所述二维人脸图像,生成所述目标对象对应的处理后的目标图像。
本申请实施例的图像处理方法,通过获取目标对象的二维人脸图像及二维人脸图像对应的深度信息,根据二维人脸图像及深度信息,构建目标对象的三维模型,根据参考三维模型中各第一关键点间的相对位置,将目标对象的三维模型中各第二关键点的位置进行调整,以获取目标对象调整后的目标三维模型,基于目标三维模型及二维人脸图像,生成目标对象对应的处理后的目标图像。本实施例中,通过利用参考三维模型对目标对象的三维模型进行调整,再根据调整后的目标三维模型,生成处理后的二维人脸图像,由于三维模型可以携带人脸各关键点的深度信息,从而使得根据调整后的目标三维模型得到的处理后的二维人脸图像更加立体,更加真实自然。
本申请另一方面实施例提出了一种图像处理装置,包括:
获取模块,用于获取目标对象的二维人脸图像及所述二维人脸图像对应的深度信息;
构建模块,用于根据所述二维人脸图像及所述深度信息,构建所述目标对象的三维模型;
第一调整模块,用于根据参考三维模型中各第一关键点间的相对位置,将所述目标对象的三维模型中各第二关键点的位置进行调整,以获取所述目标对象调整后的目标三维模型,其中,所述各第二关键点与所述各第一关键点一一对应;
生成模块,用于基于所述目标三维模型及所述二维人脸图像,生成所述目标对象对应的处理后的目标图像。
本申请实施例的图像处理装置,通过获取目标对象的二维人脸图像及二维人脸图像对应的深度信息,根据二维人脸图像及深度信息,构建目标对象的三维模型,根据参考三维模型中各第一关键点间的相对位置,将目标对象的三维模型中各第二关键点的位置进行调整,以获取目标对象调整后的目标三维模型,基于目标三维模型及二维人脸图像,生成目标对象对应的处理后的目标图像。本实施例中,通过利用参考三维模型对目标对象的三维模型进行调整,然后再根据调整后的目标三维模型,生成处理后的二维人脸图像,由于三维模型可以携带人脸各关键点的深度信息,从而使得根据调整后的目标三维模型得到的处理后的二维人脸图像更加立体,更加真实自然。
本申请另一方面实施例提出了一种电子设备,包括:深度摄像头、处理器和存储器;
其中,所述深度摄像头,用于获取目标对象的二维人脸图像及所述二维人脸图像对应的深度信息;
所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上述一方面实施例所述的图像处理方法。
本申请另一方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述一方面实施例所述的图像处理方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的一种图像处理方法的流程示意图;
图2为本申请实施例提供的一种构建目标对象的三维模型的方法的流程示意图;
图3本申请实施例中人脸三维模型的框架示意图一;
图4本申请实施例中人脸三维模型的框架示意图二;
图5为本申请实施例提供的另一种图像处理方法的流程示意图;
图6为本申请实施例提供的另一种图像处理方法的流程示意图;
图7为本申请实施例提供的一种图像处理装置的结构示意图;
图8为本申请实施例提供的另一种图像处理装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的图像处理方法、装置、电子设备和存储介质。
本申请各实施例,针对相关技术中基于二维图像进行图像处理,处理效果不佳,处理后的图像真实感不强,提出一种图像处理方法。
本申请实施例的图像处理方法,首先获取目标对象的二维人脸图像及二维人脸图像对应的深度信息,然后根据二维人脸图像及深度信息,构建目标对象的三维模型,再根据参考三维模型中各第一关键点间的相对位置,将目标对象的三维模型中各第二关键点的位置进行调整,以获取目标对象调整后的目标三维模型,最后再基于目标三维模型及二维人脸图像,生成目标对象对应的处理后的目标图像。由此,通过利用参考三维模型对目标对象的三维模型进行调整,然后再根据调整后的目标三维模型,生成处理后的二维人脸图像,由于三维模型可以携带人脸各关键点的深度信息,从而使得根据调整后的目标三维模型得到的处理后的二维人脸图像更加立体,更加真实自然。
图1为本申请实施例提供的一种图像处理方法的流程示意图。
本申请实施例提供的图像处理方法,可以由本申请提供的图像处理装置执行,上述装置配置于电子设备中,以实现基于三维模型对二维人脸图像进行处理。
其中,本实施例中的电子设备可以为任意具有拍照功能的硬件设备,如手机、掌上电脑、穿戴式设备等。
如图1所示,该图像处理方法包括:
步骤101,获取目标对象的二维人脸图像及二维人脸图像对应的深度信息。
本实施例中,目标对象中的对象可以指人,也可以指人脸。当对象理解为人时,目标对象的三维模型指目标对象的人脸的三维模型。
本申请实施例中,电子设备可以包括可见光图像传感器,可以基于电子设备中的可见光图像传感器获取二维的人脸图像。具体地,可见光图像传感器可以包括可见光摄像头,可见光摄像头可以捕获由人脸反射的可见光进行成像,得到二维的人脸图像。
本申请实施例中,电子设备还可以包括结构光图像传感器,可以基于电子设备中的结构光图像传感器,获取人脸对应的深度信息。可选地,结构光图像传感器可以包括镭射灯以及激光摄像头。脉冲宽度调制(pulsewidthmodulation,简称pwm)可以调制镭射灯以发出结构光,结构光照射至成人脸,激光摄像头可以捕获由人脸反射的结构光进行成像,得到人脸对应的结构光图像。深度引擎可以根据人脸对应的结构光图像,计算获得人脸对应的深度信息,即二维人脸图像对应的深度信息。
可选地,电子设备中预存有目标对象对应的二维人脸图像和二维人脸图像对应的深度信息,从而可以直接获取目标对象的二维人脸图像及二维人脸图像对应的深度信息,进而利用预存的目标对象的二维人脸图像及二维人脸图像对应的深度信息构建目标对象的三维模型。
步骤102,根据二维人脸图像及深度信息,构建目标对象的三维模型。
本申请实施例中,在获取二维人脸图像和二维人脸图像对应的深度信息后,可以根据深度信息和二维人脸图像,构建目标对象的三维模型。本申请中,目标对象的三维模型的构建,是根据深度信息和人脸图像,进行三维重构得到的,而不是简单的获取rgb数据和深度数据。
作为一种可能的实现方式,可以将深度信息与二维人脸图像对应的色彩信息进行融合,得到目标对象的三维模型。具体地,可以基于人脸关键点检测技术,从深度信息提取人脸的关键点,以及从色彩信息中提取人脸的关键点,而后将从深度信息中提取的关键点和从色彩信息中提取的关键点,进行配准和关键点融合处理,最终根据融合后的关键点,生成目标对象的三维模型。其中,关键点为人脸上显眼的点,或者为关键位置上的点,例如关键点可以为眼角、鼻尖、嘴角等。
作为另一种可能的实现方式,可以基于人脸关键点检测技术,对二维人脸图像进行关键点识别,得到二维人脸图像对应的第三关键点,而后根据第三关键点的深度信息和第三关键点在二维人脸图像上的位置,确定第三关键点对应的第二关键点在目标对象的三维模型中的相对位置,从而可以根据第二关键点在三维空间中的相对位置,连接相邻的第二关键点,生成局部三维框架。其中,局部可以包括鼻部、唇部、眼部、脸颊等脸部部位。
在生成局部三维框架后,可以根据不同的局部三维框架中包含的相同第一关键点,对不同的局部三维框架进行拼接,得到目标对象的三维模型。
步骤103,根据参考三维模型中各第一关键点间的相对位置,将目标对象的三维模型中各第二关键点的位置进行调整,以获取目标对象调整后的目标三维模型。
本实施例中,参考三维模型可以是标准人脸三维模型、明星脸三维模型、整形专家给出的整形目标模型等,目标对象的三维模型中各第二关键点与参考三维模型中各第一关键点一一对应。比如,第一关键点可以是参考三维模型中的额头、眼眶、鼻子、嘴唇等,第二关键点是目标对象的三维模型中与参考三维模型中的第一关键点对应的关键点。例如,参考三维模型中的鼻子,与目标对象的三维模型中的鼻子对应。
本实施例中,电子设备中可预先存储多种参考三维模型,用户可以根据需要进行选择。具体地,用户在进行拍照时,可以从电子设备显示屏幕上显示的多个参考三维模型中,选择自己喜欢的参考三维模型,比如选择眼窝较深的参考三维模型,以得到对眼窝进行加深处理后的人脸图像。
为了提高人脸图像的处理效果,本实施例中根据参考三维模型,对目标对象的三维模型进行调整处理。具体地,根据参考三维模型中各第一关键点间的相对位置,将目标对象的三维模型中各第二关键点的位置进行调整。
更具体地,根据参考三维模型中额头、眉毛、眼睛、鼻子、脸颊、嘴巴等之间的相对位置,调整目标对象的三维模型对应的额头、眉毛、眼睛、鼻子、脸颊、嘴巴等的位置。也就是说,可将目标对象的三维模型中各第二关键点之间的相对位置,调整为与参考三维模型中各第一关键点之间的相对位置一致,得到目标对象调整后的目标三维模型。
步骤104,基于目标三维模型及二维人脸图像,生成目标对象对应的处理后的目标图像。
由于目标三维模型是一个框架,而一张人脸图像应该具有皮肤纹理,本实施例中,在获得目标对象的目标三维图像后,可将二维人脸图像映射到目标三维模型,得到表面覆盖了皮肤纹理的目标三维模型。
作为一种可能的实现方式,可以获取目标三维模型中的多个第一区域,其中,第一区域是以各第二关键点为顶点得到的封闭区域,而后可以根据二维人脸图像中的第三关键点,将二维人脸图像的人脸部分划分为以第三关键点为顶点的多个第二区域,接着可以根据第二关键点与第三关键点之间的对应关系,确定各第二区域对应的第一区域,最后可以对各第二区域内展示的图片内容渲染后,作为局部皮肤纹理贴图至目标三维模型中对应的第一区域,得到覆盖了皮肤纹理的目标三维模型。或者,可以将各第二区域内展示的图片内容,作为局部皮肤纹理贴图至目标三维模型中对应的第一区域,而后对贴图后的第一区域对应的画面进行渲染,得到覆盖了框架皮肤纹理的目标三维模型。或者,可以在将各第二区域内展示的图片内容,作为局部皮肤纹理贴图至人脸三维模型中对应的第一区域的过程中,对第一区域已贴图的画面进行渲染,得到覆盖了皮肤纹理的目标三维模型。本申请实施例对此不作限制。
之后,将覆盖了皮肤纹理的目标三维模型映射到二维平面,即可得到目标对象对应的处理后的目标图像。
例如,二维人脸图像中额头不够饱满、嘴唇太厚,基于参考三维模型可以对目标对象的三维模型进行鼻梁变高、嘴唇变薄等处理,得到目标对象的目标三维模型。然后,将二维人脸图像映射到目标三维模型,得到表面覆盖了皮肤纹理的目标三维模型,之后将表面覆盖了皮肤纹理的目标三维模型,映射到二维平面,得到鼻梁变高、嘴唇变薄的二维人脸图像。
作为一种应用场景,在进行美化处理时,基于调整后的目标三维模型和二维人脸图像,对二维人脸图像进行美化处理,相比基于二维人脸图像进行美化处理,可以使美化后的二维人脸图像更加真实自然。
为了提升构建的目标对象的三维模型的准确性,上述步骤101获取目标对象的二维人脸图像及二维人脸图像对应的深度信息,作为一种可能的实现方式,可以从至少两个不同的角度获取目标对象的至少两张二维人脸图像,及至少两张二维人脸图像分别对应的深度信息。那么,上述步骤102在构建目标对象的三维模型时,可根据从至少两个不同角度,获取的至少两张二维人脸图像,及至少两张二维人脸图像分别对应的深度信息,构建得到目标对象的三维模型。
图2为本申请实施例提供的一种构建目标对象的三维模型的方法的流程示意图。如图2所示,上述步骤102具体可以包括以下子步骤:
步骤201,对每张二维人脸图像进行关键点识别,得到各第三关键点。可选地,可以基于人脸关键点检测技术,对每张二维人脸图像进行关键点识别,得到各第三关键点。其中,各第三关键点为在二维图像中与目标对象的三维模型中各第二关键点对应的各点。
步骤202,根据各第三关键点在每张二维人脸图像中的位置及各第三关键点的深度信息,确定与各第三关键点对应的各第二关键点在三维空间中的相对位置。
本实施例中,由于目标对象的三维模型是人脸图像对应的立体模型,目标对象的三维模型中第二关键点和二维人脸图像中的第三关键点是一一对应的关系,针对每张二维人脸图像,可以根据各第三关键点的深度信息和各第三关键点在人脸图像上的位置,确定各第三关键点对应的各第二关键点在三维空间中的相对位置。
步骤203,根据各第二关键点在三维空间中的相对位置,生成由相邻的各第二关键点拼接的局部三维框架。
本实施例中,在确定第三关键点对应的各第二关键点在在三维空间中的相对位置后,可以连接相邻的第二关键点,生成局部三维框架,如额头三维框架、眼睛三维框架、鼻子三维框架等等。
步骤204,根据各局部三维框架中包含的相同第二关键点,将各局部三维框架进行拼接,得到目标对象的三维模型。
本实施例中,在确定各局部三维框架后,可以根据各局部三维框架中的重合部分,对不同的局部三维框架进行拼接,得到目标对象的三维模型。具体地,可以根据各局部三维框架中包含的相同第二关键点,对各局部三维框架进行拼接,得到目标对象的三维模型。
比如,根据额头三维框架与眼睛三维框架包含的相同的第二关键点,将额头三维框架与眼睛三维框架进行拼接,据此根据各局部三维框架中包含的相同第二关键点进行,将各个局部三维框架进行拼接,可以得到人脸三维模型。
作为一种示例,参见图3和图4,图3和图4分别为不同的角度获取的两张二维人脸图像所对应的目标对象的三维模型的示意图。
在上述实施例的基础上,为了进一步提高图像处理效果,使处理后的二维人脸图像更加立体,更加真实自然,在对各第二关键点调整后,可能会导致第二关键点周边的皮肤纹理出现变形,因此,本申请还可以对与已调整的第二关键点关联的各次关键点进行调整。比如,根据眼眶中的点内推后,眼窝加深,可能会使眼眶周围不够自然,这时可对眼眶周围的关键点进行调整。
图5为本申请实施例提供的另一种图像处理方法的流程示意图。如图5所示,在步骤102之后该图像处理方法还包括:
步骤301,确定三维模型中与已调整的第二关键点关联的各次关键点。
本实施例中,为了使得调整后的目标三维模型更为自然,在对目标对象的三维模型中各第二关键点进行位置调整时,还可以根据三维模型中各关键点间的连接关系,确定与第二关键点关联的各次关键点,从而通过调整各次关键点,将调整的过程进行平滑过渡。其中,与第二关键点关联的各次关键点,可以为三维模型中非显眼的点,或者非关键位置上的点,比如若第二关键点为眼角,那么与第二关键点关联的次关键点可以为眼眶外侧面上的点,或者,也可以为眼眶内侧面中的点等;或者,若第二关键点为鼻尖,那么与第二关键点关联的次关键点可以为鼻翼上的任意点等。
步骤302,根据已调整的第二关键点与各次关键点间的位置关系,及已调整的第二关键点对应的调整幅度,将各次关键点的位置进行调整,其中,各次关键点的调整幅度小于已调整的第二关键点的调整幅度。
本实施例中,在确定与已调整的第二关键点相关联的各次关键点后,可以对各次关键点,根据对应已调整的第二关键点的调整幅度,进行位置调整。其中,为了使得调整后的目标三维模型较为自然,各次关键点的调整幅度可以小于对应已调整的第二关键点的调整幅度,从而在目标对象的三维模型调整过程中可以实现平滑过渡。
作为一种可能的实现方式,可以确定各次关键点,与对应已调整的第二关键点之间的距离,而后根据距离,通过适当减小已调整的第二关键点的调整幅度,得到各次关键点的调整幅度。
举例而言,当已调整的第二关键点眼角,与眼角关联的次关键点分别为眼眶中的两个点,且两个次关键点与第二关键点的距离不同,那么距离已调整的第二关键点最近的次关键点的调整幅度,要大于距离已调整的第二关键点较远的次关键点的调整幅度,从而使得目标三维模型在调整的过程中进行了平滑过渡,最终获得的目标三维模型较为自然。
在本申请实施例中,可能仅需要调整目标对象对应的三维模型中的一个第二关键点,也可能需要调整目标对象对应的三维模型中的多个第二关键点。当需要调整目标对象对应的三维模型中的多个关键点时,可以仅确定一个初始第二关键点,然后将初始第二关键点的位置调整后,再根据其它各第二关键点与初始第二关键点间的目标位置关系,再调整其它的第二关键点;或者,为了提高对目标对象的三维模型的调整效率,也可以根据参考三维模型确定出所有需要调整的目标关键点,及各需要调整的目标关键点对应的调整幅度,进而对需要调整的关键点进行调整,得到目标对象的目标三维模型。下面结合图6,对上述过程进行详细说明。
图6为本申请实施例提供的另一种图像处理方法的流程示意图。如图6所示,该图像处理方法包括:
步骤401,获取目标对象的二维人脸图像及二维人脸图像对应的深度信息。
步骤402,根据二维人脸图像及深度信息,构建目标对象的三维模型。
本实施例中,步骤401-步骤402与上述实施例中的步骤101-步骤102类似,故在此不再赘述。
步骤403,根据参考三维模型中各第一关键点间的相对位置及目标对象对应的三维模型中各第二关键点的相对位置,确定目标对象的三维模型中待调整的各目标关键点,及各目标关键点分别对应的调整幅度。
为了提高目标对象的三维模型的调整效率,可根据参考三维模型确定出所有需要调整的所有目标关键点。
本实施例中,可将参考三维模型中各第一关键点间的相对位置,与目标对象对应的三维模型中对应的各第二关键点间的相对位置进行比较,将与各第一关键点间的相对位置不匹配的第二关键点确为目标关键点,并根据差异确定各目标关键点的调整幅度,以使调整后的各目标关键点间的相对位置与参考三维模模型中对应的第一关键点间的相对位置一致。
比如,眼眶中有3个关键点,分别为a、b、c,则可以比较参考三维模型中关键点b′与关键点a′之间的相对位置,与目标对象的三维模型中关键点b与关键点a的相对位置是否匹配,若不匹配,则可以确定关键点b与关键点a中,至少有一个关键点的位置需要调整。可以进一步再比较关键点b和关键点c间的相对位置,与关键点b′和关键点c′间的相对位置是否匹配,若匹配,则说明关键点a的位置需要调整。
需要说明的是,在实际使用时,还可以根据关键点的位置,设置不同的调整判断阈值,仅当各第二关键点间的相对位置,与各第一关键点间的相对位置的差值超过阈值时,再将第二关键点确定为目标关键点。
另外,还可以确定三维模型中的一个特定关键点为固定点,通过比较其它第二关键点与该特定关键点间的相对位置,与参考三维模型中各第一关键点与特定关键点间的相对位置,来确定具体的目标关键点。
比如,鼻尖为三维模型中的特定关键点,那么即可根据目标对象的三维模型中眼眶中的关键点a与鼻尖的相对位置,与参考三维模型中的关键点a′与鼻尖的相对位置,来判断a点是否为目标关键点。
步骤404,根据各目标关键点分别对应的调整幅度,分别调整各目标关键点。
本实施例中,可根据各目标关键点对应的调整幅度,分别调整各目标关键点,以对目标对象的三维模型进行调整,得到目标三维模型。比如,目标关键点包括眼眶中的点和嘴唇,对应的调整幅度分别为内推的幅度和嘴唇变薄的幅度,可根据眼眶中的点和嘴唇分别对应的调整幅度对眼眶中的点和嘴唇进行调整,以使眼窝加深、嘴唇变薄。
为了避免由于三维模型中各关键点的位置改变,引起皮肤纹理的变形,本实施例中,还可对覆盖目标三维模型的皮肤纹理进行调整,从而使最终得到的二维人脸图像更加真实自然。如图6所示,在步骤404之后该图像处理方法还包括:
步骤405,根据各目标关键点在三维模型中的位置及分别对应的调整幅度,确定待进行皮肤纹理调整的目标区域。
为了使皮肤纹理比较自然,可根据各目标关键点在目标对象的三维模型中的位置及分别对应的调整幅度,确定待进行皮肤纹理调整的目标区域。
具体地,根据各目标关键点在目标对象的三维模型中的位置和调整幅度,可以将对应覆盖目标关键点的皮肤纹理区域、及调整幅度所涉及的皮肤纹理区域,作为待进行皮肤纹理调整的目标区域。其中,目标区域中可包含目标关键点。
步骤406,根据目标区域中各目标关键点的调整幅度,将目标区域的皮肤纹理进行调整。
本实施例中,可根据目标关键点的调整幅度,确定目标区域的皮肤纹理的调整幅度,进而根据目标区域的皮肤纹理的调整幅度调整皮肤纹理,从而得到处理后的二维人脸图像。
举例而言,若目标关键点为鼻梁上的点,且对应的调整幅度为增加0.1厘米(cm),那么在将目标关键点调整后,可能会导致鼻翼两侧的皮肤由于被过度拉伸而出现变形,从而则可以根据目标关键点的位置(鼻梁)及对应的调整幅度(增加0.1cm)确定待进行皮肤纹理调整的区域为鼻翼两侧,进而即可对鼻翼两侧的皮肤纹理进行适当的收缩处理,比如收缩0.05cm等,从而使最终得到的人脸图像更自然。
本实施例中,可以为不同位置的目标关键点设置对应的调整阈值,仅当该目标关键点的调整幅度超过该阈值时,才需要对其所在的区域的皮肤纹理进行调整。
需要说明的是,不同的目标关键点对应的调整阈值可能不同。比如,目标关键点为眼眶中的点,那么将目标关键点的位置调整时对应的调整阈值,可能与鼻梁中的点对应的调整阈值不同。
例如,将眼眶中的目标关键点内推时,皮肤纹理的变化可能不大,相应的调整阈值可以较大;而将鼻梁上的目标关键点变高时,鼻梁周围的皮肤可能很容易看出被拉伸,出现皮肤断裂,那么相应的调整阈值要相对小些。
本申请实施例的图像处理方法,通过确定目标对象的三维模型中待调整的各目标关键点和各目标关键点分别对应的调整幅度,以通过对目标关键点进行调整实现对目标对象的三维模型进行调整,提高了三维模型的调整效率,并且根据目标关键点的调整幅度,对目标区域进行皮肤纹理调整,可以进一步提高处理后二维人脸图像的效果,使处理后的图像更加真实自然。
上述实施例中,在对目标对象的三维模型进行调整时,是依据参考三维模型进行调整,而不同的参考三维模型对二维人脸图像的处理效果不同。在本申请一种可能的实现形式中,在根据参考三维模型对目标对象的三维模型进行调整之前,可以首先确定参考三维模型。
作为一种可能的实现方式,可根据目标对象的三维模型与参考库中各参考三维模型间的差异度,确定参考三维模型。其中,参考库中的各参考三维模型是预先存储的,可包括标准人脸三维模型、明星脸三维模型等等。
为了使得最终处理后的二维人脸图像更接近本人,可将与目标对象的三维模型差异最小的参考三维模型,作为目标对象的参考三维模型。由于差异最小,从而调整幅度也最小,使得处理后的二维人脸图像更接近本人,更真实自然。
在实际应用中,不同的用户对图像处理的效果要求不一样,可能有的用户想让眼睛变大,而有的用户可能想让眼窝加深,又有些用户想让额头饱满等等。
作为另一种可能的实现方式,可预先建立用户模型库,用户模型库中的参考三维模型是不同的用户根据自己的喜好选择的。为了便于确定与用户对应的三维模型,可建立用户标识与参考三维模型的对应关系。本申请实施例中,用户标识可以为用户的头部三维模型。
相应的,本申请实施例中,可以根据目标对象的三维模型中各第二关键点的相对位置,及用户模型库中与各用户标识对应的三维模型中各第四关键点的相对位置,确定目标对象的用户标识,具体地,可将用户模型库中,与各第二关键点的相对位置差异最小的各第四关键点所在的三维模型对应用户标识,确定为目标对象的用户标识。
之后,根据目标对象的用户标识,及预设的用户标识与参考三维模型的对应关系,即可确定目标对象的参考三维模型。
需要说明的是,不同的用户可能选择的参考三维模型相同,也就是说,不同的用户标识可能对应相同的参考三维模型。
本实施例中,通过根据目标对象的三维模型和用户模型库中的三维模型,先确定目标对象的用户标识,并根据用户标识从用户模型库中确定目标对象的参考三维模型,从而可以为不同用户选取不同的参考三维模型,使得处理后的二维人脸图像更加符合用户的个性化需求。
本申请实施例还提出一种图像处理装置。图7为本申请实施例提供的一种图像处理装置的结构示意图。
如图7所示,该图像处理装置包括:获取模块510、构建模块520、第一调整模块530、生成模块540。
获取模块510用于获取目标对象的二维人脸图像及所述二维人脸图像对应的深度信息;
构建模块520用于根据二维人脸图像及所述深度信息,构建目标对象的三维模型;
第一调整模块530用于根据参考三维模型中各第一关键点间的相对位置,将目标对象的三维模型中各第二关键点的位置进行调整,以获取目标对象调整后的目标三维模型,其中,各第二关键点与各第一关键点一一对应;
生成模块540用于基于目标三维模型及二维人脸图像,生成目标对象对应的处理后的目标图像。
在本申请实施例一种可能的实现方式中,获取模块510还用于从至少两个不同角度,获取目标对象的至少两张二维人脸图像,及至少两张二维人脸图像分别对应的深度信息;
构建模块520还用于:
对每张二维人脸图像进行关键点识别,得到各第三关键点,其中,各第三关键点为在二维图像中与各第二关键点对应的各点;
根据各第三关键点在每张二维人脸图像中的位置及各第三关键点的深度信息,确定与各第三关键点对应的各第二关键点在三维空间中的相对位置;
根据各第二关键点在三维空间中的相对位置,生成由相邻的各第二关键点拼接的局部三维框架;
根据各局部三维框架中包含的相同第二关键点,将各局部三维框架进行拼接,得到目标对象的三维模型。
图8为本申请实施例提供的另一种图像处理装置的结构示意图。
在本申请实施例一种可能的实现方式中,如图8所示,第一调整模块530可包括:
第一确定单元531,用于根据参考三维模型中各第一关键点间的相对位置及目标对象对应的三维模型中各第二关键点的相对位置,确定目标对象的三维模型中待调整的各目标关键点,及各目标关键点分别对应的调整幅度;
第一调整单元532,用于根据各目标关键点分别对应的调整幅度,分别调整各目标关键点。
在本申请实施例一种可能的实现方式中,第一调整模块530还可包括:
第二确定单元,用于根据各目标关键点分别对应的调整幅度,分别调整各目标关键点之后,根据各目标关键点在三维模型中的位置及分别对应的调整幅度,确定待进行皮肤纹理调整的目标区域;
第二调整单元,用于根据目标区域中各目标关键点的调整幅度,将目标区域的皮肤纹理进行调整。
在本申请实施例一种可能的实现方式中,该装置还可包括:
第一确定模块,用于将目标对象的三维模型中各第二关键点的位置进行调整之后,确定三维模型中与已调整的第二关键点关联的各次关键点;
第二调整模块,用于根据已调整的第二关键点与各次关键点间的位置关系,及已调整的第二关键点对应的调整幅度,将各次关键点的位置进行调整,其中,各次关键点的调整幅度小于已调整的第二关键点的调整幅度。
在本申请实施例一种可能的实现方式中,该装置还包括:
第二确定模块,用于在根据参考三维模型中各第一关键点间的相对位置,将目标对象的三维模型中各第二关键点的位置进行调整之前,根据目标对象的三维模型与参考库中各参考三维模型间的差异度,确定参考三维模型。
在本申请实施例一种可能的实现方式中,该装置还包括:
第三确定模块,用于根据参考三维模型中各第一关键点间的相对位置,将所述目标对象的三维模型中各第二关键点的位置进行调整之前,根据目标对象的三维模型中各第二关键点的相对位置,及用户模型库中与各用户标识对应的三维模型中各第四关键点的相对位置,确定所述目标对象的用户标识;
第四确定模块,用于根据预设的用户标识与参考三维模型的对应关系,确定参考三维模型。
上述图像处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将图像处理装置按照需要划分为不同的模块,以完成上述图像处理装置的全部或部分功能。
需要说明的是,前述对图像处理方法实施例的解释说明,也适用于该实施例的图像处理装置,在此不再赘述。
本申请实施例的图像处理装置,通过获取目标对象的二维人脸图像及二维人脸图像对应的深度信息,根据二维人脸图像及深度信息,构建目标对象的三维模型,根据参考三维模型中各第一关键点间的相对位置,将目标对象的三维模型中各第二关键点的位置进行调整,以获取目标对象调整后的目标三维模型,基于目标三维模型及二维人脸图像,生成目标对象对应的处理后的目标图像。本实施例中,通过利用参考三维模型对目标对象的三维模型进行调整,然后再根据调整后的目标三维模型,生成处理后的二维人脸图像,由于三维模型可以携带人脸各关键点的深度信息,从而使得根据调整后的目标三维模型得到的处理后的二维人脸图像更加立体,更加真实自然。
本申请实施例还提出了一种电子设备。图9为本申请实施例提供的一种电子设备的结构示意图。如图9所示,该电子设备包括:深度摄像头610、处理器620和存储器630。
其中,深度摄像头610用于获取目标对象的二维人脸图像及二维人脸图像对应的深度信息;处理器620通过读取存储器630中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现如上述实施例所述的图像处理方法。
本申请实施例还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述实施例所述的图像处理方法。
在本说明书的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。