CN113837016A - 一种化妆进度检测方法、装置、设备及存储介质 - Google Patents
一种化妆进度检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113837016A CN113837016A CN202111015214.2A CN202111015214A CN113837016A CN 113837016 A CN113837016 A CN 113837016A CN 202111015214 A CN202111015214 A CN 202111015214A CN 113837016 A CN113837016 A CN 113837016A
- Authority
- CN
- China
- Prior art keywords
- frame image
- brightness
- image
- makeup
- current frame
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 64
- 239000002537 cosmetic Substances 0.000 title description 10
- 230000008859 change Effects 0.000 claims abstract description 132
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000012937 correction Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000013136 deep learning model Methods 0.000 abstract description 11
- 238000012545 processing Methods 0.000 abstract description 11
- 230000008901 benefit Effects 0.000 abstract description 7
- 238000004364 calculation method Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000007613 environmental effect Effects 0.000 description 8
- 238000009877 rendering Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 210000000887 face Anatomy 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 239000000843 powder Substances 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000005282 brightening Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching 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
技术领域
本申请属于图像处理技术领域,具体涉及一种化妆进度检测方法、装置、设备及存储介质。
背景技术
化妆已经成为很多人日常生活必不可少的环节,而上粉底是化妆过程中不可或缺的重要步骤,如果能够将上粉底的化妆进度实时反馈给用户,将可以极大减少化妆对用户精力的消耗,节省化妆时间。
目前,相关技术中存在一些使用深度学习模型提供虚拟试妆、肤色侦测、个性化产品推荐等功能,这些功能均需要预先收集大量的人脸图片对深度学习模型进行训练。
但人脸图片是用户的隐私数据,很难收集到庞大的人脸图片。且模型训练需耗费大量计算资源,成本高。模型的精度与实时性成反比,化妆进度检测需要实时捕获用户人脸面部信息来确定用户当前的化妆进度,实时性要求很高,能够满足实时性要求的深度学习模型,其检测的准确性不高。
发明内容
本申请提出一种化妆进度检测方法、装置、设备及存储介质,在用户化妆的初始帧图像基础上,模拟完成上妆后的结果图像。依据当前帧图像、初始帧图像和结果图像来确定当前化妆进度,提高了化妆进度检测的准确性,且未采用深度学习模型,无需预先收集大量数据,运算量小,成本低,减少了服务器的处理压力,提高了化妆进度检测的效率,能够满足化妆进度检测的实时性要求。
本申请第一方面实施例提出了一种化妆进度检测方法,包括:
获取用户化妆视频中的初始帧图像和当前帧图像;
根据所述初始帧图像,模拟生成完成目标类型的上妆后的结果图像;
根据所述初始帧图像、所述结果图像和所述当前帧图像,确定所述当前帧图像对应的当前化妆进度。
在本申请的一些实施例中,所述根据所述初始帧图像、所述结果图像和所述当前帧图像,确定所述当前帧图像对应的当前化妆进度,包括:
分别获取所述初始帧图像、所述结果图像和所述当前帧图像对应的整体图像亮度;
分别获取所述初始帧图像、所述结果图像和所述当前帧图像对应的人脸区域亮度;
根据所述初始帧图像、所述结果图像和所述当前帧图像各自对应的整体图像亮度和人脸区域亮度,确定所述当前帧图像对应的当前化妆进度。
在本申请的一些实施例中,所述分别获取所述初始帧图像、所述结果图像和所述当前帧图像对应的整体图像亮度,包括:
分别将所述初始帧图像、所述结果图像和所述当前帧图像转换为灰度图像;
分别计算转换后所述初始帧图像、所述结果图像和所述当前帧图像各自对应的灰度图像中像素点的灰度平均值;
将所述初始帧图像、所述结果图像和所述当前帧图像各自对应的灰度平均值分别确定为所述初始帧图像、所述结果图像和所述当前帧图像各自对应的整体图像亮度。
在本申请的一些实施例中,所述分别获取所述初始帧图像、所述结果图像和所述当前帧图像对应的人脸区域亮度,包括:
分别获取所述初始帧图像、所述结果图像和所述当前帧图像各自对应的人脸区域图像;
分别将所述初始帧图像、所述结果图像和所述当前帧图像各自对应的人脸区域图像转换为人脸灰度图像;
分别计算所述初始帧图像、所述结果图像和所述当前帧图像各自对应的人脸灰度图像中像素点的灰度平均值,得到所述初始帧图像、所述结果图像和所述当前帧图像各自对应的人脸区域亮度。
在本申请的一些实施例中,所述根据所述初始帧图像、所述结果图像和所述当前帧图像各自对应的整体图像亮度和人脸区域亮度,确定所述当前帧图像对应的当前化妆进度,包括:
根据所述初始帧图像对应的整体图像亮度和人脸区域亮度以及所述当前帧图像对应的整体图像亮度和人脸区域亮度,确定所述当前帧图像对应的第一环境变化亮度;
根据所述初始帧图像对应的整体图像亮度和人脸区域亮度以及所述结果图像对应的整体图像亮度和人脸区域亮度,确定所述结果图像对应的第二环境变化亮度;
根据所述第一环境变化亮度、所述第二环境变化亮度、所述初始帧图像对应的人脸区域亮度、所述当前帧图像对应的人脸区域亮度、所述结果图像对应的人脸区域亮度,确定所述当前帧图像对应的当前化妆进度。
在本申请的一些实施例中,所述根据所述初始帧图像对应的整体图像亮度和人脸区域亮度以及所述当前帧图像对应的整体图像亮度和人脸区域亮度,确定所述当前帧图像对应的第一环境变化亮度,包括:
计算所述初始帧图像对应的整体图像亮度与其对应的人脸区域亮度之间的差值,得到所述初始帧图像的环境亮度;
计算所述当前帧图像对应的整体图像亮度与其对应的人脸区域亮度之间的差值,得到所述当前帧图像的环境亮度;
将所述当前帧图像的环境亮度与所述初始帧图像的环境亮度之间的差值绝对值确定为所述当前帧图像对应的第一环境变化亮度。
在本申请的一些实施例中,所述根据所述第一环境变化亮度、所述第二环境变化亮度、所述初始帧图像对应的人脸区域亮度、所述当前帧图像对应的人脸区域亮度、所述结果图像对应的人脸区域亮度,确定所述当前帧图像对应的当前化妆进度,包括:
根据所述第一环境变化亮度、所述初始帧图像对应的人脸区域亮度、所述当前帧图像对应的人脸区域亮度,确定所述当前帧图像对应的上妆亮度变化值;
根据所述第二环境变化亮度、所述初始帧图像对应的人脸区域亮度、所述结果图像对应的人脸区域亮度,确定所述结果图像对应的上妆亮度变化值;
计算所述当前帧图像对应的上妆亮度变化值与所述结果图像对应的上妆亮度变化值的比值,得到所述当前帧图像对应的当前化妆进度。
在本申请的一些实施例中,所述根据所述第一环境变化亮度、所述初始帧图像对应的人脸区域亮度、所述当前帧图像对应的人脸区域亮度,确定所述当前帧图像对应的上妆亮度变化值,包括:
计算所述当前帧图像对应的人脸区域亮度与所述初始帧图像对应的人脸区域亮度之间的差值,得到所述当前帧图像对应的总亮度变化值;
计算所述总亮度变化值与所述第一环境变化亮度之间的差值,得到所述当前帧图像对应的上妆亮度变化值。
在本申请的一些实施例中,所述方法还包括:
若所述第一环境变化亮度大于预设阈值,则将上一帧图像对应的化妆进度确定为所述当前帧图像对应的当前化妆进度;
发送第一提示信息给所述用户的终端,所述第一提示信息用于提示所述用户回到所述初始帧图像对应的亮度环境下上妆。
在本申请的一些实施例中,获取所述初始帧图像对应的人脸区域图像,包括:
检测所述初始帧图像对应的第一人脸关键点;
根据所述第一人脸关键点,对所述初始帧图像及所述第一人脸关键点进行旋转矫正;
根据矫正后的所述第一人脸关键点,从矫正后的所述初始帧图像中截取包含人脸区域的图像;
将所述包含人脸区域的图像缩放至预设尺寸,得到所述初始帧图像对应的人脸区域图像。
在本申请的一些实施例中,所述根据所述第一人脸关键点,对所述初始帧图像及所述第一人脸关键点进行旋转矫正,包括:
根据所述第一人脸关键点包括的左眼关键点和右眼关键点,分别确定左眼中心坐标和右眼中心坐标;
根据所述左眼中心坐标和所述右眼中心坐标,确定所述初始帧图像对应的旋转角度及旋转中心点坐标;
根据所述旋转角度和所述旋转中心点坐标,对所述初始帧图像及所述第一人脸关键点进行旋转矫正。
在本申请的一些实施例中,所述根据矫正后的所述第一人脸关键点,从矫正后的所述初始帧图像中截取包含人脸区域的图像,包括:
从矫正后的所述第一人脸关键点中确定最小横坐标值、最小纵坐标值、最大横坐标值和最大纵坐标值;
根据所述最小横坐标值、所述最小纵坐标值、所述最大横坐标值和所述最大纵坐标值,确定矫正后的所述初始帧图像中人脸区域对应的截取框;
根据所述截取框,从矫正后的所述初始帧图像中截取出包含所述人脸区域的图像。
在本申请的一些实施例中,所述方法还包括:
将所述截取框放大预设倍数;
根据放大后的所述截取框,从矫正后的所述初始帧图像中截取出包含所述人脸区域的图像。
在本申请的一些实施例中,所述获取用户化妆视频中的初始帧图像和当前帧图像之后,还包括:
检测所述初始帧图像和所述当前帧图像中是否均仅包含同一个用户的人脸图像;
如果是,则执行所述模拟生成完成目标类型的上妆后的结果图像的操作;
如果否,则发送第二提示信息给所述用户的终端,所述第二提示信息用于提示所述用户保持所述化妆视频中仅出现同一个用户的人脸。
在本申请的一些实施例中,所述方法还包括:
发送所述当前化妆进度给所述用户的终端,以使所述用户的终端显示所述当前化妆进度。
本申请第二方面的实施例提供了一种化妆进度检测装置,包括:
获取模块,用于获取用户化妆视频中的初始帧图像和当前帧图像;
生成模块,用于根据所述初始帧图像,模拟生成完成目标类型的上妆后的结果图像;
确定模块,用于根据所述初始帧图像、所述结果图像和所述当前帧图像,确定所述当前帧图像对应的当前化妆进度。
本申请第三方面的实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序以实现上述第一方面所述的方法。
本申请第四方面的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现上述第一方面所述的方法。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
在本申请实施例中,在用户化妆过程的初始帧图像的基础上,模拟生成完成上妆后的结果图像。依据当前帧图像、初始帧图像和该结果图像中人脸区域的亮度变化来确定当前化妆进度,且从人脸区域的亮度变化中扣除了环境亮度变化的影响,大大提高了化妆进度检测的准确性,且未采用深度学习模型,无需预先收集大量数据,运算量小,成本低,减少了服务器的处理压力,提高了化妆进度检测的效率,能够满足化妆进度检测的实时性要求。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本申请的实践了解到。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
在附图中:
图1示出了本申请一实施例所提供的一种化妆进度检测方法的流程图;
图2示出了本申请一实施例所提供的求解图像的旋转角度的示意图;
图3示出了本申请一实施例所提供的两次坐标系转换的示意图;
图4示出了本申请一实施例所提供的一种化妆进度检测方法的另一流程图;
图5示出了本申请一实施例所提供的一种化妆进度检测方法的另一流程图;
图6示出了本申请一实施例所提供的一种化妆进度检测装置的结构示意图;
图7示出了本申请一实施例所提供的一种电子设备的结构示意图;
图8示出了本申请一实施例所提供的一种存储介质的示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
下面结合附图来描述根据本申请实施例提出的一种化妆进度检测方法、装置、设备及存储介质。
目前相关技术中存在一些虚拟试妆功能,可以应用在销售柜台或者手机应用软件中,采用人脸识别技术对用户提供虚拟试妆服务,可以将多种妆容进行搭配和实时的面部贴合展示。此外还提供人脸皮肤检测服务,但这些服务只能解决用户挑选适合自己的化妆品,或者选取适合自己的皮肤保养方案的需求。基于这些服务可以帮助用户挑选适合自己的化妆产品,但是无法对上妆进度进行显示,不能满足用户实时上妆的需求。相关技术中还存在一些使用深度学习模型提供虚拟试妆、肤色侦测、个性化产品推荐等功能,这些功能均需要预先收集大量的人脸图片对深度学习模型进行训练。但人脸图片是用户的隐私数据,很难收集到庞大的人脸图片。且模型训练需耗费大量计算资源,成本高。模型的精度与实时性成反比,化妆进度检测需要实时捕获用户人脸面部信息来确定用户当前的化妆进度,实时性要求很高,能够满足实时性要求的深度学习模型,其检测的准确性不高。
基于此,本申请实施例提供了一种化妆进度检测方法,该方法中对于粉底、散粉等可以全脸涂抹的目标类型的上妆方式进行实时的化妆进度检测。在用户化妆过程的初始帧图像(即第一帧图像)的基础上,模拟生成完成上妆后的结果图像。依据当前帧图像、初始帧图像和该结果图像来确定当前帧图像对应的当前化妆进度。该方法无需采用深度学习模型,运算量小,成本低,减少了服务器的处理压力,提高了化妆进度检测的效率,能够满足化妆进度检测的实时性要求。
参见图1,该方法具体包括以下步骤:
步骤101:获取用户化妆视频中的初始帧图像和当前帧图像。
本申请实施例的执行主体为服务器。用户的手机或电脑等终端上安装有与服务器提供的化妆进度检测服务相适配的客户端。当用户需要使用化妆进度检测服务时,用户打开终端上的该客户端,客户端显示多种化妆类型对应的化妆进度检测入口,多种化妆类型包括高光/修容、粉底/散粉、遮瑕、口红等。用户选择粉底/散粉等目标类型对应的化妆进度检测入口后,客户端显示的界面中设置有视频上传接口,当检测到用户点击该视频上传接口时,调用终端的摄像装置拍摄用户的化妆视频,在拍摄过程中用户在自己的脸部进行上述目标类型的上妆操作。用户的终端将拍摄的化妆视频以视频流的形式传输给服务器。服务器接收用户的终端传输的该化妆视频的每一帧图像。
在本申请的另一些实施例中,服务器获得用户的化妆视频的初始帧图像和当前帧图像后,还检测初始帧图像和当前帧图像中是否均仅包含同一个用户的人脸图像。首先检测初始帧图像和当前帧图像中是否均仅包含一个人脸图像,若初始帧图像和/或当前帧图像中包含多个人脸图,或者,初始帧图像和/或当前帧图像中不包含人脸图像,则发送第二提示信息给用户的终端。用户的终端接收并显示第二提示信息,以提示用户保持化妆视频中仅出现同一个用户的人脸。例如,第二提示信息可以为“请保持镜头内仅出现同一个人的人脸”。
若检测出初始帧图像和当前帧图像中均仅包含一个人脸图像,则进一步判断初始帧图像中的人脸图像与当前帧图像中的人脸图像是否属于同一个用户。具体地,可以通过人脸识别技术提取初始帧图像中人脸图像对应的人脸特征信息,以及提取当前帧图像中人脸图像对应的人脸特征信息,计算这两帧图像中提取的人脸特征信息的相似度,若计算的相似度大于或等于设定值,则确定初始帧图像和当前帧图像中的人脸属于同一用户,后续通过下述步骤102和103的操作来确定当前帧图像对应的当前化妆进度。若计算的相似度小于设定值,则确定初始帧图像和当前帧图像中的人脸属于不同用户,则发送第二提示信息给用户的终端。用户的终端接收并显示第二提示信息,以提示用户保持化妆视频中仅出现同一个用户的人脸。
在本申请实施例中,服务器将接收到的第一帧图像作为初始帧图像,以该初始帧图像作为参考来比对后续接收到的每一帧图像对应的当前化妆进度。由于对于后续每一帧图像的处理方式都相同,因此本申请实施例以当前时刻接收到的当前帧图像为例来阐述化妆进度检测的过程。
服务器通过本步骤获得用户化妆视频的初始帧图像和当前帧图像后,通过如下步骤102和103的操作来确定用户的当前化妆进度。
步骤102:根据初始帧图像,模拟生成完成目标类型的上妆后的结果图像。
利用3D渲染技术在初始帧图像上渲染完成目标类型的上妆的效果,得到结果图像。例如,若目标类型为粉底,则通过3D渲染技术在初始帧图像上渲染出完成粉底上妆后的结果图像。
步骤103:根据初始帧图像、结果图像和当前帧图像,确定当前帧图像对应的当前化妆进度。
服务器具体通过如下步骤S1-S3的操作来确定当前化妆进度,包括:
S1:分别获取初始帧图像、结果图像和当前帧图像对应的整体图像亮度。
对于初始帧图像,首先将初始帧图像转换为灰度图像,然后计算转换后初始帧图像对应的灰度图像中所有像素点的灰度平均值,将计算的灰度平均值确定为初始帧图像对应的整体图像亮度。
对于结果图像和当前帧图像,按照同样地方式计算结果图像对应的灰度图像中所有像素点的灰度平均值,得到结果图像对应的整体图像亮度。以及计算当前帧图像对应的灰度图像中所有像素点的灰度平均值,得到当前帧图像对应的整体图像亮度。
其中,整体图像亮度包含了图像中人脸区域的亮度及人脸所处背景的环境亮度。
S2:分别获取初始帧图像、结果图像和当前帧图像对应的人脸区域亮度。
服务器具体通过如下步骤S21-S23的操作来获取各图像对应的人脸区域亮度,具体包括:
S21:分别获取初始帧图像、结果图像和当前帧图像各自对应的人脸区域图像。
获取初始帧图像、结果图像和当前帧图像各自对应的人脸区域图像的具体操作过程相同,在此以初始帧图像为例详细说明获取人脸区域图像的过程。
首先检测初始帧图像对应的第一人脸关键点。服务器中配置了预先训练好的用于检测人脸关键点的检测模型,通过该检测模型提供人脸关键点检测的接口服务。服务器调用人脸关键点检测的接口服务,通过检测模型识别出初始帧图像中用户脸部的所有人脸关键点,将初始帧图像中检测出的所有人脸关键点均称为第一人脸关键点。
其中,识别出的人脸关键点包括用户脸部轮廓上的关键点及嘴巴、鼻子、眼睛、眉毛等部位的关键点。识别出的人脸关键点的数目可以为106个。
本申请实施例根据检测出的第一人脸关键点,从初始帧图像中截取出人脸区域图像。由于初始帧图像中人脸的姿态很可能存在歪头的情况,在这种情况下依据第一人脸关键点从初始帧图像中截取出的人脸区域图像中会包含较多的背景部分,导致后续依据截取的人脸区域图像计算人脸区域亮度的误差较大。因此在从初始帧图像中截取出人脸区域图像之前,还对初始帧图像中的人脸进行旋转矫正,使矫正后人脸两眼中心连线与水平线平行,以尽量减少后续截取出的人脸区域图像中包含的背景部分。
具体地,服务器根据第一人脸关键点,对初始帧图像及第一人脸关键点进行旋转矫正。首先根据第一人脸关键点包括的左眼关键点和右眼关键点,分别确定左眼中心坐标和右眼中心坐标。具体从第一人脸关键点确定出左眼区域的全部左眼关键点及右眼区域的全部右眼关键点。对确定出的全部左眼关键点的横坐标取均值,以及对全部左眼关键点的纵坐标取均值,将左眼对应的横坐标的均值和纵坐标的均值组成一个坐标,将该坐标确定为左眼中心坐标。按照同样的方式确定出右眼中心坐标。
然后根据左眼中心坐标和右眼中心坐标,确定初始帧图像对应的旋转角度及旋转中心点坐标。如图2所示,根据左眼中心坐标和右眼中心坐标计算出两个坐标的水平差值dx和竖直差值dy,以及计算出左眼中心坐标和右眼中心坐标的两眼连线长度d。依据两眼连线长度d、水平差值dx和竖直差值dy,计算出两眼连线与水平方向的夹角θ,该夹角θ即为初始帧图像对应的旋转角度。然后根据左眼中心坐标和右眼中心坐标计算出两眼连线的中心点坐标,该中点点坐标即为初始帧图像对应的旋转中心点坐标。
根据计算出的旋转角度和旋转中心点坐标,对初始帧图像及第一人脸关键点进行旋转矫正。具体将旋转角度和旋转中心点坐标输入用于计算图片的旋转矩阵的预设函数中,该预设函数可以为OpenCV中的函数cv2.getRotationMatrix2D()。通过调用该预设函数获得初始帧图像对应的旋转矩阵。然后计算初始帧图像和该旋转矩阵的乘积,得到矫正后的初始帧图像。利用旋转矩阵对初始帧图像进行矫正的操作,也可以通过调用OpenCV中的函数cv2.warpAffine()来完成。
对于第一人脸关键点,需要对每个第一人脸关键点逐一进行矫正,以与矫正后的初始帧图像相对应。在对第一人脸关键点逐一矫正时,需要进行两次坐标系的转换,第一次将以初始帧图像左上角为原点的坐标系转化为以左下角为原点的坐标系,第二次进一步将以左下角为原点的坐标系转化为以上述旋转中心点坐标为坐标原点的坐标系,如图3所示。经过两次坐标系转换后对每个第一人脸关键点进行如下公式(1)的转换,可完成对第一人脸关键点的旋转矫正。
在公式(1)中,x0、y0分别为旋转矫正前第一人脸关键点的横坐标和纵坐标,x、y分别为旋转矫正后第一人脸关键点的横坐标和纵坐标,θ为上述旋转角度。
经过矫正后的初始帧图像和第一人脸关键点是基于整张图像的,整张图像不仅包含用户的人脸信息,还包括其他多余的图像信息,因此需要从矫正后的初始帧图像中将人脸区域裁剪出来。
具体根据矫正后的第一人脸关键点,从矫正后的初始帧图像中截取包含人脸区域的图像。首先从矫正后的第一人脸关键点中确定最小横坐标值、最小纵坐标值、最大横坐标值和最大纵坐标值。然后根据最小横坐标值、最小纵坐标值、最大横坐标值和最大纵坐标值,确定矫正后的初始帧图像中人脸区域对应的截取框。具体地,将最小横坐标值和最小纵坐标值组成一个坐标点,将该坐标点作为人脸区域对应的截取框的左上角顶点。将最大横坐标值和最大纵坐标值组成另一个坐标点,将该坐标点作为人脸区域对应的截取框的右下角顶点。根据上述左上角顶点和右下角顶点在矫正后的初始帧图像中确定截取框的位置,从矫正后的初始帧图像中截取出位于该截取框内的图像,即截取出包含人脸区域的图像。
在本申请的另一些实施例中,为了确保将用户的全部的人脸区域截取出来,避免截取不完整导致后续化妆进度检测误差很大的情况发生,还可以将上述截取框放大预设倍数,该预设倍数可以为1.15或1.25等。本申请实施例并不限制预设倍数的具体取值,实际应用中可根据需求来设定该预设倍数。将上述截取框向周围放大预设倍数之后,从矫正后的初始帧图像中截取出位于放大后的截取框中的图像,从而截取出包含用户的完整人脸区域的图像。
通过上述方式从矫正后的初始帧图像中截取出人脸区域的图像后,还将包含人脸区域的图像缩放至预设尺寸,得到初始帧图像对应的人脸区域图像。该预设尺寸可以为390×390或400×400等。本申请实施例并不限制预设尺寸的具体取值,实际应用中可根据需求进行设定。
对于结果图像和当前帧图像,都按照上述方式分别获取结果图像对应的人脸区域图像和当前帧图像对应的人脸区域图像。
由于对当前帧图像、结果图像和初始帧图像中的人脸都进行了旋转矫正,三者的人脸区域图像中人脸的姿态角度相同,因此三个人脸区域图像中包含的背景部分几乎相同,且三者的人脸区域图像的尺寸相同,如此除三个人脸区域图像中人脸区域的像素点的像素值不同以外,最大程度上确保了三个人脸区域图像的其他方面保持一致,大大提高了依据三个人脸区域图像来检测化妆进度的准确性。
在本申请的另一些实施例中,通过上述方式获得当前帧图像、结果图像和初始帧图像各自对应的人脸区域图像后,还根据预设尺寸的高斯核,对获得的各个人脸区域图像进行高斯滤波处理。高斯滤波的高斯核是高斯滤波处理的关键参数,高斯核选取过小,则不能达到很好的滤波效果,高斯核选取过大,虽然能过滤掉图像中的噪声信息,但同时会平滑掉图像中有用的信息。本申请实施例选取预设尺寸的高斯核,预设尺寸可以为9×9。此外高斯滤波函数的另一组参数sigmaX、sigmaY均设置为0,经过高斯滤波后,各个人脸区域图像的图像信息更加平滑,能够提高后续获取化妆进度的准确性。
S22:分别将初始帧图像、结果图像和当前帧图像各自对应的人脸区域图像转换为人脸灰度图像。
S23:分别计算初始帧图像、结果图像和当前帧图像各自对应的人脸灰度图像中像素点的灰度平均值,得到初始帧图像、结果图像和当前帧图像各自对应的人脸区域亮度。
将初始帧图像对应的人脸区域图像转换为人脸灰度图像,计算该人脸灰度图像中所有像素点的灰度平均值,将该灰度平均值确定为初始帧图像对应的人脸区域亮度。按照同样的方式,分别计算出结果图像对应的人脸区域亮度和当前帧图像对应的人脸区域亮度。
上述步骤S1和S2可以并行执行,也可以串行执行,本申请实施例并不限制步骤S1和S2的执行顺序。通过上述步骤S1和S2分别获得初始帧图像对应的整体图像亮度和人脸区域亮度、结果图像对应的整体图像亮度和人脸区域亮度、当前帧图像对应的整体图像亮度和人脸区域亮度,之后通过如下步骤S3的操作来确定当前化妆进度。
S3:根据初始帧图像、结果图像和当前帧图像各自对应的整体图像亮度和人脸区域亮度,确定当前帧图像对应的当前化妆进度。
由于用户在一定的亮度环境下进行目标类型的上妆,用户脸部的亮度叠加了上妆效果和环境光线两方面的影响,所以在确定当前化妆进度时需要消除环境光线的影响,只考虑人脸图像中因上妆效果造成的亮度变化,确保获得的当前化妆进度的准确性。
对于当前帧图像与初始帧图像之间的环境变化,根据初始帧图像对应的整体图像亮度和人脸区域亮度以及当前帧图像对应的整体图像亮度和人脸区域亮度,确定当前帧图像对应的第一环境变化亮度。具体地,计算初始帧图像对应的整体图像亮度与初始帧图像对应的人脸区域亮度之间的差值,该差值即为初始帧图像中所有背景部分的亮度,称为初始帧图像的环境亮度。以及计算当前帧图像对应的整体图像亮度与当前帧图像对应的人脸区域亮度之间的差值,该差值即为当前帧图像中所有背景部分的亮度,称为当前帧图像的环境亮度。计算当前帧图像的环境亮度与初始帧图像的环境亮度之间的差值绝对值,将该差值绝对值确定为当前帧图像对应的第一环境变化亮度。第一环境变化亮度体现了当前帧图像与初始帧图像之间环境亮度的变化情况。
由于结果图像是在初始帧图像的基础上渲染目标类型的上妆效果而得到的,因此可能受渲染操作的影响,使得结果图像中背景部分的亮度与初始帧图像中背景部分的亮度不一致,即结果图像和初始帧图像之间也可能存在环境亮度变化。因此本申请实施例还根据初始帧图像对应的整体图像亮度和人脸区域亮度以及结果图像对应的整体图像亮度和人脸区域亮度,确定结果图像对应的第二环境变化亮度。具体地,计算结果图像对应的整体图像亮度与当前帧图像对应的人脸区域亮度之间的差值,该差值即为结果图像中所有背景部分的亮度,称为结果图像的环境亮度。计算结果图像的环境亮度与上述初始帧图像的环境亮度之间的差值绝对值,将该差值绝对值确定为结果图像对应的第二环境变化亮度。第二环境变化亮度体现了结果图像与初始帧图像之间环境亮度的变化情况。
通过上述方式获得第一环境变化亮度和第二环境变化亮度后,根据第一环境变化亮度、第二环境变化亮度、初始帧图像对应的人脸区域亮度、当前帧图像对应的人脸区域亮度、结果图像对应的人脸区域亮度,确定当前帧图像对应的当前化妆进度。
首先根据第一环境变化亮度、初始帧图像对应的人脸区域亮度、当前帧图像对应的人脸区域亮度,确定当前帧图像对应的上妆亮度变化值。具体地,计算当前帧图像对应的人脸区域亮度与初始帧图像对应的人脸区域亮度之间的差值,得到当前帧图像对应的总亮度变化值,该总亮度变化值中包含上妆效果带来的亮度变化及环境光线变化带来的亮度变化。计算该总亮度变化值与第一环境变化亮度之间的差值,得到当前帧图像对应的上妆亮度变化值。
通过上述方式计算出当前帧图像到参考帧图像人脸区域的总亮度变化值,并从总亮度变化值中扣除了当前帧图像到参考帧图像的环境亮度变化,得到的上妆亮度变化值更贴近于通过目标类型的上妆操作形成的实际亮度变化值,准确性很高。
然后根据第二环境变化亮度、初始帧图像对应的人脸区域亮度、结果图像对应的人脸区域亮度,确定结果图像对应的上妆亮度变化值。具体地,计算结果图像对应的人脸区域亮度与初始帧图像对应的人脸区域亮度之间的差值,得到结果图像对应的总亮度变化值,该总亮度变化值中包含完成目标类型的上妆所带来的亮度变化及生成结果图像所采用的渲染操作对背景部分形成的亮度变化。计算该总亮度变化值与第二环境变化亮度之间的差值,得到结果图像对应的上妆亮度变化值。
通过上述方式计算出结果图像到参考帧图像人脸区域的总亮度变化值,并从总亮度变化值中扣除了渲染操作对结果图像的背景部分造成的环境亮度变化,得到的上妆亮度变化值更贴近于完成目标类型的上妆操作形成的实际亮度变化值,准确性很高。
最后计算当前帧图像对应的上妆亮度变化值与结果图像对应的上妆亮度变化值的比值,得到当前帧图像对应的当前化妆进度。
通过计算当前帧图像中因上妆造成的上妆亮度变化值与结果图像中上妆完成造成的上妆亮度变化值之间的比值,能够准确得到当前帧图像对应的当前化妆进度。在该过程中剔除了环境亮度变化的影响,大大提高了检测化妆进度的准确性。
在本申请的另一些实施例中,用户上妆过程中环境亮度可能会出现较大变化,如突然变亮或突然变暗等情况。环境亮度变化较大时对人脸区域亮度的变化有很大影响,使得化妆进度检测的准确性降低。因此本申请实施例通过上述方式获得当前帧图像到参考帧图像的第一环境变化亮度之后,还将第一环境变化亮度与预设阈值进行比较,预设阈值可以为50或60等,本申请实施例并不限制预设阈值的具体取值,实际应用中可根据需求进行设定。
若比较出第一环境变化亮度小于或等于预设阈值,则确定当前帧图像与参考帧图像之间环境亮度变化不大,按照上述方式继续确定当前帧图像对应的当前化妆进度。
若比较出第一环境变化亮度大于预设阈值,则表明当前帧图像与参考帧图像之间环境亮度变化很大,则直接将上一帧图像对应的化妆进度确定为当前帧图像对应的当前化妆进度。并发送第一提示信息给用户的终端,用户的终端接收并显示第一提示信息,以提示用户回到初始帧图像对应的亮度环境下上妆。
如此能够在环境亮度变化很大的情况下,直接以上一帧图像对应的化妆进度作为当前化妆进度,节省运算资源。且避免检测的化妆进度突然大幅增加或减少的情况,提高化妆进度检测的稳定性和准确性。
通过上述任一方式确定出当前化妆进度后,服务器发送该当前化妆进度给用户的终端。用户的终端接收到当前化妆进度后,显示该当前化妆进度。当前化妆进度可以为比值或百分数。终端可以通过进度条的形式来显示当前化妆进度。
在用户化妆的过程中,通过本申请实施例提供的化妆进度检测方法,实时检测第一帧图像之后的每帧图像相对于第一帧图像的化妆进度,并将检测的化妆进度显示给用户,使用户能够直观地看到自己的化妆进度,提高化妆效率。
为了便于理解本申请实施例提供的方法,下面结合附图进行说明。如图4所示,A1:获取用户化妆视频中的初始帧图像和当前帧图像。A2:在初始帧图像上渲染完成目标类型的上妆的效果,得到结果图像。A3:分别获取初始帧图像、结果图像和当前帧图像对应的整体图像亮度,然后并行执行步骤A6和A7。A4:分别获取初始帧图像、结果图像和当前帧图像各自对应的人脸区域图像。A5:分别获取初始帧图像、结果图像和当前帧图像各自对应的人脸区域图像的人脸区域亮度,然后并行执行步骤A6和A7。A6:根据初始帧图像对应的整体图像亮度和人脸区域亮度以及当前帧图像对应的整体图像亮度和人脸区域亮度,确定当前帧图像对应的第一环境变化亮度,然后并行执行步骤A8和A9。A7:根据初始帧图像对应的整体图像亮度和人脸区域亮度以及结果图像对应的整体图像亮度和人脸区域亮度,确定结果图像对应的第二环境变化亮度,然后并行执行步骤A8和A9。A8:根据第一环境变化亮度、初始帧图像对应的人脸区域亮度、当前帧图像对应的人脸区域亮度,确定当前帧图像对应的上妆亮度变化值,然后执行步骤A10。A9:根据第二环境变化亮度、初始帧图像对应的人脸区域亮度、结果图像对应的人脸区域亮度,确定结果图像对应的上妆亮度变化值。A10:计算当前帧图像对应的上妆亮度变化值与结果图像对应的上妆亮度变化值的比值,得到当前帧图像对应的当前化妆进度。
如图5所示,根据参考帧图像及其对应的第一人脸关键点、当前帧图像及其对应的第二人脸关键点以及结果图像及其对应的第三人脸关键点,分别计算出三张图像各自对应的整体图像亮度。然后根据各个图像对应的人脸关键点信息分别对三张图像中的人脸进行校正和裁剪,分别得到参考帧图像、当前帧图像和结果图像各自对应的人脸区域图像。分别计算裁剪得到的三个人脸区域图像对应的人脸区域亮度。依据各图像对应的整体图像亮度和人脸区域亮度,计算当前帧图像对应的第一环境变化亮度。若第一环境变化亮度大于预设阈值,则提示用户回到初始帧图像对应的亮度环境下上妆。若第一环境变化亮度小于或等于预设阈值,则计算当前帧图像的人脸区域亮度与初始帧图像的人脸区域亮度之间的亮度差,计算该亮度差与第一环境变化亮度之间的差值。以及计算结果图像的人脸区域亮度与初始帧图像的人脸区域亮度之间的亮度差,计算该亮度差与第二环境变化亮度之间的差值。计算当前帧图像对应的上述差值与结果图像对应的上述差值之间的比值,即得到当前化妆进度。
在本申请实施例中,在用户化妆过程的初始帧图像的基础上,模拟生成完成上妆后的结果图像。依据当前帧图像、初始帧图像和该结果图像中人脸区域的亮度变化来确定当前化妆进度,且从人脸区域的亮度变化中扣除了环境亮度变化的影响,大大提高了化妆进度检测的准确性,且未采用深度学习模型,无需预先收集大量数据,运算量小,成本低,减少了服务器的处理压力,提高了化妆进度检测的效率,能够满足化妆进度检测的实时性要求。
本申请实施例还提供一种化妆进度检测装置,该用于执行上述任一实施例提供的化妆进度检测方法。如图6所示,该装置包括:
获取模块201,用于获取用户化妆视频中的初始帧图像和当前帧图像;
生成模块202,用于根据初始帧图像,模拟生成完成目标类型的上妆后的结果图像;
确定模块203,用于根据初始帧图像、结果图像和当前帧图像,确定当前帧图像对应的当前化妆进度。
确定模块203,用于分别获取初始帧图像、结果图像和当前帧图像对应的整体图像亮度;分别获取初始帧图像、结果图像和当前帧图像对应的人脸区域亮度;根据初始帧图像、结果图像和当前帧图像各自对应的整体图像亮度和人脸区域亮度,确定当前帧图像对应的当前化妆进度。
确定模块203,用于分别将初始帧图像、结果图像和当前帧图像转换为灰度图像;分别计算转换后初始帧图像、结果图像和当前帧图像各自对应的灰度图像中像素点的灰度平均值;将初始帧图像、结果图像和当前帧图像各自对应的灰度平均值分别确定为初始帧图像、结果图像和当前帧图像各自对应的整体图像亮度。
确定模块203,用于分别获取初始帧图像、结果图像和当前帧图像各自对应的人脸区域图像;分别将初始帧图像、结果图像和当前帧图像各自对应的人脸区域图像转换为人脸灰度图像;分别计算初始帧图像、结果图像和当前帧图像各自对应的人脸灰度图像中像素点的灰度平均值,得到初始帧图像、结果图像和当前帧图像各自对应的人脸区域亮度。
确定模块203,用于根据初始帧图像对应的整体图像亮度和人脸区域亮度以及当前帧图像对应的整体图像亮度和人脸区域亮度,确定当前帧图像对应的第一环境变化亮度;根据初始帧图像对应的整体图像亮度和人脸区域亮度以及结果图像对应的整体图像亮度和人脸区域亮度,确定结果图像对应的第二环境变化亮度;根据第一环境变化亮度、第二环境变化亮度、初始帧图像对应的人脸区域亮度、当前帧图像对应的人脸区域亮度、结果图像对应的人脸区域亮度,确定当前帧图像对应的当前化妆进度。
确定模块203,用于计算初始帧图像对应的整体图像亮度与其对应的人脸区域亮度之间的差值,得到初始帧图像的环境亮度;计算当前帧图像对应的整体图像亮度与其对应的人脸区域亮度之间的差值,得到当前帧图像的环境亮度;将当前帧图像的环境亮度与初始帧图像的环境亮度之间的差值绝对值确定为当前帧图像对应的第一环境变化亮度。
确定模块203,用于根据第一环境变化亮度、初始帧图像对应的人脸区域亮度、当前帧图像对应的人脸区域亮度,确定当前帧图像对应的上妆亮度变化值;根据第二环境变化亮度、初始帧图像对应的人脸区域亮度、结果图像对应的人脸区域亮度,确定结果图像对应的上妆亮度变化值;计算当前帧图像对应的上妆亮度变化值与结果图像对应的上妆亮度变化值的比值,得到当前帧图像对应的当前化妆进度。
确定模块203,用于计算当前帧图像对应的人脸区域亮度与初始帧图像对应的人脸区域亮度之间的差值,得到当前帧图像对应的总亮度变化值;计算总亮度变化值与第一环境变化亮度之间的差值,得到当前帧图像对应的上妆亮度变化值。
确定模块203,还用于若第一环境变化亮度大于预设阈值,则将上一帧图像对应的化妆进度确定为当前帧图像对应的当前化妆进度;
该装置还包括:发送模块,用于发送第一提示信息给用户的终端,第一提示信息用于提示用户回到初始帧图像对应的亮度环境下上妆。
确定模块203,还用于检测初始帧图像对应的第一人脸关键点;根据第一人脸关键点,对初始帧图像及第一人脸关键点进行旋转矫正;根据矫正后的第一人脸关键点,从矫正后的初始帧图像中截取包含人脸区域的图像;将包含人脸区域的图像缩放至预设尺寸,得到初始帧图像对应的人脸区域图像。
确定模块203,还用于根据第一人脸关键点包括的左眼关键点和右眼关键点,分别确定左眼中心坐标和右眼中心坐标;根据左眼中心坐标和右眼中心坐标,确定初始帧图像对应的旋转角度及旋转中心点坐标;根据旋转角度和旋转中心点坐标,对初始帧图像及第一人脸关键点进行旋转矫正。
确定模块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 (18)
1.一种化妆进度检测方法,其特征在于,包括:
获取用户化妆视频中的初始帧图像和当前帧图像;
根据所述初始帧图像,模拟生成完成目标类型的上妆后的结果图像;
根据所述初始帧图像、所述结果图像和所述当前帧图像,确定所述当前帧图像对应的当前化妆进度。
2.根据权利要求1所述的方法,其特征在于,所述根据所述初始帧图像、所述结果图像和所述当前帧图像,确定所述当前帧图像对应的当前化妆进度,包括:
分别获取所述初始帧图像、所述结果图像和所述当前帧图像对应的整体图像亮度;
分别获取所述初始帧图像、所述结果图像和所述当前帧图像对应的人脸区域亮度;
根据所述初始帧图像、所述结果图像和所述当前帧图像各自对应的整体图像亮度和人脸区域亮度,确定所述当前帧图像对应的当前化妆进度。
3.根据权利要求2所述的方法,其特征在于,所述分别获取所述初始帧图像、所述结果图像和所述当前帧图像对应的整体图像亮度,包括:
分别将所述初始帧图像、所述结果图像和所述当前帧图像转换为灰度图像;
分别计算转换后所述初始帧图像、所述结果图像和所述当前帧图像各自对应的灰度图像中像素点的灰度平均值;
将所述初始帧图像、所述结果图像和所述当前帧图像各自对应的灰度平均值分别确定为所述初始帧图像、所述结果图像和所述当前帧图像各自对应的整体图像亮度。
4.根据权利要求2所述的方法,其特征在于,所述分别获取所述初始帧图像、所述结果图像和所述当前帧图像对应的人脸区域亮度,包括:
分别获取所述初始帧图像、所述结果图像和所述当前帧图像各自对应的人脸区域图像;
分别将所述初始帧图像、所述结果图像和所述当前帧图像各自对应的人脸区域图像转换为人脸灰度图像;
分别计算所述初始帧图像、所述结果图像和所述当前帧图像各自对应的人脸灰度图像中像素点的灰度平均值,得到所述初始帧图像、所述结果图像和所述当前帧图像各自对应的人脸区域亮度。
5.根据权利要求2-4任一项所述的方法,其特征在于,所述根据所述初始帧图像、所述结果图像和所述当前帧图像各自对应的整体图像亮度和人脸区域亮度,确定所述当前帧图像对应的当前化妆进度,包括:
根据所述初始帧图像对应的整体图像亮度和人脸区域亮度以及所述当前帧图像对应的整体图像亮度和人脸区域亮度,确定所述当前帧图像对应的第一环境变化亮度;
根据所述初始帧图像对应的整体图像亮度和人脸区域亮度以及所述结果图像对应的整体图像亮度和人脸区域亮度,确定所述结果图像对应的第二环境变化亮度;
根据所述第一环境变化亮度、所述第二环境变化亮度、所述初始帧图像对应的人脸区域亮度、所述当前帧图像对应的人脸区域亮度、所述结果图像对应的人脸区域亮度,确定所述当前帧图像对应的当前化妆进度。
6.根据权利要求5所述的方法,其特征在于,所述根据所述初始帧图像对应的整体图像亮度和人脸区域亮度以及所述当前帧图像对应的整体图像亮度和人脸区域亮度,确定所述当前帧图像对应的第一环境变化亮度,包括:
计算所述初始帧图像对应的整体图像亮度与其对应的人脸区域亮度之间的差值,得到所述初始帧图像的环境亮度;
计算所述当前帧图像对应的整体图像亮度与其对应的人脸区域亮度之间的差值,得到所述当前帧图像的环境亮度;
将所述当前帧图像的环境亮度与所述初始帧图像的环境亮度之间的差值绝对值确定为所述当前帧图像对应的第一环境变化亮度。
7.根据权利要求5所述的方法,其特征在于,所述根据所述第一环境变化亮度、所述第二环境变化亮度、所述初始帧图像对应的人脸区域亮度、所述当前帧图像对应的人脸区域亮度、所述结果图像对应的人脸区域亮度,确定所述当前帧图像对应的当前化妆进度,包括:
根据所述第一环境变化亮度、所述初始帧图像对应的人脸区域亮度、所述当前帧图像对应的人脸区域亮度,确定所述当前帧图像对应的上妆亮度变化值;
根据所述第二环境变化亮度、所述初始帧图像对应的人脸区域亮度、所述结果图像对应的人脸区域亮度,确定所述结果图像对应的上妆亮度变化值;
计算所述当前帧图像对应的上妆亮度变化值与所述结果图像对应的上妆亮度变化值的比值,得到所述当前帧图像对应的当前化妆进度。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第一环境变化亮度、所述初始帧图像对应的人脸区域亮度、所述当前帧图像对应的人脸区域亮度,确定所述当前帧图像对应的上妆亮度变化值,包括:
计算所述当前帧图像对应的人脸区域亮度与所述初始帧图像对应的人脸区域亮度之间的差值,得到所述当前帧图像对应的总亮度变化值;
计算所述总亮度变化值与所述第一环境变化亮度之间的差值,得到所述当前帧图像对应的上妆亮度变化值。
9.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述第一环境变化亮度大于预设阈值,则将上一帧图像对应的化妆进度确定为所述当前帧图像对应的当前化妆进度;
发送第一提示信息给所述用户的终端,所述第一提示信息用于提示所述用户回到所述初始帧图像对应的亮度环境下上妆。
10.根据权利要求4所述的方法,其特征在于,获取所述初始帧图像对应的人脸区域图像,包括:
检测所述初始帧图像对应的第一人脸关键点;
根据所述第一人脸关键点,对所述初始帧图像及所述第一人脸关键点进行旋转矫正;
根据矫正后的所述第一人脸关键点,从矫正后的所述初始帧图像中截取包含人脸区域的图像;
将所述包含人脸区域的图像缩放至预设尺寸,得到所述初始帧图像对应的人脸区域图像。
11.根据权利要求10所述的方法,其特征在于,所述根据所述第一人脸关键点,对所述初始帧图像及所述第一人脸关键点进行旋转矫正,包括:
根据所述第一人脸关键点包括的左眼关键点和右眼关键点,分别确定左眼中心坐标和右眼中心坐标;
根据所述左眼中心坐标和所述右眼中心坐标,确定所述初始帧图像对应的旋转角度及旋转中心点坐标;
根据所述旋转角度和所述旋转中心点坐标,对所述初始帧图像及所述第一人脸关键点进行旋转矫正。
12.根据权利要求10所述的方法,其特征在于,所述根据矫正后的所述第一人脸关键点,从矫正后的所述初始帧图像中截取包含人脸区域的图像,包括:
从矫正后的所述第一人脸关键点中确定最小横坐标值、最小纵坐标值、最大横坐标值和最大纵坐标值;
根据所述最小横坐标值、所述最小纵坐标值、所述最大横坐标值和所述最大纵坐标值,确定矫正后的所述初始帧图像中人脸区域对应的截取框;
根据所述截取框,从矫正后的所述初始帧图像中截取出包含所述人脸区域的图像。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
将所述截取框放大预设倍数;
根据放大后的所述截取框,从矫正后的所述初始帧图像中截取出包含所述人脸区域的图像。
14.根据权利要求1-4、10-13任一项所述的方法,其特征在于,所述获取用户化妆视频中的初始帧图像和当前帧图像之后,还包括:
检测所述初始帧图像和所述当前帧图像中是否均仅包含同一个用户的人脸图像;
如果是,则执行所述模拟生成完成目标类型的上妆后的结果图像的操作;
如果否,则发送第二提示信息给所述用户的终端,所述第二提示信息用于提示所述用户保持所述化妆视频中仅出现同一个用户的人脸。
15.根据权利要求1-4、10-13任一项所述的方法,其特征在于,所述方法还包括:
发送所述当前化妆进度给所述用户的终端,以使所述用户的终端显示所述当前化妆进度。
16.一种化妆进度检测装置,其特征在于,包括:
获取模块,用于获取用户化妆视频中的初始帧图像和当前帧图像;
生成模块,用于根据所述初始帧图像,模拟生成完成目标类型的上妆后的结果图像;
确定模块,用于根据所述初始帧图像、所述结果图像和所述当前帧图像,确定所述当前帧图像对应的当前化妆进度。
17.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序以实现如权利要求1-15任一项所述的方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行实现如权利要求1-15中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111015214.2A CN113837016A (zh) | 2021-08-31 | 2021-08-31 | 一种化妆进度检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111015214.2A CN113837016A (zh) | 2021-08-31 | 2021-08-31 | 一种化妆进度检测方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113837016A true CN113837016A (zh) | 2021-12-24 |
Family
ID=78961944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111015214.2A Pending CN113837016A (zh) | 2021-08-31 | 2021-08-31 | 一种化妆进度检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113837016A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009182865A (ja) * | 2008-01-31 | 2009-08-13 | Sharp Corp | 画像表示装置及び方法、画像処理装置及び画像処理方法 |
JP2009213751A (ja) * | 2008-03-12 | 2009-09-24 | Sony Ericsson Mobilecommunications Japan Inc | 化粧評価プログラム、化粧評価方法および化粧評価装置 |
US20110310268A1 (en) * | 2010-06-16 | 2011-12-22 | Seiko Epson Corporation | Image-capturing device and timing control circuit |
US20160357578A1 (en) * | 2015-06-03 | 2016-12-08 | Samsung Electronics Co., Ltd. | Method and device for providing makeup mirror |
KR20160142742A (ko) * | 2015-06-03 | 2016-12-13 | 삼성전자주식회사 | 메이크업 거울을 제공하는 디바이스 및 방법 |
CN106294820A (zh) * | 2016-08-16 | 2017-01-04 | 深圳市金立通信设备有限公司 | 一种指导化妆的方法及终端 |
US20180268572A1 (en) * | 2015-12-25 | 2018-09-20 | Panasonic Intellectual Property Management Co., Ltd. | Makeup part generating apparatus, makeup part utilizing apparatus, makeup part generating method, makeup part utilizing method, non-transitory computer-readable recording medium storing makeup part generating program, and non-transitory computer-readable recording medium storing makeup part utilizing program |
CN108920490A (zh) * | 2018-05-14 | 2018-11-30 | 京东方科技集团股份有限公司 | 辅助化妆的实现方法、装置、电子设备以及存储介质 |
US20190065830A1 (en) * | 2017-08-24 | 2019-02-28 | Cal-Comp Big Data, Inc. | Body information analysis apparatus and eye shadow analysis method thereof |
CN111291642A (zh) * | 2020-01-20 | 2020-06-16 | 深圳市商汤科技有限公司 | 一种妆容处理方法、装置、电子设备及存储介质 |
WO2020119665A1 (zh) * | 2018-12-10 | 2020-06-18 | 深圳先进技术研究院 | 面肌训练方法、装置及电子设备 |
-
2021
- 2021-08-31 CN CN202111015214.2A patent/CN113837016A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009182865A (ja) * | 2008-01-31 | 2009-08-13 | Sharp Corp | 画像表示装置及び方法、画像処理装置及び画像処理方法 |
JP2009213751A (ja) * | 2008-03-12 | 2009-09-24 | Sony Ericsson Mobilecommunications Japan Inc | 化粧評価プログラム、化粧評価方法および化粧評価装置 |
US20110310268A1 (en) * | 2010-06-16 | 2011-12-22 | Seiko Epson Corporation | Image-capturing device and timing control circuit |
US20160357578A1 (en) * | 2015-06-03 | 2016-12-08 | Samsung Electronics Co., Ltd. | Method and device for providing makeup mirror |
KR20160142742A (ko) * | 2015-06-03 | 2016-12-13 | 삼성전자주식회사 | 메이크업 거울을 제공하는 디바이스 및 방법 |
US20180268572A1 (en) * | 2015-12-25 | 2018-09-20 | Panasonic Intellectual Property Management Co., Ltd. | Makeup part generating apparatus, makeup part utilizing apparatus, makeup part generating method, makeup part utilizing method, non-transitory computer-readable recording medium storing makeup part generating program, and non-transitory computer-readable recording medium storing makeup part utilizing program |
CN106294820A (zh) * | 2016-08-16 | 2017-01-04 | 深圳市金立通信设备有限公司 | 一种指导化妆的方法及终端 |
US20190065830A1 (en) * | 2017-08-24 | 2019-02-28 | Cal-Comp Big Data, Inc. | Body information analysis apparatus and eye shadow analysis method thereof |
CN108920490A (zh) * | 2018-05-14 | 2018-11-30 | 京东方科技集团股份有限公司 | 辅助化妆的实现方法、装置、电子设备以及存储介质 |
WO2020119665A1 (zh) * | 2018-12-10 | 2020-06-18 | 深圳先进技术研究院 | 面肌训练方法、装置及电子设备 |
CN111291642A (zh) * | 2020-01-20 | 2020-06-16 | 深圳市商汤科技有限公司 | 一种妆容处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
HYEONGIL NAM 等: "Interactive Pixel-unit AR Lip Makeup System Using RGB Camera", 《JOURNAL OF BROADCAST ENGINEERING》, vol. 25, no. 7, pages 1 - 10 * |
KRISTINA SCHERBAUM 等: "Computer-Suggested Facial Makeup", 《COMPUTER GRAPHICS FORUM》, vol. 30, no. 2, pages 485 - 492, XP055539179, DOI: 10.1111/j.1467-8659.2011.01874.x * |
唐文 等: "运用人脸识别技术的智能化妆镜设计", 《艺术教育》, pages 116 - 117 * |
张萌: "基于深度卷积神经网络的润饰图像检测方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 08, pages 138 - 711 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10783354B2 (en) | Facial image processing method and apparatus, and storage medium | |
CN107730444B (zh) | 图像处理方法、装置、可读存储介质和计算机设备 | |
CN109952594B (zh) | 图像处理方法、装置、终端及存储介质 | |
KR102279813B1 (ko) | 영상 변형 방법 및 장치 | |
CN106682632B (zh) | 用于处理人脸图像的方法和装置 | |
CN111008935B (zh) | 一种人脸图像增强方法、装置、系统及存储介质 | |
WO2020215283A1 (zh) | 人脸识别方法、处理芯片以及电子设备 | |
WO2017173578A1 (zh) | 一种图像增强方法及装置 | |
CN112348937A (zh) | 人脸图像处理方法及电子设备 | |
WO2023066120A1 (zh) | 图像处理方法、装置、电子设备及存储介质 | |
WO2022261828A1 (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN110910512B (zh) | 虚拟物体自适应调整方法、装置、计算机设备和存储介质 | |
CN111836058B (zh) | 用于实时视频播放方法、装置、设备以及存储介质 | |
US20160110909A1 (en) | Method and apparatus for creating texture map and method of creating database | |
CN107767326B (zh) | 图像中对象变换处理方法、装置及计算设备 | |
US20240013358A1 (en) | Method and device for processing portrait image, electronic equipment, and storage medium | |
JP6098133B2 (ja) | 顔構成部抽出装置、顔構成部抽出方法及びプログラム | |
CN113837019B (zh) | 一种化妆进度检测方法、装置、设备及存储介质 | |
CN115731591A (zh) | 一种化妆进度检测方法、装置、设备及存储介质 | |
CN113837016A (zh) | 一种化妆进度检测方法、装置、设备及存储介质 | |
TWI743413B (zh) | 獨照生成裝置和方法及其非揮發性電腦可讀媒體 | |
CN113837017B (zh) | 一种化妆进度检测方法、装置、设备及存储介质 | |
CN113837018B (zh) | 一种化妆进度检测方法、装置、设备及存储介质 | |
CN113837020B (zh) | 一种化妆进度检测方法、装置、设备及存储介质 | |
TWI630579B (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 |