一种美妆方法和装置与流程

文档序号:18121352发布日期:2019-07-10 09:39阅读:174来源:国知局
一种美妆方法和装置与流程

本申请涉及计算机技术领域,尤其涉及一种美妆方法和装置。



背景技术:

美妆可以理解为对人的面部、五官及其他部位进行渲染、描画和整理,以达到美容的目的。现有技术中,随着科学技术的发展和用户对美妆的需求,各种各样的美妆应用应运而生,在这些美妆应用中,用户可以对图片中的待美妆对象进行美妆。

通常,美妆应用中可以包含多个美妆模型,当用户需要对某个待美妆对象进行美妆时,美妆应用可以将相应的美妆模型(可以理解为美妆贴图)添加到待美妆对象上,实现对待美妆对象的美妆。

然而,在实际应用中,在将美妆模型叠加至待美妆对象中时,两者的吻合度通常较低,导致美妆效果不佳。



技术实现要素:

本申请实施例提供一种美妆方法和装置,用于解决现有技术中,在基于美妆应用对待美妆对象进行美妆时,由于用于美妆的模型与待美妆对象的吻合度较低,导致美妆效果不佳的问题。

为了解决上述技术问题,本申请是这样实现的:

本申请实施例提供一种美妆方法,包括:

获取人脸图像中目标对象的标准美妆模型;所述标准美妆模型基于蒙皮技术对既定资源库中的标准素材进行特征提取,得到的标准骨骼进行绑定得到,用于描述所述既定资源库中的各类型标准素材的特征;

根据所述目标对象对应的曲线特征,以及对所述标准骨骼进行绑定时的标准矩阵变换信息,确定变换矩阵;所述变换矩阵用于描述所述目标对象与所述标准素材之间的特征差异;

根据所述变换矩阵对所述标准美妆模型进行变换,使所述标准素材随所述目标对象的对应特征进行变换,得到目标美妆模型;

根据所述目标美妆模型,对所述目标对象进行美妆。

本申请实施例提供一种美妆装置,包括:

获取单元,获取人脸图像中目标对象的标准美妆模型;所述标准美妆模型基于蒙皮技术对既定资源库中的标准素材进行特征提取,得到的标准骨骼进行绑定得到,用于描述所述既定资源库中的各类型标准素材的特征;

确定单元,根据所述目标对象对应的曲线特征,以及对所述标准骨骼进行绑定时的标准矩阵变换信息,确定变换矩阵;所述变换矩阵用于描述所述目标对象与所述标准素材之间的特征差异;

变换单元,根据所述变换矩阵对所述标准美妆模型进行变换,使所述标准素材随所述目标对象的对应特征进行变换,得到目标美妆模型;

美妆单元,根据所述目标美妆模型,对所述目标对象进行美妆。

本申请实施例提供一种电子设备,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:

获取人脸图像中目标对象的标准美妆模型;所述标准美妆模型基于蒙皮技术对既定资源库中的标准素材进行特征提取,得到的标准骨骼进行绑定得到,用于描述所述既定资源库中的各类型标准素材的特征;

根据所述目标对象对应的曲线特征,以及对所述标准骨骼进行绑定时的标准矩阵变换信息,确定变换矩阵;所述变换矩阵用于描述所述目标对象与所述标准素材之间的特征差异;

根据所述变换矩阵对所述标准美妆模型进行变换,使所述标准素材随所述目标对象的对应特征进行变换,得到目标美妆模型;

根据所述目标美妆模型,对所述目标对象进行美妆。

本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:

获取人脸图像中目标对象的标准美妆模型;所述标准美妆模型基于蒙皮技术对既定资源库中的标准素材进行特征提取,得到的标准骨骼进行绑定得到,用于描述所述既定资源库中的各类型标准素材的特征;

根据所述目标对象对应的曲线特征,以及对所述标准骨骼进行绑定时的标准矩阵变换信息,确定变换矩阵;所述变换矩阵用于描述所述目标对象与所述标准素材之间的特征差异;

根据所述变换矩阵对所述标准美妆模型进行变换,使所述标准素材随所述目标对象的对应特征进行变换,得到目标美妆模型;

根据所述目标美妆模型,对所述目标对象进行美妆。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:

本申请实施例提供的技术方案,在对人脸图像中的目标对象进行美妆时,可以获取用于描述标准素材特征的标准美妆模型,该标准美妆模型基于蒙皮技术对标准素材进行特征提取得到的标准骨骼进行绑定得到,在获取到该标准美妆模型后,可以基于目标对象对应的曲线特征,以及对标准骨骼进行绑定时的矩阵变换信息,得到用于描述目标对象与标准素材之间特征差异的变换矩阵,根据该变换矩阵可以对标准美妆模型进行变换得到目标美妆模型,并根据该目标美妆模型对目标对象的美妆。由于变换矩阵是基于目标对象对应的曲线特征确定得到,且可以描述目标对象与标准素材之间的特征差异,因此,基于该变换矩阵对标准美妆模型进行变换得到的目标美妆模型,与目标对象的吻合度较高,从而基于该目标美妆模型对目标对象进行美妆时,美妆效果较好,可以提升用户体验。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请的一个实施例美妆方法的流程示意图;

