一种基于改进残差网络的BPD面部情绪识别方法转让专利

申请号 : CN202110114564.8

文献号 : CN112784776B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 潘晓光令狐彬董虎弟李娟陈智娇

申请人 : 山西三友和智慧信息技术股份有限公司

摘要 :

本发明属于面部识别技术领域,具体涉及一种基于改进残差网络的BPD面部情绪识别方法,包括下列步骤:收集数据,构建数据集;标签重构;数据集分割;模型构建;模型训练;模型验证;模型评估。本发明通过使用Swish激活函数对ResNet101进行改进,并将网络修改为多任务网络,通过不同任务间的内在联系,提升模型训练效率,帮助模型拥有更高的识别精度,对BPD人群进行人脸情绪的多角度识别,可以捕捉BPD人群人脸情绪数据更多深层次特征,进行更为精准的情绪识别。本发明用于面部情绪的识别。

权利要求 :

1.一种基于改进残差网络的BPD面部情绪识别方法,其特征在于:包括下列步骤:S1、收集数据,构建数据集,所述S1中数据集中的数据的包括数据标签;所述数据标签包含两部分内容,第一部分为情绪大类,共分为三类,分别为中性情绪、正面情绪、负面情绪;第二部分为情绪细分,共分为七类,分别为Happy、Sad、Angry、Surprised、Scared、Disgusted、Contempt;

S2、标签重构;

S3、数据集分割;

S4、模型构建:通过ResNet101网络进行模型构建,并对ResNet网络结构进行调整,将ResNet网络结构的激活函数替换为Swish函数,同时将网络调整为多任务网络,在第50个残差块之后,使用全连接层进行一次情绪大类的分类输出,在第101个残差块之后,进行一次情绪细分的输出;

S5、模型训练;

S6、模型验证;

S7、模型评估。

2.根据权利要求1所述的一种基于改进残差网络的BPD面部情绪识别方法,其特征在于:所述S2中标签重构的方法为:将数据标签重构为One‑Hot形式,供网络进行多分类任务学习,所述中性情绪、正面情绪、负面情绪分别对于第0、1、2列,Happy、Sad、Angry、Surprised、Scared、Disgusted、Contempt分别对应0‑6列。

3.根据权利要求1所述的一种基于改进残差网络的BPD面部情绪识别方法,其特征在于:所述S3中数据集分割的方法为:将数据集按照7:1:2的比例随机分割数据集,构建训练集、验证集与测试集。

4.根据权利要求1所述的一种基于改进残差网络的BPD面部情绪识别方法,其特征在于:所述Swish函数为:f(x)=x·sigmoid(βx), 其中x为对应卷积层的输出,β为超参数,a为自变量,sigmoid的目的为将自变量a映射到0‑1范围内。

5.根据权利要求1所述的一种基于改进残差网络的BPD面部情绪识别方法,其特征在于:所述S5中模型训练的方法为:使用训练集数据对模型进行迭代训练,当模型损失值连续

20个epoch无下降时,停止训练,保存模型。

6.根据权利要求1所述的一种基于改进残差网络的BPD面部情绪识别方法,其特征在于:所述S6中模型验证的方法为:使用验证集数据对训练的到的数据模型进行50个epoch的二次训练,若模型损失无下降,保存模型,若模型损失降低,将学习率设置为原来的0.5倍,使用训练集数据继续对模型进行训练,直到模型损失稳定。

7.根据权利要求1所述的一种基于改进残差网络的BPD面部情绪识别方法,其特征在于:所述S7中模型评估的方法为:使用训练完成的模型对测试集数据进行测试,根据模型识别结果与数据标签,对模型识别效果进行评估,评估方式为对每一个类别的数据进行准确率与召回率的计算;

准确率:Acc=(TP+TN)/(TP+TN+FN+FP)

召回率:R=TP/(TP+FN)

其中:TP为正类判定为正类数量;FP为负类判定为正类数量;FN为正类判定为负类数量;TN为负类判定为负类数量。

说明书 :

一种基于改进残差网络的BPD面部情绪识别方法

技术领域

[0001] 本发明属于面部识别技术领域,具体涉及一种基于改进残差网络的BPD面部情绪识别方法。

背景技术

[0002] 现有的情绪识别技术多需结合场景特征进行识别,且特征多需要人工选择,对于特定人群如BPD(边缘型人格障碍)人群的面部情绪识别与正常人的情绪特征有所差异,目前情绪识别技术无法对此类人群的情绪进行高精度的识别。
[0003] 现有技术存在的问题或者缺陷:现有面部情绪识别技术存在需人工选择特征,识别精度较差,且对于特定人群进行识别时会出现泛化能力差的问题。

发明内容

