CN115731591A - 一种化妆进度检测方法、装置、设备及存储介质 - Google Patents

一种化妆进度检测方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115731591A
CN115731591A CN202111306864.2A CN202111306864A CN115731591A CN 115731591 A CN115731591 A CN 115731591A CN 202111306864 A CN202111306864 A CN 202111306864A CN 115731591 A CN115731591 A CN 115731591A
Authority
CN
China
Prior art keywords
makeup
image
area
target
frame image
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.)
Pending
Application number
CN202111306864.2A
Other languages
English (en)
Inventor
刘聪
苗锋
张梦洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Soyoung Technology Beijing Co Ltd
Original Assignee
Soyoung Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Soyoung Technology Beijing Co Ltd filed Critical Soyoung Technology Beijing Co Ltd
Priority to CN202111306864.2A priority Critical patent/CN115731591A/zh
Publication of CN115731591A publication Critical patent/CN115731591A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

本申请提出一种化妆进度检测方法、装置、设备及存储介质,该方法包括:获取眼影掩码图以及用户当前进行特定妆容的实时化妆视频中的初始帧图像和当前帧图像;根据眼影上妆的每个目标上妆区域,分别从眼影掩码图中拆分出每个目标上妆区域对应的美妆掩码图;根据初始帧图像、当前帧图像及每个目标上妆区域对应的美妆掩码图,确定当前帧图像对应的当前化妆进度。本申请将眼影掩码图拆分成每个目标上妆区域对应的美妆掩码图,分别检测每个目标上妆区域的化妆进度,提高了检测的准确性。未采用深度学习,无需预先收集大量数据,通过捕获用户化妆的实时画面,经服务器端的计算,将检测结果返回给用户,如此耗费更少的计算成本,减少服务器的处理压力。

Description