图2是本申请的一个实施例标准素材的模型和标准骨骼的示意图;

图3是本申请的一个实施例标准素材的模型和目标骨骼的示意图;

图4是本申请的一个实施例美妆方法的流程示意图;

图5为本申请实施例提供的一种电子设备的结构示意图;

图6为本申请实施例提供的一种美妆装置的结构示意图。

具体实施方式

现有技术中,美妆应用在对人脸中的待美妆对象进行美妆时,可以将待美妆对象对应的预设美妆模型添加至待美妆对象上,实现对待美妆对象的美妆。例如,在对人的眼睫毛进行美妆时,可以将预设的眼睫毛美妆模型添加到眼睫毛上,实现对眼睫毛的美妆。

通常,同一类型待美妆对象的形状和大小具有多样性,而该类待美妆对象对应的美妆模型的大小是固定不变的,因此,在将美妆模型添加至待美妆对象中时,若美妆模型与待美妆对象的形状或大小不同,则可以将美妆模型进行缩放,以吻合待美妆对象,进而达到较好的美妆效果。

例如,在对人的眼睫毛进行美妆时,若待美妆的眼睫毛与眼睫毛美妆模型的弧度和长度不同,则可以对眼睫毛美妆模型进行缩放,以使眼睫毛美妆模型吻合待美妆眼睫毛。

在现有技术中,在对美妆模型进行缩放时,通常按照一定的比例对美妆模型进行线性缩放。然而,在实际应用中,待美妆对象通常具有一定的曲线特征,且曲线特征较为复杂,因此,对美妆模型进行线性缩放后得到的美妆模型,与待美妆对象的吻合度通常较低,导致对待美妆对象的美妆效果不佳,从而影响用户使用体验。

为了解决上述技术问题,本申请实施例提供一种美妆方法和装置,该方法包括:获取人脸图像中目标对象的标准美妆模型;所述标准美妆模型基于蒙皮技术对既定资源库中的标准素材进行特征提取,得到的标准骨骼进行绑定得到,用于描述所述既定资源库中的各类型标准素材的特征;根据所述目标对象对应的曲线特征,以及对所述标准骨骼进行绑定时的标准矩阵变换信息,确定变换矩阵;所述变换矩阵用于描述所述目标对象与所述标准素材之间的特征差异;根据所述变换矩阵对所述标准美妆模型进行变换,使所述标准素材随所述目标对象的对应特征进行变换,得到目标美妆模型;根据所述目标美妆模型,对所述目标对象进行美妆。

这样,由于变换矩阵是基于目标对象对应的曲线特征确定得到,且可以描述目标对象与标准素材之间的特征差异,因此,基于该变换矩阵对标准美妆模型进行变换得到的目标美妆模型,与目标对象的吻合度较高,从而基于该目标美妆模型对目标对象进行美妆时,美妆效果较好,可以提升用户体验。

下面结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请实施例记载的美妆是基于美妆应用对具有曲线特征的待美妆对象进行的美妆,所述待美妆对象可以是人脸中的待美妆对象,优选地,可以是眼睫毛、眉毛、唇等。

在对待美妆对象进行美妆时,应用场景可以是在拍摄的过程中,对目标对象进行美妆,也可以是对已有的某张人脸图像中的待美妆对象进行美妆,这里不做具体限定。

以下结合附图,详细说明本申请各实施例提供的技术方案。

图1为本申请实施例提供的一种美妆方法的流程示意图。所述美妆方法的执行主体可以是美妆应用,所述美妆方法包括如下步骤。

s102:获取人脸图像中目标对象的标准美妆模型。

在s102中,在对人脸图像中待美妆的目标对象进行美妆时,可以首先获取与该目标对象对应的标准美妆模型。

标准美妆模型可以理解为对标准素材进行美妆的美妆贴图,该标准素材与目标对象相对应。例如,若目标对象为眼睫毛,则,标准素材为标准眼睫毛,在对眼睫毛进行美妆时,可以获取用于对标准眼睫毛进行美妆的美妆贴图,该美妆贴图即为标准美妆模型。

本实施例中,标准美妆模型可以基于蒙皮技术对标准骨骼进行绑定得到,其中,标准骨骼可以理解为标准素材对应的骨骼,可以通过对标准素材进行特征提取得到,标准素材可以从既定资源库中获取得到。

具体地,标准美妆模型可以通过以下方式确定得到:

首先,对标准素材进行特征提取,建立标准素材的模型。

在建立标准素材的模型时,可以在三维软件(例如maya)中建立,具体地,可以从既定资源库中获取标准素材(具体可以是包含标准素材的图片),通过对标准素材进行特征提取,基于该标准素材的特征建立标准素材的模型,其中,标准素材的特征可以是标准素材的曲线特征,建立的模型需要较好的覆盖标准素材所在的区域。

