CN113837017B - 一种化妆进度检测方法、装置、设备及存储介质 - Google Patents
一种化妆进度检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113837017B CN113837017B CN202111015231.6A CN202111015231A CN113837017B CN 113837017 B CN113837017 B CN 113837017B CN 202111015231 A CN202111015231 A CN 202111015231A CN 113837017 B CN113837017 B CN 113837017B
- Authority
- CN
- China
- Prior art keywords
- image
- makeup
- area
- target
- face
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本申请提出一种化妆进度检测方法、装置、设备及存储介质,该方法包括:获取特定妆容对应的目标上妆区域及用户当前进行特定妆容的实时化妆视频中的初始帧图像和当前帧图像;从初始帧图像中获取特定妆容对应的第一目标区域图像,及从当前帧图像中获取特定妆容对应的第二目标区域图像;根据第一目标区域图像和第二目标区域图像,确定当前化妆进度。本申请利用人脸关键点对人脸区域进行矫正和裁剪,确定人脸中的目标上妆区域,对两帧图像中的目标上妆区域对齐,提高了目标上妆区域识别的准确性。通过采用高斯平滑和HSV颜色空间转换,使得后续能够清晰获取两帧图像中目标上妆区域在特定妆容对应的通道分量上的差异,提高了化妆进度检测的精度。
Description
技术领域
本申请属于图像处理技术领域,具体涉及一种化妆进度检测方法、装置、设备及存储介质。
背景技术
化妆已经成为很多人日常生活必不可少的环节,而高光修容是化妆过程的重要步骤,如果能够将高光修容的化妆进度实时反馈给用户,将可以极大减少高光修容对用户精力的消耗,节省用户的化妆时间。
目前,相关技术中存在一些使用深度学习模型提供虚拟试妆、肤色侦测、个性化产品推荐等功能,这些功能均需要预先收集大量的人脸图片对深度学习模型进行训练。
但人脸图片是用户的隐私数据,很难收集到庞大的人脸图片。且模型训练需耗费大量计算资源,成本高。模型的精度与实时性成反比,化妆进度检测需要实时捕获用户人脸面部信息来确定用户当前的化妆进度,实时性要求很高,能够满足实时性要求的深度学习模型,其检测的准确性不高。
发明内容
本申请提出一种化妆进度检测方法、装置、设备及存储介质,通过初始帧图像与当前帧图像之间的差别,确定出当前化妆进度,化妆进度检测的准确性很高,且运算量小,成本低,减少了服务器的处理压力,提高了化妆进度检测的效率,能够满足化妆进度检测的实时性要求。
本申请第一方面实施例提出了一种化妆进度检测方法,包括:
获取特定妆容对应的至少一个目标上妆区域及用户当前进行所述特定妆容的实时实时化妆视频中的初始帧图像和当前帧图像;
根据所述目标上妆区域,从所述初始帧图像中获取所述特定妆容对应的第一目标区域图像,及从所述当前帧图像中获取所述特定妆容对应的第二目标区域图像;
根据所述第一目标区域图像和所述第二目标区域图像,确定所述用户对应的所述特定妆容的当前化妆进度。
在本申请的一些实施例中,所述根据所述目标上妆区域,从所述初始帧图像中获取所述特定妆容对应的第一目标区域图像,包括:
检测所述初始帧图像对应的第一人脸关键点;
根据所述第一人脸关键点,获取所述初始帧图像对应的人脸区域图像;
根据所述第一人脸关键点和所述目标上妆区域,从所述人脸区域图像中提取所述特定妆容对应的第一目标区域图像。
在本申请的一些实施例中,所述根据所述第一人脸关键点,获取所述初始帧图像对应的人脸区域图像,包括:
根据所述第一人脸关键点,对所述初始帧图像及所述第一人脸关键点进行旋转矫正;
根据矫正后的所述第一人脸关键点,从矫正后的所述初始帧图像中截取包含人脸区域的图像;
将所述包含人脸区域的图像缩放至预设尺寸,得到所述初始帧图像对应的人脸区域图像。
在本申请的一些实施例中,所述根据所述第一人脸关键点,对所述初始帧图像及所述第一人脸关键点进行旋转矫正,包括:
根据所述第一人脸关键点包括的左眼关键点和右眼关键点,分别确定左眼中心坐标和右眼中心坐标;
根据所述左眼中心坐标和所述右眼中心坐标,确定所述初始帧图像对应的旋转角度及旋转中心点坐标;
根据所述旋转角度和所述旋转中心点坐标,对所述初始帧图像及所述第一人脸关键点进行旋转矫正。
在本申请的一些实施例中,所述根据矫正后的所述第一人脸关键点,从矫正后的所述初始帧图像中截取包含人脸区域的图像,包括:
根据矫正后的所述第一人脸关键点,对矫正后的所述初始帧图像中包含的人脸区域进行图像截取。
在本申请的一些实施例中,根据矫正后的所述第一人脸关键点,对矫正后的所述初始帧图像中包含的人脸区域进行图像截取,包括:
从矫正后的所述第一人脸关键点中确定最小横坐标值、最小纵坐标值、最大横坐标值和最大纵坐标值;
根据所述最小横坐标值、所述最小纵坐标值、最大横坐标值和最大纵坐标值,确定矫正后的所述初始帧图像中人脸区域对应的截取框;
根据所述截取框,从矫正后的所述初始帧图像中截取出包含所述人脸区域的图像。
在本申请的一些实施例中,所述方法还包括:
将所述截取框放大预设倍数;
根据放大后的所述截取框,从矫正后的所述初始帧图像中截取出包含所述人脸区域的图像。
在本申请的一些实施例中,所述根据所述第一人脸关键点和所述目标上妆区域,从所述人脸区域图像中提取所述特定妆容对应的第一目标区域图像之前,还包括:
根据所述包含人脸区域的图像的尺寸及所述预设尺寸,对矫正后的所述第一人脸关键点进行缩放平移处理。
在本申请的一些实施例中,所述根据所述第一人脸关键点和所述目标上妆区域,从所述人脸区域图像中提取所述特定妆容对应的第一目标区域图像,包括:
从所述第一人脸关键点中确定出位于所述人脸区域图像中所述目标上妆区域对应的区域轮廓上的一个或多个目标关键点;
根据所述目标上妆区域对应的目标关键点,生成所述人脸区域图像对应的掩膜图像;
对所述掩膜图像和所述人脸区域图像进行与运算,获得所述特定妆容对应的第一目标区域图像。
在本申请的一些实施例中,所述根据所述目标上妆区域对应的目标关键点,生成所述人脸区域图像对应的掩膜图像,包括:
若存在目标上妆区域对应的目标关键点的数目为多个,则根据所述目标关键点,确定所述目标上妆区域在所述人脸区域图像中的每个边缘坐标;将所述每个边缘坐标围成的区域内的所有像素点的像素值均修改为预设值,得到所述目标上妆区域对应的掩膜区域;
若存在目标上妆区域对应的目标关键点的数目为一个,则以所述目标关键点为中心,绘制预设大小的椭圆区域,将所述椭圆区域内的所有像素点的像素值均修改为预设值,得到所述目标上妆区域对应的掩膜区域;
将所述掩膜区域之外的所有像素点的像素值均修改为零,得到所述人脸区域图像对应的掩膜图像。
在本申请的一些实施例中,所述根据所述第一目标区域图像和所述第二目标区域图像,确定所述用户对应的所述特定妆容的当前化妆进度之前,还包括:
分别将所述第一目标区域图像和所述第二目标区域图像由RGB颜色空间转换为HSV颜色空间;
分别从转换后的所述第一目标区域图像和所述第二目标区域图像的HSV颜色空间中分离出所述特定妆容对应的通道分量,得到仅包含所述通道分量的单通道的所述第一目标区域图像和所述第二目标区域图像。
在本申请的一些实施例中,所述根据所述第一目标区域图像和所述第二目标区域图像,确定所述用户对应的所述特定妆容的当前化妆进度,包括:
分别计算所述第一目标区域图像和所述第二目标区域图像中位置相同的像素点对应的所述通道分量的差值绝对值;
根据每个像素点对应的差值绝对值,确定已完成所述特定妆容的区域面积;
计算已完成所述特定妆容的区域面积与所述目标上妆区域对应的总区域面积之间的比值,得到所述用户对应的所述特定妆容的当前化妆进度。
在本申请的一些实施例中,所述根据每个像素点对应的差值绝对值,确定已完成所述特定妆容的区域面积,包括:
统计对应的差值绝对值满足所述特定妆容对应的预设化妆完成条件的像素点数目;
将统计的所述像素点数目确定为已完成所述特定妆容的区域面积;
其中,所述特定妆容为高光妆容时,所述预设化妆完成条件为像素点对应的差值绝对值大于第一预设阈值;所述特定妆容为修容妆容时,所述预设化妆完成条件为像素点对应的差值绝对值小于第二预设阈值。
在本申请的一些实施例中,所述根据所述第一目标区域图像和所述第二目标区域图像,确定所述用户对应的所述特定妆容的当前化妆进度之前还包括:
分别对仅包含所述通道分量的单通道的所述第一目标区域图像和所述第二目标区域图像进行二值化处理,得到所述第一目标区域图像对应的第一二值化掩膜图像和所述第二目标区域图像对应的第二二值化掩膜图像;
对所述第一二值化掩膜图像和所述第二二值化掩膜图像进行与运算,得到相交区域掩膜图像;
获取所述初始帧图像对应的人脸区域图像及所述当前帧图像对应的人脸区域图像;
对所述相交区域掩膜图像和所述初始帧图像对应的人脸区域图像进行与运算,得到所述初始帧图像对应的新的第一目标区域图像;对所述相交区域掩膜图像和所述当前帧图像对应的人脸区域图像进行与运算,得到所述当前帧图像对应的新的第二目标区域图像。
在本申请的一些实施例中,所述根据所述第一人脸关键点,获取所述初始帧图像对应的人脸区域图像之后,还包括:
根据预设尺寸的高斯核,对所述初始帧图像对应的人脸区域图像进行高斯滤波处理。
在本申请的一些实施例中,所述方法还包括:
发送所述当前化妆进度给所述用户的终端,以使所述用户的终端显示所述当前化妆进度。
本申请第二方面的实施例提供了一种化妆进度检测装置,包括:
第一获取模块,用于获取特定妆容对应的至少一个目标上妆区域及用户当前进行所述特定妆容的实时实时化妆视频中的初始帧图像和当前帧图像;
第二获取模块,用于根据所述目标上妆区域,从所述初始帧图像中获取所述特定妆容对应的第一目标区域图像,及从所述当前帧图像中获取所述特定妆容对应的第二目标区域图像;
进度确定模块,用于根据所述第一目标区域图像和所述第二目标区域图像,确定所述用户对应的所述特定妆容的当前化妆进度。
本申请第三方面的实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序以实现上述第一方面所述的方法。
本申请第四方面的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现上述第一方面所述的方法。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
在本申请实施例中,利用人脸关键点,对视频帧中用户的人脸区域进行矫正和裁剪,提高了识别视频帧中人脸区域的准确性。且基于人脸关键点,从人脸区域图像中确定出了目标上妆区域,并对初始帧图像中的目标上妆区域和当前帧图像中的目标上妆区域进行了像素对齐,提高了对每一帧图像中用户脸部的目标上妆区域识别的准确性。通过采用高斯平滑和HSV颜色空间转换,使得后续能够清晰获取初始帧图像与当前帧图像中目标上妆区域在特定妆容对应的通道分量上的差异,提高了化妆进度检测的精度。且本申请没有采用深度学习的方式,无需预先收集大量数据,本申请通过对用户化妆的实时画面的捕获,经过服务器端的计算,将检测结果返回给用户。相比深度学习的模型推理方案,本申请在算法处理环节耗费更少的计算成本,减少了服务器的处理压力。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本申请的实践了解到。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
在附图中:
图1示出了本申请一实施例所提供的一种化妆进度检测方法的流程图;
图2示出了本申请一实施例所提供的客户端显示的供用户选择目标上妆区域的显示界面的示意图;
图3示出了本申请一实施例所提供的求解图像的旋转角度的示意图;
图4示出了本申请一实施例所提供的两次坐标系转换的示意图;
图5示出了本申请一实施例所提供的一种化妆进度检测方法的模块流程示意图;
图6示出了本申请一实施例所提供的一种化妆进度检测装置的结构示意图;
图7示出了本申请一实施例所提供的一种电子设备的结构示意图;
图8示出了本申请一实施例所提供的一种存储介质的示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
下面结合附图来描述根据本申请实施例提出的一种化妆进度检测方法、装置、设备及存储介质。
目前相关技术中存在一些虚拟试妆功能,可以应用在销售柜台或者手机应用软件中,采用人脸识别技术对用户提供虚拟试妆服务,可以将多种妆容进行搭配和实时的面部贴合展示。此外还是提供人脸皮肤检测服务,但这些服务只能解决用户挑选适合自己的化妆品,或者选取适合自己的皮肤保养方案的需求。基于这些服务可以帮助用户挑选适合自己的高光/修容化妆产品,但是无法对上妆的进度进行显示,不能满足用户实时修容的需求。相关技术中还存在一些使用深度学习模型提供虚拟试妆、肤色侦测、个性化产品推荐等功能,这些功能均需要预先收集大量的人脸图片对深度学习模型进行训练。但人脸图片是用户的隐私数据,很难收集到庞大的人脸图片。且模型训练需耗费大量计算资源,成本高。模型的精度与实时性成反比,化妆进度检测需要实时捕获用户人脸面部信息来确定用户当前的化妆进度,实时性要求很高,能够满足实时性要求的深度学习模型,其检测的准确性不高。
基于此,本申请实施例提供了一种化妆进度检测方法,该方法将用户化妆过程的当前帧图像与初始帧图像(即第一帧图像)做对比来确定化妆进度。通过识别初始帧图像及当前帧图像的人脸关键点,基于人脸关键点,从初始帧图像和当前帧图像中准确地提取出目标上妆区域,通过初始帧图像对应的目标上妆区域中的像素点与当前帧图像对应的目标上妆区域中的像素点之间的差别,确定出当前化妆进度,化妆进度检测的准确性很高,且运算量小,成本低,减少了服务器的处理压力,提高了化妆进度检测的效率,能够满足化妆进度检测的实时性要求。
参见图1,该方法具体包括以下步骤:
步骤101:获取特定妆容对应的至少一个目标上妆区域及用户当前进行所述特定妆容的实时实时化妆视频中的初始帧图像和当前帧图像。
本申请实施例的执行主体为服务器。用户的手机或电脑等终端上安装有与服务器提供的化妆进度检测服务相适配的客户端。当用户需要使用化妆进度检测服务时,用户打开终端上的该客户端,客户端显示特定妆容对应的所有目标上妆区域,特定妆容可以包括高光妆容或修容妆容等。目标上妆区域可以包括额头区域、鼻梁区域、鼻尖区域、左侧脸颊区域、右侧脸颊区域、下巴区域等。用户从显示的多个目标上妆区域中选择自己需要化特定妆容的一个或多个目标上妆区域。
作为一种示例,客户端可以以文本选择项的形式来显示特定妆容对应的所有目标上妆区域。如图2所示的显示界面,该显示界面中包括多个目标上妆区域对应的文本选择项及提交按键,用户可以单击选择出自己需要的目标上妆区域的文本选择项,然后点击提交按键。客户端检测到提交按键触发的提交指令后,从该显示界面中获取用户选择的一个或多个目标上妆区域。
作为另一种示例,客户端可以显示一张脸部图像,在该脸部图像上标识出特定妆容对应的所有目标上妆区域。用户通过单击操作从显示的该脸部图像中选择出自己需要的目标上妆区域。客户端显示的显示界面中可以包括一张脸部图像和提交按键,该脸部图像中可以通过实线圈出特定妆容对应的每个目标上妆区域,用户点击自己需要的目标上妆区域后,被选中的目标上妆区域的轮廓线可以显示为预设颜色(如红色或黄色),或者被选中的目标上妆区域的全部会显示为预设颜色。用户选择出自己需要的目标上妆区域后,点击提交按键。客户端检测到提交按键触发的提交指令后,从显示的脸部图像中获取用户选择的一个或多个目标上妆区域。
用户的终端通过上述任一方式获得用户选择的一个或多个目标上妆区域之后,将该一个或多个目标上妆区域的区域标识信息发送给服务器,该区域标识信息中可以包括用户选择的每个目标上妆区域的名称或编号等标识信息。服务器接收用户的终端发送的该区域标识信息,根据该区域标识信息确定出用户选择的特定妆容对应的至少一个目标上妆区域。
通过上述方式由用户自定义选择自己需要化特定妆容的区域,能够满足不同用户对高光、修容等特定妆容的个性化需求。
在本申请的另一些实施例中,也可以不由用户自己选择目标上妆区域,而是预先在服务器中配置好特定妆容对应的多个目标上妆区域。如此在用户需要检测化妆进度时,无需从用户的终端获取目标上妆区域,节省带宽,同时简化了用户操作,缩短了处理时间。
上述客户端的显示界面中还设置有视频上传接口,当检测到用户点击该视频上传接口时,调用终端的摄像装置拍摄用户的实时化妆视频,在拍摄过程中用户在自己脸部的上述目标上妆区域中进行上述特定妆容的化妆操作。用户的终端将拍摄的实时化妆视频以视频流的形式传输给服务器。服务器接收用户的终端传输的该实时化妆视频的每一帧图像。
在本申请实施例中,服务器将接收到的第一帧图像作为初始帧图像,以该初始帧图像作为参考来比对后续接收到的每一帧图像对应的特定妆容的当前化妆进度。由于对于后续每一帧图像的处理方式都相同,因此本申请实施例以当前时刻接收到的当前帧图像为例来阐述化妆进度检测的过程。
服务器通过本步骤获得特定妆容对应的至少一个目标上妆区域及用户实时化妆视频的初始帧图像和当前帧图像后,通过如下步骤102和103的操作来确定用户的当前化妆进度。
步骤102:根据目标上妆区域,从初始帧图像中获取特定妆容对应的第一目标区域图像,及从当前帧图像中获取特定妆容对应的第二目标区域图像。
服务器具体通过如下步骤S1-S3的操作来获取初始帧图像对应的第一目标区域图像,包括:
S1:检测初始帧图像对应的第一人脸关键点。
服务器中配置了预先训练好的用于检测人脸关键点的检测模型,通过该检测模型提供人脸关键点检测的接口服务。服务器获取到用户实时化妆视频的初始帧图像后,调用人脸关键点检测的接口服务,通过检测模型识别出初始帧图像中用户脸部的所有人脸关键点。为了与当前帧图像对应的人脸关键点进行区分,本申请实施例将初始帧图像对应的所有人脸关键点称为第一人脸关键点。将当前帧图像对应的所有人脸关键点称为第二人脸关键点。
其中,识别出的人脸关键点包括用户脸部轮廓上的关键点及嘴巴、鼻子、眼睛、眉毛等部位的关键点。识别出的人脸关键点的数目可以为106个。
S2:根据第一人脸关键点,获取初始帧图像对应的人脸区域图像。
服务器具体通过如下步骤S20-S22的操作来获取初始帧图像对应的人脸区域图像,包括:
S20:根据第一人脸关键点,对初始帧图像及第一人脸关键点进行旋转矫正。
由于用户在通过终端拍摄实时化妆视频时,不能保证每一帧图像中人脸的姿态角度均相同,为了提高当前帧图像与初始帧图像比对的准确性,需要对每一帧图像中的人脸进行旋转矫正,以使矫正后每一帧图像中人脸眼睛的连线都处在同一水平线上,从而确保每一帧图像中人脸的姿态角度相同,避免因姿态角度不同导致化妆进度检测误差较大的问题。
具体地,根据第一人脸关键点包括的左眼关键点和右眼关键点,分别确定左眼中心坐标和右眼中心坐标。从第一人脸关键点确定出左眼区域的全部左眼关键点及右眼区域的全部右眼关键点。对确定出的全部左眼关键点的横坐标取均值,以及对全部左眼关键点的纵坐标取均值,将左眼对应的横坐标的均值和纵坐标的均值组成一个坐标,将该坐标确定为左眼中心坐标。按照同样的方式确定出右眼中心坐标。
然后根据左眼中心坐标和右眼中心坐标,确定初始帧图像对应的旋转角度及旋转中心点坐标。如图3所示,根据左眼中心坐标和右眼中心坐标计算出两个坐标的水平差值dx和竖直差值dy,以及计算出左眼中心坐标和右眼中心坐标的两眼连线长度d。依据两眼连线长度d、水平差值dx和竖直差值dy,计算出两眼连线与水平方向的夹角θ,该夹角θ即为初始帧图像对应的旋转角度。然后根据左眼中心坐标和右眼中心坐标计算出两眼连线的中心点坐标,该中点点坐标即为初始帧图像对应的旋转中心点坐标。
根据计算出的旋转角度和旋转中心点坐标,对初始帧图像及第一人脸关键点进行旋转矫正。具体将旋转角度和旋转中心点坐标输入用于计算图片的旋转矩阵的预设函数中,该预设函数可以为OpenCV中的函数cv2.getRotationMatrix2D()。通过调用该预设函数获得初始帧图像对应的旋转矩阵。然后计算初始帧图像和该旋转矩阵的乘积,得到矫正后的初始帧图像。利用旋转矩阵对初始帧图像进行矫正的操作,也可以通过调用OpenCV中的函数cv2.warpAffine()来完成。
对于第一人脸关键点,需要对每个第一人脸关键点逐一进行矫正,以与矫正后的初始帧图像相对应。在对第一人脸关键点逐一矫正时,需要进行两次坐标系的转换,第一次将以初始帧图像左上角为原点的坐标系转化为以左下角为原点的坐标系,第二次进一步将以左下角为原点的坐标系转化为以上述旋转中心点坐标为坐标原点的坐标系,如图4所示。经过两次坐标系转换后对每个第一人脸关键点进行如下公式(1)的转换,可完成对第一人脸关键点的旋转矫正。
在公式(1)中,x0、y0分别为旋转矫正前第一人脸关键点的横坐标和纵坐标,x、y分别为旋转矫正第一人脸关键点的横坐标和纵坐标,θ为上述旋转角度。
经过矫正后的初始帧图像和第一人脸关键点是基于整张图像的,整张图像不仅包含用户的人脸信息,还包括其他多余的图像信息,因此需要通过如下步骤S21对矫正后的图像进行人脸区域的裁剪。
S21:根据矫正后的第一人脸关键点,从矫正后的初始帧图像中截取包含人脸区域的图像。
根据矫正后的第一人脸关键点,对矫正后的初始帧图像中包含的人脸区域进行图像截取。首先从矫正后的第一人脸关键点中确定最小横坐标值、最小纵坐标值、最大横坐标值和最大纵坐标值。然后根据最小横坐标值、最小纵坐标值、最大横坐标值和最大纵坐标值,确定矫正后的初始帧图像中人脸区域对应的截取框。具体地,将最小横坐标值和最小纵坐标值组成一个坐标点,将该坐标点作为人脸区域对应的截取框的左上角顶点。将最大横坐标值和最大纵坐标值组成另一个坐标点,将该坐标点作为人脸区域对应的截取框的右下角顶点。根据上述左上角顶点和右下角顶点在矫正后的初始帧图像中确定截取框的位置,从矫正后的初始帧图像中截取出位于该截取框内的图像,即截取出包含人脸区域的图像。
在本申请的另一些实施例中,为了确保将用户的全部的人脸区域截取出来,避免截取不完整导致后续化妆进度检测误差很大的情况发生,还可以将上述截取框放大预设倍数,该预设倍数可以为1.15或1.25等。本申请实施例并不限制预设倍数的具体取值,实际应用中可根据需求来设定该预设倍数。将上述截取框向周围放大预设倍数之后,从矫正后的初始帧图像中截取出位于放大后的截取框中的图像,从而截取出包含用户的完整人脸区域的图像。
S22:将包含人脸区域的图像缩放至预设尺寸,得到初始帧图像对应的人脸区域图像。
通过上述方式从初始帧图像中截取出包含用户的人脸区域的图像后,将包含人脸区域的图像缩放至预设尺寸,得到初始帧图像对应的人脸区域图像。该预设尺寸可以为390×390或400×400等。本申请实施例并不限制预设尺寸的具体取值,实际应用中可根据需求进行设定。
为了使第一人脸关键点与缩放后的人脸区域图像相适应,将截取的包含人脸区域的图像缩放至预设尺寸后,还需根据缩放前包含人脸区域的图像的尺寸及该预设尺寸,对上述矫正后的第一人脸关键点进行缩放平移处理。具体地,依据缩放前包含人脸区域的图像的尺寸及图像所需缩放至的预设尺寸,确定每个第一人脸关键点的平移方向及平移距离,进而根据每个第一人脸关键点对应的平移方向和平移距离,分别对每个第一人脸关键点进行平移操作,并记录平移后的每个第一人脸关键点的坐标。
通过上述方式从初始帧图像中获得人脸区域图像,并通过旋转矫正和平移缩放等操作使第一人脸关键点与获得的人脸区域图像相适应,之后通过如下步骤S3的方式从人脸区域图像中提取出目标上妆区域对应的图像区域。
在本申请的另一些实施例中,执行步骤S3之前,还可以先对人脸区域图像进行高斯滤波处理,用于去除人脸区域图像中的噪声。具体地,根据预设尺寸的高斯核,对初始帧图像对应的人脸区域图像进行高斯滤波处理。
高斯滤波的高斯核是高斯滤波处理的关键参数,高斯核选取过小,则不能达到很好的滤波效果,高斯核选取过大,虽然能过滤掉图像中的噪声信息,但同时会平滑掉图像中有用的信息。本申请实施例选取预设尺寸的高斯核,预设尺寸可以为9×9。此外高斯滤波函数的另一组参数sigmaX、sigmaY均设置为0,经过高斯滤波后,图像信息更加平滑,进而提高后续获取化妆进度的准确性。
通过上述方式获得人脸区域图像,或者对人脸区域图像进行高斯滤波处理之后,通过步骤S3从人脸区域图像出提取特定妆容对应的目标区域图像。
S3:根据第一人脸关键点和目标上妆区域,从人脸区域图像中提取特定妆容对应的第一目标区域图像。
高光妆容或修容妆容等特定妆容是对面部的固定区域进行上妆的一种化妆方式,如高光妆容或修容妆容通常是对额头区域、左侧脸颊区域、右侧脸颊区域、鼻梁区域、鼻尖区域或下巴区域等特定区域进行高光或修容。因此可以直接从人脸区域图像中抠取出需要进行特定妆容的这些特定区域,进而避免无效区域对特定妆容的化妆进度检测的干扰,提高化妆进度检测的准确性。
服务器具体通过如下步骤S30-S32的操作来获得第一目标区域图像,包括:
S30:从第一人脸关键点中确定出位于人脸区域图像中目标上妆区域对应的区域轮廓上的一个或多个目标关键点。
首先从人脸区域图像中确定出目标上妆区域对应的区域位置,然后从第一人脸关键点中确定出位于该区域位置的一个或多个第一人脸关键点。将确定出的一个或多个第一人脸关键点确定为该目标上妆区域对应的区域轮廓上的一个或多个目标关键点。
对于步骤101中获取的特定妆容对应的每个目标上妆区域,都按照上述方式分别确定出每个目标上妆区域对应的目标关键点。
S31:根据目标上妆区域对应的目标关键点,生成人脸区域图像对应的掩膜图像。
由于步骤101中获得了特定妆容对应的一个或多个目标上妆区域,对于不同的目标上妆区域,在生成人脸区域图像对应的掩膜图像时的具体操作不同。对于特定妆容对应的每个目标上妆区域,首先判断该目标上妆区域对应的目标关键点的数目是否为多个,通常额头区域、左侧脸颊区域、右侧脸颊区域、鼻梁区域、下巴区域等目标上妆区域对应的目标关键点的数目为多个。对于这些目标上妆区域,根据目标上妆区域对应的每个目标关键点,确定该目标上妆区域在人脸区域图像中的每个边缘坐标。具体按照预设偏移规则将目标关键点的坐标适当地向左、右或上、下偏移部分像素,从而获得该目标上妆区域对应的边缘坐标。
本申请实施例预先在服务器中配置了不同目标上妆区域对应的预设偏移规则,预设偏移规则中规定了目标上妆区域对应的目标关键点的偏移方向及偏移的像素数目。
例如,对于额头区域,其对应的目标关键点包括脸部轮廓在额头两侧处的人脸关键点以及发际线处的人脸关键点,额头区域对应的预设偏移规则可以规定发际线处的目标关键点向下偏移,额头左侧的目标关键点向右偏移,额头右侧的目标关键点向左偏移,且规定目标关键点偏移的像素数目为4个像素。按照该预设偏移规则对额头区域对应的每个目标关键点进行偏移,每个目标关键点偏移之后的坐标点即为额头区域对应的边缘坐标。
再如,对于鼻梁区域,其对应的目标关键点可以包括鼻梁上竖直排列的多个人脸关键点,鼻梁区域对应的预设偏移规则可以规定竖直排列的每个目标关键点分别向右偏移和向左偏移一定的像素数目,可以规定目标关键点偏移的像素数目为3个像素或4个像素等。按照该预设偏移规则对鼻梁区域对应的每个目标关键点进行偏移,每个目标关键点偏移之后的坐标点即为鼻梁区域对应的边缘坐标。
通过上述方式获得包括多个目标关键点的目标上妆区域对应的边缘坐标后,通过区域填充函数将每个边缘坐标围成的区域内的所有像素点的像素值均修改为预设值,得到该目标上妆区域对应的掩膜区域。其中,预设值可以为255。
若判断出某个目标上妆区域对应的目标关键点的数目为一个,通常鼻尖区域等目标上妆区域对应的目标关键点的数目为一个。对于只有一个目标关键点的目标上妆区域,以该目标关键点为中心,绘制预设大小的椭圆区域。将该椭圆区域内的所有像素点的像素值均修改为预设值,得到该目标上妆区域对应的掩膜区域。
通过上述方式获得特定妆容对应的每个目标上妆区域对应的掩膜区域后,将所有掩膜区域之外的所有像素点的像素值均修改为零,即得到人脸区域图像对应的掩膜图像。
S32:对掩膜图像和人脸区域图像进行与运算,获得特定妆容对应的第一目标区域图像。
获得人脸区域图像对于的掩膜图像后,对掩膜图像和人脸区域图像进行与运算,即分别将掩膜图像和人脸区域图像中坐标相同的像素点的像素值进行与运算。由于掩膜图像中只有特定妆容对应的目标上妆区域中像素点的像素值为预设值,其他位置的像素点的像素值均为零。因此进行与运算后,得到的第一目标区域图像中仅目标上妆区域对应的位置处的像素点的像素值不为零,其他位置的像素点的像素值均为零。
本申请实施例中掩膜图像中目标上妆区域中的像素点的像素值取255,则对掩膜图像与人脸区域图像进行与运算之后,得到的第一目标区域图像中目标上妆区域中的像素点的像素值即为人脸区域图像中目标上妆区域中的像素点的像素值。相当于从人脸区域图像中抠取出了特定妆容对应的目标上妆区域的图像。
通过上述方式获得的初始帧图像对应的第一目标区域图像的颜色空间为RGB颜色空间,对于高光妆容主要是提亮肤色,而修容妆容主要是调暗肤色以形成阴影,使得五官更加立体。对于高光妆容、修容妆容等特定妆容,主要是亮度的变化。而RGB颜色空间是日常最为常用的颜色空间,采用红、绿、蓝颜色分量的线性组合来表示颜色,自然环境下获取的图像信息对亮度比较敏感,同一张图片经过更改其亮度信息后,RGB三个分量都会随之相应地改变。而HSV颜色空间是由Hue(色调)、Saturation(饱和度)和Value(亮度)三个分量组成,如果图片亮度信息发生变化,此时仅亮度分量发生改变,而色调和饱和度分量值不会发生明显的变化,相比RGB颜色空间,HSV颜色空间可以分离出亮度信息。
因此本申请实施例获得初始帧图像对应的第一目标区域图像之后,还将第一目标区域图像的颜色空间由RGB颜色空间转换到HSV颜色空间。然后从转换后的第一目标区域图像的HSV颜色空间中分离出特定妆容对应的通道分量,得到仅包含该通道分量的单通道的第一目标区域图像。
例如,高光妆容、修容妆容等特定妆容对应的通道分量为亮度分量,而其他改变面部颜色的特定妆容对应的通道分量为色调分量等。
将第一目标区域图像转换到HSV颜色空间转换,并通过通道分离,分离出特定妆容对应的通道分量,便于后续对目标上妆区域是否完成了特定妆容的化妆过程的判断。
对于当前帧图像,与上述初始帧图像的处理过程相同,检测出当前帧图像对应的第二人脸关键点,依据第二人脸关键点,截取出当前帧图像对应的人脸区域图像,根据第二人脸关键点图像生成当前帧图像对应的掩膜图像。根据该掩膜图像从当前帧图像对应的人脸区域图像中抠取出特定妆容对应的第二目标区域图像。并将第二目标区域图像转换至HSV颜色空间,且分离出特定妆容对应的通道分量。对于当前帧图像的处理操作的细节,均与上述对初始帧图像的处理细节相同,在此不再赘述。
通过上述方式获得初始帧图像对应的第一目标区域图像和当前帧图像对应的第二目标区域图像之后,通过如下方式确定当前帧图像对应的化妆进度。
步骤103:根据第一目标区域图像和第二目标区域图像,确定用户对应的特定妆容的当前化妆进度。
具体地,分别计算第一目标区域图像和第二目标区域图像中位置相同的像素点对应的上述通道分量的差值绝对值。例如,若特定妆容为高光妆容或修容妆容,则计算第一目标区域图像和第二目标区域图像中坐标相同的像素点之间的亮度分量的差值绝对值。
根据每个像素点对应的差值绝对值,确定已完成特定妆容的区域面积。具体地,统计对应的差值绝对值满足特定妆容对应的预设化妆完成条件的像素点数目。其中,特定妆容为高光妆容时,预设化妆完成条件为像素点对应的差值绝对值大于第一预设阈值,第一预设阈值可以为11或12等。特定妆容为修容妆容时,预设化妆完成条件为像素点对应的差值绝对值小于第二预设阈值,第二预设阈值可以为7或8等。
将统计的满足预设化妆完成条件的像素点数目确定为已完成特定妆容的区域面积。统计第一目标区域图像或第二目标区域图像中所有目标上妆区域中的所有像素点的总数,将该总数确定为所有目标上妆区域对应的总区域面积。然后计算已完成特定妆容的区域面积与目标上妆区域对应的总区域面积之间的比值,将该比值确定为用户对应的特定妆容的当前化妆进度。
在本申请的另一些实施例中,为了进一步提高化妆进度检测的准确性,还对上述第一目标区域图像和第二目标区域图像中的目标上妆区域进行进一步对齐。具体地,分别对仅包含上述通道分量的单通道的第一目标区域图像和第二目标区域图像进行二值化处理,即将第一目标区域图像和第二目标区域图像中目标上妆区域中的像素点对应的上述通道分量的值均修改为1,将其余位置处的像素点的上述通道分量的值均修改为0。通过二值化处理得到第一目标区域图像对应的第一二值化掩膜图像和第二目标区域图像对应的第二二值化掩膜图像。
然后对第一二值化掩膜图像和第二二值化掩膜图像进行与运算,即分别将第一二值化掩膜图像和第二二值化掩膜图像中相同位置处的像素点进行与运算,得到相交区域掩膜图像。该相交区域掩膜图像中像素点的上述通道分量不为零的区域,即为第一目标区域图像和第二目标区域中重合的目标上妆区域。
通过步骤102的操作获得初始帧图像对应的人脸区域图像及当前帧图像对应的人脸区域图像。对相交区域掩膜图像和初始帧图像对应的人脸区域图像进行与运算,得到初始帧图像对应的新的第一目标区域图像;对相交区域掩膜图像和当前帧图像对应的人脸区域图像进行与运算,得到当前帧图像对应的新的第二目标区域图像。
由于相交区域掩膜图像中包含初始帧图像和当前帧图像中重合的目标上妆区域,因此通过相交区域掩膜图像按照上述方式从初始帧图像和当前帧图像中分别抠取出新的第一目标区域图像和新的第二目标区域图像,使得新的第一目标区域图像和新的第二目标区域图像中目标上妆区域的位置是完全一致的,如此后续比对当前帧图像中目标上妆区域与初始帧图像中目标上妆区域的变化来确定化妆进度,确保了进行比对的区域是完全一致的,大大提高了化妆进度检测的准确性。
通过上述方式对初始帧图像和当前帧图像中的目标上妆区域进行对齐,得到新的第一目标区域图像和新的第二目标区域图像后,再次通过上述步骤103的操作来确定当前帧图像对应的当前化妆进度。
通过上述任一方式确定出当前化妆进度后,服务器发送该当前化妆进度给用户的终端。用户的终端接收到当前化妆进度后,显示该当前化妆进度。当前化妆进度可以为比值或百分数。终端可以通过进度条的形式来显示当前化妆进度。
在用户化妆的过程中,通过本申请实施例提供的化妆进度检测方法,实时检测第一帧图像之后的每帧图像相对于第一帧图像的化妆进度,并将检测的化妆进度显示给用户,使用户能够直观地看到自己的化妆进度,提高化妆效率。
为了便于理解本申请实施例提供的方法,下面结合附图进行说明。如图5所示,服务器可以主要包含人脸矫正和裁剪、高斯滤波、目标上妆区域抠取、HSV颜色空间转换、目标上妆区域对齐、化妆进度计算等六个模块。人脸矫正和裁剪模块是对服务器获取到的初始帧图像和当前帧图像进行人脸区域的矫正和裁剪,得到初始帧图像对应的人脸区域图像和当前帧图像对应人脸区域图像。高斯滤波模块是对人脸矫正和裁剪模块获得的人脸区域图像进行高斯平滑,用于去除图像中的噪声。目标上妆区域抠取模块是根据初始帧图像对应的第一人脸关键点信息,对经过高斯滤波后的初始帧图像对应的人脸区域图像,进行目标上妆区域的抠取,得到对应的第一目标区域图像。同样地,目标上妆区域抠取模块还抠取当前帧图像对应的第二目标区域图像。HSV颜色空间转换模块是对目标上妆区域抠取模块获得的第一目标区域图像和第二目标区域图像的RGB颜色空间转换为HSV颜色空间。目标上妆区域对齐模块是将经过HSV颜色空间后的仅包含特定妆容对应的通道分量的单通道的第一目标区域图像和第二目标区域图像进行像素对齐操作。化妆进度计算模块是对经过目标上妆区域对齐模块对齐后的单通道的第一目标区域图像和第二目标区域图像进行作差计算,得到化妆进度百分比。
在本申请实施例中,利用人脸关键点,对视频帧中用户的人脸区域进行矫正和裁剪,提高了识别视频帧中人脸区域的准确性。且基于人脸关键点,从人脸区域图像中确定出了目标上妆区域,并对初始帧图像中的目标上妆区域和当前帧图像中的目标上妆区域进行了像素对齐,提高了对每一帧图像中用户脸部的目标上妆区域识别的准确性。通过采用高斯平滑和HSV颜色空间转换,使得后续能够清晰获取初始帧图像与当前帧图像中目标上妆区域在特定妆容对应的通道分量上的差异,提高了化妆进度检测的精度。且本申请没有采用深度学习的方式,无需预先收集大量数据,本申请通过对用户化妆的实时画面的捕获,经过服务器端的计算,将检测结果返回给用户。相比深度学习的模型推理方案,本申请在算法处理环节耗费更少的计算成本,减少了服务器的处理压力。
本申请实施例还提供一种化妆进度检测装置,该用于执行上述任一实施例提供的化妆进度检测方法。如图6所示,该装置包括:
第一获取模块201,用于获取特定妆容对应的至少一个目标上妆区域及用户当前进行所述特定妆容的实时实时化妆视频中的初始帧图像和当前帧图像,特定妆容包括高光妆容或修容妆容;
第二获取模块202,用于根据目标上妆区域,从初始帧图像中获取特定妆容对应的第一目标区域图像,及从当前帧图像中获取特定妆容对应的第二目标区域图像;
进度确定模块203,用于根据第一目标区域图像和第二目标区域图像,确定用户对应的特定妆容的当前化妆进度。
第二获取模块202,用于检测初始帧图像对应的第一人脸关键点;根据第一人脸关键点,获取初始帧图像对应的人脸区域图像;根据第一人脸关键点和目标上妆区域,从人脸区域图像中提取特定妆容对应的第一目标区域图像。
第二获取模块202,用于根据第一人脸关键点,对初始帧图像及第一人脸关键点进行旋转矫正;根据矫正后的第一人脸关键点,从矫正后的初始帧图像中截取包含人脸区域的图像;将包含人脸区域的图像缩放至预设尺寸,得到初始帧图像对应的人脸区域图像。
第二获取模块202,用于根据第一人脸关键点包括的左眼关键点和右眼关键点,分别确定左眼中心坐标和右眼中心坐标;根据左眼中心坐标和右眼中心坐标,确定初始帧图像对应的旋转角度及旋转中心点坐标;根据旋转角度和旋转中心点坐标,对初始帧图像及第一人脸关键点进行旋转矫正。
第二获取模块202,用于根据矫正后的第一人脸关键点,对矫正后的初始帧图像中包含的人脸区域进行图像截取。
第二获取模块202,用于从矫正后的第一人脸关键点中确定最小横坐标值、最小纵坐标值、最大横坐标值和最大纵坐标值;根据最小横坐标值、最小纵坐标值、最大横坐标值和最大纵坐标值,确定矫正后的初始帧图像中人脸区域对应的截取框;根据截取框,从矫正后的初始帧图像中截取出包含人脸区域的图像。
第二获取模块202,还用于将截取框放大预设倍数;根据放大后的截取框,从矫正后的初始帧图像中截取出包含人脸区域的图像。
第二获取模块202,还用于根据包含人脸区域的图像的尺寸及预设尺寸,对矫正后的第一人脸关键点进行缩放平移处理。
第二获取模块202,用于从第一人脸关键点中确定出位于人脸区域图像中目标上妆区域对应的区域轮廓上的一个或多个目标关键点;根据目标上妆区域对应的目标关键点,生成人脸区域图像对应的掩膜图像;对掩膜图像和人脸区域图像进行与运算,获得特定妆容对应的第一目标区域图像。
第二获取模块202,用于若存在目标上妆区域对应的目标关键点的数目为多个,则根据目标关键点,确定目标上妆区域在人脸区域图像中的每个边缘坐标;将每个边缘坐标围成的区域内的所有像素点的像素值均修改为预设值,得到目标上妆区域对应的掩膜区域;若存在目标上妆区域对应的目标关键点的数目为一个,则以目标关键点为中心,绘制预设大小的椭圆区域,将椭圆区域内的所有像素点的像素值均修改为预设值,得到目标上妆区域对应的掩膜区域;将掩膜区域之外的所有像素点的像素值均修改为零,得到人脸区域图像对应的掩膜图像。
该装置还包括:颜色空间转换模块,用于分别将第一目标区域图像和第二目标区域图像由RGB颜色空间转换为HSV颜色空间;分别从转换后的第一目标区域图像和第二目标区域图像的HSV颜色空间中分离出特定妆容对应的通道分量,得到仅包含通道分量的单通道的第一目标区域图像和第二目标区域图像。
进度确定模块203,用于分别计算第一目标区域图像和第二目标区域图像中位置相同的像素点对应的通道分量的差值绝对值;根据每个像素点对应的差值绝对值,确定已完成特定妆容的区域面积;计算已完成特定妆容的区域面积与目标上妆区域对应的总区域面积之间的比值,得到用户对应的特定妆容的当前化妆进度。
进度确定模块203,用于统计对应的差值绝对值满足特定妆容对应的预设化妆完成条件的像素点数目;将统计的像素点数目确定为已完成特定妆容的区域面积;其中,特定妆容为高光妆容时,预设化妆完成条件为像素点对应的差值绝对值大于第一预设阈值;特定妆容为修容妆容时,预设化妆完成条件为像素点对应的差值绝对值小于第二预设阈值。
第二获取模块202,还用于分别对仅包含通道分量的单通道的第一目标区域图像和第二目标区域图像进行二值化处理,得到第一目标区域图像对应的第一二值化掩膜图像和第二目标区域图像对应的第二二值化掩膜图像;对第一二值化掩膜图像和第二二值化掩膜图像进行与运算,得到相交区域掩膜图像;获取初始帧图像对应的人脸区域图像及当前帧图像对应的人脸区域图像;对相交区域掩膜图像和初始帧图像对应的人脸区域图像进行与运算,得到初始帧图像对应的新的第一目标区域图像;对相交区域掩膜图像和当前帧图像对应的人脸区域图像进行与运算,得到当前帧图像对应的新的第二目标区域图像。
该装置还包括:高斯滤波模块,用于根据预设尺寸的高斯核,对初始帧图像对应的人脸区域图像进行高斯滤波处理。
该装置还包括:发送模块,用于发送当前化妆进度给用户的终端,以使用户的终端显示当前化妆进度。
本申请的上述实施例提供的化妆进度检测装置与本申请实施例提供的化妆进度检测方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种电子设备,以执行上述化妆进度检测方法。请参考图7,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图7所示,电子设备8包括:处理器800,存储器801,总线802和通信接口803,所述处理器800、通信接口803和存储器801通过总线802连接;所述存储器801中存储有可在所述处理器800上运行的计算机程序,所述处理器800运行所述计算机程序时执行本申请前述任一实施方式所提供的化妆进度检测方法。
其中,存储器801可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口803(可以是有线或者无线)实现该装置网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线802可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器801用于存储程序,所述处理器800在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述化妆进度检测方法可以应用于处理器800中,或者由处理器800实现。
处理器800可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器800中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器800可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器801,处理器800读取存储器801中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的化妆进度检测方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的化妆进度检测方法对应的计算机可读存储介质,请参考图8,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的化妆进度检测方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的化妆进度检测方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是:
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下示意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (17)
1.一种化妆进度检测方法,其特征在于,包括:
获取特定妆容对应的至少一个目标上妆区域及用户当前进行所述特定妆容的实时化妆视频中的初始帧图像和当前帧图像;
根据所述目标上妆区域,从所述初始帧图像中获取所述特定妆容对应的第一目标区域图像,及从所述当前帧图像中获取所述特定妆容对应的第二目标区域图像;
分别将所述第一目标区域图像和所述第二目标区域图像转换至HSV颜色空间;分别从转换后的所述第一目标区域图像和所述第二目标区域图像的HSV颜色空间中分离出所述特定妆容对应的通道分量,得到仅包含所述通道分量的单通道的所述第一目标区域图像和所述第二目标区域图像;
对仅包含所述通道分量的单通道的所述第一目标区域图像和所述第二目标区域图像分别进行二值化处理,得到第一目标区域图像对应的第一二值化掩膜图像和第二目标区域图像对应的第二二值化掩膜图像;对第一二值化掩膜图像和第二二值化掩膜图像进行与运算,得到相交区域掩膜图像,所述相交区域掩膜图像中包含初始帧图像和当前帧图像中重合的目标上妆区域;对所述相交区域掩膜图像和初始帧图像对应的人脸区域图像进行与运算,得到新的第一目标区域图像;对相交区域掩膜图像和当前帧图像对应的人脸区域图像进行与运算,得到新的第二目标区域图像;
根据所述新的第一目标区域图像和所述新的第二目标区域图像,确定所述用户对应的所述特定妆容的当前化妆进度。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标上妆区域,从所述初始帧图像中获取所述特定妆容对应的第一目标区域图像,包括:
检测所述初始帧图像对应的第一人脸关键点;
根据所述第一人脸关键点,获取所述初始帧图像对应的人脸区域图像;
根据所述第一人脸关键点和所述目标上妆区域,从所述人脸区域图像中提取所述特定妆容对应的第一目标区域图像。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一人脸关键点,获取所述初始帧图像对应的人脸区域图像,包括:
根据所述第一人脸关键点,对所述初始帧图像及所述第一人脸关键点进行旋转矫正;
根据矫正后的所述第一人脸关键点,从矫正后的所述初始帧图像中截取包含人脸区域的图像;
将所述包含人脸区域的图像缩放至预设尺寸,得到所述初始帧图像对应的人脸区域图像。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一人脸关键点,对所述初始帧图像及所述第一人脸关键点进行旋转矫正,包括:
根据所述第一人脸关键点包括的左眼关键点和右眼关键点,分别确定左眼中心坐标和右眼中心坐标;
根据所述左眼中心坐标和所述右眼中心坐标,确定所述初始帧图像对应的旋转角度及旋转中心点坐标;
根据所述旋转角度和所述旋转中心点坐标,对所述初始帧图像及所述第一人脸关键点进行旋转矫正。
5.根据权利要求3所述的方法,其特征在于,所述根据矫正后的所述第一人脸关键点,从矫正后的所述初始帧图像中截取包含人脸区域的图像,包括:
根据矫正后的所述第一人脸关键点,对矫正后的所述初始帧图像中包含的人脸区域进行图像截取。
6.根据权利要求5所述的方法,其特征在于,所述根据矫正后的所述第一人脸关键点,对矫正后的所述初始帧图像中包含的人脸区域进行图像截取,包括:
从矫正后的所述第一人脸关键点中确定最小横坐标值、最小纵坐标值、最大横坐标值和最大纵坐标值;
根据所述最小横坐标值、所述最小纵坐标值、最大横坐标值和最大纵坐标值,确定矫正后的所述初始帧图像中人脸区域对应的截取框;
根据所述截取框,从矫正后的所述初始帧图像中截取出包含所述人脸区域的图像。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将所述截取框放大预设倍数;
根据放大后的所述截取框,从矫正后的所述初始帧图像中截取出包含所述人脸区域的图像。
8.根据权利要求3所述的方法,其特征在于,所述根据所述第一人脸关键点和所述目标上妆区域,从所述人脸区域图像中提取所述特定妆容对应的第一目标区域图像之前,还包括:
根据所述包含人脸区域的图像的尺寸及所述预设尺寸,对矫正后的所述第一人脸关键点进行缩放平移处理。
9.根据权利要求2-8任一项所述的方法,其特征在于,所述根据所述第一人脸关键点和所述目标上妆区域,从所述人脸区域图像中提取所述特定妆容对应的第一目标区域图像,包括:
从所述第一人脸关键点中确定出位于所述人脸区域图像中所述目标上妆区域对应的区域轮廓上的一个或多个目标关键点;
根据所述目标上妆区域对应的目标关键点,生成所述人脸区域图像对应的掩膜图像;
对所述掩膜图像和所述人脸区域图像进行与运算,获得所述特定妆容对应的第一目标区域图像。
10.根据权利要求9所述的方法,其特征在于,所述根据所述目标上妆区域对应的目标关键点,生成所述人脸区域图像对应的掩膜图像,包括:
若存在目标上妆区域对应的目标关键点的数目为多个,则根据所述目标关键点,确定所述目标上妆区域在所述人脸区域图像中的每个边缘坐标;将所述每个边缘坐标围成的区域内的所有像素点的像素值均修改为预设值,得到所述目标上妆区域对应的掩膜区域;
若存在目标上妆区域对应的目标关键点的数目为一个,则以所述目标关键点为中心,绘制预设大小的椭圆区域,将所述椭圆区域内的所有像素点的像素值均修改为预设值,得到所述目标上妆区域对应的掩膜区域;
将所述掩膜区域之外的所有像素点的像素值均修改为零,得到所述人脸区域图像对应的掩膜图像。
11.根据权利要求1所述的方法,其特征在于,所述根据所述第一目标区域图像和所述第二目标区域图像,确定所述用户对应的所述特定妆容的当前化妆进度,包括:
分别计算所述第一目标区域图像和所述第二目标区域图像中位置相同的像素点对应的所述通道分量的差值绝对值;
根据每个像素点对应的差值绝对值,确定已完成所述特定妆容的区域面积;
计算已完成所述特定妆容的区域面积与所述目标上妆区域对应的总区域面积之间的比值,得到所述用户对应的所述特定妆容的当前化妆进度。
12.根据权利要求11所述的方法,其特征在于,所述根据每个像素点对应的差值绝对值,确定已完成所述特定妆容的区域面积,包括:
统计对应的差值绝对值满足所述特定妆容对应的预设化妆完成条件的像素点数目;
将统计的所述像素点数目确定为已完成所述特定妆容的区域面积;
其中,所述特定妆容为高光妆容时,所述预设化妆完成条件为像素点对应的差值绝对值大于第一预设阈值;所述特定妆容为修容妆容时,所述预设化妆完成条件为像素点对应的差值绝对值小于第二预设阈值。
13.根据权利要求2-8任一项所述的方法,其特征在于,所述根据所述第一人脸关键点,获取所述初始帧图像对应的人脸区域图像之后,还包括:
根据预设尺寸的高斯核,对所述初始帧图像对应的人脸区域图像进行高斯滤波处理。
14.根据权利要求1-8、11、12任一项所述的方法,其特征在于,所述方法还包括:
发送所述当前化妆进度给所述用户的终端,以使所述用户的终端显示所述当前化妆进度。
15.一种化妆进度检测装置,其特征在于,包括:
第一获取模块,用于获取特定妆容对应的至少一个目标上妆区域及用户当前进行所述特定妆容的实时化妆视频的初始帧图像和当前帧图像;
第二获取模块,用于根据所述目标上妆区域,从所述初始帧图像中获取所述特定妆容对应的第一目标区域图像,及从所述当前帧图像中获取所述特定妆容对应的第二目标区域图像;分别将所述第一目标区域图像和所述第二目标区域图像转换至HSV颜色空间;分别从转换后的所述第一目标区域图像和所述第二目标区域图像的HSV颜色空间中分离出所述特定妆容对应的通道分量,得到仅包含所述通道分量的单通道的所述第一目标区域图像和所述第二目标区域图像;对仅包含所述通道分量的单通道的所述第一目标区域图像和所述第二目标区域图像分别进行二值化处理,得到第一目标区域图像对应的第一二值化掩膜图像和第二目标区域图像对应的第二二值化掩膜图像;对第一二值化掩膜图像和第二二值化掩膜图像进行与运算,得到相交区域掩膜图像,所述相交区域掩膜图像中包含初始帧图像和当前帧图像中重合的目标上妆区域;对所述相交区域掩膜图像和初始帧图像对应的人脸区域图像进行与运算,得到新的第一目标区域图像;对相交区域掩膜图像和当前帧图像对应的人脸区域图像进行与运算,得到新的第二目标区域图像;
进度确定模块,用于根据所述新的第一目标区域图像和所述新的第二目标区域图像,确定所述用户对应的所述特定妆容的当前化妆进度。
16.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序以实现如权利要求1-14任一项所述的方法。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行实现如权利要求1-14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111015231.6A CN113837017B (zh) | 2021-08-31 | 2021-08-31 | 一种化妆进度检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111015231.6A CN113837017B (zh) | 2021-08-31 | 2021-08-31 | 一种化妆进度检测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113837017A CN113837017A (zh) | 2021-12-24 |
CN113837017B true CN113837017B (zh) | 2022-11-04 |
Family
ID=78961947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111015231.6A Active CN113837017B (zh) | 2021-08-31 | 2021-08-31 | 一种化妆进度检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113837017B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109584180A (zh) * | 2018-11-30 | 2019-04-05 | 深圳市脸萌科技有限公司 | 人脸图像处理方法、装置、电子设备及计算机存储介质 |
CN111066060A (zh) * | 2017-07-13 | 2020-04-24 | 资生堂美洲公司 | 虚拟面部化妆去除和模拟、快速面部检测和地标跟踪 |
CN111291642A (zh) * | 2020-01-20 | 2020-06-16 | 深圳市商汤科技有限公司 | 一种妆容处理方法、装置、电子设备及存储介质 |
CN111586424A (zh) * | 2020-04-28 | 2020-08-25 | 永康精信软件开发有限公司 | 一种实现化妆品多维动态展示的视频直播方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3993029B2 (ja) * | 2002-06-24 | 2007-10-17 | デジタルファッション株式会社 | 化粧シミュレーション装置、化粧シミュレーション方法、化粧シミュレーションプログラム及びそのプログラムを記録した記録媒体 |
JP4760999B1 (ja) * | 2010-10-29 | 2011-08-31 | オムロン株式会社 | 画像処理装置、画像処理方法、および制御プログラム |
CN106294820A (zh) * | 2016-08-16 | 2017-01-04 | 深圳市金立通信设备有限公司 | 一种指导化妆的方法及终端 |
CN109359575B (zh) * | 2018-09-30 | 2022-05-10 | 腾讯科技(深圳)有限公司 | 人脸检测方法、业务处理方法、装置、终端及介质 |
CN109784281A (zh) * | 2019-01-18 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 基于人脸特征的产品推荐方法、装置及计算机设备 |
CN110084236B (zh) * | 2019-04-29 | 2021-05-28 | 北京朗镜科技有限责任公司 | 一种图像的矫正方法及装置 |
CN110866139A (zh) * | 2019-08-22 | 2020-03-06 | 北京新氧科技有限公司 | 一种化妆处理方法、装置及设备 |
CN110969631B (zh) * | 2019-11-25 | 2023-04-11 | 杭州小影创新科技股份有限公司 | 一种精细化照片染发方法及系统 |
-
2021
- 2021-08-31 CN CN202111015231.6A patent/CN113837017B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111066060A (zh) * | 2017-07-13 | 2020-04-24 | 资生堂美洲公司 | 虚拟面部化妆去除和模拟、快速面部检测和地标跟踪 |
CN109584180A (zh) * | 2018-11-30 | 2019-04-05 | 深圳市脸萌科技有限公司 | 人脸图像处理方法、装置、电子设备及计算机存储介质 |
CN111291642A (zh) * | 2020-01-20 | 2020-06-16 | 深圳市商汤科技有限公司 | 一种妆容处理方法、装置、电子设备及存储介质 |
CN111586424A (zh) * | 2020-04-28 | 2020-08-25 | 永康精信软件开发有限公司 | 一种实现化妆品多维动态展示的视频直播方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113837017A (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10783354B2 (en) | Facial image processing method and apparatus, and storage medium | |
EP3477931B1 (en) | Image processing method and device, readable storage medium and electronic device | |
CN109359575B (zh) | 人脸检测方法、业务处理方法、装置、终端及介质 | |
CA2867365C (en) | Method, system and computer storage medium for face detection | |
CN107730444B (zh) | 图像处理方法、装置、可读存储介质和计算机设备 | |
CN107945135B (zh) | 图像处理方法、装置、存储介质和电子设备 | |
US8983202B2 (en) | Smile detection systems and methods | |
KR20200043448A (ko) | 이미지 처리를 위한 방법 및 장치, 및 컴퓨터 판독 가능 저장 매체 | |
CN106326823B (zh) | 一种获取图片中头像的方法和系统 | |
CN105243371A (zh) | 一种人脸美颜程度的检测方法、系统及拍摄终端 | |
US11315360B2 (en) | Live facial recognition system and method | |
CN112016469A (zh) | 图像处理方法及装置、终端及可读存储介质 | |
CN115731591A (zh) | 一种化妆进度检测方法、装置、设备及存储介质 | |
WO2022087846A1 (zh) | 图像的处理方法、装置、设备以及存储介质 | |
JP6098133B2 (ja) | 顔構成部抽出装置、顔構成部抽出方法及びプログラム | |
CN113837020B (zh) | 一种化妆进度检测方法、装置、设备及存储介质 | |
CN113837018B (zh) | 一种化妆进度检测方法、装置、设备及存储介质 | |
CN113837017B (zh) | 一种化妆进度检测方法、装置、设备及存储介质 | |
CN113837019B (zh) | 一种化妆进度检测方法、装置、设备及存储介质 | |
CN114419052A (zh) | 一种牙齿色号识别方法、装置、设备及存储介质 | |
CN112149598A (zh) | 一种侧脸评估方法、装置、电子设备及存储介质 | |
CN113837016B (zh) | 一种化妆进度检测方法、装置、设备及存储介质 | |
CN107909030A (zh) | 人像照片的处理方法、终端及计算机可读存储介质 | |
CN114445329A (zh) | 牙齿整齐度的识别方法、装置、设备及存储介质 | |
CN112183421A (zh) | 一种人脸图像评估方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |