一种口呼吸面容识别方法、设备和存储介质转让专利

申请号 : CN202010209044.0

文献号 : CN111539911B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 罗冠游强胡卫明

申请人 : 中国科学院自动化研究所

摘要 :

本发明公开了一种口呼吸面容识别方法、设备和存储介质。该方法包括:采集有效人脸图像;确定有效人脸图像中目标人脸的姿态角;如果目标人脸的姿态角在预设的姿态角范围之内,则在有效人脸图像中,提取目标人脸的结构度量特征;将目标人脸的结构度量特征输入预先训练的口呼吸面容识别模型,获取口呼吸面容识别模型输出的口呼吸面容识别结果;其中,对预设的正样本图像进行图像增广处理,利用图像增广处理后的正样本图像以及预设的负样本图像,训练口呼吸面容识别模型。本发明利用图像处理技术结合预先训练的口呼吸面容识别模型识别目标人脸是否为口呼吸面容,解决了口呼吸面容诊断过程,无论对疑似患者还是对医生而言都成本较高的问题。

权利要求 :

1.一种口呼吸面容识别方法,其特征在于,包括:采集有效人脸图像;

确定所述有效人脸图像中目标人脸的姿态角;

如果所述目标人脸的姿态角在预设的姿态角范围之内,则在所述有效人脸图像中,提取所述目标人脸的结构度量特征;其中,所述在所述有效人脸图像中,提取所述目标人脸的结构度量特征,包括:

在所述有效人脸图像中,针对目标人脸进行标记点标记;其中,所述标记点包括承浆点和发际线正中点;

根据所述目标人脸的标记点,提取所述目标人脸的脸部结构关键点;

根据所述目标人脸的脸部结构关键点,提取所述目标人脸对应的结构度量特征;

将所述目标人脸的结构度量特征输入预先训练的口呼吸面容识别模型,获取所述口呼吸面容识别模型输出的口呼吸面容识别结果;其中,所述口呼吸面容识别模型由以下数据训练得到:

对预设的正样本图像进行图像增广处理,利用图像增广处理后的正样本图像的数据以及预设的负样本图像的数据;

和/或,

设置调查问卷,从所述调查问卷中提取的睡眠状态良好的用户的人脸图像作为负样本图像数据,提取睡眠状态有问题的用户的人脸图像作为正样本图像数据。

2.根据权利要求1所述的方法,其特征在于,所述采集有效人脸图像,包括:采集用户环境图像;

确定所述用户环境图像的平均亮度值;

如果所述用户环境图像的平均亮度值在预设的亮度值范围之内,则针对所述用户环境图像进行人脸检测;

如果在所述用户环境图像中检测到人脸,则确定所述用户环境图像为有效人脸图像;

如果所述用户环境图像的平均亮度值未在所述亮度值范围之内,或者,在所述用户环境图像中未检测到人脸,则进行重新采集提示。

3.根据权利要求2所述的方法,其特征在于,在所述针对所述用户环境图像进行人脸检测之前,还包括:

确定所述用户环境图像的图像亮度标准差;

如果所述图像亮度标准差小于预设的图像亮度标准差阈值,则利用伽马变换算法,对所述用户环境图像进行图像增强处理。

4.根据权利要求1所述的方法,其特征在于,所述确定所述有效人脸图像中目标人脸的姿态角,包括:

在所述有效人脸图像中,针对目标人脸进行标记点标记;

获取预先设置的三维人体头像模型;其中,在所述三维人体头像模型的脸部标记有标记点,并且在所述三维人体头像模型的脸部标记的标记点和在所述目标人脸上标记的标记点的数量和类型相同;

根据所述三维人体头像模型中的标记点以及所述有效人脸图像中针对目标人脸的标记点,确定所述目标人脸的姿态角。

5.根据权利要求1所述的方法,其特征在于,对预设的正样本图像进行数据增广处理,包括:

在所述正样本图像中,提取人脸的结构度量特征;

在所述人脸的结构度量特征中的每一维特征上增加高斯噪声,得到新的正样本图像。

6.根据权利要求5所述的方法,其特征在于,如果所述口呼吸面容识别模型为XGBoost模型,则在将所述目标人脸的结构度量特征输入预先训练的口呼吸面容识别模型之前,还包括:

根据预设的数据集,训练所述口呼吸面容识别模型;其中,所述数据集包括训练数据集和验证数据集,所述训练数据集中包括预设的负样本图像的数据和图像增广处理后的正样本图像的数据;

所述根据预设的数据集,训练所述口呼吸面容识别模型,包括:步骤2,设置所述XGBoost模型中的CART分类与回归树的最大树深度的初始值;

步骤4,利用预设的训练数据集,对所述XGBoost模型的结构和权重进行训练;

步骤6,利用预设的验证数据集,对所述XGBoost模型中已训练的结构和权重进行验证,并根据验证结果执行本次的最大树深度调整;

步骤8,利用预设的网格搜索算法,确定前一次调整的最大树深度是否为最优最大树深度,如果是最优最大树深度,则将所述XGBoost模型中的所述CART树的最大树深度设置为所述最优最大树深度,否则跳转到步骤4。

7.根据权利要求6所述的方法,其特征在于,所述数据集还包括:测试数据集;在将所述XGBoost模型中的所述CART树的最大树深度设置为所述最优最大树深度之后,还包括:利用预设的测试数据集,测试已经被设置成最优最大树深度的所述XGBoost模型,并确定所述XGBoost模型的性能度量值;

如果所述XGBoost模型的性能度量值在预设性能范围之内,则完成对所述XGBoost模型的训练。

8.一种口呼吸面容识别设备,其特征在于,所述口呼吸面容识别设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1~7中任一项所述的口呼吸面容识别方法。

9.一种存储介质,其特征在于,所述存储介质上存储有口呼吸面容识别程序,所述口呼吸面容识别程序被处理器执行时实现如权利要求1~7中任一项所述的口呼吸面容识别方法。

说明书 :

一种口呼吸面容识别方法、设备和存储介质

技术领域

[0001] 本发明涉及图像处理技术领域,尤其涉及一种口呼吸面容识别方法、设备和存储介质。

背景技术

[0002] 口呼吸面容在临床上又称为“腺样体面容”。口呼吸面容是由于腺样体肥大造成发育中牙颌的改变,进而形成的一种特定的牙颌面畸形,这种畸形反应在人脸上就造成了与
常人不同的面貌。腺样体肥大的人群往往有着典型地使用口腔而非鼻腔呼吸的习惯,也正
是这种呼吸习惯,造成这类人群具有的面部共性通常有鼻子扁平、双唇较短、下巴后缩、头
部前倾等特点。
[0003] 拥有口呼吸面容的人群往往伴随着一些睡眠的问题,比如:夜间入睡困难、鼾症严重等,并且口呼吸面容严重影响个人形象,所以及早发现、及早治疗(一般需要进行面部正
畸或者口腔正畸)非常必要。
[0004] 但是,现有的口呼吸面容诊断过程,无论对疑似患者还是对医生而言都成本较高。疑似患者需要到医院借助专业器材进行鉴定,时间成本和资金成本较高。医生在鉴定口呼
吸面容时需要借助专业器材分析口腔与鼻腔之间的腺样体以及口腔颌骨,才能确诊口呼吸
面容,时间成本较高。

发明内容

[0005] 本发明本实施例的主要目的在于提供一种口呼吸面容识别方法、设备和存储介质,以解决现有的口呼吸面容诊断过程,无论对疑似患者还是对医生而言都成本较高的问
题。
[0006] 针对上述技术问题,本发明实施例是通过以下技术方案来实现的:
[0007] 本发明实施例提供了一种口呼吸面容识别方法,包括:采集有效人脸图像;确定所述有效人脸图像中目标人脸的姿态角;如果所述目标人脸的姿态角在预设的姿态角范围之
内,则在所述有效人脸图像中,提取所述目标人脸的结构度量特征;将所述目标人脸的结构
度量特征输入预先训练的口呼吸面容识别模型,获取所述口呼吸面容识别模型输出的口呼
吸面容识别结果;其中,对预设的正样本图像进行图像增广处理,利用图像增广处理后的正
样本图像以及预设的负样本图像,训练所述口呼吸面容识别模型。
[0008] 其中,所述采集有效人脸图像,包括:采集用户环境图像;确定所述用户环境图像的平均亮度值;如果所述用户环境图像的平均亮度值在预设的亮度值范围之内,则针对所
述用户环境图像进行人脸检测;如果在所述用户环境图像中检测到人脸,则确定所述用户
环境图像为有效人脸图像;如果所述用户环境图像的平均亮度值未在所述亮度值范围之
内,或者,在所述用户环境图像中未检测到人脸,则进行重新采集提示。
[0009] 其中,在所述针对所述用户环境图像进行人脸检测之前,还包括:确定所述用户环境图像的图像亮度标准差;如果所述图像亮度标准差小于预设的图像亮度标准差阈值,则
利用伽马变换算法,对所述用户环境图像进行图像增强处理。
[0010] 其中,所述确定所述有效人脸图像中目标人脸的姿态角,包括:在所述有效人脸图像中,针对目标人脸进行标记点标记;获取预先设置的三维人体头像模型;其中,在所述三
维人体头像模型的脸部标记有标记点,并且在所述三维人体头像模型的脸部标记的标记点
和在所述目标人脸上标记的标记点的数量和类型相同;根据所述三维人体头像模型中的标
记点以及所述有效人脸图像中针对目标人脸的标记点,确定所述目标人脸的姿态角。
[0011] 其中,在所述有效人脸图像中,提取所述目标人脸的结构度量特征,包括:在所述有效人脸图像中,针对目标人脸进行标记点标记;根据所述目标人脸的标记点,提取所述目
标人脸的脸部结构关键点;根据所述目标人脸的脸部结构关键点,提取所述目标人脸对应
的结构度量特征。
[0012] 其中,对预设的正样本图像进行数据增广处理,包括:在所述正样本图像中,提取人脸的结构度量特征;在所述人脸的结构度量特征中的每一维特征上增加高斯噪声,得到
新的正样本图像。
[0013] 其中,如果所述口呼吸面容识别模型为XGBoost模型,则在将所述目标人脸的结构度量特征输入预先训练的口呼吸面容识别模型之前,还包括:根据预设的数据集,训练所述
口呼吸面容识别模型;其中,所述数据集包括训练数据集和验证数据集,所述训练数据集中
包括预设的负样本图像和图像增广处理后的正样本图像;所述根据预设的数据集,训练所
述口呼吸面容识别模型,包括:步骤2,设置所述XGBoost模型中的CART分类与回归树的最大
树深度的初始值;步骤4,利用预设的训练数据集,对所述XGBoost模型的结构和权重进行训
练;步骤6,利用预设的验证数据集,对所述XGBoost模型中已训练的结构和权重进行验证,
并根据验证结果执行本次的最大树深度调整;步骤8,利用预设的网格搜索算法,确定前一
次调整的最大树深度是否为最优最大树深度,如果是最优最大树深度,则将所述XGBoost模
型中的所述CART树的最大树深度设置为所述最优最大树深度,否则跳转到步骤4。
[0014] 其中,所述数据集还包括:测试数据集;在将所述XGBoost模型中的所述CART树的最大树深度设置为所述最优最大树深度之后,还包括:利用预设的测试数据集,测试已经被
设置成最优最大树深度的所述XGBoost模型,并确定所述XGBoost模型的性能度量值;如果
所述XGBoost模型的性能度量值在预设性能范围之内,则完成对所述XGBoost模型的训练。
[0015] 本发明实施例还提供了一种口呼吸面容识别设备,所述口呼吸面容识别设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计
算机程序被所述处理器执行时实现上述任一项所述的口呼吸面容识别方法。
[0016] 本发明实施例还提供了一种存储介质,所述存储介质上存储有口呼吸面容识别程序,所述口呼吸面容识别程序被处理器执行时实现上述任一项所述的口呼吸面容识别方
法。
[0017] 本发明实施例有益效果如下:
[0018] 在本发明实施例中,利用图像处理技术,采集有效人脸图像,并且提取有效人脸图像中的有效的目标人脸的结构度量特征,结合预先训练的口呼吸面容识别模型识别目标人
脸是否为口呼吸面容,本发明实施例从数据驱动和模型学习的角度识别口呼吸面容,简单
易行,无论是时间成本还是资金成本都很低,识别过程中无需专业医疗器械的辅助,在医生
诊断之前可以帮助医生做预诊断,解决了口呼吸面容诊断过程,无论对疑似患者还是对医
生而言都成本较高的问题。进一步地,在训练模型之前,采集正样本图像,并对正样本图像
进行增广处理,以便增加正样本图像的数量,使得训练的口呼吸面容识别模型的识别准确
性更加准确。

附图说明

[0019] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0020] 图1是根据本发明一实施例的口呼吸面容识别方法的流程图;
[0021] 图2是根据本发明一实施例的采集有效人脸图像的步骤流程图;
[0022] 图3是根据本发明一实施例的图像增强处理的步骤流程图;
[0023] 图4是根据本发明一实施例的姿态角确定的步骤流程图;
[0024] 图5是根据本发明一实施例的坐标系转换示意图;
[0025] 图6是根据本发明一实施例的结构度量特征提取的步骤流程图;
[0026] 图7是根据本发明一实施例的标记点的示意图;
[0027] 图8是根据本发明一实施例的A点和承浆点的示意图;
[0028] 图9是根据本发明一实施例的脸部结构关键点的示意图;
[0029] 图10是根据本发明一实施例的图像增广处理的步骤流程图;
[0030] 图11是根据本发明一实施例的口呼吸面容识别模型的训练步骤流程图;
[0031] 图12是根据本发明一实施例的口呼吸面容识别设备的结构图。

具体实施方式