例如,当目标对象为眼睫毛时,可以获取一张包含标准眼睫毛的标准眼睛图片,如图1所示。通过对图片中标准眼睫毛的曲线特征进行提取,可以基于提取到的曲线特征,建立标准眼睫毛的模型,即图2所示的m,其中,模型m的区域能够较好地覆盖图片中眼睫毛的区域。

需要说明的是,在建立模型时,模型的布线需要均匀,且沿着一定的方向进行布线,例如,在建立标准眼睫毛的模型时,可以沿着眼睫毛的生长方向均匀布线。这样,可以便于后续在将模型与标准骨骼进行绑定后,在标准骨骼带动模型运动时,模型的曲线不易出现锯齿的现象。

其次,基于标准素材的模型,建立标准骨骼。

本实施例中,标准骨骼的个数可以是多个,具体可以根据实际情况确定,只要保证后续在对模型进行变换时,模型可以平滑地运动,不会出现锯齿的情况即可。

在建立标准骨骼时,可以沿着设定方向依次建立多个骨骼,该设定方向可以基于具体的目标对象确定,这里不做具体限定。

以目标对象为眼睫毛为例,如图2所示,在建立标准眼睫毛的标准骨骼时,可以沿着眼睫毛的弯曲弧度从左往右的方向,先建立一个标准骨骼,即以a为端点的标准骨骼,然后通过对该标准骨骼进行旋转的方式,依次再建立6个标准骨骼,共得到7个标准骨骼。图2中,以b为端点的骨骼为第2个标准骨骼,以c为端点的骨骼为第3个标准骨骼,……,以g为端点的骨骼为第7个标准骨骼。

最后,基于蒙皮技术将标准素材的模型与标准骨骼进行绑定,得到标准美妆模型。

蒙皮是三维动画的一种制作技术,具体是指在三维软件中创建的模型基础上,为模型添加骨骼,以使骨骼可以驱动模型产生合理的运动。本实施例在得到标准素材的模型和标准骨骼后,基于蒙皮技术可以对两者进行绑定,从而得到标准美妆模型。

本实施例中,在将标准素材的模型与标准骨骼进行绑定后,针对模型中的一个顶点而言,其可以由一个或多个标准骨骼进行控制,这些标准骨骼都分别对应一个权重值,多个权重值之和等于1。这样,通过多个标准骨骼对模型中的多个顶点进行控制,可以使标准骨骼能够驱动模型运动,通过控制标准骨骼,可以实现对标准美妆模型的变换。

需要说明的是,在将标准素材的模型和标准骨骼绑定后,如果控制效果不佳(例如,在标准骨骼控制模型运动的过程中,模型的曲线出现锯齿状),那么,可以通过调整每个标准骨骼对模型顶点的影响权重值,来调整标准骨骼对模型的控制效果,直至得到较佳的控制效果为止。

在基于上述方法得到标准美妆模型后,可以将标准美妆模型进行存储,当需要对目标对象进行美妆时,可以获取预先存储的标准美妆模型。

例如,在三维软件中建立得到标准美妆模型后,可以将标准美妆模型以obj文件的格式从三维软件中导出,并存储在预设的存储空间,当需要对目标对象进行美妆时,可以从预设的存储空间中获取该标准美妆模型。

此外,在存储标准美妆模型时,还可以将标准美妆模型中标准骨骼的骨骼蒙皮信息,以及对标准骨骼进行绑定时的标准矩阵变换信息(这两种信息都可以在标准骨骼与标准素材的模型绑定时确定得到)进行存储,其中,骨骼蒙皮信息可以包括影响模型中每个顶点的标准骨骼信息,以及每个标准骨骼对顶点的影响权重值,标准矩阵变换信息可以包括多个标准骨骼的总长度,每个标准骨骼的位移和旋转角度。

在s102中,在获取到目标对象的标准美妆模型后,可以执行s104。

s104:根据所述目标对象对应的曲线特征,以及对所述标准骨骼进行绑定时的标准矩阵变换信息,确定变换矩阵。

所述变换矩阵可以用于描述目标对象与标准素材之间的特征差异。其中,变换矩阵的个数可以是多个,多个变换矩阵与多个标准骨骼一一对应,基于多个标准骨骼对应的多个变换矩阵,可以对多个标准骨骼进行控制,从而使标准素材随目标对象的对应特征进行变换。

本实施例在确定变换矩阵时,可以包括以下步骤:

第一:根据目标对象对应的曲线特征,确定与目标对象对应的目标骨骼的目标矩阵变换信息;

第二:根据所述目标矩阵变换信息以及所述标准矩阵变换信息,确定所述变换矩阵。

目标骨骼可以理解为通过对目标对象的曲线特征进行提取得到的骨骼,其中,目标骨骼的个数与标准骨骼的个数相同,目标矩阵变换信息可以包括目标骨骼的总长度、每个目标骨骼的位移和旋转角度。

