本发明涉及脸部信息处理领域,具体而言,涉及用户气质确定方法及装置。
背景技术:
随着生活质量的提高,人们对外貌越来越重视。对于外貌气质不佳的人,通常会选择脸部整形的方式来提高自身的外貌气质。
在脸部整形领域,以及相关领域,整形医生通常会根据用户的实际情况来为用户确定相应的脸部整形策略,脸部整形策略如垫高某个脸上的某个部位、改变脸上某个部位的形态。在整形完成后,用户可以通过对比整形前后的照片来判断整形是否达到预期的目的。
气质整形是新型的整形方向,即通过整形的方式来提高个人的气质。
技术实现要素:
本发明的目的在于提供一种用户气质确定方法。
第一方面,本发明实施例提供了一种用户气质确定方法,包括:
获取用户的二维脸部图像;
将二维脸部图像输入至特征识别模型,以确定脸部特征点;
根据脸部特征点计算人脸特征信息;
根据人脸特征信息确定用户的气质。
第二方面,本发明实施例提供了一种用户气质确定装置,包括:
获取模块,用于获取用户的二维脸部图像;
输入模块,用于将二维脸部图像输入至特征识别模型,以确定脸部特征点;
计算模块,用于根据脸部特征点计算人脸特征信息;
确定模块,用于根据人脸特征信息确定用户的气质。
本发明实施例提供的用户气质确定方法,在实现时,首先获取了用户的二维脸部图像;而后,将二维脸部图像输入至特征识别模型,以确定脸部特征点;而后,根据脸部特征点计算人脸特征信息;最后,根据人脸特征信息确定用户的气质。通过引入了特征识别模型,使得确定用户脸部特征点的方式更加标准化,使得确定用户气质的方式更加合理。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的用户气质确定方法的基本流程图;
图2示出了本发明实施例所提供的用户气质确定方法中,二维正脸脸部图像的示意图;
图3示出了本发明实施例所提供的用户气质确定方法中,90°侧脸图像的示意图;
图4示出了本发明实施例所提供的用户气质确定方法中,45°侧脸图像的示意图;
图5示出了本发明实施例所提供的用户气质确定方法中,实例1所对应的脸部示意图;
图6示出了本发明实施例所提供的用户气质确定方法中,实例2所对应的脸部示意图;
图7示出了本发明实施例所提供的用户气质确定方法中,实例3所对应的脸部示意图;
图8示出了本发明实施例所提供的用户气质确定方法中,实例4所对应的脸部示意图;
图9示出了本发明实施例所提供的用户气质确定方法中,实例5所对应的脸部示意图;
图10示出了本发明实施例所提供的用户气质确定方法中,实例6所对应的脸部示意图;
图11示出了本发明实施例所提供的用户气质确定方法中,实例7所对应的脸部示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,用户气质的判断过程通常很大程度上会受到用户主观的影响,这使得对于用户气质的判断不够客观。
有鉴于此,本申请提供了一种用户气质确定方法,如图1所示,包括如下步骤:
s101,获取用户的二维脸部图像;
s102,将二维脸部图像输入至特征识别模型,以确定脸部特征点;
s103,根据脸部特征点计算人脸特征信息;
s104,根据人脸特征信息确定用户的气质。
其中,用户的脸部二维图像可以是通过摄像机进行拍摄后直接得到的,还可以是先获取用户的三维脸部图像,而后从三维脸部图像中映射出对应的二维脸部图像,该二维脸部图像可以是正脸图像、90°侧脸图像(与正脸图像的视角夹角为90的视角的图像),也可以是45°侧脸图像,当然,二维脸部图像也可以是其他角度的侧脸图像,但这三个角度的二维脸部图像(正脸图像、90°侧脸图像和45°侧脸图像)更具有针对性。
步骤s101中所生成的二维脸部图像可以是一个视角的图像(二维脸部图像只是一个图像),也可以是不同视角的图像(如二维脸部图像中同时包含有正脸图像和90°侧脸图像)。
步骤s102中,将二维脸部图像输入值特征识别模型,使得特征识别模型可以输出脸部特征点,具体而言,特征识别模型输出的可以是脸部特征点的具体坐标。
而后,步骤s103中,可以直接将脸部特征点的具体坐标作为人脸特征信息进行输出,比如左唇角点和右唇角点可以反应出嘴部的宽度,进而,可以直接将左唇角点和右唇角点作为人脸特征信息进行输出;也可以是先根据左唇角点和右唇角点计算出嘴部宽度,并将嘴部宽度进行输出。
具体实现的时候,步骤s102中所确定出的脸部特征点可能是多个,在该种情况下,步骤s103的具体实现过程可以是从多个脸部特征点中选择出可以输出的脸部特征点作为人脸特征信息。
在确定了人脸特征信息之后,可以直接依据人脸特征信息来确定用户的特征,比如,用户眼睛的大小,眼睛的形状都可以反应出用户的气质情况。需要说明的是,人脸特征信息实际上是有很多种的,通常,为了更加准确的确定用户的气质,应当在了解到足够多的人脸特征信息之后,再确定用户的气质(通常需要有5-10个或者更多的人脸特征信息后,才足够准确的确定用户的气质)。
如前文中的说明,二维脸部图像有两种获取方式,分别是直接通过2d摄像机对人脸进行拍摄后,获取到的;以及,先获取用户的三维脸部图像,而后从三维脸部图像中映射出对应的二维脸部图像。如果采用先获取用户的三维脸部图像的方式,则本申请所提供的方法中,步骤s101包括:
步骤1011,获取三维脸部图像;三维脸部图像是使用三维扫描装置对用户的脸部进行扫描得到的;
步骤1012,对三维脸部图像进行指定角度的映射,以确定二维脸部图像;所述二维脸部图像包括以下的任意一种或多种图像:正脸图像、90°侧脸图像和45°侧脸图像。
步骤1011中,可以是通过专门的3d人脸扫描装置对用户进行的人脸扫描。3d人脸扫描装置可以是手持式,也可以是落地式。扫描方式可以是扫描装置固定不动,人头部转动进行扫描;也可以是人头部固定不动,扫描装置中的摄像头自动的沿某个轨迹围绕人脸转动进行扫描。为保证扫描精度,优选使用落地式的3d人脸扫描装置,扫描装置中的摄像头自动的沿某个轨迹围绕人脸转动进行扫描的方式,完成3d扫描的工作。3d人脸扫描装置上优选设置有led照明设备和头顶固定单元,该led照明设备的主要作用是在进行3d拍摄的时候,提供照明;头顶固定单元在使用的时候,可以固定在用户的头部,以使用户的头部不会发生位移。
步骤1012中,主要是对步骤1011中的三维脸部图像按照指定的角度进行映射,以确定该指定角度所对应的二维脸部图像,映射的角度可以根据用户的实际情况来确定,但需要说明的是,步骤s102中特征识别模型通常只能针对某一个角度的二维脸部图像进行识别,因此,在执行步骤1012的时候,首先需要确定步骤s102中特征识别模型所能够识别的二维脸部图像的角度,并根据该角度确定步骤1012中指定角度的具体数值。
采用从三维脸部图像中映射二维图像的方式,优点在于3d扫描的过程中对人脸的角度没有过高的要求,扫描后的三维图像可根据设定的参数对人脸的角度进行自动调整,调整后映射的二维图像可直接使用。而通过摄像机拍摄二维图像,则需要人工提前摆正人脸的角度,进行拍摄。人脸摆正的角度要求严格,不易操作,获取的二维图像容易出现数据偏差。
具体的,步骤s102中,确定的脸部特征点可以是一个也可以是多个。通常情况下,这些脸部特征点按照在脸上的位置上的不同,可以分为不同的群组,脸部特征点包括以下的任意一个或多个特征群组:正脸特征群组、90°侧脸特征群组和45°侧脸特征群组;
同时,正脸特征群组包括以下的任意一个或多个特征点群组:外轮廓点群组、正眼部点群组、鼻部点群组和嘴部点群组;
90°侧脸特征群组包括以下的任意一个或多个特征点群组:
侧轮廓点群组、侧眼部点群组和耳部点群组;
45°侧脸特征群组包括以下的任意一个或多个特征点群组:
斜轮廓点群组;
外轮廓点群组包括以下任意一个或多个特征点:
额中点、左额角水平外延点、右额角水平外延点、左鬓角凸点、右鬓角凸点、左鬓角凹点、右鬓角凹点、左颧骨高点、右颧骨高点、左颧骨下缘点、右颧骨下缘点、左颌角点、右颌角点和颏底点;
正眼部点群组包括以下任意一个或多个特征点:
左上眉头起点、右上眉头起点、左眉尾点、右眉尾点、左上眼眶顶点、右上眼眶顶点、左眼内眦点、右眼内眦点、左上睑缘顶点、右上睑缘顶点、左眼外眦点、右眼外眦点、左下睑缘底点和右下睑缘底点;
鼻部点群组包括以下任意一个或多个特征点:
印堂点、左鼻翼宽点、右鼻翼宽点、左鼻孔顶点、右鼻孔顶点和鼻唇角点;
嘴部点群组包括以下任意一个或多个特征点:
唇谷点、左唇角点、右唇角点、下唇底点、唇珠中点和下内唇中点;
侧轮廓点群组包括以下任意一个或多个特征点:
侧额中点、侧下额过度点、侧额末点、侧印堂点、侧鼻山根点、侧鼻梁起点、侧鼻梁高点、侧鼻头起点、侧鼻头顶点、侧鼻孔顶点、侧鼻小柱中点、侧鼻唇角点、侧人中中点、侧上唇沿顶点、侧下唇下拐点、侧颏唇沟凹点、侧颏过度点、侧颏下缘点、侧颈颚拐点;
侧眼部点群组包括以下任意一个或多个特征点:
侧眼眶顶点、侧上睑外缘顶点、侧下睑外缘底点、侧鼻基底点和侧嘴角点;
耳部点群组包括以下任意一个或多个特征点:
侧对耳轮下脚缘点和侧耳垂底点;
斜轮廓点群组包括以下任意一个或多个特征点:
斜上颧点、斜颧骨拐点、斜颧骨过渡点、斜苹果肌高点、斜内面颊起点、斜内面颊点、斜内面颊末点和斜颏起点。
具体实现时,脸部特征点可以是外轮廓点群组、侧轮廓点群组、斜轮廓点群组、正眼部点群组、侧眼部点群组、鼻部点群组、嘴部点群组和耳部点群组中,任意一个或多个群组中的点。
为了更加准确的说明上述各个特征点的位置,下面以列表的形式说明各个特征点在脸上的具体位置,如表1-表3所示:
表1:二维正脸脸部图像(如图2所示)
表2:90°侧脸图像(如图3所示)
表3:45°侧脸图像(如图4所示)
具体实现时,表1中的特征点均是根据二维正脸脸部图像(二维脸部图像中的一种)确定的;表2中的特征点均是根据90°侧脸图像(二维脸部图像中的一种)确定的;表3中的特征点均是根据1-89°侧脸图像(二维脸部图像中的一种,如45°侧脸图像)确定的。
通过上述内容可知,不同角度的图像是用来确定不同的特征点的,比如二维正脸脸部图像是用来确定外轮廓点群组中的特征点、正眼部点群组中的特征点、鼻部点群组中的特征点和嘴部点群组中的特征点;90°侧脸图像是用来确定侧轮廓点群组中的特征点、侧眼部点群组中的特征点、耳部点群组中的特征点;45°侧脸图像是用来确定斜轮廓点群组中的特征点。
也就是步骤s102可以按照如下任意一种或多种方式执行:
第一种方式:将二维正脸脸部图像输入至特征识别模型,以确定正脸特征群组,正脸特征群组包括以下任意一个或多个群组中的特征点:外轮廓点群组、正眼部点群组、鼻部点群组和嘴部点群组;
第二种方式:将90°侧脸图像输入至特征识别模型,以确定90°侧脸特征群组,90°侧脸特征群组包括以下任意一个或多个群组中的特征点:侧轮廓点群组、侧眼部点群组、耳部点群组;
第三种方式:将45°侧脸图像输入至特征识别模型,以确定45°侧脸特征群组,45°侧脸特征群组包括以下群组中的特征点:
斜轮廓点群组。
通过上述表1-3中的特征点,用户可以自行选择使用哪些特征点来计算人脸特征信息,即,计算某些脸部区域的评分,具体的,
人脸特征信息包括以下的任意一个或多个特征信息:
正脸特征信息、90°侧脸特征信息和45°侧脸特征信息;
正脸特征信息包括以下的任意一个或多个:
脸部长宽比、上庭长度、额面宽、颞宽、颧宽、外面颊饱满度、颌宽、下庭长度、下颏长度、对称度、五官分布评价值、眉尾长、眉扬角、眉间距、眉眼间距、眼长、眼裂大小、眼大小、眼扬角、眼间距、中庭长度、鼻翼宽度、鼻孔裸露程度、人中长度、唇分线、唇扬角、唇闭合度、嘴大小、上唇薄厚、下唇薄厚、颌骨结构评价值;
90°侧脸特征信息包括以下的任意一个或多个:
额前倾度、额部饱满度、印堂高度、眼凸度、鼻根高度、鼻根形态、鼻梁形态、鼻头高度、鼻基底高、鼻唇角、上唇凸瘪、下唇凸瘪、下颏翘度、下颏前倾度、下颌缘清晰度、颌骨结构评价值;
45°侧脸特征信息包括以下的任意一个或多个:
颧骨高度、苹果肌饱满度、内面颊饱满度。
进而,步骤s103根据脸部特征点计算人脸特征信息可以按照如下任意一种或多种方式执行:
根据正脸特征群组中的特征点,计算正脸特征信息;
根据90°侧脸特征群组中的特征点,计算90°侧脸特征信息;
根据45°侧脸特征群组中的特征点,计算45°侧脸特征信息。
具体的,下面列举出计算每个正脸特征信息所使用到的特征点,但应当知晓的是,在实际计算的时候,可以完全按照如下公开的特征点进行计算,也可以根据实际情况进行微调,但至少应当使用对应的特征点的一部分。
计算脸部长宽比的特征点:
额中点、颏底点、左颧骨高点、右颧骨高点;
计算上庭长度的特征点:
额中点、印堂点、鼻唇角点;
计算额面宽的特征点:
左鬓角凸点、右鬓角凸点、左颧骨高点、右颧骨高点;
计算颞宽的特征点:
左鬓角凹点、右鬓角凹点、左颧骨高点、右颧骨高点;
计算颧宽的特征点:
左鬓角凹点、右鬓角凹点、左颧骨高点、右颧骨高点、左颧骨下缘点、右颧骨下缘点;
计算外面颊饱满度的特征点:
左颧骨高点、右颧骨高点、左颧骨下缘点、右颧骨下缘点、左颌角点、右颌角点;
计算颌宽的特征点:
左颧骨高点、右颧骨高点、左颌角点、右颌角点。
计算下庭长度的特征点:
印堂点、鼻唇角点、颏底点。
计算下颏长度的特征点:
印堂点、鼻唇角点、下唇底点、颏底点。
计算对称度的特征点:
印堂点、鼻唇角点、左唇角点、右唇角点。
计算五官分布评价值的特征点:
额中点、左额角水平外延点、右额角水平外延点、左颧骨高点、右颧骨高点、左颌角点、右颌角点、颏底点、左眼外眦点、右眼外眦点、左唇角点、右唇角点。
计算眉尾长的特征点:
左上眉头起点、右上眉头起点、左眉尾点、右眉尾点、左颧骨高点、右颧骨高点。
计算眉扬角的特征点:
左上眉头起点、右上眉头起点、左眉尾点、右眉尾点。
计算眉间距的特征点:
左上眉头起点、右上眉头起点、左颧骨高点、右颧骨高点。
计算眉眼间距的特征点:
印堂点、鼻唇角点、左上眼眶顶点、右上眼眶顶点、左上睑缘顶点、右上睑缘顶点。
计算眼长的特征点:
左眼内眦点、右眼内眦点、左眼外眦点、右眼外眦点、左颧骨高点、右颧骨高点。
计算眼裂大小的特征点:
左上睑缘顶点、右上睑缘顶点、左下睑缘底点、右下睑缘底点、左颧骨高点、右颧骨高点
计算眼大小的特征点:
额中点、左额角水平外延点、右额角水平外延点、左颧骨高点、右颧骨高点、左颌角点、右颌角点、颏底点、左眼内眦点、右眼内眦点、左上睑缘顶点、右上睑缘顶点、左眼外眦点、右眼外眦点、左下睑缘底点、右下睑缘底点。
计算眼扬角的特征点:
左眼内眦点、右眼内眦点、左眼外眦点、右眼外眦点。
计算眼间距的特征点:
左眼外眦点、右眼外眦点、左颧骨高点、右颧骨高点。
计算中庭长度的特征点:
额中点、印堂点、鼻唇角点、颏底点。
计算鼻翼宽度的特征点:
左颧骨高点、右颧骨高点、左鼻翼宽点、右鼻翼宽点。
计算鼻孔的特征点:
左鼻孔顶点、右鼻孔顶点、鼻唇角点。
计算人中长度的特征点:
印堂点、鼻唇角点、唇谷点。
计算唇分线的特征点:
鼻唇角点、唇珠中点、颏底点。
计算唇扬角的特征点:
唇珠中点、左唇角点、右唇角点。
计算唇闭合度的特征点:
左唇角点、右唇角点、唇珠中点、下内唇中点。
计算嘴大小的特征点:
左颧骨高点、右颧骨高点、左唇角点、右唇角点。
计算上唇薄厚的特征点:
印堂点、鼻唇角点、唇谷点、唇珠中点。
计算下唇薄厚的特征点:
印堂点、鼻唇角点、下内唇中点、下唇底点。
具体的,下面列举出计算每个90°侧脸特征信息所使用到的特征点,但应当知晓的是,在实际计算的时候,可以完全按照如下公开的特征点进行计算,也可以根据实际情况进行微调,但至少应当使用对应的特征点的一部分。
计算额前倾度的特征点:
侧额中点、侧印堂点。
计算额部饱满度的特征点:
侧额中点、侧下额过度点、侧额末点。
计算印堂高度的特征点:
侧对耳轮下脚缘点、侧下睑外缘底点、侧印堂点。
计算眼凸度的特征点:
侧眼眶顶点、侧上睑外缘顶点。
计算鼻根高度的特征点:
侧对耳轮下脚缘点、侧下睑外缘底点、侧鼻山根点。
计算鼻根形态的特征点:
侧对耳轮下脚缘点、侧下睑外缘底点、侧印堂点、侧鼻山根点。
计算鼻梁形态的特征点:
侧鼻梁起点、侧鼻梁高点、侧鼻头起点。
计算鼻头高度的特征点:
侧对耳轮下脚缘点、侧下睑外缘底点、侧嘴角点、侧鼻头顶点。
计算鼻基底高的特征点:
侧对耳轮下脚缘点、侧下睑外缘底点、侧嘴角点、侧鼻唇角点。
计算鼻唇角的特征点:
侧鼻头顶点、侧鼻唇角点、侧上唇沿顶点。
计算上唇凸瘪的特征点:
侧对耳轮下脚缘点、侧下睑外缘底点、侧上唇沿顶点、侧颏过度点、侧鼻唇角点。
计算下唇凸瘪的特征点:
侧对耳轮下脚缘点、侧下睑外缘底点、侧上唇沿顶点、侧下唇下拐点、侧颏过度点、侧鼻唇角点。
计算下颏翘度的特征点:
侧对耳轮下脚缘点、侧下睑外缘底点、侧下睑外缘底点、侧颏唇沟凹点、侧颏过度点。
计算下颏前倾度的特征点:
侧对耳轮下脚缘点、侧下睑外缘底点、侧下睑外缘底点、侧颏过度点。
计算下颌缘清晰度的特征点:
侧耳垂底点、侧颏下缘点、侧颈颚拐点。
计算颌骨结构评价值的特征点:
侧对耳轮下脚缘点、侧下睑外缘底点、侧嘴角点。
具体的,下面列举出计算每个45°侧脸特征信息所使用到的特征点,但应当知晓的是,在实际计算的时候,可以完全按照如下公开的特征点进行计算,也可以根据实际情况进行微调,但至少应当使用对应的特征点的一部分。
计算颧骨高度的特征点:
斜上颧点、斜颧骨拐点、斜苹果肌高点。
计算苹果肌饱满度的特征点:
斜颧骨过渡点、斜苹果肌高点、斜内面颊起点。
计算内面颊饱满度的特征点:
斜内面颊点、斜内面颊末点、斜颏起点。
为了更加准确的描述用户的气质,可以是先行确定用户在不同气质方面的得分情况,之后,再根据用户在不同方面的气质得分给出关于用户气质方面的描述。
具体而言,步骤根据人脸特征信息确定用户的气质包括:
将人脸特征信息带入预设的气质模型中,以确定用户在每个气质类型的参考值;气质模型包括:第一气质模型、第二气质模型、第三气质模型、第四气质模型、第五气质模型;第一气质模型所对应的气质类型包括以下的任意一种或多种类型:亲和、权威、成熟、包容和聪慧;第二气质模型所对应的气质类型包括以下的任意一种或多种类型:福相、财运、桃花、官运和长寿;第三气质模型所对应的气质类型包括以下的任意一种或多种类型:可靠、大气、小气、灵动和木讷;第四气质模型所对应的气质类型包括以下的任意一种或多种类型:苦相、穷相、土相、纠结和憋屈;第五气质模型所对应的气质类型包括以下的任意一种或多种类型:冷漠、柔弱、年轻、刻薄和愚钝;
根据用户在每个气质类型方面的参考值,确定用户的气质描述。
更具体的,亲和是根据以下的任意一个或多个特征信息计算得到的:眼长、唇扬角、嘴大小、上唇凸瘪、下颌缘清晰度、苹果肌饱满度;
权威是根据以下的任意一个或多个特征信息计算得到的:对称度、额颞部、眉扬角、颧宽、颧骨高度、印堂高度、鼻梁形态、颌宽、下颏前倾度;
成熟是根据以下的任意一个或多个特征信息计算得到的:长宽比、下庭长度、对称度、眼大小、眼间距、鼻基底高、颌宽、下颏翘度;
包容是根据以下的任意一个或多个特征信息计算得到的:上庭长度、额颞部、颞宽、眉间距、眼间距、鼻翼宽度、嘴大小、颌宽、下颏前倾度;
聪慧是根据以下的任意一个或多个特征信息计算得到的:上庭长度、额颞部、额部饱满度、颞宽、眼长、眼间距、印堂高度、下颏翘度;
福相是根据以下的任意一个或多个特征信息计算得到的:上庭长度、颞宽、眼长、颞宽、眼长、鼻翼宽度、唇扬角、上唇薄厚、颌宽、下颏前倾度、外面颊饱满度、苹果肌饱满度;
财运是根据以下的任意一个或多个特征信息计算得到的:额颞部、鼻根高度、鼻头高度、鼻翼宽度、颌宽、下颏翘度;
桃花是根据以下的任意一个或多个特征信息计算得到的:对称度、额颞部、额部饱满度、眉间距、眼大小、眼扬角、唇扬角、上唇薄厚、下唇薄厚、下颏长度、苹果肌饱满度;
官运是根据以下的任意一个或多个特征信息计算得到的:上庭长度、对称度、额颞部、印堂高度、鼻头高度、鼻基底高、鼻翼宽度、颌宽、下颏翘度、下颏前倾度;
长寿是根据以下的任意一个或多个特征信息计算得到的:下庭长度、眉尾长、鼻根高度、鼻翼宽度、人中长度、下颏前倾度;
可靠是根据以下的任意一个或多个特征信息计算得到的:额颞部、鼻基底高、鼻翼宽度、颌宽、下颏翘度、下颏前倾度;
大气是根据以下的任意一个或多个特征信息计算得到的:额颞部、颞宽、眉间距、眼大小、眼间距、鼻翼宽度、嘴大小、颌宽;
小气是根据以下的任意一个或多个特征信息计算得到的:额颞部、颞宽、眉间距、眼大小、眼间距、鼻翼宽度、嘴大小、颌宽;
灵动是根据以下的任意一个或多个特征信息计算得到的:长宽比、额前倾度、鼻基底高、鼻翼宽度、上唇薄厚、下唇薄厚、颌宽、下颏翘度;
木讷是根据以下的任意一个或多个特征信息计算得到的:长宽比、额前倾度、鼻基底高、鼻翼宽度、上唇薄厚、下唇薄厚、颌宽、下颏翘度;
苦相是根据以下的任意一个或多个特征信息计算得到的:上庭长度、颞宽、眉间距、眼长、鼻翼宽度、唇扬角、上唇薄厚、颌宽、下颏前倾度、外面颊饱满度、苹果肌饱满度;
穷相是根据以下的任意一个或多个特征信息计算得到的:额颞部、鼻根高度、鼻头高度、鼻翼宽度、颌宽、下颏翘度;
土相是根据以下的任意一个或多个特征信息计算得到的:上庭长度、额颞部、额前倾度、眉眼间距、眼大小、印堂高度、鼻根形态、鼻梁形态、鼻头高度、鼻基底高、鼻翼宽度、下唇凸瘪;
纠结是根据以下的任意一个或多个特征信息计算得到的:五官分布、额颞部、眉间距、眼间距、鼻根形态;
憋屈是根据以下的任意一个或多个特征信息计算得到的:鼻基底高、上唇凸瘪、下颏前倾度;
冷漠是根据以下的任意一个或多个特征信息计算得到的:眼长、唇扬角、嘴大小、上唇凸瘪、下颌缘清晰度、苹果肌饱满度;
柔弱是根据以下的任意一个或多个特征信息计算得到的:额颞部、眉扬角、颧宽、颧骨高度、印堂高度、鼻梁形态、颌宽、下颏前倾度;
年轻是根据以下的任意一个或多个特征信息计算得到的:长宽比、下庭长度、对称度、眼大小、眼间距、鼻基底高、下颏翘度;
刻薄是根据以下的任意一个或多个特征信息计算得到的:上庭长度、额颞部、颞宽、眉间距、眼间距、鼻翼宽度、人中长度、嘴大小、上唇凸瘪、下唇凸瘪、颌宽;
愚钝是根据以下的任意一个或多个特征信息计算得到的:上庭长度、额颞部、额部饱满度、颞宽、眼长、眼间距、印堂高度、下颏翘度。
其中,气质类型的参考值主要是反应了用户在不同气质类型的评分,之后,根据评分确定出来对用户的气质描述。实际操作时,可以预先建立一个数据表,在该数据表中记载气质类型的参考值和气质描述的对应关系,进而,在确定了气质类型的参考值之后,可以直接从数据表中调取对应的气质描述作为对用户的说明文字。如下表4所示,实处了某一个气质类型的评分和对应的气质描述的关系,对应的,可以为每个气质类型都建立一个和对应的气质描述的对应关系,也可以是将所有的气质类型都整合到一起建立和对应的气质描述的关系,也就是表中反应了a气质类型的评分为x,b气质类型的评分为y,c气质类型的评分为z时,对应的气质描述是什么。
表4
如下表5所示,示出了人脸特征信息和气质类型的对应关系;或者说其反应出了每个气质类型的参考值和对应的人脸特征信息的计算关系,如表4中所示,亲和度的参考值是根据眼长、鼻头高度、鼻孔、唇扬角、嘴大小、下颌缘清晰度、外面颊饱满度和苹果肌饱满度计算得到的。其中的1、2和3等数字表明了权值,也就是苹果肌饱满度为3,唇扬角的权值为2,其余的权值为1。
表5
下面以具体的几个实例来说明部分正脸特征信息的计算过程:
实例1:计算眼大小的方式:
如图5所示,图中标记出了如下特征点:meb(额中点),ln1(左额角水平外延点),rn1(右额角水平外延点),lq1(左颧骨高点),rq1(右颧骨高点),lh1(左颌角点),rh1(右颌角点),mkb(颏底点),ly1(左眼内眦点),ry1(右眼内眦点),ly3(左上睑缘顶点),ry3(右上睑缘顶点),ly5(左眼外眦点),ry5(右眼外眦点),ly7(左下睑缘底点),ry7(右下睑缘底点)。
计算公式:
平均眼裂高度:
yh=
[(ly3-ly7)+(ry3-ry7)]/2=[((971,698)-(979,760))+((602,692)-(604,755))]/2≈125.21;
平均眼宽:
yw=[(ly5-ly1)+(ry1-ry5)]/2=[((1056,736)-(900,747))+((675,748)-(513,727))]/2≈320.01;
脸部面积:
ms=s(meb,ln1,lq1,lh1,mkb,rh1,rq1,rn1)=[(780,283),(1117,424),(1198,788),(1117,1142),(799,1393),(448,1143),(362,789),(438,420)]=560250.47;
眼部面积:ys=2×yh×yw≈20034.28;
眼大小特征值k=100×ys/ms≈3.58;
需要说明的是,计算出的特征值(如眼大小特征值)、眼部面积、等数值都可以作为眼大小的特征信息,具体使用哪种数值作为最终的特征信息可以依据实际情况而定,但经过发明人的实际使用和验证,认为将特征值作为对应的特征信息最为合适。即将眼大小特征值作为眼大小的特征信息最为合适,类似的,后文中所列举的例子中,也优选将特征值作为对应的特征信息,但也可以使用其他的数值作为特征信息。
实例2:计算中庭长度的方式:
如图6所示,图中标记出了如下特征点:
meb(额中点),myt(印堂点),mbc(鼻唇角点),mkb(颏底点);
计算公式:
脸长ll=meb-mkb=(780,283)-(799,1393)≈1110.85;
中庭长度zl=myt-mbc=(788,624)-(790,1034)≈409.7;
中庭长度特征值k=zl/ll≈0.37;
实例3:计算颧宽的方式:
如图7所示,图中标记出了如下特征点:
rn3(右鬓角凹点),ln3(左鬓角凹点),rq1(右颧骨高点),lq1(左颧骨高点),rw1(右颧骨下缘点),lw1(左颧骨下缘点);
颞宽nw=rn3-ln3=(360,620)-(1197,644)≈838.16;
脸宽lw=rq1-lq1=(362,789)-(1198,788)≈835.3;
外面颊宽ww=rw1-lw1=(397,972)-(1162,978)≈764.62;
颧宽特征值k=(nw+ww)/2/lw≈1;
下面以具体的几个实例来说明部分90°侧脸特征信息的计算过程:
实例4:计算鼻基底高的方式:
如图8所示,图中标记出了如下特征点:
ce1(侧对耳轮下脚缘点),cy3(侧下睑外缘顶点),cbj(侧鼻基底点),cc5(侧嘴角点);
ee线(ce1点与cy3点连线)长度:ee=ce1-cy3≈490.43;
el线(cy3点与cc5点连线);
bj线(cbj点到el线)长度:bj≈62.13;
鼻基底高特征值:k=bj/ee≈7.89;
实例5:计算鼻唇角的方式:
如图9所示,图中标记出了如下特征点:
cz1(侧鼻小柱中点),cz2(侧鼻唇角点),crz(侧人中中点);
鼻唇角:点cz1和点cz2的连线,与点cz2和点crz的连线右侧夹角a;
鼻唇角特征值:a≈104.14°。
下面以具体的几个实例来说明部分人脸45°侧脸特征信息的计算过程:
实例6:计算颧骨高度的方式:
如图10所示,图中标记出了如下特征点:
xq1(斜上颧点),xq2(斜颧骨拐点),xq4(斜苹果肌高点);
颧骨高度:点xq1和点xq2的连线,与点xq2和点xq4的连线左侧夹角a;
颧骨高度特征值:a≈158.74°;
实例7:计算苹果肌饱满度的方式:
如图11所示,图中标记出了如下特征点:
xq3(斜颧骨过渡点),xq4(斜苹果肌高点),xn1(斜内面颊起点);
苹果肌饱满度:点xq3和点xq4的连线,与点xq4和点xn1的连线左侧夹角a;
苹果肌饱满度特征值:a≈175.49°。
下面对训练特征识别模型过程进行简要说明:
步骤201,获取多个训练样本;训练样本上记载有人工标注出的特征点(人工标注特征点的方式可以参考上述表1-3中的位置);
步骤202,将随机的一个训练样本输入至未训练完成模型中,以确定训练结果;
步骤203,根据训练样本上人工标注出的特征点和训练结果中的特征点,计算训练结果所对应的损失函数;
步骤204,判断损失函数是否小于预设的阈值;若是,则执行步骤205,若否,则执行步骤206;
步骤205,将当前的未训练完成模型作为特征识别模型输出;
步骤206,根据损失函数对未训练完成模型进行训练,并重新执行步骤202。
与上述方法相对应的,本申请还提供了一种用户气质确定装置,包括:
获取模块,用于获取用户的二维脸部图像;
输入模块,用于将二维脸部图像输入至特征识别模型,以确定脸部特征点;
计算模块,用于根据脸部特征点计算人脸特征信息;
确定模块,用于根据人脸特征信息确定用户的气质。
与上述方法相对应的,本申请还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行一种用户气质确定方法。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。