一种化妆进度检测方法、装置、设备及存储介质
技术领域
本申请属于图像处理技术领域,具体涉及一种化妆进度检测方法、装置、设备及存储介质。
背景技术
化妆已经成为很多人日常生活必不可少的环节,化妆过程的步骤繁多,如果能够将化妆进度实时反馈给用户,将可以极大减少化妆对用户精力的消耗,节省用户的化妆时间。
目前,相关技术中存在一些使用深度学习模型提供虚拟试妆、肤色侦测、个性化产品推荐等功能,这些功能均需要预先收集大量的人脸图片对深度学习模型进行训练。
但人脸图片是用户的隐私数据,很难收集到庞大的人脸图片。且模型训练需耗费大量计算资源,成本高。模型的精度与实时性成反比,化妆进度检测需要实时捕获用户人脸面部信息来确定用户当前的化妆进度,实时性要求很高,能够满足实时性要求的深度学习模型,其检测的准确性不高。
发明内容
本申请提出一种化妆进度检测方法、装置、设备及存储介质,将眼影掩码图拆分成每个目标上妆区域对应的美妆掩码图,根据实时化妆视频的初始帧图像、当前帧图像及每个目标区域对应的美妆掩码图来确定眼影化妆进度,提高了检测的准确性。未采用深度学习,无需预先收集大量数据,通过捕获用户化妆的实时画面,经服务器端的计算,将检测结果返回给用户,如此耗费更少的计算成本,减少服务器的处理压力。
本申请第一方面实施例提出了一种化妆进度检测方法,包括:
获取眼影掩码图以及用户当前进行特定妆容的实时化妆视频中的初始帧图像和当前帧图像;
根据眼影上妆的每个目标上妆区域,分别从所述眼影掩码图中拆分出每个所述目标上妆区域对应的美妆掩码图;
根据所述初始帧图像、所述当前帧图像及每个所述目标上妆区域对应的美妆掩码图,确定所述当前帧图像对应的当前化妆进度。
在本申请的一些实施例中,所述根据所述初始帧图像、所述当前帧图像及每个所述目标上妆区域对应的美妆掩码图,确定所述当前帧图像对应的当前化妆进度,包括:
分别以每个所述目标上妆区域对应的美妆掩码图为参照,从所述初始帧图像中获取每个所述目标上妆区域对应的第一目标区域图像;
分别以每个所述目标上妆区域对应的美妆掩码图为参照,从所述当前帧图像中获取每个所述目标上妆区域对应的第二目标区域图像;
根据每个所述目标上妆区域对应的第一目标区域图像及第二目标区域图像,确定所述当前帧图像对应的当前化妆进度。
在本申请的一些实施例中,所述根据每个所述目标上妆区域对应的第一目标区域图像及第二目标区域图像,确定所述当前帧图像对应的当前化妆进度,包括:
分别将每个所述目标上妆区域对应的第一目标区域图像和第二目标区域图像转换为HLS颜色空间下包含预设单通道分量的图像;
根据转换后的每个所述目标上妆区域对应的第一目标区域图像和第二目标区域图像,确定所述当前帧图像对应的当前化妆进度。
在本申请的一些实施例中,所述根据转换后的每个所述目标上妆区域对应的第一目标区域图像和第二目标区域图像,确定所述当前帧图像对应的当前化妆进度,包括:
分别计算转换后同一目标上妆区域对应的第一目标区域图像和第二目标区域图像中位置相同的像素点对应的所述预设单通道分量的差值绝对值;
统计每个目标上妆区域对应的差值绝对值满足预设化妆完成条件的像素点数目;
分别计算每个目标上妆区域对应的所述像素点数目与对应目标上妆区域中的像素点总数目之间的比值,得到每个目标上妆区域对应的化妆进度;
根据每个目标上妆区域对应的化妆进度及每个目标上妆区域对应的预设权重,计算所述当前帧图像对应的当前化妆进度。
在本申请的一些实施例中,分别以每个所述目标上妆区域对应的美妆掩码图为参照,从所述初始帧图像中获取每个所述目标上妆区域对应的第一目标区域图像,包括:
检测所述初始帧图像对应的第一人脸关键点;
根据所述第一人脸关键点,获取所述初始帧图像对应的人脸区域图像;
分别以每个所述目标上妆区域对应的美妆掩码图为参照,从所述人脸区域图像中分别获取每个所述目标上妆区域对应的第一目标区域图像。
在本申请的一些实施例中,所述分别以每个所述目标上妆区域对应的美妆掩码图为参照,从所述人脸区域图像中分别获取每个所述目标上妆区域对应的第一目标区域图像,包括:
分别将第一目标上妆区域对应的美妆掩码图和所述人脸区域图像转换为二值化图像;所述第一目标上妆区域为每个所述目标上妆区域中的任一目标上妆区域;
对所述美妆掩码图对应的二值化图像和所述人脸区域图像对应的二值化图像进行与运算,获得所述美妆掩码图与所述人脸区域图像的相交区域对应的第一掩膜图像;
对所述第一掩膜图像与所述初始帧图像对应的人脸区域图像进行与运算,获得第一目标区域图像。
在本申请的一些实施例中,所述对所述美妆掩码图对应的二值化图像和所述人脸区域图像对应的二值化图像进行与运算之前,还包括:
根据所述美妆掩码图对应的标准人脸关键点,确定所述美妆掩码图中位于所述美妆掩码图包括的目标上妆区域的轮廓上的一个或多个第一定位点;
根据所述第一人脸关键点,从所述人脸区域图像中确定出与每个所述第一定位点对应的第二定位点;
对所述美妆掩码图进行拉伸处理,将每个所述第一定位点拉伸至对应的每个所述第二定位点对应的位置处。
在本申请的一些实施例中,所述根据眼影上妆的每个目标上妆区域,分别从所述眼影掩码图中拆分出每个所述目标上妆区域对应的美妆掩码图之前,还包括:
根据所述眼影掩码图对应的标准人脸关键点,确定所述眼影掩码图中位于每个上妆区域的轮廓上的一个或多个第一定位点;
根据所述第一人脸关键点,从所述人脸区域图像中确定出与每个所述第一定位点对应的第二定位点;
对所述眼影掩码图进行拉伸处理,将每个所述第一定位点拉伸至对应的每个所述第二定位点对应的位置处。
在本申请的一些实施例中,所述根据所述第一人脸关键点,获取所述初始帧图像对应的人脸区域图像,包括:
根据所述初始帧图像对应的第一人脸关键点,对所述初始帧图像及所述第一人脸关键点进行旋转矫正;
根据矫正后的所述第一人脸关键点,从矫正后的所述初始帧图像中截取包含人脸区域的图像;
将所述包含人脸区域的图像缩放至预设尺寸,得到所述初始帧图像对应的人脸区域图像。
在本申请的一些实施例中,所述根据所述初始帧图像对应的第一人脸关键点,对所述初始帧图像及所述第一人脸关键点进行旋转矫正,包括:
根据所述第一人脸关键点包括的左眼关键点和右眼关键点,分别确定左眼中心坐标和右眼中心坐标;
根据所述左眼中心坐标和所述右眼中心坐标,确定所述初始帧图像对应的旋转角度及旋转中心点坐标;
根据所述旋转角度和所述旋转中心点坐标,对所述初始帧图像及所述第一人脸关键点进行旋转矫正。
在本申请的一些实施例中,所述根据矫正后的所述第一人脸关键点,从矫正后的所述初始帧图像中截取包含人脸区域的图像,包括:
根据矫正后的所述第一人脸关键点,对矫正后的所述初始帧图像中包含的人脸区域进行图像截取。
在本申请的一些实施例中,所述根据矫正后的所述第一人脸关键点,对矫正后的所述初始帧图像中包含的人脸区域进行图像截取,包括:
从矫正后的所述第一人脸关键点中确定最小横坐标值、最小纵坐标值、最大横坐标值和最大纵坐标值;
根据所述最小横坐标值、所述最小纵坐标值、最大横坐标值和最大纵坐标值,确定矫正后的所述初始帧图像中人脸区域对应的截取框;
根据所述截取框,从矫正后的所述初始帧图像中截取出包含所述人脸区域的图像。
在本申请的一些实施例中,所述方法还包括:
将所述截取框放大预设倍数;
根据放大后的所述截取框,从矫正后的所述初始帧图像中截取出包含所述人脸区域的图像。
在本申请的一些实施例中,所述方法还包括:
根据所述包含人脸区域的图像的尺寸及所述预设尺寸,对矫正后的所述第一人脸关键点进行缩放平移处理。
在本申请的一些实施例中,所述方法还包括:
检测所述初始帧图像和所述当前帧图像中是否均仅包含同一个用户的人脸图像;
如果是,则执行所述确定所述用户进行所述特定妆容的当前化妆进度的操作;
如果否,则发送提示信息给所述用户的终端,所述提示信息用于提示所述用户保持所述实时化妆视频中仅出现同一个用户的人脸。
本申请第二方面的实施例提供了一种化妆进度检测装置,包括:
获取模块,用于获取眼影掩码图以及用户当前进行特定妆容的实时化妆视频中的初始帧图像和当前帧图像;
拆分模块,用于根据眼影上妆的每个目标上妆区域,分别从所述眼影掩码图中拆分出每个所述目标上妆区域对应的美妆掩码图;
化妆进度确定模块,用于根据所述初始帧图像、所述当前帧图像及每个所述目标上妆区域对应的美妆掩码图,确定所述当前帧图像对应的当前化妆进度。
本申请第三方面的实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序以实现上述第一方面所述的方法。
本申请第四方面的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现上述第一方面所述的方法。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
在本申请实施例中,依据眼影化妆上妆区域存在重叠的特点,将眼影掩码图拆分成每个目标上妆区域对应的美妆掩码图,对每个目标上妆区域分别进行化妆进度检测,提高了化妆进度检测的准确性。将每个美妆掩码图中的目标上妆区域分别与视频帧中人脸区域图像中的目标上妆区域对齐,确保每个美妆掩码图均与初始帧图像及当前帧图像中对应的目标上妆区域的位置一致。通过对齐后的美妆掩码图分别从初始帧图像和当前帧图像中扣取出每个目标上妆区域对应的第一目标区域图像和第二目标区域图像。本申请没有采用深度学习的方式,无需预先收集大量数据,通过对用户化妆的实时画面的捕获,经过服务器端的计算,将检测结果返回给用户。相比深度学习的模型推理方案,本申请在算法处理环节耗费更少的计算成本,减少了服务器的处理压力。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本申请的实践了解到。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
在附图中:
图1示出了本申请一实施例所提供的用于检测眼影妆容的化妆进度检测方法的流程图;
图2示出了本申请一实施例所提供的求解图像的旋转角度的示意图;
图3示出了本申请一实施例所提供的两次坐标系转换的示意图;
图4示出了本申请一实施例所提供的用于检测眼影妆容的化妆进度检测方法的模块流程示意图;
图5示出了本申请一实施例所提供的用于检测眼影妆容的化妆进度检测装置的结构示意图;
图6示出了本申请一实施例所提供的一种电子设备的结构示意图;
图7示出了本申请一实施例所提供的一种存储介质的示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
下面结合附图来描述根据本申请实施例提出的一种化妆进度检测方法、装置、设备及存储介质。
目前相关技术中存在一些虚拟试妆功能,可以应用在销售柜台或者手机应用软件中,采用人脸识别技术对用户提供虚拟试妆服务,可以将多种妆容进行搭配和实时的面部贴合展示。此外还是提供人脸皮肤检测服务,但这些服务只能解决用户挑选适合自己的化妆品,或者选取适合自己的皮肤保养方案的需求。基于这些服务可以帮助用户挑选适合自己的眼影化妆产品,但是无法对上妆的进度进行显示,不能满足用户实时化妆的需求。相关技术中还存在一些使用深度学习模型提供虚拟试妆、肤色侦测、个性化产品推荐等功能,这些功能均需要预先收集大量的人脸图片对深度学习模型进行训练。但人脸图片是用户的隐私数据,很难收集到庞大的人脸图片。且模型训练需耗费大量计算资源,成本高。模型的精度与实时性成反比,化妆进度检测需要实时捕获用户人脸面部信息来确定用户当前的化妆进度,实时性要求很高,能够满足实时性要求的深度学习模型,其检测的准确性不高。
基于此,本申请实施例提供了一种化妆进度检测方法,该方法仅通过图像处理即可检测出化妆进度,化妆进度检测的准确性很高,对于眼影化妆过程能实时检测用户的化妆进度。无需使用深度学习模型,运算量小,成本低,减少了服务器的处理压力,提高了化妆进度检测的效率,能够满足化妆进度检测的实时性要求。
参见图1,该方法用于眼影妆容对应的化妆进度,该方法具体包括以下步骤:
步骤501:获取眼影掩码图以及用户当前进行特定妆容的实时化妆视频中的初始帧图像和当前帧图像。
本申请实施例的执行主体为服务器。用户的手机或电脑等终端上安装有与服务器提供的化妆进度检测服务相适配的客户端。当用户需要使用化妆进度检测服务时,用户打开终端上的该客户端,客户端显示多个眼影掩码图,眼影掩码图是基于预设标准人脸图像制作的,预设标准人脸图像为脸部无遮挡、五官清晰且两眼连线与水平线平行的人脸图像。每个眼影掩码图分别对应于不同的眼影妆效。
客户端显示的界面中可以同时显示多个眼影掩码图,用户从显示的多个眼影掩码图中选择一个。客户端将用户选择的眼影掩码图发送给服务器,服务器接收客户端发送的眼影掩码图。
上述客户端的显示界面中还设置有视频上传接口,当检测到用户点击该视频上传接口时,调用终端的摄像装置拍摄用户的实时化妆视频,在拍摄过程中用户在自己脸部进行眼影上妆操作。用户的终端将拍摄的实时化妆视频以视频流的形式传输给服务器。服务器接收用户的终端传输的该实时化妆视频的每一帧图像。
在本申请实施例中,服务器将接收到的第一帧图像作为初始帧图像,以该初始帧图像作为参考来比对后续接收到的每一帧图像对应的特定妆容的当前化妆进度。由于对于后续每一帧图像的处理方式都相同,因此本申请实施例以当前时刻接收到的当前帧图像为例来阐述化妆进度检测的过程。
在本申请的另一些实施例中,服务器获得用户的实时化妆视频的初始帧图像和当前帧图像后,还检测初始帧图像和当前帧图像中是否均仅包含同一个用户的人脸图像。首先检测初始帧图像和当前帧图像中是否均仅包含一个人脸图像,若初始帧图像和/或当前帧图像中包含多个人脸图,或者,初始帧图像和/或当前帧图像中不包含人脸图像,则发送提示信息给用户的终端。用户的终端接收并显示该提示信息,以提示用户保持实时化妆视频中仅出现同一个用户的人脸。例如,提示信息可以为“请保持镜头内仅出现同一个人的人脸”。
若检测出初始帧图像和当前帧图像中均仅包含一个人脸图像,则进一步判断初始帧图像中的人脸图像与当前帧图像中的人脸图像是否属于同一个用户。具体地,可以通过人脸识别技术提取初始帧图像中人脸图像对应的人脸特征信息,以及提取当前帧图像中人脸图像对应的人脸特征信息,计算这两帧图像中提取的人脸特征信息的相似度,若计算的相似度大于或等于设定值,则确定初始帧图像和当前帧图像中的人脸属于同一用户。若计算的相似度小于设定值,则确定初始帧图像和当前帧图像中的人脸属于不同用户,则发送提示信息给用户的终端。用户的终端接收并显示该提示信息,以提示用户保持实时化妆视频中仅出现同一个用户的人脸。
服务器通过本步骤获得用户化妆的初始帧图像、当前帧图像及眼影掩码图后,通过如下步骤502和503的操作来确定用户的当前化妆进度。
步骤502:根据眼影上妆的每个目标上妆区域,分别从眼影掩码图中拆分出每个目标上妆区域对应的美妆掩码图。
眼影化妆主要涉及上眼皮大面积晕染、上眼皮中间部分提亮、下眼皮卧蚕及眼头提亮等操作。其中,上眼皮大面积晕染和上眼皮中间部分提亮均是在上眼皮上操作,存在叠涂区域。而只有在所有区域都完成上妆之后才算是完成眼影上妆。因此需要将步骤501获得的眼影掩码图按照眼影上妆的每个目标上妆区域,拆分出每个目标上妆区域对应的美妆掩码图。如拆分出眼皮大面积晕染对应的目标上妆区域对应的美妆掩码图,上眼皮中间部分对应的目标上妆区域对应的美妆掩码图,下眼皮卧蚕部位对应的美妆掩码图以及眼头部位对应的美妆掩码图,等等。
步骤503:根据初始帧图像、当前帧图像及每个目标上妆区域对应的美妆掩码图,确定当前帧图像对应的当前化妆进度。
首先分别以每个目标上妆区域对应的美妆掩码图为参照,从初始帧图像中获取每个目标上妆区域对应的第一目标区域图像。以及,分别以每个目标上妆区域对应的美妆掩码图为参照,从当前帧图像中获取每个目标上妆区域对应的第二目标区域图像。然后根据每个目标上妆区域对应的第一目标区域图像及第二目标区域图像,确定当前帧图像对应的当前化妆进度。
每个目标上妆区域对应的第一目标区域图像和第二目标区域图像的获取过程均相同。本申请实施例以一个目标上妆区域对应的第一目标区域图像的获取过程为例进行详细说明。服务器具体通过如下步骤S1-S3的操作来获取该目标上妆区域对应的第一目标区域图像,包括:
S1:检测初始帧图像对应的第一人脸关键点。
服务器中配置了预先训练好的用于检测人脸关键点的检测模型,通过该检测模型提供人脸关键点检测的接口服务。服务器获取到用户化妆视频的初始帧图像后,调用人脸关键点检测的接口服务,通过检测模型识别出初始帧图像中用户脸部的所有人脸关键点。为了与当前帧图像对应的人脸关键点进行区分,本申请实施例将初始帧图像对应的所有人脸关键点称为第一人脸关键点。将当前帧图像对应的所有人脸关键点称为第二人脸关键点。
其中,识别出的人脸关键点包括用户脸部轮廓上的关键点及嘴巴、鼻子、眼睛、眉毛等部位的关键点。识别出的人脸关键点的数目可以为106个。
S2:根据第一人脸关键点,获取初始帧图像对应的人脸区域图像。
服务器具体通过如下步骤S20-S22的操作来获取初始帧图像对应的人脸区域图像,包括:
S20:根据第一人脸关键点,对初始帧图像及第一人脸关键点进行旋转矫正。
由于用户在通过终端拍摄化妆视频时,不能保证每一帧图像中人脸的姿态角度均相同,为了提高当前帧图像与初始帧图像比对的准确性,需要对每一帧图像中的人脸进行旋转矫正,以使矫正后每一帧图像中人脸眼睛的连线都处在同一水平线上,从而确保每一帧图像中人脸的姿态角度相同,避免因姿态角度不同导致化妆进度检测误差较大的问题。
具体地,根据第一人脸关键点包括的左眼关键点和右眼关键点,分别确定左眼中心坐标和右眼中心坐标。从第一人脸关键点确定出左眼区域的全部左眼关键点及右眼区域的全部右眼关键点。对确定出的全部左眼关键点的横坐标取均值,以及对全部左眼关键点的纵坐标取均值,将左眼对应的横坐标的均值和纵坐标的均值组成一个坐标,将该坐标确定为左眼中心坐标。按照同样的方式确定出右眼中心坐标。
然后根据左眼中心坐标和右眼中心坐标,确定初始帧图像对应的旋转角度及旋转中心点坐标。如图2所示,根据左眼中心坐标和右眼中心坐标计算出两个坐标的水平差值dx和竖直差值dy,以及计算出左眼中心坐标和右眼中心坐标的两眼连线长度d。依据两眼连线长度d、水平差值dx和竖直差值dy,计算出两眼连线与水平方向的夹角θ,该夹角θ即为初始帧图像对应的旋转角度。然后根据左眼中心坐标和右眼中心坐标计算出两眼连线的中心点坐标,该中点点坐标即为初始帧图像对应的旋转中心点坐标。
根据计算出的旋转角度和旋转中心点坐标,对初始帧图像及第一人脸关键点进行旋转矫正。具体将旋转角度和旋转中心点坐标输入用于计算图片的旋转矩阵的预设函数中,该预设函数可以为OpenCV中的函数cv2.getRotationMatrix2D()。通过调用该预设函数获得初始帧图像对应的旋转矩阵。然后计算初始帧图像和该旋转矩阵的乘积,得到矫正后的初始帧图像。利用旋转矩阵对初始帧图像进行矫正的操作,也可以通过调用OpenCV中的函数cv2.warpAffine()来完成。
对于第一人脸关键点,需要对每个第一人脸关键点逐一进行矫正,以与矫正后的初始帧图像相对应。在对第一人脸关键点逐一矫正时,需要进行两次坐标系的转换,第一次将以初始帧图像左上角为原点的坐标系转化为以左下角为原点的坐标系,第二次进一步将以左下角为原点的坐标系转化为以上述旋转中心点坐标为坐标原点的坐标系,如图3所示。经过两次坐标系转换后对每个第一人脸关键点进行如下公式(1)的转换,可完成对第一人脸关键点的旋转矫正。
Figure BDA0003340445730000111
在公式(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:以该目标上妆区域对应的美妆掩码图为参照,从该人脸区域图像中提取该目标上妆区域对应的第一目标区域图像。
直接从人脸区域图像中抠取出该目标上妆区域对应的第一目标区域图像,能够避免其他区域对该目标上妆区域的化妆进度检测的干扰。尤其是能够避免重叠的目标上妆区域之间的相互干扰,提高眼影化妆进度检测的准确性。
服务器具体通过如下步骤S40-S42的操作来获得第一目标区域图像,包括:
S40:分别将该目标上妆区域对应的美妆掩码图和人脸区域图像转换为二值化图像。
S41:对美妆掩码图对应的二值化图像和人脸区域图像对应的二值化图像进行与运算,获得美妆掩码图与该人脸区域图像的相交区域对应的第一掩膜图像。
分别将美妆掩码图对应的二值化图像和该人脸区域图像对应的二值化图像中坐标相同的像素点的像素值进行与运算。由于美妆掩码图中只有目标上妆区域中的像素点的像素值不为零,其他区域的像素点均为零。因此与运算得到的第一掩膜图像相当于从初始帧图像对应的人脸区域图像中截取出了各个目标上妆区域。
在本申请的另一些实施例中,由于美妆掩码图是基于预设标准人脸图像生成的,因此美妆掩码图中的目标上妆区域很可能无法与初始帧图像中用户实际上妆的区域完全重合,从而影响化妆进度检测的准确性。因此在将美妆掩码图对应的二值化图像和人脸区域图像对应的二值化图像进行与运算之前,还可以先对美妆掩码图中的目标上妆区域与初始帧图像中的对应区域进行对齐操作。
具体地,根据美妆掩码图对应的标准人脸关键点,确定美妆掩码图中位于该目标上妆区域的轮廓上的一个或多个第一定位点。美妆掩码图对应的标准人脸关键点即为预设标准人脸图像对应的标准人脸关键点。首先确定该目标上妆区域的轮廓上是否包含标准人脸关键点,若包含,则将位于轮廓上的标准人脸关键点确定为该目标上妆区域对应的第一定位点。若不包含,则利用该目标上妆区域周围的标准人脸关键点,通过线性变换的方式生成位于该目标上妆区域的轮廓上的第一定位点。具体可以将周围的标准人脸关键点上移、下移、左移或右移等平移操作获得第一定位点。
在本申请实施例中,目标上妆区域对应的第一定位点的数目可以为预设数目个,预设数目可以为3或4等。
通过上述方式获得美妆掩码图中该目标上妆区域对应的第一定位点后,根据初始帧图像对应的第一人脸关键点,从初始帧图像中确定出与每个第一定位点对应的第二定位点。由于美妆掩码图对应的标准人脸关键点和初始帧图像对应的第一人脸关键点都是通过相同的检测模型获得的,不同位置的关键点都具有各自的编号。因此对于属于标准人脸关键点的第一定位点,从初始帧图像对应的第一人脸关键点中确定出与该第一定位点对应的标准人脸关键点的编号相同的第一人脸关键点,将确定出的第一人脸关键点作为该第一定位点对应的第二定位点。对于利用标准人脸关键点进行线性变换得到的第一定位点,则从初始帧图像对应的第一人脸关键点中确定出该第一定位点对应的第一人脸关键点,将对该第一人脸关键点进行相同的线性变换得到的点确定为该第一定位点对应的第二定位点。
通过上述方式确定每个第一定位点对应的第二定位点之后,对美妆掩码图进行拉伸处理,将每个第一定位点拉伸至对应的每个第二定位点对应的位置处,即使得拉伸后美妆掩码图中每个第一定位点的位置都与其对应的第二定位点的位置相同。
通过上述方式能够将美妆掩码图中的目标上妆区域与初始帧图像中用户实际上妆的区域对齐,从而确保通过美妆掩码图能够精确地从初始帧图像中提取出该目标上妆区域对应的第一目标区域图像,进而提高化妆进度检测的准确性。
将该目标上妆区域对应的美妆掩码图与初始帧图像对齐之后,再通过步骤S41的操作获得美妆掩码图与初始帧图像的人脸区域图像之间相交区域对应的第一掩膜图像,然后通过步骤S42的方式来扣取该目标上妆区域对应的第一目标区域图像。
S42:对第一掩膜图像与初始帧图像对应的人脸区域图像进行与运算,获得该目标上妆区域对应的第一目标区域图像。
由于第一掩膜图像为二值化图像,因此对第一掩膜图像和初始帧图像对应的人脸区域图像进行与运算,从初始帧图像对应的人脸区域图像中截取出该目标上妆区域的图像,即得到了该目标上妆区域对应的第一目标区域图像。
对于每个目标上妆区域对应的第一目标区域图像和第二目标区域图像,均可通过上述步骤S40-S42的操作来获得。
在本申请的另一些实施例中,考虑到实际化妆场景中目标上妆区域的边缘可能不会有很清晰的轮廓线,如眼影化妆场景中越靠近边缘颜色越浅,从而使眼影妆容更自然,不会显得很突兀。因此通过上述实施例获得第一目标区域图像和第二目标区域图像之后,还分别对第一目标区域图像和第二目标区域图像中的目标上妆区域进行边界腐蚀处理,使目标上妆区域的边界模糊,使得第一目标区域图像和第二目标区域图像中的目标上妆区域更贴近真实上妆范围,进而提供化妆进度检测的准确性。
通过上述方式获得的各目标上妆区域对应的第一目标区域图像和第二目标区域图像,这些图像的颜色空间均为RGB颜色空间。本申请实施例预先通过大量试验确定了眼影上妆对颜色空间的各通道分量的影响,发现对RGB颜色空间中各颜色通道的影响差别不大。而HLS颜色空间是由Hue(色调)、Saturation(饱和度)和Light(亮度)三个分量组成,通过试验发现眼影上妆能够引起HLS颜色空间的亮度分量发生明显的变化。
因此通过上述任一方式获得各目标上妆区域对应的第一目标区域图像和第二目标区域图像后,还将每个目标上妆区域对应的第一目标区域图像和第二目标区域图像均由RGB颜色空间转换为HLS颜色空间下。并从转换后的各个第一目标区域图像和各个第二目标区域图中的HLS颜色空间中分离出预设单通道分量,得到每个目标上妆区域对应的HLS颜色空间下仅包含预设单通道分量的第一目标区域图像和第二目标区域图像。预设单通道分量可以为亮度分量。
然后根据转换后每个目标上妆区域对应的第一目标区域图像和第二目标区域图像,确定当前帧图像对应的当前化妆进度。
具体地,分别计算转换后同一个目标上妆区域对应的第一目标区域图像和第二目标区域图像中位置相同的像素点对应的上述预设单通道分量的差值绝对值。例如,假设该目标上妆区域为卧蚕区域,则计算初始帧图像中卧蚕区域对应的第一目标区域图像和当前帧图像中卧蚕区域对应的第二目标区域图像中坐标相同的像素点之间的亮度分量的差值绝对值。
统计每个目标上妆区域对应的差值绝对值满足眼影化妆对应的预设化妆完成条件的像素点数目。其中,预设化妆完成条件为像素点对应的差值绝对值大于眼影化妆对应的第一预设阈值,第一预设阈值可以为11或12等。
统计每个目标上妆区域对应的第一目标区域图像或第二目标区域图像中所有像素点的总数。然后对于每个目标上妆区域,均分别计算统计的差值绝对值满足预设化妆完成条件的像素点数目与该目标上妆区域中的像素点总数目之间的比值,分别得到每个目标上妆区域对应的化妆进度。然后根据每个目标上妆区域对应的化妆进度及每个目标上妆区域对应的预设权重,计算当前帧图像对应的当前化妆进度。
其中,每个目标上妆区域对应的预设权重之和为1,各个目标上妆区域对应的预设权重可以相同,也可以不相同。例如,假设有上眼皮、上眼皮中间部位、卧蚕部位和眼头部位共4个目标上妆区域,则这4个目标上妆区域对应的预设权重可以均为0.25。本申请实施例并不限制每个目标上妆区域的预设权重的取值,实际应用中可根据需求进行限定。
在本申请的另一些实施例中,为了进一步提高化妆进度检测的准确性,还对同一目标上妆区域对应的第一目标区域图像和第二目标区域图像中的该目标上妆区域进行进一步对齐。
具体地,分别对同一个目标上妆区域对应的仅包含上述预设单通道分量的第一目标区域图像和第二目标区域图像进行二值化处理,即将第一目标区域图像和第二目标区域图像中该目标上妆区域中的像素点对应的上述预设单通道分量的值均修改为1,将其余位置处的像素点的预设单通道分量的值均修改为0。通过二值化处理得到第一目标区域图像对应的第一二值化掩膜图像和第二目标区域图像对应的第二二值化掩膜图像。
然后对第一二值化掩膜图像和第二二值化掩膜图像进行与运算,得到该目标上妆区域对应的第一目标区域图像和第二目标区域图像的相交区域对应的第二掩膜图像。即分别将第一二值化掩膜图像和第二二值化掩膜图像中相同位置处的像素点进行与运算,得到相交区域的第二掩膜图像。该第二掩膜图像中像素点的预设单通道分量不为零的区域,即为第一目标区域图像和第二目标区域中重合的目标上妆区域。
通过前述步骤的操作获得初始帧图像对应的人脸区域图像及当前帧图像对应的人脸区域图像。对第二掩膜图像和初始帧图像对应的人脸区域图像进行与运算,得到该目标上妆区域对应的新第一目标区域图像;对第二掩膜图像和当前帧图像对应的人脸区域图像进行与运算,得到该目标上妆区域对应的新第二目标区域图像。
在本申请的另一些实施例中,也可以利用上述第二掩膜图像和前文得到的边界腐蚀后该目标上妆区域对应的第一目标区域图像进行与运算,得到该目标上妆区域对应的新第一目标区域图像。以及对第二掩膜图像和前文得到的边界腐蚀后该目标上妆区域对应的第二目标区域图像进行与运算,得到该目标上妆区域对应的新第二目标区域图像。
由于第二掩膜图像中包含该目标上妆区域对应的第一目标区域图像和第二目标区域图像中重合的区域,因此通过第二掩膜图像按照上述方式获得新第一目标区域图像和新第二目标区域图像,使得新第一目标区域图像和新第二目标区域图像中目标上妆区域的位置是完全一致的,如此后续依据完全对齐的目标上妆区域在预设单通道分量上的变化来确定化妆进度,确保了进行比对的区域是完全一致的,大大提高了化妆进度检测的准确性。
通过上述任一方式对初始帧图像和当前帧图像中的该目标上妆区域进行对齐,得到新第一目标区域图像和新第二目标区域图像后,再次通过上述步骤503的操作来确定该目标上妆区域对应的化妆进度。对于其他每个目标上妆区域,均按照上述方式对初始帧图像和当前帧图像中的其他每个目标上妆区域进行对齐,分别得到其他每个目标上妆区域对应的化妆进度。进而根据得到的每个目标上妆区域的化妆进度,计算当前帧图像对应的当前化妆进度。
通过上述任一方式确定出当前化妆进度后,服务器发送该当前化妆进度给用户的终端。用户的终端接收到当前化妆进度后,显示该当前化妆进度。当前化妆进度可以为比值或百分数。终端可以通过进度条的形式来显示当前化妆进度。
在用户化妆的过程中,通过本申请实施例提供的化妆进度检测方法,实时检测第一帧图像之后的每帧图像相对于第一帧图像的化妆进度,并将检测的化妆进度显示给用户,使用户能够直观地看到自己的化妆进度,提高化妆效率。
为了便于理解本申请实施例提供的方法,下面结合附图进行说明。如图4所示,根据初始帧图像及其对应的第一人脸关键点,当前帧图像及其对应的第二人脸关键点,分别对初始帧图像和当前帧图像中的人脸进行矫正和裁剪。将眼影掩码图拆分为每个目标上妆区域对应的美妆掩码图。然后将每个目标上妆区域对应的美妆掩码图分别与初始帧图像及当前帧图像各自对应的人脸区域图像进行对齐。以每个目标上妆区域对应的美妆掩码图为参照从初始帧图像中扣取出每个目标上妆区域对应的第一目标区域图像,以及以每个目标上妆区域对应的美妆掩码图为参照从当前帧图像中扣取出每个目标上妆区域对应的第二目标区域图像。然后将每个目标上妆区域对应的第一目标区域图像和第二目标区域图像转换为HLS颜色空间下仅包含预设单通道分量的图像。计算转换后同一目标上妆区域对应的第一目标区域图像和第二目标区域图像中位置相同的像素点对应的预设单通道分量的差值绝对值。统计每个目标上妆区域对应的差值绝对值满足预设化妆完成条件的像素点数目。分别计算每个目标上妆区域对应的像素点数目与对应目标上妆区域中的像素点总数目之间的比值,得到每个目标上妆区域对应的化妆进度。根据每个目标上妆区域对应的化妆进度及每个目标上妆区域对应的预设权重,计算当前帧图像对应的当前化妆进度。
在本申请实施例中,利用人脸关键点,对视频帧中用户的人脸区域进行矫正和裁剪,提高了识别人脸区域的准确性。依据眼影化妆上妆区域存在重叠的特点,将眼影掩码图拆分成每个目标上妆区域对应的美妆掩码图,对每个目标上妆区域分别进行化妆进度检测,提高了化妆进度检测的准确性。将每个美妆掩码图中的目标上妆区域分别与视频帧中人脸区域图像中的目标上妆区域对齐,确保每个美妆掩码图均与初始帧图像及当前帧图像中对应的目标上妆区域的位置一致。通过对齐后的美妆掩码图分别从初始帧图像和当前帧图像中扣取出每个目标上妆区域对应的第一目标区域图像和第二目标区域图像。进一步地,还对同一目标上妆区域对应的第一目标区域图像和第二目标区域图像进行再次对齐,减少了比较时因位置信息引入的误差。还且本申请没有采用深度学习的方式,无需预先收集大量数据,通过对用户化妆的实时画面的捕获,经过服务器端的计算,将检测结果返回给用户。相比深度学习的模型推理方案,本申请在算法处理环节耗费更少的计算成本,减少了服务器的处理压力。
本申请实施例还提供一种化妆进度检测装置,该装置用于执行上述化妆进度检测方法来实时检测眼影化妆的进度。参见图5,该装置具体包括:
获取模块1401,用于获取眼影掩码图以及用户当前进行特定妆容的实时化妆视频中的初始帧图像和当前帧图像;
拆分模块1402,用于根据眼影上妆的每个目标上妆区域,分别从眼影掩码图中拆分出每个目标上妆区域对应的美妆掩码图;
化妆进度确定模块1403,用于根据初始帧图像、当前帧图像及每个目标上妆区域对应的美妆掩码图,确定当前帧图像对应的当前化妆进度。
化妆进度确定模块1403,用于分别以每个目标上妆区域对应的美妆掩码图为参照,从初始帧图像中获取每个目标上妆区域对应的第一目标区域图像;分别以每个目标上妆区域对应的美妆掩码图为参照,从当前帧图像中获取每个目标上妆区域对应的第二目标区域图像;根据每个目标上妆区域对应的第一目标区域图像及第二目标区域图像,确定当前帧图像对应的当前化妆进度。
化妆进度确定模块1403,用于分别将每个目标上妆区域对应的第一目标区域图像和第二目标区域图像转换为HLS颜色空间下包含预设单通道分量的图像;根据转换后的每个目标上妆区域对应的第一目标区域图像和第二目标区域图像,确定当前帧图像对应的当前化妆进度。
化妆进度确定模块1403,用于分别计算转换后同一目标上妆区域对应的第一目标区域图像和第二目标区域图像中位置相同的像素点对应的预设单通道分量的差值绝对值;统计每个目标上妆区域对应的差值绝对值满足预设化妆完成条件的像素点数目;分别计算每个目标上妆区域对应的像素点数目与对应目标上妆区域中的像素点总数目之间的比值,得到每个目标上妆区域对应的化妆进度;根据每个目标上妆区域对应的化妆进度及每个目标上妆区域对应的预设权重,计算当前帧图像对应的当前化妆进度。
化妆进度确定模块1403,用于检测初始帧图像对应的第一人脸关键点;根据第一人脸关键点,获取初始帧图像对应的人脸区域图像;分别以每个目标上妆区域对应的美妆掩码图为参照,从人脸区域图像中分别获取每个目标上妆区域对应的的第一目标区域图像。
化妆进度确定模块1403,用于分别将第一目标上妆区域对应的美妆掩码图和人脸区域图像转换为二值化图像;第一目标上妆区域为每个目标上妆区域中的任一目标上妆区域;对美妆掩码图对应的二值化图像和人脸区域图像对应的二值化图像进行与运算,获得美妆掩码图与人脸区域图像的相交区域对应的第一掩膜图像;对第一掩膜图像与初始帧图像对应的人脸区域图像进行与运算,获得第一目标区域图像。
化妆进度确定模块1403,还用于根据美妆掩码图对应的标准人脸关键点,确定美妆掩码图中位于美妆掩码图包括的目标上妆区域的轮廓上的一个或多个第一定位点;根据第一人脸关键点,从人脸区域图像中确定出与每个第一定位点对应的第二定位点;对美妆掩码图进行拉伸处理,将每个第一定位点拉伸至对应的每个第二定位点对应的位置处。
化妆进度确定模块1403,还用于根据眼影掩码图对应的标准人脸关键点,确定眼影掩码图中位于每个上妆区域的轮廓上的一个或多个第一定位点;根据第一人脸关键点,从人脸区域图像中确定出与每个第一定位点对应的第二定位点;对眼影掩码图进行拉伸处理,将每个第一定位点拉伸至对应的每个第二定位点对应的位置处。
化妆进度确定模块1403,用于根据初始帧图像对应的第一人脸关键点,对初始帧图像及第一人脸关键点进行旋转矫正;根据矫正后的第一人脸关键点,从矫正后的初始帧图像中截取包含人脸区域的图像;将包含人脸区域的图像缩放至预设尺寸,得到初始帧图像对应的人脸区域图像。
化妆进度确定模块1403,用于根据第一人脸关键点包括的左眼关键点和右眼关键点,分别确定左眼中心坐标和右眼中心坐标;根据左眼中心坐标和右眼中心坐标,确定初始帧图像对应的旋转角度及旋转中心点坐标;根据旋转角度和旋转中心点坐标,对初始帧图像及第一人脸关键点进行旋转矫正。
化妆进度确定模块1403,用于根据矫正后的第一人脸关键点,对矫正后的初始帧图像中包含的人脸区域进行图像截取。
化妆进度确定模块1403,用于从矫正后的第一人脸关键点中确定最小横坐标值、最小纵坐标值、最大横坐标值和最大纵坐标值;根据最小横坐标值、最小纵坐标值、最大横坐标值和最大纵坐标值,确定矫正后的初始帧图像中人脸区域对应的截取框;根据截取框,从矫正后的初始帧图像中截取出包含人脸区域的图像。
化妆进度确定模块1403,还用于将截取框放大预设倍数;根据放大后的截取框,从矫正后的初始帧图像中截取出包含人脸区域的图像。
化妆进度确定模块1403,还用于根据包含人脸区域的图像的尺寸及预设尺寸,对矫正后的第一人脸关键点进行缩放平移处理。
该装置还包括:人脸检测模块,用于检测初始帧图像和当前帧图像中是否均仅包含同一个用户的人脸图像;如果是,则执行确定用户进行特定妆容的当前化妆进度的操作;如果否,则发送提示信息给用户的终端,提示信息用于提示用户保持实时化妆视频中仅出现同一个用户的人脸。
本申请的上述实施例提供的化妆进度检测装置与本申请实施例提供的化妆进度检测方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种电子设备,以执行上述化妆进度检测方法。请参考图6,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图6所示,电子设备11包括:处理器1100,存储器1101,总线1102和通信接口1103,所述处理器1100、通信接口1103和存储器1101通过总线1102连接;所述存储器1101中存储有可在所述处理器1100上运行的计算机程序,所述处理器1100运行所述计算机程序时执行本申请前述任一实施方式所提供的化妆进度检测方法。
其中,存储器1101可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口1103(可以是有线或者无线)实现该装置网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线1102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器1101用于存储程序,所述处理器1100在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述化妆进度检测方法可以应用于处理器1100中,或者由处理器1100实现。
处理器1100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1100可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1101,处理器1100读取存储器1101中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的化妆进度检测方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的化妆进度检测方法对应的计算机可读存储介质,请参考图7,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的化妆进度检测方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的化妆进度检测方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是:
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下示意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (18)

1.一种化妆进度检测方法,其特征在于,包括:
获取眼影掩码图以及用户当前进行特定妆容的实时化妆视频中的初始帧图像和当前帧图像;
根据眼影上妆的每个目标上妆区域,分别从所述眼影掩码图中拆分出每个所述目标上妆区域对应的美妆掩码图;
根据所述初始帧图像、所述当前帧图像及每个所述目标上妆区域对应的美妆掩码图,确定所述当前帧图像对应的当前化妆进度。
2.根据权利要求1所述的方法,其特征在于,所述根据所述初始帧图像、所述当前帧图像及每个所述目标上妆区域对应的美妆掩码图,确定所述当前帧图像对应的当前化妆进度,包括:
分别以每个所述目标上妆区域对应的美妆掩码图为参照,从所述初始帧图像中获取每个所述目标上妆区域对应的第一目标区域图像;
分别以每个所述目标上妆区域对应的美妆掩码图为参照,从所述当前帧图像中获取每个所述目标上妆区域对应的第二目标区域图像;
根据每个所述目标上妆区域对应的第一目标区域图像及第二目标区域图像,确定所述当前帧图像对应的当前化妆进度。
3.根据权利要求2所述的方法,其特征在于,所述根据每个所述目标上妆区域对应的第一目标区域图像及第二目标区域图像,确定所述当前帧图像对应的当前化妆进度,包括:
分别将每个所述目标上妆区域对应的第一目标区域图像和第二目标区域图像转换为HLS颜色空间下包含预设单通道分量的图像;
根据转换后的每个所述目标上妆区域对应的第一目标区域图像和第二目标区域图像,确定所述当前帧图像对应的当前化妆进度。
4.根据权利要求3所述的方法,其特征在于,所述根据转换后的每个所述目标上妆区域对应的第一目标区域图像和第二目标区域图像,确定所述当前帧图像对应的当前化妆进度,包括:
分别计算转换后同一目标上妆区域对应的第一目标区域图像和第二目标区域图像中位置相同的像素点对应的所述预设单通道分量的差值绝对值;
统计每个目标上妆区域对应的差值绝对值满足预设化妆完成条件的像素点数目;
分别计算每个目标上妆区域对应的所述像素点数目与对应目标上妆区域中的像素点总数目之间的比值,得到每个目标上妆区域对应的化妆进度;
根据每个目标上妆区域对应的化妆进度及每个目标上妆区域对应的预设权重,计算所述当前帧图像对应的当前化妆进度。
5.根据权利要求2所述的方法,其特征在于,分别以每个所述目标上妆区域对应的美妆掩码图为参照,从所述初始帧图像中获取每个所述目标上妆区域对应的第一目标区域图像,包括:
检测所述初始帧图像对应的第一人脸关键点;
根据所述第一人脸关键点,获取所述初始帧图像对应的人脸区域图像;
分别以每个所述目标上妆区域对应的美妆掩码图为参照,从所述人脸区域图像中分别获取每个所述目标上妆区域对应的第一目标区域图像。
6.根据权利要求5所述的方法,其特征在于,所述分别以每个所述目标上妆区域对应的美妆掩码图为参照,从所述人脸区域图像中分别获取每个所述目标上妆区域对应的第一目标区域图像,包括:
分别将第一目标上妆区域对应的美妆掩码图和所述人脸区域图像转换为二值化图像;所述第一目标上妆区域为每个所述目标上妆区域中的任一目标上妆区域;
对所述美妆掩码图对应的二值化图像和所述人脸区域图像对应的二值化图像进行与运算,获得所述美妆掩码图与所述人脸区域图像的相交区域对应的第一掩膜图像;
对所述第一掩膜图像与所述初始帧图像对应的人脸区域图像进行与运算,获得第一目标区域图像。
7.根据权利要求6所述的方法,其特征在于,所述对所述美妆掩码图对应的二值化图像和所述人脸区域图像对应的二值化图像进行与运算之前,还包括:
根据所述美妆掩码图对应的标准人脸关键点,确定所述美妆掩码图中位于所述美妆掩码图包括的目标上妆区域的轮廓上的一个或多个第一定位点;
根据所述第一人脸关键点,从所述人脸区域图像中确定出与每个所述第一定位点对应的第二定位点;
对所述美妆掩码图进行拉伸处理,将每个所述第一定位点拉伸至对应的每个所述第二定位点对应的位置处。
8.根据权利要求1所述的方法,其特征在于,所述根据眼影上妆的每个目标上妆区域,分别从所述眼影掩码图中拆分出每个所述目标上妆区域对应的美妆掩码图之前,还包括:
根据所述眼影掩码图对应的标准人脸关键点,确定所述眼影掩码图中位于每个上妆区域的轮廓上的一个或多个第一定位点;
根据所述第一人脸关键点,从所述人脸区域图像中确定出与每个所述第一定位点对应的第二定位点;
对所述眼影掩码图进行拉伸处理,将每个所述第一定位点拉伸至对应的每个所述第二定位点对应的位置处。
9.根据权利要求5所述的方法,其特征在于,所述根据所述第一人脸关键点,获取所述初始帧图像对应的人脸区域图像,包括:
根据所述初始帧图像对应的第一人脸关键点,对所述初始帧图像及所述第一人脸关键点进行旋转矫正;
根据矫正后的所述第一人脸关键点,从矫正后的所述初始帧图像中截取包含人脸区域的图像;
将所述包含人脸区域的图像缩放至预设尺寸,得到所述初始帧图像对应的人脸区域图像。
10.根据权利要求9所述的方法,其特征在于,所述根据所述初始帧图像对应的第一人脸关键点,对所述初始帧图像及所述第一人脸关键点进行旋转矫正,包括:
根据所述第一人脸关键点包括的左眼关键点和右眼关键点,分别确定左眼中心坐标和右眼中心坐标;
根据所述左眼中心坐标和所述右眼中心坐标,确定所述初始帧图像对应的旋转角度及旋转中心点坐标;
根据所述旋转角度和所述旋转中心点坐标,对所述初始帧图像及所述第一人脸关键点进行旋转矫正。
11.根据权利要求9所述的方法,其特征在于,所述根据矫正后的所述第一人脸关键点,从矫正后的所述初始帧图像中截取包含人脸区域的图像,包括:
根据矫正后的所述第一人脸关键点,对矫正后的所述初始帧图像中包含的人脸区域进行图像截取。
12.根据权利要求11所述的方法,其特征在于,所述根据矫正后的所述第一人脸关键点,对矫正后的所述初始帧图像中包含的人脸区域进行图像截取,包括:
从矫正后的所述第一人脸关键点中确定最小横坐标值、最小纵坐标值、最大横坐标值和最大纵坐标值;
根据所述最小横坐标值、所述最小纵坐标值、最大横坐标值和最大纵坐标值,确定矫正后的所述初始帧图像中人脸区域对应的截取框;
根据所述截取框,从矫正后的所述初始帧图像中截取出包含所述人脸区域的图像。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
将所述截取框放大预设倍数;
根据放大后的所述截取框,从矫正后的所述初始帧图像中截取出包含所述人脸区域的图像。
14.根据权利要求9所述的方法,其特征在于,所述方法还包括:
根据所述包含人脸区域的图像的尺寸及所述预设尺寸,对矫正后的所述第一人脸关键点进行缩放平移处理。
15.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测所述初始帧图像和所述当前帧图像中是否均仅包含同一个用户的人脸图像;
如果是,则执行所述确定所述用户进行所述特定妆容的当前化妆进度的操作;
如果否,则发送提示信息给所述用户的终端,所述提示信息用于提示所述用户保持所述实时化妆视频中仅出现同一个用户的人脸。
16.一种化妆进度检测装置,其特征在于,包括:
获取模块,用于获取眼影掩码图以及用户当前进行特定妆容的实时化妆视频中的初始帧图像和当前帧图像;
拆分模块,用于根据眼影上妆的每个目标上妆区域,分别从所述眼影掩码图中拆分出每个所述目标上妆区域对应的美妆掩码图;
化妆进度确定模块,用于根据所述初始帧图像、所述当前帧图像及每个所述目标上妆区域对应的美妆掩码图,确定所述当前帧图像对应的当前化妆进度。
17.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序以实现如权利要求1-15任一项所述的方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行实现如权利要求1-15中任一项所述的方法。
CN202111306864.2A 2021-08-31 2021-08-31 一种化妆进度检测方法、装置、设备及存储介质 Pending CN115731591A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111306864.2A CN115731591A (zh) 2021-08-31 2021-08-31 一种化妆进度检测方法、装置、设备及存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111306864.2A CN115731591A (zh) 2021-08-31 2021-08-31 一种化妆进度检测方法、装置、设备及存储介质
CN202111015242.4A CN114155569B (zh) 2021-08-31 2021-08-31 一种化妆进度检测方法、装置、设备及存储介质

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202111015242.4A Division CN114155569B (zh) 2021-08-31 2021-08-31 一种化妆进度检测方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115731591A true CN115731591A (zh) 2023-03-03

Family

ID=80461794

Family Applications (5)

Application Number Title Priority Date Filing Date
CN202111308470.0A Pending CN115761827A (zh) 2021-08-31 2021-08-31 一种化妆进度检测方法、装置、设备及存储介质
CN202111015242.4A Active CN114155569B (zh) 2021-08-31 2021-08-31 一种化妆进度检测方法、装置、设备及存储介质
CN202111306864.2A Pending CN115731591A (zh) 2021-08-31 2021-08-31 一种化妆进度检测方法、装置、设备及存储介质
CN202111308454.1A Pending CN115937919A (zh) 2021-08-31 2021-08-31 一种妆容颜色识别方法、装置、设备及存储介质
CN202111308461.1A Pending CN115731142A (zh) 2021-08-31 2021-08-31 一种图像处理方法、装置、设备及存储介质

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN202111308470.0A Pending CN115761827A (zh) 2021-08-31 2021-08-31 一种化妆进度检测方法、装置、设备及存储介质
CN202111015242.4A Active CN114155569B (zh) 2021-08-31 2021-08-31 一种化妆进度检测方法、装置、设备及存储介质

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN202111308454.1A Pending CN115937919A (zh) 2021-08-31 2021-08-31 一种妆容颜色识别方法、装置、设备及存储介质
CN202111308461.1A Pending CN115731142A (zh) 2021-08-31 2021-08-31 一种图像处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (5) CN115761827A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117078675B (zh) * 2023-10-16 2024-02-06 太和康美(北京)中医研究院有限公司 基于图像分析的化妆品功效评价方法、装置、设备及介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105278376A (zh) * 2015-10-16 2016-01-27 珠海格力电器股份有限公司 利用人脸识别技术的装置使用方法及装置
TW201931179A (zh) * 2017-07-13 2019-08-01 美商美國資生堂公司 用於虛擬面部化妝之移除與模擬、快速面部偵測及標記追蹤、降低輸入視訊之延遲及振動的系統與方法,以及用於建議化妝之方法
CN107820027A (zh) * 2017-11-02 2018-03-20 北京奇虎科技有限公司 视频人物装扮方法、装置、计算设备及计算机存储介质
CN107969058A (zh) * 2017-12-29 2018-04-27 上海斐讯数据通信技术有限公司 一种智能化妆台及控制方法
CN108805090B (zh) * 2018-06-14 2020-02-21 广东工业大学 一种基于平面网格模型的虚拟试妆方法
CN109584180A (zh) * 2018-11-30 2019-04-05 深圳市脸萌科技有限公司 人脸图像处理方法、装置、电子设备及计算机存储介质
CN110008813B (zh) * 2019-01-24 2023-06-30 创新先进技术有限公司 基于活体检测技术的人脸识别方法和系统
CN110111245B (zh) * 2019-05-13 2023-12-08 Oppo广东移动通信有限公司 图像处理方法、装置、终端及计算机可读存储介质
CN111291642B (zh) * 2020-01-20 2023-11-28 深圳市商汤科技有限公司 一种妆容处理方法、装置、电子设备及存储介质
CN111651040B (zh) * 2020-05-27 2021-11-26 华为技术有限公司 用于肌肤检测的电子设备的交互方法及电子设备

Also Published As

Publication number Publication date
CN115731142A (zh) 2023-03-03
CN115937919A (zh) 2023-04-07
CN114155569B (zh) 2022-11-04
CN115761827A (zh) 2023-03-07
CN114155569A (zh) 2022-03-08

Similar Documents

Publication Publication Date Title
US10783354B2 (en) Facial image processing method and apparatus, and storage medium
US11107232B2 (en) Method and apparatus for determining object posture in image, device, and storage medium
US11830230B2 (en) Living body detection method based on facial recognition, and electronic device and storage medium
EP3477931A1 (en) Image processing method and device, readable storage medium and electronic device
US8983202B2 (en) Smile detection systems and methods
JP6688277B2 (ja) プログラム、学習処理方法、学習モデル、データ構造、学習装置、および物体認識装置
JP4597391B2 (ja) 顔領域検出装置およびその方法並びにコンピュータ読み取り可能な記録媒体
CN110838119B (zh) 人脸图像质量评估方法、计算机装置及计算机可读存储介质
CN106326823B (zh) 一种获取图片中头像的方法和系统
CN111160291B (zh) 基于深度信息与cnn的人眼检测方法
CN111008935B (zh) 一种人脸图像增强方法、装置、系统及存储介质
CN111753782B (zh) 一种基于双流网络的假脸检测方法、装置及电子设备
US11521473B2 (en) Audio/video electronic device
US11315360B2 (en) Live facial recognition system and method
CN112396050B (zh) 图像的处理方法、设备以及存储介质
CN110674729A (zh) 基于热能估算的人数识别方法、计算机装置及计算机可读存储介质
CN115731591A (zh) 一种化妆进度检测方法、装置、设备及存储介质
WO2022087846A1 (zh) 图像的处理方法、装置、设备以及存储介质
CN113837019B (zh) 一种化妆进度检测方法、装置、设备及存储介质
CN116403226A (zh) 无约束褶皱文档图像矫正方法、系统、设备及存储介质
CN113837017B (zh) 一种化妆进度检测方法、装置、设备及存储介质
US20210281742A1 (en) Document detections from video images
CN113837020B (zh) 一种化妆进度检测方法、装置、设备及存储介质
CN113837018A (zh) 一种化妆进度检测方法、装置、设备及存储介质
CN113837016A (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