在根据目标对象对应的曲线特征,确定目标骨骼的目标矩阵变换信息时,可以包括以下步骤:

首先,根据目标对象对应的曲线特征,确定贝塞尔曲线。

贝塞尔曲线可以用于描述目标对象的曲线特征。优选地,该贝塞尔曲线可以是三阶贝塞尔曲线。

已知n阶贝塞尔曲线的公式可以表示为:基于该n阶贝塞尔曲线的公式可知,三阶贝塞尔曲线的公式可以表示为:

其中,p0为贝塞尔曲线的起点,p1和p2为贝塞尔曲线的控制点,p3为贝塞尔曲线的终点,t为变量,取值范围是[0,1]。

在根据目标对象对应的曲线特征,确定贝塞尔曲线时,具体地:

根据目标对象对应的曲线特征,基于人脸检测技术,可以确定目标对象的特征点。其中,该特征点的个数可以是多个,用于描述目标对象的曲线特征,且多个特征点均位于目标对象的贝塞尔曲线上。优选地,目标对象的特征点个数可以是4个,4个特征点包括贝塞尔曲线的起点、终点以及贝塞尔曲线中位于该起点和终点之间的两个点。

在得到目标对象的特征点后,可以基于特征点的坐标信息,确定贝塞尔曲线的控制点(即上述公式中的p1和p2)的坐标信息。具体实现方式可以参见现有技术中确定三阶贝塞尔曲线的控制点的方法,这里不再详细说明。

在得到控制点的坐标信息后,可以结合贝塞尔曲线起点和终点各自的坐标信息,基于上述三阶贝塞尔公式,就可以得到三阶贝塞尔曲线的公式,进而得到三阶贝塞尔曲线。

其次,将所述贝塞尔曲线进行等分。

本实施例将贝塞尔曲线进行等分的个数与目标骨骼的个数相同,其中,相邻两个等分点可以视为一个目标骨骼的两个端点。

在对贝塞尔曲线进行等分时,由于贝塞尔曲线是非线性曲线,因此,不能直接通过参数计算的方式进行等分。在一种实现方式中,可以通过以下方式对贝塞尔曲线进行等分,具体地:

基于贝塞尔曲线公式,可以计算变量t在[0,1]之间变化时,贝塞尔曲线的起点与曲线上的点p(t)之间的曲线长度,从而得到t与曲线长度之间的映射关系。在得到映射关系后,可以基于该映射关系得到t为1时的曲线长度,该曲线长度即为贝塞尔曲线的总长度l。

假设目标骨骼的个数为n,则可以将贝塞尔曲线进行n等分,每段曲线的长度为l/n。基于上述映射关系,可以得到曲线长度为l/n、2l/n、……、(n-1)l/n时,各自对应的t,这些t对应的多个p(t)即为等分点,基于这些等分点可以对贝塞尔曲线进行等分。

最后,根据等分点的坐标信息,确定所述目标骨骼的目标矩阵变换信息。

在对贝塞尔曲线进行等分后,可以将贝塞尔曲线的起点和等分点作为多个目标骨骼各自的端点,基于贝塞尔曲线的起点和等分点的坐标信息,可以得到目标骨骼的目标矩阵变换信息。其中,目标矩阵变换信息中的目标骨骼总长度等于贝塞尔曲线的总长度,每个目标骨骼的位移和旋转角度都可以基于起点和各等分点的坐标信息计算得到。

请参见图3,图3中目标对象为眼睫毛,在对目标对象的贝塞尔曲线进行等分时,等分点依次为b’、c’、d’、e’、f’、g’,基于这些等分点可以得到7个目标骨骼,其中,以a’为端点的骨骼为第1个目标骨骼,以b’为端点的骨骼为第2个目标骨骼,……,以g’为端点的骨骼为第7个目标骨骼。基于图3中a’、b’、c’、d’、e’、f’、g’各自的坐标信息,可以得到这7个目标骨骼的总长度、各自的位移和旋转角度,即目标矩阵变换信息。

在得到目标骨骼的目标矩阵变换信息后,可以根据该目标矩阵变换信息和标准骨骼的标准矩阵变换信息,确定变换矩阵。

在确定变换矩阵时,由于变换矩阵的个数为多个,且与标准骨骼一一对应,因此,需要分别确定每个标准骨骼各自对应的变换矩阵。其中,针对其中一个标准骨骼而言,该标准骨骼对应的变换矩阵可以用于将该标准骨骼变换到对应的目标骨骼。

如图2和图3所示,若以一个字母代表一个骨骼,则在确定变换矩阵时,需要分别确定a对应的变换矩阵a,b对应的变换矩阵b,……,g对应的变换矩阵g,其中,变换矩阵a可以将a变换到a’,变换矩阵b可以将b变换到b’,……,变换矩阵g可以将g变换到g’。

由于每个标准骨骼的变换矩阵的确定方法相同,因此,以下将以其中一个标准骨骼为例,说明如何确定该标准骨骼对应的变换矩阵。