[0004] 针对上述现有面部情绪识别技术存在需人工选择特征、识别精度较差且泛化能力差的技术问题,本发明提供了一种自动化程度高、识别精度高、泛化能力强的基于改进残差网络的BPD面部情绪识别方法。
[0005] 为了解决上述技术问题,本发明采用的技术方案为:
[0006] 一种基于改进残差网络的BPD面部情绪识别方法,包括下列步骤:
[0007] S1、收集数据,构建数据集;
[0008] S2、标签重构;
[0009] S3、数据集分割;
[0010] S4、模型构建;
[0011] S5、模型训练;
[0012] S6、模型验证;
[0013] S7、模型评估。
[0014] 所述S1中数据集中的数据的包括数据标签;所述数据标签包含两部分内容,第一部分为情绪大类,共分为三类,分别为中性情绪、正面情绪、负面情绪;第二部分为情绪细分,共分为七类,分别为Happy、Sad、Angry、Surprised、Scared、Disgusted、Contempt。
[0015] 所述S2中标签重构的方法为:将数据标签重构为One‑Hot形式,供网络进行多分类任务学习,所述中性情绪、正面情绪、负面情绪分别对于第0、1、2列,Happy、Sad、Angry、Surprised、Scared、Disgusted、Contempt分别对应0‑6列。
[0016] 所述S3中数据集分割的方法为:将数据集按照7:1:2的比例随机分割数据集,构建训练集、验证集与测试集。
[0017] 所述S4中模型构建的方法为:通过ResNet101网络进行模型构建,并对ResNet网络结构进行调整,将ResNet网络结构的激活函数替换为Swish函数,同时将网络调整为多任务网络,在第50个残差块之后,使用全连接层进行一次情绪大类的分类输出,在第101个残差块之后,进行一次情绪细分的输出。
[0018] 所述Swish函数为:f(x)=x·sigmoid(βx), 其中x为对应卷积层的输出,β为超参数,a为自变量,sigmoid的目的为将自变量a映射到0‑1范围内。
[0019] 所述S5中模型训练的方法为:使用训练集数据对模型进行迭代训练,当模型损失值连续20个epoch无下降时,停止训练,保存模型。
[0020] 所述S6中模型验证的方法为:使用验证集数据对训练的到的数据模型进行50个epoch的二次训练,若模型损失无下降,保存模型,若模型损失降低,将学习率设置为原来的0.5倍,使用训练集数据继续对模型进行训练,直到模型损失稳定。
[0021] 所述S7中模型评估的方法为:使用训练完成的模型对测试集数据进行测试,根据模型识别结果与数据标签,对模型识别效果进行评估,评估方式为对每一个类别的数据进行准确率与召回率的计算;
[0022] 准确率:Acc=(TP+TN)/(TP+TN+FN+FP)
[0023] 召回率:R=TP/(TP+FN)
[0024] 其中:TP为正类判定为正类数量;FP为负类判定为正类数量;FN为正类判定为负类数量;TN为负类判定为负类数量。
[0025] 本发明与现有技术相比,具有的有益效果是:
[0026] 本发明通过使用Swish激活函数对ResNet101进行改进,并将网络修改为多任务网络,通过不同任务间的内在联系,提升模型训练效率,帮助模型拥有更高的识别精度,对BPD人群进行人脸情绪的多角度识别,可以捕捉BPD人群人脸情绪数据更多深层次特征,进行更为精准的情绪识别。

附图说明

[0027] 图1为本发明的流程框图;
[0028] 图2为本发明模型训练流程示意图。

具体实施方式

[0029] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030] 一种基于改进残差网络的BPD面部情绪识别方法,包括下列步骤:
[0031] S1、收集数据,构建数据集;
[0032] S2、标签重构;
[0033] S3、数据集分割;
[0034] S4、模型构建;
[0035] S5、模型训练;
[0036] S6、模型验证;
[0037] S7、模型评估。
[0038] 进一步,S1中数据集中的数据的包括数据标签;所述数据标签包含两部分内容,第一部分为情绪大类,共分为三类,分别为中性情绪、正面情绪、负面情绪;第二部分为情绪细分,共分为七类,分别为Happy、Sad、Angry、Surprised、Scared、Disgusted、Contempt。
[0039] 进一步,S2中标签重构的方法为:将数据标签重构为One‑Hot形式,供网络进行多分类任务学习,所述中性情绪、正面情绪、负面情绪分别对于第0、1、2列,Happy、Sad、Angry、Surprised、Scared、Disgusted、Contempt分别对应0‑6列。
[0040] 进一步,S3中数据集分割的方法为:将数据集按照7:1:2的比例随机分割数据集,构建训练集、验证集与测试集。
[0041] 进一步,S4中模型构建的方法为:通过ResNet101网络进行模型构建,并对ResNet网络结构进行调整,将ResNet网络结构的激活函数替换为Swish函数,同时将网络调整为多任务网络,在第50个残差块之后,使用全连接层进行一次情绪大类的分类输出,在第101个残差块之后,进行一次情绪细分的输出。
[0042] 进一步,Swish函数为:f(x)=x·sigmoid(βx), 其中x为对应卷积层的输出,β为超参数,a为自变量,sigmoid的目的为将自变量a映射到0‑1范围内。
[0043] 进一步,S5中模型训练的方法为:使用训练集数据对模型进行迭代训练,当模型损失值连续20个epoch无下降时,停止训练,保存模型。
[0044] 进一步,S6中模型验证的方法为:使用验证集数据对训练的到的数据模型进行50个epoch的二次训练,若模型损失无下降,保存模型,若模型损失降低,将学习率设置为原来的0.5倍,使用训练集数据继续对模型进行训练,直到模型损失稳定。
[0045] 进一步,S7中模型评估的方法为:使用训练完成的模型对测试集数据进行测试,根据模型识别结果与数据标签,对模型识别效果进行评估,评估方式为对每一个类别的数据进行准确率与召回率的计算;
[0046] 准确率:Acc=(TP+TN)/(TP+TN+FN+FP)
[0047] 召回率:R=TP/(TP+FN)
[0048] 其中:TP为正类判定为正类数量;FP为负类判定为正类数量;FN为正类判定为负类数量;TN为负类判定为负类数量。
[0049] 上面仅对本发明的较佳实施例作了详细说明,但是本发明并不限于上述实施例,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化,各种变化均应包含在本发明的保护范围之内。