[0032] 为使本发明的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本发明作进一步地详细说明。
[0033] 根据本发明的实施例,提供了一种口呼吸面容识别方法。如图1所示,为根据本发明一实施例的口呼吸面容识别方法的流程图。
[0034] 步骤S110,采集有效人脸图像。
[0035] 有效人脸图像,是指包含人脸并且平均亮度值在预设的平均亮度值范围之内的图像。
[0036] 步骤S120,确定所述有效人脸图像中目标人脸的姿态角。
[0037] 目标人脸,是指待识别口呼吸面容的用户的人脸。
[0038] 目标人脸的姿态角(θ,ψ,φ)包括:俯仰角θ、偏转角ψ和旋转角φ。
[0039] 在本实施例中,根据目标人脸的人脸图像确定目标人脸的姿态角。
[0040] 在有效人脸图像中可以包括多张人脸,在有效人脸图像中选择一张人脸作为目标人脸。
[0041] 步骤S130,如果所述目标人脸的姿态角在预设的姿态角范围之内,则在所述有效人脸图像中,提取所述目标人脸的结构度量特征。
[0042] 结构度量特征,是指人脸的结构特征。进一步地,结构度量特征为多维度特征向量。例如:五官的尺寸,角度等。结构度量特征可以用于预测目标人脸是否为口呼吸面容。
[0043] 如果目标人脸的姿态角在预设的姿态角范围之内,则说明目标人脸基本为正脸。可以设置姿态角范围中的俯仰角范围∈[‑25°,25°],偏向角范围∈[‑25°,25°],旋转角范
围∈[‑35°,35°]。其中,当θ=0,ψ=0,φ=0时,表示当前的目标人脸是标准的正脸。目标人
脸的姿态角在姿态角范围内,即:目标人脸的俯仰角在俯仰角范围之内、偏向角在偏向角范
围之内和旋转角在旋转角范围之内,就判定目标人脸为有效。
[0044] 如果目标人脸的姿态角未在预设的姿态角范围之内,则说明目标人脸不是正脸,这时进行重新采集提示,使得用户根据该重新采集提示,重新采集用户环境图像。进一步
地,将目标人脸的姿态角和预设的姿态角范围进行比对,如果超过了该姿态角范围,则目标
人脸无效,向用户发出重新采集提示,以便提示用户上传一张包含正面人脸的图像。
[0045] 筛选正面人脸来识别口呼吸面容,可以提高口呼吸面容的识别准确性。当正脸不能完全展示出来时,人脸信息将存在严重的缺失,得到的口呼吸面容的识别结果也会不准
确。
[0046] 步骤S140,将所述目标人脸的结构度量特征输入预先训练的口呼吸面容识别模型,获取所述口呼吸面容识别模型输出的口呼吸面容识别结果;其中,对预设的正样本图像
进行图像增广处理,利用图像增广处理后的正样本图像以及预设的负样本图像,训练所述
口呼吸面容识别模型。
[0047] 口呼吸面容识别模型,用于根据目标人脸的结构度量特征识别目标人脸是否为口呼吸面容。口呼吸面容识别模型输出的识别结果为目标人脸是口呼吸面容的百分比,目标
人脸不是口呼吸面容的百分比。
[0048] 口呼吸面容识别模型的种类,包括但不限于:极端梯度提升(eXtreme Gradient Boosting,简称XGBoost)模型、线性回归模型、支持向量机(Support Vector Machine,简称
SVM)模型或者深度学习网络。
[0049] 在使用口呼吸面容识别模型进行口呼吸面容识别之前,利用预设的数据集对该口呼吸面容识别模型进行训练,直到该口呼吸面容识别模型收敛为止。
[0050] 具体而言,在对该口呼吸面容识别模型进行训练之前,采集多个正样本图像和多个负样本图像。正样本图像是指包含口呼吸面容的人脸的图像。负样本图像是指不包含口
呼吸面容的人脸的图像。对每个正样本图像进行图像增广处理,包括:在正样本图像中,提
取目标人脸的结构度量特征;在所述结构度量特征中的每一维特征上增加高斯噪声,得到
基于该正样本图像的新的正样本图像。其中,在结构度量特征中的每一维特征上增加限定
较小幅度比例的高斯噪声。基于该正样本图像进行多次图像增广处理,进而可以得到多个
基于该正样本图像的新的正样本图像。为图像增广处理后的正样本图像标注第一标签,为
每个负样本图像标注第二标签。第一标签表示图像中的人脸为口呼吸面容,第二标签表示
图像中的人脸不是口呼吸面容。根据图像增广处理后的所有正样本图像以及采集的多个负
样本图像,形成数据集。
[0051] 在本实施例中,利用图像处理技术,采集有效人脸图像,并且提取有效人脸图像中的有效的目标人脸的结构度量特征,结合预先训练的口呼吸面容识别模型识别目标人脸是
否为口呼吸面容,本实施例从数据驱动和模型学习的角度识别口呼吸面容,简单易行,无论
是时间成本还是资金成本都很低,识别过程中无需专业医疗器械的辅助,在医生诊断之前
可以帮助医生做预诊断,解决了口呼吸面容诊断过程,无论对疑似患者还是对医生而言都
成本较高的问题。进一步地,在训练模型之前,采集正样本图像,并对正样本图像进行增广
处理,以便增加正样本图像的数量,使得训练的口呼吸面容识别模型的识别准确性更加准
确。
[0052] 下面针对采集有效人脸图像的步骤进行详细描述。
[0053] 如图2所示,为根据本发明一实施例的采集有效人脸图像的步骤流程图。
[0054] 步骤S210,采集用户环境图像。
[0055] 用户环境图像,是指通过摄像头采集的摄像头视野内的图像。
[0056] 用户环境图像可以调用用户设备或者人脸采集设备的摄像头采集用户环境图像,或者,获取用户上传的用户环境图像。例如:利用用户设备实时采集用户环境图像,也可以
提示用户上传用户环境图像。
[0057] 在用户环境图像中,可以包括一张或者多张人脸。当然,在用户环境图像中,也可以不包含任何人脸。
[0058] 步骤S220,确定所述用户环境图像的平均亮度值。
[0059] 在本实施例中,可以用I(x,y)表示用户环境图像,用户环境图像的宽度为w,高度为h;其中,x∈[0,w],y∈[0,h];Ixy的值表示位于用户环境图像中的位置坐标为(x,y)的像
素点的亮度值,Ixy∈[0,255]。
[0060] 用户环境图像的平均亮度值的计算公式如下:
[0061]
[0062] 进一步地,如果用户环境图像是彩色图像,则Ixy=[IR,IG,IB],其中,IR,IG和IB分别是红、黄、蓝三个通道的亮度值,用户环境图像的平均亮度值可以使用三个通道的亮度均值
的平均值来代替,即:用户环境图像的平均亮度值=(红通道的亮度均值+黄通道的亮度均
值+蓝通道的亮度均值)÷3,亮度均值=所有像素点的亮度值的和÷所有像素点的数量。
[0063] 步骤S230,判断所述用户环境图像的平均亮度值在预设的亮度值范围之内;如果是,则执行步骤S240;如果否,则执行步骤S270。
[0064] 预先设置亮度值范围为[I0,I1]。该亮度值范围的端值I0和I1可以是经验值或者通过实验获得的值。当 表示用户环境图像的平均亮度值过暗;当 则表示用户环
境图像的平均亮度值过亮。
[0065] 在本实施例中,为了降低用户环境图像的采集次数,预先模拟比较极端的情况,比如,模拟夜晚环境和大功率光源直射人脸场景下的用户环境图像的平均亮度值,将夜晚环
0
境下的用户环境图像的平均亮度值作为亮度值范围的下限I ,将大功率光源直射人脸场景
1
下的用户环境图像的平均亮度值作为亮度值范围的上限I 。进一步地,可以将亮度值范围
0 1
的下限I和上限I依次设置为25和230。在日常情况下拍摄的图像很难出现这样极端的平均
亮度值,一旦出现了极端情况,就代表图像几乎不可用,需要舍弃掉,这时可以执行预设的
拒绝操作。该拒绝操作可以是进行重新采集提示。通过对用户环境图像进行亮度判断,可以
提高后续人脸检测的精度。
[0066] 步骤S240,如果所述用户环境图像的平均亮度值在所述亮度值范围之内,则针对所述用户环境图像进行人脸检测。
[0067] 其中,针对用户环境图像进行人脸检测的方式将在后面进行具体描述。
[0068] 步骤S250,判断在所述用户环境图像中是否检测到人脸;如果是,则执行步骤S260;如果否,则执行步骤S270。
[0069] 步骤S260,如果在所述用户环境图像中检测到人脸,则确定所述用户环境图像为有效人脸图像。
[0070] 在用户环境图像中检测到人脸之后,在用户环境图像中标识出人脸区域,并且将标识出的人脸区域作为人脸图像。
[0071] 在本实施例中,可以利用人脸检测框,在用户环境图像中标识出人脸所在的区域。如果在用户环境图像中检测到多张人脸,则利用多个人脸检测框,分别标识出检测到的每
张人脸的区域。
[0072] 步骤S270,如果所述用户环境图像的平均亮度值未在所述亮度值范围之内,或者,在所述用户环境图像中未检测到人脸,则进行重新采集提示。
[0073] 在本实施例中,在针对用户环境图像进行人脸检测之前,为了保证用户环境图像具有良好的对比度,可以对用户环境图像进行图像增强处理。
[0074] 用户环境图像的对比度是指用户环境图像中的明暗区域最亮的白和最暗的黑之间的不同亮度层级的测量,即用户环境图像亮度反差(差异)的大小。亮度反差越大代表对
比度越大,亮度反差越小代表对比度越小。
[0075] 在本实施例中,图像增强处理的方式,包括但不限于:伽马变换和对数变换。下面对对比度较小的用户环境图像进行图像增强处理,进行具体描述。
[0076] 如图3所示,为根据本发明一实施例的图像增强处理的步骤流程图。
[0077] 步骤S310,确定用户环境图像的图像亮度标准差。
[0078] 为了判断用户环境图像是否需要进行图像增强操作,可以计算用户环境图像的图像亮度标准差,该图像亮度标准差σ可以称之为均方根对比度。
[0079] 在本实施例中,图像亮度标准差σ的计算公式如下:
[0080]
[0081] 用户环境图像的对比度越大,图像亮度标准差σ越大;用户环境图像的对比度越小,图像亮度标准差σ越小。
[0082] 步骤S320,如果所述图像亮度标准差小于预设的图像亮度标准差阈值,则利用伽马变换算法,对所述用户环境图像进行图像增强处理。
[0083] 对于对比度比较小的用户环境图像,可以采用伽马变换算法进行图像增强处理。伽马变换算法具有如下的标准形式:
[0084]
[0085] 其中,I(x,y)为图像增强之前的用户环境图像,O(x,y)为图像增强之后的用户环境图像,γ为控制参数。其中,γ大于0。也即是说,对于用户环境图像中的每个像素点进行
如下的运算:
[0086]
[0087] 其中,为图像增强之后的像素点的亮度值。
[0088] 当γ大于1时,用户环境图像将整体变暗,这样会拉伸图像中亮度较高的区域,同时压缩亮度较低的部分。
[0089] 当γ等于1时,用户环境图像无变化。
[0090] 当γ大于0且小于1时,用户环境图像将整体变亮,这样会拉伸图像中亮度较低的区域,同时会压缩亮度较高的部分。
[0091] 在本实施例中,结合用户环境图像的平均亮度值 用户环境图像的最优的亮度值范围在165~175之间,可以取170作为平均亮度值阈值。
[0092] 其中,γ的经验公式如下:
[0093]
[0094] 当 时,γ等于1,用户环境图像无变化;当 趋向于0时,γ趋向于0,用户环境图像整体变亮,并且对比度增大;当 趋向于255时,γ趋向于正无穷,用户环境图像整体
变暗,且对比度变大。
[0095] 在对用户环境图像进行图像增强处理之后,还可以对对图像增强处理后的用户环境图像执行去噪处理。
[0096] 在对用户环境图像进行图像增强处理之后,可以对用户环境图像进行人脸检测。下面对人脸检测进行进一步地描述。
[0097] 人脸检测方法可以采用滑动窗的方法来进行。具体的,滑动窗以预设的步进在用户环境图像中移动,二分类器基于人脸外部轮廓对滑动窗内的图像区域进行人脸识别,当
图像区域内存在与人脸外轮廓匹配的形状时,将图像区域分类成人脸,这代表人脸被检测
到。
[0098] 滑动窗可以认为是人脸检测框。由于人脸有尺度上的不同,所以滑动窗的大小也会进行尺度上的缩放,以便匹配不同人脸在尺寸上的变化。在使用滑动窗检测人脸的过程
中,可以采用基于梯度直方图(Histogram of Gradients)的人脸检测方法,在用户环境图
像中检测人脸;也可以采用基于Harr‑like特征的人脸检测方法,在用户环境图像中检测人
脸。
[0099] 当然,由于人脸有其特别的结构和纹理特征,本发明实施例还可以使用深度神经网络在用户环境图像中检测人脸。
[0100] 深度神经网络的种类,包括但不限于:多任务级联卷积神经网络(Multi‑Task Convolution Neural Network,简称MTCNN)和MobileNet‑SSD。
[0101] 在本发明实施例中,可以使用MTCNN对输入的用户环境图像进行人脸检测。该MTCNN可以在用户环境图像中检测人脸,并在用户环境图像中使用人脸检测框标识出检测
到的人脸所在区域。
[0102] MTCNN是一种基于多任务级联CNN的人脸检测深度学习模型,该模型中综合考虑了人脸边框回归和脸部关键点(标记点)检测。输入MTCNN的用户环境图像会按照不同的缩放
比例,缩放成不同尺度大小的用户环境图像,从而形成图像的特征金字塔,这样保证了不同
尺寸的人脸都能被检测到。MTCNN包含三个级联的子网络,分别称为PNet,RNet和ONet。其
中,针对每个尺度的用户环境图像,PNet,RNet和ONet分别用于:
[0103] PNet根据输入的用户环境图像,生成标识人脸区域的候选窗口和边界框的回归向量;利用该边界框的回归向量,校准生成的候选窗口;通过第一非极大值抑制(Non‑maximum 
suppression,简称NMS)算法,对校准的候选框口进行第一次去重处理,得到经过PNet去重
的候选窗口。
[0104] RNet先利用该边界框的回归向量,校准经过PNet去重的候选窗口;再利用第二NMS算法,对校准的候选窗口进行第二次去重处理,得到经过RNet去重的候选窗口。这样,实现
了对经过PNet去重的候选窗口进行进一步地的筛选。
[0105] ONet功能与RNet作用类似,先利用该边界框的回归向量,校准经过RNet去重的候选窗口;利用第三NMS算法对校准的候选窗口进行第三次去重处理,并且在去除重叠候选窗
口的同时,同时生成五个标记点定位。这样,ONet在对经过RNet去重的候选窗口进行进一步
的筛选的同时,在每个候选窗口框出的人脸上,检测五个标记点。标记点,是指在人脸预设
位置标记的特征点。该五个标记点包括:分别在两个瞳孔上标记的标记点,鼻头上标记的标
记点,分别在两个嘴角上标记的标记点。
[0106] 在第一NMS算法、第二NMS算法和第三NMS算法中设置的重叠度(Intersection over Union,简称IOU)不同,IOU从大到小,依次为第一NMS算法、第二NMS算法和第三NMS算
法,这样可以使得PNet、RNet和ONet完成从粗到细的候选窗口去重。
[0107] 由于输入MTCNN的用户环境图像会按照不同的缩放比例进行缩放,形成图像金字塔,即多个尺度的图像,然后PNet、RNet和ONet分别对每个尺度的用户环境图像进行人脸检
测,所以,需要在人脸检测之后,将所有候选窗口归一化到原始尺寸的用户环境图像中。例
如:有的用户环境图像的尺度是原来的两倍,那么回归到原始尺寸的用户环境图像时,就需
要将候选窗口归一化到原始尺寸的大小,即候选窗口的大小要除以2。将多个尺度上的候选
窗口都归一化到原始尺度下才有可比较性。
[0108] 在本实施例中,在基于深度神经网络在用户环境图像中检测人脸之前,需要对用于进行人脸检测的人脸检测网络MTCNN进行训练。进一步地,对MTCNN的训练包括:使用开源
的人脸数据集,对MTCNN进行预训练,以便对MTCNN中的权重进行预训练;使用预先采集的定
向人脸数据集,对MTCNN进行再训练,以便对MTCNN中的权重进行精调(fine‑tune)训练,使
得MTCNN能够更好地去检测与定向人脸数据集的人脸类型分布相似的人脸图像。人脸类型,
包括但不限于:人脸的龄层,人脸的性别和人脸的肤色。
[0109] 开源的人脸数据集,包括但不限于:VGG‑Face、FDDB。开源数据集的特点是人脸的广泛性很强,但是缺乏精准性,各个种族的人脸都有囊括,其中以白人的人脸为主。定向人
脸数据集是根据应用场景的特点采集的预设人脸类型的人脸图像,例如:定向人脸数据集
中的图像以黄种人的人脸占主导。
[0110] 不管是预训练还是精调训练,都是将人脸数据集(开源人脸数据集和定向人脸数据集)的人脸图像输入MTCNN中,使MTCNN检测人脸图像中的人脸,将检测结果与为人脸图像
预先标注的结果进行比较,如果MTCNN的检测结果与为人脸图像预先标注的结果相同,则表
明所训练的MTCNN对样本(人脸图像)的分类正确(即识别准确),而且在MTCNN的识别准确率
不再提高时,认为MTCNN已经收敛。识别准确率=识别准确的次数÷(识别准确的次数+识别
错误的次数)。
[0111] 在MTCNN收敛之后,MTCNN就可以对图像增强之后的用户环境图像进行人脸检测了。
[0112] 将用户环境图像输入已经训练完成的MTCNN。输入MTCNN网络的用户环境图像可以包含人脸也可以不包含人脸。当用户环境图像不包含人脸时,MTCNN网络输出的结果为空;
当用户环境图像包含人脸时,MTCNN网络输出的是包含人脸检测框(标识出人脸区域)的用
户环境图像。当检测到用户环境图像中出现一张人脸时,该张人脸被一个人脸检测框框出。
当检测到用户环境图像中出现多张人脸时,每张人脸被一个人脸检测框框出。
[0113] 如果在用户环境图像中检测出人脸,并且用户环境图像的平均亮度值在亮度值范围之内,则确定用户环境图像为有效人脸图像,之后可以确定有效人脸图像中目标人脸的
姿态角。
[0114] 如图4所示,为根据本发明一实施例的姿态角确定的步骤流程图。
[0115] 步骤S410,在有效人脸图像中,针对目标人脸进行标记点标记。
[0116] 人脸的姿态包括人脸在三维空间中的低头抬头的俯仰角度(俯仰角)、脸偏向左侧还是右侧的偏转角度(偏转角)、脸在平面内是逆时针还是顺时针旋转的角度(旋转角)。要
完成目标人脸的姿态角的估计,依赖于目标人脸各个部位的标记点,标记点越多越精细,估
计的姿态角越准确。
[0117] 在本实施例中,在确定目标人脸的姿态角时,可以基于MTCNN的输出的5个标记点,或者,基于开源机器学习库(dlib)中使用的5点标记点模型,使用该5点标记点模型对有效
人脸图像中的目标人脸进行5个标记点的标记。当然,为了提高姿态估计的精度,还可以使
用dlib中的68点标记点模型,即在目标人脸上标记68个标记点。
[0118] 步骤S420,获取预先设置的三维人体头像模型;其中,在三维人体头像模型的脸部标记有标记点,并且在三维人体头像模型的脸部标记的标记点和在目标人脸上标记的标记
点的数量和类型相同。
[0119] 标记点的类型可以体现该标记点在人脸上的位置。这样,在目标人脸的上标记的每个标记点,在三维人体头像模型的脸部的对应位置都存在一个对应的标记点。
[0120] 如果三维人体头像模型的脸部标记有5个标记点,则针对目标人脸可以进行5个标记点的标记;如果在三维人体头像模型的脸部标记有68个标记点,则针对目标人脸进行68
个标记点的标记。
[0121] 步骤S430,根据所述三维人体头像模型中的标记点以及所述有效人脸图像中针对目标人脸的标记点,确定所述目标人脸的姿态角。
[0122] 在三个方向上转动三维人体头像模型,使得目标人脸的N个标记点跟三维人体头像模型中的N个标记点重合(或者近似重合),这样三维人体头像模型的姿态就是目标人脸
的姿态。
[0123] 这样,目标人脸的姿态角估计问题可以转换为如下的优化问题:
[0124] 假定三维人体头像模型的姿态角为(θ,ψ,φ),对应的依次为俯仰角、偏转角和旋转角。如图5所示,在相机(摄像头)参数固定的情况下,求解世界坐标系下到相机坐标系下
的旋转矩阵R和平移向量t。其中,世界坐标系为三维人体头像模型所在的三维坐标系,相机
坐标系为有效人脸图像中目标人脸所在的平面坐标系(二维坐标系)。
[0125] 在得到旋转矩阵R和平移向量t之后,将旋转矩阵R和平移向量t进行欧拉角转换,得到目标人脸的俯仰角、偏转角和旋转角。
[0126] 具体的,在目标人脸上标记N个标记点之后,目标人脸上的每个标记点为三维人体头像模型脸部的一个标记点的投影点。三维人体头像模型脸部的标记点P的三维坐标为Pi,
该标记点P在目标人脸所在平面的成像坐标(二维坐标)为f(Pi;R,t),真实的投影点p的二
维坐标为pi,为了求得旋转矩阵R和平移向量t,只需要求解下面的最小投影均方误差问题。
[0127] 其中,最小投影均方误差的表达式可以为:
[0128]
[0129] 这样,可以通过Levenberg‑Marquardt优化方法近似求解最小投影均方误差,该优化方法的思想在于:微小地调整三维人体头像模型,得到该三维人体头像模型上的标记点
投影在像平面(目标人脸所在平面)的坐标,直到上面的投影均方误差达到极小值即可。在
实际的工程应用中,首先通过标准相机得到三维人体头像模型的脸部上的标记点在像平面
的坐标集合,然后标定相机的内参数(初始的R和t)以及相机的焦距,然后使用开源的计算
机视觉库OpenCV调用solvePnP等函数就能完成目标人脸的姿态估计。
[0130] 在得到目标人脸的姿态角之后,将目标人脸的姿态角和预设姿态角范围进行比较,如果目标人脸的姿态角在预设的姿态角范围之内,则认为目标人脸有效,可以对有效人
脸图像中的目标人脸进行裁剪,只保留目标人脸的人脸区域,得到目标人脸的人脸图像,并
在该人脸图像中,提取目标人脸的结构度量特征。
[0131] 在本实施例中,在提取所述目标人脸的结构度量特征之前,对所述目标人脸进行人脸对齐操作。人脸对齐操作,包括:通过仿射变换进行姿态角的补偿,使得人脸变换为正
脸或者近似正脸,这些操作被称为人脸对齐,在经过人脸对齐操作之后,就可以对目标人脸
进行结构度量特征的提取了。
[0132] 如图6所示,为根据本发明一实施例的结构度量特征提取的步骤流程图。
[0133] 步骤S610,在所述有效人脸图像中,针对目标人脸进行标记点标记。
[0134] 步骤S620,根据所述目标人脸的标记点,提取所述目标人脸的脸部结构关键点。
[0135] 步骤S630,根据所述目标人脸的脸部结构关键点,提取所述目标人脸对应的结构度量特征。
[0136] 脸部结构关键点,是指用于定位出人脸结构的标记点。脸部结构关键点,包括但不限于:用于定位出眉毛、眼睛、鼻子、嘴巴、脸部轮廓等关键区域位置的标记点。
[0137] 结构度量特征,是指人脸的结构特征。进一步地,结构度量特征为多维度特征向量。例如:五官的尺寸,角度等。
[0138] 具体而言,对目标人脸的人脸区域进行标记点标记的步骤,与确定姿态角时对目标人脸的人脸区域进行标记点标记类似,但是为了更好地标记出目标人脸的结构信息,在
本实施例中使用的模型是dlib中68个标记点模型,这68个标记点可以将目标人脸的各个部
位勾勒出来,比如这68个标记点可以勾勒出眉形、眼睛、鼻子、嘴巴以及脸部轮廓。如果在进
行有效人脸识别时在目标人脸上已经标记过68个标记点,则在有效人脸图像中对目标人脸
进行标记点的标记,可以使用上面已经标记过的标记点。
[0139] 进一步地,由于本发明实施例需要识别目标人脸是否为口呼吸面容,所以根据口呼吸面容的特点,在对目标人脸的人脸区域进行标记点标记时,还可以标记其他标记点,例
如:承浆点(穴)和发际线正中点。
[0140] 承浆点,是指下嘴唇下沿到下巴尖(称为地阁)之间的凹陷部位,该部位跟人脸下部的结构度量特征密切相关。可以将承浆点作为第69个标记点。进一步地,承浆点一般在下
嘴唇下沿到地阁之间的线段上,且处于下凹的底部。下嘴唇下沿到地阁之间下凹的底部往
往是线段上亮度最低的点。假定从下嘴唇下沿到地阁的线段的四分位点依次为a,b和c;通
过搜索子线段ab之间亮度最低的点即被认为是要找的承浆点。这样就从目标人脸上找到了
69个标记点,如图7所示,为根据本发明一实施例的标记点的示意图。
[0141] 发际线正中点A,是指发际线和脸部皮肤相接的线条与穿过颅顶的脸部中心竖线的交接点。进一步地,可以基于深度学习的脸部分割技术,分割样本图像中的人脸区域,在
人脸区域中确定脸部中心竖线,该脸部中心竖线向上延伸可以过颅顶,该脸部中心竖线和
人脸区域的上交点即是交接点。具体的,通过训练一个全卷积网络,使该全卷积网络在样本
图像中区分哪些区域属于人脸区域,哪些不属于人脸区域,进而将人脸区域分割问题转变
为一个二类分类问题。在实际处理的过程中,样本图像的候选区域(人脸区域)的产生是一
个比较关键的问题,直接关系到分割的性能和效率。可以先采用基于超像素的分割方法产
生候选区域,然后基于非最大值抑制算法避免产生太小的区域,这样一张近似人脸区域的
蒙层(mask)就产生了。在已知的69个点中挑选相对稳定的点对(例如:鼻尖H和人中上点K),
产生一条刚好穿过鼻梁中心以及下巴定位点的脸部中心竖线,竖线与脸部的蒙层的上交点
就是所要找的交接点。
[0142] 如图8所示,为根据本发明一实施例的A点和承浆点的示意图。图8显示了从互联网上抓取的一张图像,在该张图像的目标人脸上标记68个标记点,确定目标人脸的蒙层并且
在这68个标记点上标记出A点和承浆点。其中,额头发际线下发的标记点为A点,下嘴唇和下
巴之间的标记点为承浆点,其他为原始的68个标记点。
[0143] 将这70个标记点作为初始的标记点,提取脸部结构关键点,如下表1所示,但是本领域人员应当知道的是,表1中的脸部结构关键点仅为说明本实施例,而不用于限定本实施
例。
[0144]
[0145]
[0146] 表1
[0147] 在表1中有三列数据,分别代表脸部结构关键点的名称、标号和标记点序号或者通过标记点得到该脸部结构关键点的方法。通过70个标记点可以提取许多用于结构度量的脸
部结构关键点,根据人脸的横向和纵向的相对比率关系以及标记点在人脸上的分布情况,
本实施例提取了26个脸部结构关键点,这些脸部结构关键点将用于下一步结构度量特征的
提取。图9展示了在目标人脸中提取脸部结构关键点的示意图。
[0148] 根据提取的脸部结构关键点,提取脸部结构度量特征。可以根据上一步骤中提取的26个脸部结构关键点提取一系列的结构度量特征,从而可以将人脸编码为对应的结构度
量特征向量。
[0149] 结构度量特征选择的基本原则是选择的结构特征要有明确的含义,并且与口呼吸面容识别具有有密切的联系。可以随机提取多种结构度量特征,在训练口呼吸面容识别模
型的过程中,确定结构度量特征是否与口呼吸面容识别存在密切联系。结构度量特征与口
呼吸面容识别存在密切联系是指:使用该结构度量特征识别口呼吸面容较为准确,而不使
用该结构度量特征识别口呼吸面容识别不够准确。在确定与口呼吸面容识别存在密切联系
的结构度量特征之后,可以确定需要提取的脸部结构关键点。
[0150] 通过脸部结构关键点可以提取多种结构度量特征集合。如表2所示,是根据上述提取的26个脸部结构关键点,提取的f0~f24(不包括标号FF_的特征,当然,FF_特征也可以作
为一个结构度量特征),共25个的结构度量特征,这样可以得到一个25维的结构度量特征向
量,当然,本领域技术人员应当知道的是,该25个结构度量特征仅仅作为结构度量特征提取
的一个参考。其中,为了使所有表示距离的结构度量特征都是基于图像像素的处理结果,保
持量纲上的统一,对于所有表示的距离的结构度量特征都以面宽FF_作为基准做归一化处
理,对于所有表示比值的结构度量特征和表示角度的结构度量特征,则维持不变。
[0151]
[0152]
[0153] 表2
[0154] 通过表2可以将任意一张人脸的图像进行结构度量特征的编码,得到该人脸的一个25维的结构度量特征向量的表示。
[0155] 本实施例可以使用25维的结构度量特征向量,而不是使用最初的人脸像素来参与口呼吸面容识别模型的训练和识别,能够大大提高计算的效率。
[0156] 根据提取的目标人脸的结构度量特征向量,可以预先训练的口呼吸面容识别模型完成口呼吸面容识别的任务。
[0157] 下面将以口呼吸面容识别模型为XGBoost模型为例,对口呼吸面容识别的过程进行描述。
[0158] XGBoost是一种基于Boosting的机器学习方法。XGBoost是通过集成分类与回归树(Classification and regression tree,简称CART)来增强分类性能。XGBoost使用随机梯
度下降法优化树的结构和权重,具有良好的训练速度和精度。XGBoost即可以用于分类也可
以用于回归,口呼吸面容识别问题可以看做是典型的二分类问题。在本发明实施例中,
XGBoost模型可以为XGBoost Classifier模型。
[0159] 在训练XGBoost之前,构建数据集。在该数据集中包括多个已经标注标签的样本图像的数据。样本图像的种类包括:正样本图像和负样本图像。样本图像的标签的种类与样本
图像的种类相同。样本图像的数据包括:从样本图像中识别到的人脸的结构度量特征。样本
图像的数据的获得方式可以参考图2至图6所示的步骤。
[0160] 将该数据集分为三个种类的子数据集。该三个种类的子数据集,包括:训练数据集,验证数据集和测试数据集。在训练数据集中包括预设的负样本图像的数据和图像增广
处理后的正样本图像的数据。
[0161] 训练数据集,用于训练XGBoost的结构和权重。训练数据集可以占数据集中80%的样本图像。训练数据集包括两个部分:图像增广处理后的正样本图像的训练集和负样本图
像的训练集。正样本图像的训练集包括:多个已经标注的正样本图像的数据。负样本图像的
训练集包括:多个已经标注的负样本图像的数据。
[0162] 验证数据集,用于训练XGBoost的超参数。超参数的种类包括:XGBoost中CART树的最大数深度。验证数据集可以从训练数据集中选择部分已经标注的正样本图像的数据和部
分已经标注的负样本图像的数据。例如:验证数据集中的样本图像的数据占原始的数据集
的10%或者20%。
[0163] 测试数据集,用于测试XGBoost在预测口呼吸面容时的准确性。测试数据集可以占数据集20%的样本图像的数据。测试数据集包括两个部分:正样本图像的测试集和负样本
图像的测试集。正样本图像的测试集包括:多个已经标注的正样本图像的数据。负样本图像
的测试集包括:多个已经标注的负样本图像的数据。
[0164] 由于口呼吸面容的正样本图像采集较为不易,如果正样本图像的数量较少,将不足以完成口呼吸面容识别的训练任务。所以本实施例对结构度量特征进行增强,也即是针
对采集的正样本图像进行图像增广处理。
[0165] 如图10所示,为根据本发明一实施例的图像增广处理的步骤流程图。
[0166] 步骤S1010,在正样本图像中,提取人脸的结构度量特征。
[0167] 该结构度量特征为多维的结构度量特征向量。进一步地,该结构度量特征为24维的结构度量特征向量。
[0168] 获取采集的所有正样本图像,其中,每个正样本图像中包括人脸,并且人脸的姿态角处于姿态角范围之内;针对每个正样本图像,如果确定正样本图像的图像亮度标准差小
于图像亮度标准差阈值,则利用伽马变化算法,对该正样本图像进行图像增强处理;在图像
增强处理后的正样本图像中,提取人脸的结构度量特征。
[0169] 步骤S1020,在所述人脸的结构度量特征中的每一维特征上增加高斯噪声,得到新的正样本图像。
[0170] 每一个维度上加上一个随机扰动的高斯噪声,将采样后的值作为正样本图像在该维度上的输入值,当所有的维度都经过上述操作后,就形成了一个新的正样本图像。
[0171] 具体而言,正样本图像S在第i个维度上的值是通过重新采样得到的,基于高斯分布对该维度的值进行采样:
[0172] Si~G(μ,σ‑2);
[0173] 其中,Si为正样本图像S的第i个维度重新采样的值,即加入高斯噪声后的值,G为高斯分布函数,μ和σ‑为预设的采样参数,μ为均值,σ‑为标准差。
[0174] 进一步地,假设对一个正样本图像执行多次图像增广处理,得到多个新的正样本图像,多个新的正样本图像对应维度的值的均值为d,而标准差与均值d的比率为q,那么,设
置采样参数为:μ=d,σ‑=d*q。
[0175] 比率q为经验值或者通过实验获得的值。在设置比率q时,可以考虑以在特征上增加较小的噪声为准则,以避免正样本图像出现较大的改变。在本实施例中,q=0.1。
[0176] 通过图像增广处理,可以在原始的正样本图像的基础上,扩充大量的新的正样本图像。例如:每个正样本图像都通过图像增广处理2000轮后,每一个正样本图像就产生了增
加噪声后的2000个新的正样本图像,如果原始的正样本图像为15个,就可以产生了容量为
30000的正样本图像,可以对这30000个正样本图像进行标注,并且将已经标注的该30000个
正样本图像的数据作为正样本图像的训练集,而原始的15个正样本图像也可以进行标注,
并且将已经标注的该15个正样本图像的数据作为正样本图像的测试集。
[0177] 另外,还需要采集没有口呼吸面容问题的负样本图像。具体可以通过爬虫技术从互联网中爬取图像,然后筛选出负样本图像。还可以通过设置调查问卷,从调查问卷中提取
的睡眠状态良好(比如没有呼吸不畅、咳嗽和打鼾症状)的用户的人脸图像作为负样本图
像,提取睡眠状态有问题(比如睡眠有呼吸不畅、鼾症较严重现象)的用户的人脸图像作为
正样本图像,该方式获得的正样本图像数量充足的情况,可以不进行图像增广处理。例如:
经过调查问卷的方式,筛选得到33324个负样本图像,2981个正样本图像,对该33324个负样
本图像进行标注,并将已经标注的该33324个负样本图像的数据作为负样本图像的训练集,
对该2981个正样本图像进行标注,并将已经标注的2981个正样本图像的数据作为正样本图
像的测试集。
[0178] 在训练集和测试集的设置上,如表3所示。当然,本领域技术人员应当知道的是,表3仅为说明本实施例,而不用于限定本实施例。
[0179]
[0180]
[0181] 表3
[0182] 基于已经构建好的数据集,对口呼吸面容识别模型进行训练。
[0183] 图11为根据本发明一实施例的口呼吸面容识别模型的训练步骤流程图。
[0184] 步骤S1110,设置XGBoost模型中的CART树的最大树深度的初始值。
[0185] 步骤S1120,利用预设的训练数据集,对所述XGBoost模型的结构和权重进行训练。
[0186] 顺次将训练数据集中的每个样本图像输入XGBoost模型,获取XGBoost模型输出的预测结果,将该预测结果与样本图像标注的标签进行比较,如果预测结果与标签相同,则向
XGBoost模型中输入下一个样本图像,如果预测结果与标签不同,则调整XGBoost模型中的
结构和权重。
[0187] 步骤S1130,利用预设的验证数据集,对所述XGBoost模型中已训练的结构和权重进行验证,并根据验证结果执行本次的最大树深度调整。
[0188] 顺次将验证数据集中的每个样本图像输入XGBoost模型,获取XGBoost模型输出的预测结果,将该预测结果与样本图像标注的标签进行比较,如果预测结果与标签相同,则对
预测正确的结果进行计数,如果预测结果与标签不同,则对预测错误的结果进行计数。确定
XGBoost模型预测结果的准确度。该准确度=对预测正确的结果进行计数的计数值÷(对预
测正确的结果进行计数的计数值+对预测错误的结果进行计数的计数值)。
[0189] 在调整最大树深度时,可以在前一次调整的结果上加1。
[0190] 步骤S1140,利用预设的网格搜索算法,确定前一次调整的最大树深度是否为最优最大树深度;如果是,则执行步骤S1150;如果否,则执行步骤S1120。
[0191] 如果本次调整最大树深度之后,XGBoost模型预测结果的准确度比前一次调整最大树深度之后,XGBoost模型预测结果的准确度高,则续集调整最大树深度;如果本次调整
最大树深度之后,XGBoost模型预测结果的准确性比前一次调整最大树深度之后,XGBoost
模型预测结果的准确度低,则确定前一次调整的最大树深度为最优最大树深度。
[0192] 步骤S1150,将所述XGBoost模型中的所述CART树的最大树深度设置为所述最优最大树深度。
[0193] 利用预设的测试数据集,测试已经被设置成最优最大树深度的所述XGBoost模型,并确定所述XGBoost模型的性能度量值;如果所述XGBoost模型的性能度量值在预设性能范
围之内,则完成对所述XGBoost模型的训练。当然,如果所述XGBoost模型的性能度量值不在
预设性能范围之内,则跳转到步骤S1120。预设的性能范围可以是经验值或者通过实验获得
的值。
[0194] 进一步地,XGBoost模型的性能度量值可以是分类的准确性。具体的,可以顺次将测试数据集中的每个样本图像输入XGBoost模型,获取XGBoost模型输出的预测结果,将该
预测结果与样本图像标注的标签进行比较,如果预测结果与标签相同,则对预测正确的结
果进行计数,如果预测结果与标签不同,则对预测错误的结果进行计数。确定XGBoost模型
预测结果的准确度。该准确度=对预测正确的结果进行计数的计数值÷(对预测正确的结
果进行计数的计数值+对预测错误的结果进行计数的计数值)。预设的性能范围可以是预测
结果的准确率大于预设的收敛阈值。这样,如果XGBoost模型预测结果的准确度大于该收敛
阈值,则确定XGBoost模型收敛。该收敛阈值可以是经验值或者通过实验获得的值。
[0195] 在本实施例中,随着数据集的增长,XGBoost模型得以迭代更新,使得XGBoost模型的准确性越来越高,效果会越来越好。
[0196] 在本实施例中,经过多轮训练,最终得到CART树的最大深度为4时,验证集上的性能最优。然后在测试集上进行测试,经过多次交叉验证,该口呼吸面容识别模型对口呼吸面
容正样本图像识别的准确性是14/15,而对负样本图像识别的准确性是2665/2981,该口呼
吸面容识别模型对口呼吸面容的识别精度较高。
[0197] 在本实施例中,利用图像处理技术和口呼吸面容识别模型,可以识别目标人脸是否为口呼吸面容。在医学领域中,口呼吸面容的识别问题比较新颖,在脸部正畸,特别是青
少年、儿童下颌发育不良的领域,本实施例的识别方式可以大大减少就医成本。
[0198] 由于口呼吸的经典案例比较少,本实施例采用了一种基于特征扰动的数据增强方法对数据集进行了增广,避免了机器学习模型样本图像过少的问题,且本实施例的思路比
较简单,从人脸图像预处理,到结构度量特征的提取,再到口呼吸面容识别模型的训练和预
测,脉络清晰,识别结果具有较好的可解释性。
[0199] 在特征向量编码的基础上,本实施例选择了XGBoost机器学习方法,实际上除了XGBoost机器学习方式可以使用的方法还有很多种,比如:线性回归方法、SVM方等等。
[0200] 本发明实施例除了借助图像处理技术和口呼吸面容识别模型相结合的方式识别口呼吸面容,还可以基于深度学习的思路,也即是说,直接使用原始的包含人脸的图像,即
人脸像素矩阵作为深度学习模型的输入,该深度学习模型输出图像中的人脸是否是口呼吸
面容。该深度学习模型根据网络结构自动产生一个有效的度量特征编码方法,然后在产生
有效的度量特征的同时给出口呼吸面容的预测输出,当口呼吸面容相关的人脸数据累计到
一定的规模后,这类方法的准确性较高。
[0201] 本实施例提供一种口呼吸面容识别设备。如图12所示,为根据本发明一实施例的口呼吸面容识别设备的结构图。
[0202] 在本实施例中,所述口呼吸面容识别设备,包括但不限于:处理器1210、存储器1220。
[0203] 所述处理器1210用于执行存储器1220中存储的口呼吸面容识别程序,以实现上述的口呼吸面容识别方法。
[0204] 具体而言,所述处理器1210用于执行存储器1220中存储的口呼吸面容识别程序,以实现以下步骤:采集有效人脸图像;确定所述有效人脸图像中目标人脸的姿态角;如果所
述目标人脸的姿态角在预设的姿态角范围之内,则在所述有效人脸图像中,提取所述目标
人脸的结构度量特征;将所述目标人脸的结构度量特征输入预先训练的口呼吸面容识别模
型,获取所述口呼吸面容识别模型输出的口呼吸面容识别结果;其中,对预设的正样本图像
进行图像增广处理,利用图像增广处理后的正样本图像以及预设的负样本图像,训练所述
口呼吸面容识别模型。
[0205] 其中,所述采集有效人脸图像,包括:采集用户环境图像;确定所述用户环境图像的平均亮度值;如果所述用户环境图像的平均亮度值在预设的亮度值范围之内,则针对所
述用户环境图像进行人脸检测;如果在所述用户环境图像中检测到人脸,则确定所述用户
环境图像为有效人脸图像;如果所述用户环境图像的平均亮度值未在所述亮度值范围之
内,或者,在所述用户环境图像中未检测到人脸,则进行重新采集提示。
[0206] 其中,在所述针对所述用户环境图像进行人脸检测之前,还包括:确定所述用户环境图像的图像亮度标准差;如果所述图像亮度标准差小于预设的图像亮度标准差阈值,则
利用伽马变换算法,对所述用户环境图像进行图像增强处理。
[0207] 其中,所述确定所述有效人脸图像中目标人脸的姿态角,包括:在所述有效人脸图像中,针对目标人脸进行标记点标记;获取预先设置的三维人体头像模型;其中,在所述三
维人体头像模型的脸部标记有标记点,并且在所述三维人体头像模型的脸部标记的标记点
和在所述目标人脸上标记的标记点的数量和类型相同;根据所述三维人体头像模型中的标
记点以及所述有效人脸图像中针对目标人脸的标记点,确定所述目标人脸的姿态角。
[0208] 其中,在所述有效人脸图像中,提取所述目标人脸的结构度量特征,包括:在所述有效人脸图像中,针对目标人脸进行标记点标记;根据所述目标人脸的标记点,提取所述目
标人脸的脸部结构关键点;根据所述目标人脸的脸部结构关键点,提取所述目标人脸对应
的结构度量特征。
[0209] 其中,对预设的正样本图像进行数据增广处理,包括:在所述正样本图像中,提取人脸的结构度量特征;在所述人脸的结构度量特征中的每一维特征上增加高斯噪声,得到
新的正样本图像。
[0210] 其中,如果所述口呼吸面容识别模型为XGBoost模型,则在将所述目标人脸的结构度量特征输入预先训练的口呼吸面容识别模型之前,还包括:根据预设的数据集,训练所述
口呼吸面容识别模型;其中,所述数据集包括训练数据集和验证数据集,所述训练数据集中
包括预设的负样本图像和图像增广处理后的正样本图像;所述根据预设的数据集,训练所
述口呼吸面容识别模型,包括:步骤2,设置所述XGBoost模型中的CART分类与回归树的最大
树深度的初始值;步骤4,利用预设的训练数据集,对所述XGBoost模型的结构和权重进行训
练;步骤6,利用预设的验证数据集,对所述XGBoost模型中已训练的结构和权重进行验证,
并根据验证结果执行本次的最大树深度调整;步骤8,利用预设的网格搜索算法,确定前一
次调整的最大树深度是否为最优最大树深度,如果是最优最大树深度,则将所述XGBoost模
型中的所述CART树的最大树深度设置为所述最优最大树深度,否则跳转到步骤4。
[0211] 其中,所述数据集还包括:测试数据集;在将所述XGBoost模型中的所述CART树的最大树深度设置为所述最优最大树深度之后,还包括:利用预设的测试数据集,测试已经被
设置成最优最大树深度的所述XGBoost模型,并确定所述XGBoost模型的性能度量值;如果
所述XGBoost模型的性能度量值在预设性能范围之内,则完成对所述XGBoost模型的训练。
[0212] 本发明实施例还提供了一种存储介质。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易
失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类
的存储器的组合。
[0213] 当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述的口呼吸面容识别方法。
[0214] 具体而言,所述处理器用于执行存储器中存储的口呼吸面容识别程序,以实现以下步骤:采集有效人脸图像;确定所述有效人脸图像中目标人脸的姿态角;如果所述目标人
脸的姿态角在预设的姿态角范围之内,则在所述有效人脸图像中,提取所述目标人脸的结
构度量特征;将所述目标人脸的结构度量特征输入预先训练的口呼吸面容识别模型,获取
所述口呼吸面容识别模型输出的口呼吸面容识别结果;其中,对预设的正样本图像进行图
像增广处理,利用图像增广处理后的正样本图像以及预设的负样本图像,训练所述口呼吸
面容识别模型。
[0215] 其中,所述采集有效人脸图像,包括:采集用户环境图像;确定所述用户环境图像的平均亮度值;如果所述用户环境图像的平均亮度值在预设的亮度值范围之内,则针对所
述用户环境图像进行人脸检测;如果在所述用户环境图像中检测到人脸,则确定所述用户
环境图像为有效人脸图像;如果所述用户环境图像的平均亮度值未在所述亮度值范围之
内,或者,在所述用户环境图像中未检测到人脸,则进行重新采集提示。
[0216] 其中,在所述针对所述用户环境图像进行人脸检测之前,还包括:确定所述用户环境图像的图像亮度标准差;如果所述图像亮度标准差小于预设的图像亮度标准差阈值,则
利用伽马变换算法,对所述用户环境图像进行图像增强处理。
[0217] 其中,所述确定所述有效人脸图像中目标人脸的姿态角,包括:在所述有效人脸图像中,针对目标人脸进行标记点标记;获取预先设置的三维人体头像模型;其中,在所述三
维人体头像模型的脸部标记有标记点,并且在所述三维人体头像模型的脸部标记的标记点
和在所述目标人脸上标记的标记点的数量和类型相同;根据所述三维人体头像模型中的标
记点以及所述有效人脸图像中针对目标人脸的标记点,确定所述目标人脸的姿态角。
[0218] 其中,在所述有效人脸图像中,提取所述目标人脸的结构度量特征,包括:在所述有效人脸图像中,针对目标人脸进行标记点标记;根据所述目标人脸的标记点,提取所述目
标人脸的脸部结构关键点;根据所述目标人脸的脸部结构关键点,提取所述目标人脸对应
的结构度量特征。
[0219] 其中,对预设的正样本图像进行数据增广处理,包括:在所述正样本图像中,提取人脸的结构度量特征;在所述人脸的结构度量特征中的每一维特征上增加高斯噪声,得到
新的正样本图像。
[0220] 其中,如果所述口呼吸面容识别模型为XGBoost模型,则在将所述目标人脸的结构度量特征输入预先训练的口呼吸面容识别模型之前,还包括:根据预设的数据集,训练所述
口呼吸面容识别模型;其中,所述数据集包括训练数据集和验证数据集,所述训练数据集中
包括预设的负样本图像和图像增广处理后的正样本图像;所述根据预设的数据集,训练所
述口呼吸面容识别模型,包括:步骤2,设置所述XGBoost模型中的CART分类与回归树的最大
树深度的初始值;步骤4,利用预设的训练数据集,对所述XGBoost模型的结构和权重进行训
练;步骤6,利用预设的验证数据集,对所述XGBoost模型中已训练的结构和权重进行验证,
并根据验证结果执行本次的最大树深度调整;步骤8,利用预设的网格搜索算法,确定前一
次调整的最大树深度是否为最优最大树深度,如果是最优最大树深度,则将所述XGBoost模
型中的所述CART树的最大树深度设置为所述最优最大树深度,否则跳转到步骤4。
[0221] 其中,所述数据集还包括:测试数据集;在将所述XGBoost模型中的所述CART树的最大树深度设置为所述最优最大树深度之后,还包括:利用预设的测试数据集,测试已经被
设置成最优最大树深度的所述XGBoost模型,并确定所述XGBoost模型的性能度量值;如果
所述XGBoost模型的性能度量值在预设性能范围之内,则完成对所述XGBoost模型的训练。
[0222] 以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、
等同替换、改进等,均应包含在本发明的权利要求范围之内。