为了便于说明,可以将其中一个标准骨骼由第一标准骨骼表示,在确定第一标准骨骼的变换矩阵时,具体步骤如下:

首先,根据标准骨骼的总长度和目标骨骼的总长度,确定缩放矩阵。

具体地,可以确定第一标准骨骼变换到对应的目标骨骼的缩放比例,该缩放比例等于目标骨骼的总长度和标准骨骼的总长度的比值。在得到缩放比例后,可以基于该缩放比例构建缩放矩阵。

以在二维坐标系下构建缩放矩阵为例,假设标准骨骼的总长度为l1,目标骨骼的总长度为l2,则缩放比例为l2/l1,基于该缩放比例构建的缩放矩阵可以表示为:

其中,sx和sy均为缩放比例。

其次,根据标准骨骼中根骨骼的位移和目标骨骼中根骨骼的位移,确定根骨骼对齐位移矩阵。

具体地,假设目标骨骼中根骨骼的坐标(对应根骨骼的位移)为p2,在对标准骨骼进行缩放后,标准骨骼中根骨骼的坐标(对应根骨骼的位移)变为p1,则标准骨骼中根骨骼的位移变化为p2-p1。在得到位移变化之后,可以基于该位移变化构建根骨骼对齐位移矩阵。

以在二维坐标系下构建根骨骼对齐位移矩阵为例,根骨骼对齐位移矩阵可以表示为:

其中,tx为标准骨骼在x方向上的位移变化,ty为标准骨骼在y方向上的位移变化。

再次,根据第一标准骨骼的旋转角度以及与第一标准骨骼对应的第一目标骨骼的旋转角度,确定旋转匹配矩阵。

与第一标准骨骼对应的第一目标骨骼,可以理解为将该第一标准骨骼变换后得到的目标骨骼。请参见图2和图3,若a为第一标准骨骼,则与a对应的第一目标骨骼为a’。

在对标准骨骼进行缩放和位移以后,标准骨骼中根骨骼的坐标与目标骨骼中根骨骼的坐标是一致的,此时,为了使标准骨骼和目标骨骼完全匹配,还需要对每个标准骨骼进行旋转,使其与对应的目标骨骼的方向一致。

在确定第一标准骨骼的旋转匹配矩阵时,具体地:

假设第一标准骨骼的旋转角度为α,第一目标骨骼的旋转角度为β,则,将第一标准骨骼变换到第一目标骨骼时的角度变化为β-α。在得到该角度变化后,可以基于该角度构建旋转匹配矩阵。

以在二维坐标系下构建旋转匹配矩阵为例,旋转匹配矩阵可以表示为:

其中,a为角度变化。

最后,根据缩放矩阵、根骨骼对齐位移矩阵以及旋转匹配矩阵,确定所述第一标准骨骼的变换矩阵。

本实施例中,可以将第一标准骨骼的缩放矩阵、根骨骼对齐位移矩阵以及旋转匹配矩阵的乘积,作为第一标准骨骼的变换矩阵。

在得到第一标准骨骼的变换矩阵后,可以基于相同的方法得到其他标准骨骼的变换矩阵。其中,针对每个标准骨骼而言,缩放矩阵和根骨骼对齐位移矩阵都是一样的,但是,由于每个标准骨骼变换到目标骨骼时的角度变化都可能不一样,因此,不同标准骨骼的旋转匹配矩阵可能不同。

在s104中,在得到每个标准骨骼的变换矩阵后,可以执行s106。

s106:根据所述变换矩阵对所述标准美妆模型进行变换,使所述标准素材随所述目标对象的对应特征进行变换,得到目标美妆模型。

在s106中,可以基于每个标准骨骼的变换矩阵,对s102中的标准美妆模型进行变换,使标准素材随目标对象的对应特征进行变换,得到目标美妆模型,该目标美妆模型可以理解为用于对目标对象进行美妆的贴图。

具体实现步骤如下:

第一,基于所述变换矩阵,使用平滑蒙皮算法确定所述标准美妆模型中每个顶点的目标坐标信息。

第二,基于所述目标坐标信息更新每个顶点的坐标,使所述标准素材随所述目标对象的对应特征进行变换,得到所述目标美妆模型。

本实施例中,一个顶点的目标坐标信息可以用于将该顶点变换到目标位置处。在确定每个顶点的目标坐标信息时,以其中一个目标顶点为例,具体可以包括以下步骤:

首先,确定对目标顶点的位置产生影响的至少一个标准骨骼。

具体地,由于在上述s102中,在将目标美妆模型进行保存后,可以同时保存骨骼蒙皮信息,该骨骼蒙皮信息包括影响模型中每个顶点的标准骨骼信息,因此,在本步骤中,可以基于s102中保存的骨骼蒙皮信息,得到对目标顶点产生影响的一个或多个目标骨骼。

其次,获取所述至少一个标准骨骼各自对目标顶点影响的权重值。

具体地,由于在上述s102中保存的骨骼蒙皮信息,还包括每个目标骨骼对模型中每个顶点的影响权重值,因此,在本步骤中,可以基于s102中保存的骨骼蒙皮信息,得到对目标顶点产生影响的一个或多个目标骨骼各自对目标顶点的影响权重值。

其中,若对目标顶点产生影响的标准骨骼的个数为1,则该标准骨骼对目标顶点影响的权重值为1,若对目标顶点产生影响的标准骨骼的个数为多个,则多个标准骨骼对目标顶点影响的权重值之和为1。

再次,基于获取的权重值以及所述至少一个标准骨骼的变换矩阵,确定目标顶点的坐标变化量。

具体地,可以基于至少一个标准骨骼各自的权重值以及变换矩阵,将至少一个标准骨骼对目标顶点的影响进行叠加,基于叠加结果可以得到目标顶点的坐标变化量。

最后,基于所述坐标变化量以及所述目标顶点的坐标信息,确定所述目标顶点的目标坐标信息。

具体地,可以将目标顶点原有的坐标信息,与目标顶点的坐标变化量相加,相加的结果即为目标顶点的目标坐标信息。

在得到目标顶点的目标坐标信息后,可以基于相同的方法确定标准美妆模型中其他顶点的目标坐标信息。

在得到标准美妆模型中每个顶点的目标坐标信息后,可以基于每个顶点的目标坐标信息更新每个顶点的坐标,使标准素材随目标对象的对应特征进行变换,从而得到目标美妆模型。

在s106中,在基于变换矩阵得到目标美妆模型后,可以执行s108。

s108:根据所述目标美妆模型,对所述目标对象进行美妆。

在根据目标美妆模型对目标对象进行美妆时,可以将目标美妆模型添加到目标对象上,实现对目标对象的美妆。

由于目标美妆模型由变换矩阵对标准美妆模型进行变换得到,变换矩阵是基于目标对象对应的曲线特征确定得到,且可以描述目标对象与标准素材之间的特征差异,因此,基于变换矩阵得到的目标美妆模型与目标对象的吻合度较高,基于该目标美妆模型对目标对象进行美妆后,美妆效果较好,从而能够提高用户体验。

为了便于理解整个技术方案,可以参见图4。图4中,是本申请的一个实施例美妆方法的流程示意图。本实施例可以包括以下步骤。

s401:获取人脸图像中目标对象的标准美妆模型。

标准美妆模型可以理解为用于对标准素材进行美妆的美妆贴图,用于描述既定资源库中的各类型标准素材的特征。本实施例中,标准美妆模型可以预先基于蒙皮技术对既定资源库中的标准素材进行特征提取,得到的标准骨骼进行绑定得到,具体可以通过三维软件实现,详细步骤可以参见图1所示实施例中记载的相应内容,这里不再重复说明。

在得到标准美妆模型后,可以将标准美妆模型导出并保存,这样,在需要对目标对象进行美妆时,可以获取预先保存的标准美妆模型。

此外,在将标准美妆模型导出时,还可以导出标准骨骼的标准矩阵变换信息以及骨骼蒙皮信息,以便后续使用。其中,标准骨骼的个数为多个,标准骨骼的骨骼蒙皮信息可以包括影响模型中每个顶点的标准骨骼的信息,以及每个标准骨骼对顶点的影响权重值,标准矩阵变换信息可以包括多个标准骨骼的总长度,每个标准骨骼的位移和旋转角度。

s402:根据所述目标对象对应的曲线特征,确定贝塞尔曲线。

本实施例以确定目标对象的三阶贝塞尔曲线为例进行说明。

具体地,可以基于目标对象的曲线特征,通过人脸检测技术,得到目标对象的多个特征点。优选地,特征点的个数可以是4个,且均位于贝塞尔曲线上,优选地,4个特征点可以是贝塞尔曲线的起点、终点以及贝塞尔曲线上位于起点和终点之间的两个点。

在得到目标对象的特征点后,可以根据特征点的坐标信息,确定贝塞尔曲线的控制点的坐标信息。在得到控制点的坐标信息后,可以基于以下公式,得到三阶贝塞尔曲线:

其中,p0为贝塞尔曲线的起点,p3为贝塞尔曲线的终点,p1和p2为贝塞尔曲线的两个控制点。

s403:将贝塞尔曲线进行等分,等分的个数等于目标骨骼的个数。

其中,目标骨骼的个数与标准骨骼的个数相同。等分的目的是为了得到目标骨骼的标准矩阵变换信息。

在将贝塞尔曲线进行等分时,具体实现方式可以参见图1所示实施例中记载的相关内容,这里不再重复说明。

s404:根据等分点的坐标信息,确定所述目标骨骼的目标矩阵变换信息。

在将贝塞尔曲线等分后,可以基于贝塞尔曲线得到每个等分点的坐标信息。基于贝塞尔曲线起点的坐标信息以及等分点的坐标信息,就可以计算得到目标骨骼的目标矩阵变换信息。其中,目标骨骼的目标矩阵变换信息包括目标骨骼的总长度、每个目标骨骼的位移和旋转角度。

s405:根据标准骨骼的标准矩阵变换信息以及目标骨骼的目标矩阵变换信息,确定变换矩阵。

变换矩阵可以包含多个,多个变换矩阵与多个标准骨骼一一对应。

在确定变换矩阵时,以其中一个标准骨骼为例,可以分别确定该标准骨骼的缩放矩阵、根骨骼对齐位移矩阵以及旋转匹配矩阵,并将三者的乘积确定为该标准骨骼的变换矩阵。其中,标准骨骼的缩放矩阵、根骨骼对齐位移矩阵以及旋转匹配矩阵的确定方法可以参见图1所示实施例中记载的相关内容,这里不再重复说明。

s406:基于所述变换矩阵,使用平滑蒙皮算法确定所述标准美妆模型中每个顶点的目标坐标信息。

每个顶点的目标坐标信息即为对标准美妆模型进行变换后,模型中每个顶点的坐标信息。

在确定每个顶点的目标坐标信息时,以其中一个目标顶点为例,可以确定对该目标顶点产生影响的一个或多个标准骨骼,基于这些标准骨骼的变换矩阵,以及这些标准骨骼对该目标顶点影响的权重值,计算得到目标顶点的坐标变化量,结合目标顶点在标准美妆模型中原有的坐标信息,就可以得到目标顶点的目标坐标信息。具体实现方式可以参见图1所示实施例中记载的相关内容,这里不再重复说明。

基于同样的方法可以得到标准美妆模型中每个顶点的目标坐标信息。

s407:基于所述目标坐标信息更新每个顶点的位置,得到目标美妆模型。

在得到每个顶点的目标坐标信息后,可以对每个顶点的坐标进行更新,从而可以对标准美妆模型进行变换,并得到目标美妆模型。

s408:根据所述目标美妆模型,对所述目标对象进行美妆。

在得到目标美妆模型后,可以将目标美妆模型添加到目标对象上,实现对目标对象的美妆。

本申请实施例提供的技术方案,在对人脸图像中的目标对象进行美妆时,可以获取用于描述标准素材特征的标准美妆模型,该标准美妆模型基于蒙皮技术对标准素材进行特征提取得到的标准骨骼进行绑定得到,在获取到该标准美妆模型后,可以基于目标对象对应的曲线特征,以及对标准骨骼进行绑定时的矩阵变换信息,得到用于描述目标对象与标准素材之间特征差异的变换矩阵,根据该变换矩阵可以对标准美妆模型进行变换得到目标美妆模型,并根据该目标美妆模型对目标对象的美妆。由于变换矩阵是基于目标对象对应的曲线特征确定得到,且可以描述目标对象与标准素材之间的特征差异,因此,基于该变换矩阵对标准美妆模型进行变换得到的目标美妆模型,与目标对象的吻合度较高,从而基于该目标美妆模型对目标对象进行美妆时,美妆效果较好,可以提升用户体验。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

图5是本申请的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-accessmemory,ram),也可能还包括非易失性存储器(non-volatilememory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。

处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industrystandardarchitecture,工业标准体系结构)总线、pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。

处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成美妆装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:

获取人脸图像中目标对象的标准美妆模型;所述标准美妆模型基于蒙皮技术对既定资源库中的标准素材进行特征提取,得到的标准骨骼进行绑定得到,用于描述所述既定资源库中的各类型标准素材的特征;

根据所述目标对象对应的曲线特征,以及对所述标准骨骼进行绑定时的标准矩阵变换信息,确定变换矩阵;所述变换矩阵用于描述所述目标对象与所述标准素材之间的特征差异;

根据所述变换矩阵对所述标准美妆模型进行变换,使所述标准素材随所述目标对象的对应特征进行变换,得到目标美妆模型;

根据所述目标美妆模型,对所述目标对象进行美妆。

上述如本申请图5所示实施例揭示的美妆装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

该电子设备还可执行图1或图4的方法,并实现美妆装置在图1所示实施例的功能,本申请实施例在此不再赘述。

当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1和图4所示实施例的方法,并具体用于执行以下操作:

获取人脸图像中目标对象的标准美妆模型;所述标准美妆模型基于蒙皮技术对既定资源库中的标准素材进行特征提取,得到的标准骨骼进行绑定得到,用于描述所述既定资源库中的各类型标准素材的特征;

根据所述目标对象对应的曲线特征,以及对所述标准骨骼进行绑定时的标准矩阵变换信息,确定变换矩阵;所述变换矩阵用于描述所述目标对象与所述标准素材之间的特征差异;

根据所述变换矩阵对所述标准美妆模型进行变换,使所述标准素材随所述目标对象的对应特征进行变换,得到目标美妆模型;

根据所述目标美妆模型,对所述目标对象进行美妆。

图6为本申请实施例提供的一种美妆装置的结构示意图,具体可以包括:获取单元61、确定单元62、变换单元63以及美妆单元64,其中:

获取单元61,获取人脸图像中目标对象的标准美妆模型;所述标准美妆模型基于蒙皮技术对既定资源库中的标准素材进行特征提取,得到的标准骨骼进行绑定得到,用于描述所述既定资源库中的各类型标准素材的特征;

确定单元62,根据所述目标对象对应的曲线特征,以及对所述标准骨骼进行绑定时的标准矩阵变换信息,确定变换矩阵;所述变换矩阵用于描述所述目标对象与所述标准素材之间的特征差异;

变换单元63,根据所述变换矩阵对所述标准美妆模型进行变换,使所述标准素材随所述目标对象的对应特征进行变换,得到目标美妆模型;

美妆单元64,根据所述目标美妆模型,对所述目标对象进行美妆。

可选地,所述标准美妆模型通过以下方式确定得到:

对所述标准素材进行特征提取,建立所述标准素材的模型;

基于所述标准素材的模型,建立所述标准骨骼;

基于蒙皮技术将所述标准素材的模型与所述标准骨骼进行绑定,得到所述标准美妆模型。

可选地,所述标准骨骼的个数为多个,所述标准矩阵变换信息包括所述标准骨骼的总长度、每个标准骨骼的位移和旋转角度;

其中,所述确定单元62,根据所述目标对象对应的曲线特征,以及对所述标准骨骼进行绑定时的矩阵变换信息,确定变换矩阵,包括:

根据所述目标对象对应的曲线特征,确定与所述目标对象对应的目标骨骼的目标矩阵变换信息,所述目标骨骼的个数与所述标准骨骼的个数相同,所述目标矩阵变换信息包括所述目标骨骼的总长度、每个目标骨骼的位移和旋转角度;

根据所述目标矩阵变换信息以及所述标准矩阵变换信息,确定所述变换矩阵。

可选地,所述确定单元62,根据所述目标对象对应的曲线特征,确定与所述目标对象对应的目标骨骼的目标矩阵变换信息,包括:

根据所述目标对象对应的曲线特征,确定贝塞尔曲线,所述贝塞尔曲线用于描述所述目标对象的曲线特征;

将所述贝塞尔曲线进行等分,等分的个数与所述目标骨骼的个数相同;

根据等分点的坐标信息,确定所述目标骨骼的目标矩阵变换信息。

可选地,所述确定单元62,根据所述目标对象对应的曲线特征,确定所述目标对象对应的贝塞尔曲线,包括:

根据所述目标对象的曲线特征,提取所述目标对象的特征点,所述特征点位于所述贝塞尔曲线上;

根据所述特征点的坐标信息,确定所述贝塞尔曲线的控制点的坐标信息;

根据所述控制点的坐标信息,得到所述贝塞尔曲线。

可选地,所述变换矩阵包括多个标准骨骼各自对应的变换矩阵;

其中,所述确定单元62,根据所述目标矩阵变换信息以及所述标准矩阵变换信息,确定所述变换矩阵,包括:

针对其中一个第一标准骨骼,执行以下操作:

根据所述标准骨骼的总长度和所述目标骨骼的总长度,确定缩放矩阵;

根据所述标准骨骼中根骨骼的位移和所述目标骨骼中根骨骼的位移,确定根骨骼对齐位移矩阵;

根据所述第一标准骨骼的旋转角度以及与所述第一标准骨骼对应的第一目标骨骼的旋转角度,确定旋转匹配矩阵;

根据所述缩放矩阵、所述根骨骼对齐位移矩阵以及所述旋转匹配矩阵,确定所述第一标准骨骼的变换矩阵。

可选地,所述变换单元63,根据所述变换矩阵对所述标准美妆模型进行变换,使所述标准素材随所述目标对象的对应特征进行变换,得到目标美妆模型,包括:

基于所述变换矩阵,使用平滑蒙皮算法确定所述标准美妆模型中每个顶点的目标坐标信息;

基于所述目标坐标信息更新所述标准美妆模型中每个顶点的坐标,使所述标准素材随所述目标对象的对应特征进行变换,得到所述目标美妆模型。

可选地,所述变换单元63,基于所述变换矩阵,使用平滑蒙皮算法确定所述标准美妆模型中每个顶点的目标坐标信息,包括:

针对其中一个目标顶点,执行以下操作:

确定对所述目标顶点的位置产生影响的至少一个标准骨骼;

获取所述至少一个标准骨骼各自对所述目标顶点影响的权重值;

基于所述权重值以及所述至少一个标准骨骼的变换矩阵,确定所述目标顶点的坐标变化量;

基于所述坐标变化量以及所述目标顶点的坐标信息,确定所述目标顶点的目标坐标信息。

本申请实施例提供的美妆装置60还可执行图1和图4的方法,并实现美妆装置在图1和图4所示实施例的功能,本申请实施例在此不再赘述。

总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1