一种基于卷积神经网络进行情绪测量的方法与流程

文档序号:18798360发布日期:2019-09-29 20:09阅读:354来源:国知局

本发明涉及一种基于卷积神经网络进行情绪测量的方法。



背景技术:

传统的采集情绪数据的方式是通过心理学量表或问卷,让被测评者定时回答反映情绪的问题。操作十分复杂,且数据的主观性很大。在本研究中采用非侵入式的数据采集方式,使用表情自动识别技术自动采集表情,操作简便、数据更客观。

对于表情自动识别的方法,目前国内外学者提出了多种方法,分为传统的人工定制特征的分类方法(采用预处理——特征提取——分类的方法)以及深度学习的方法(通过深度神经网络实现特征提取和分类)

典型的深度学习模型有深度置信网络(deepbeliefnetworks,dbn)、堆叠式自编码器(stackedautoencoder,sae)、卷积神经网络(convolutiona丨neuralnetworks,cnn)等。

但现有的表情识别技术多在实验室条件下使用,实验室条件下的表情比较夸张、人脸姿态单一、环境单一,图像样本清晰,这些条件使表情图片质量较高,容易达到表情识别的目的,但是在走出实验室的自然条件下,环境极为复杂,在表情识别过程中会有诸多困难,如:背景复杂、表情的类内差异大于类间差异、有标注的样本较少、样本分布不均匀、光照变化大、人脸姿态各异等,使比较准确地识别表情面临的挑战较多。



技术实现要素:

本发明的目的在于提出一种基于卷积神经网络进行情绪测量的方法,通过对人面目表情变化划分为7种类型加以区分,建立自然状态下表情识别模型,实现在自然环境状态下对面部表情的精准识别。再将表情数据转化为情绪数据,得到每个个体的情绪状态量化值,实现对情绪的自动测量。

为了实现上述目的,本发明的技术方案是:

一种基于卷积神经网络进行情绪测量的方法,包括在工作区域设置图像采集装置实时采集一个单位中每一个人的个人面部图像,使用人脸识别建立个人档案数据包以及对个人面部表情类别的分类,其中,所述情绪测量的方法进一步包括建立个人面部表情类别识别模型,通过个人面部表情类别识别模型识别一个时间周期的表情形成个人的情绪状态,最后得到单位中每一个人的情绪状态的量化表;其中:

所述建立个人面部表情类别识别模型的步骤包括:

步骤一:获取个人面部识别过程中的人脸图像;

步骤二:按照所述面部表情类别的分类,人工划分人脸图像表情代表的所述表情类别;

步骤三:对划分好类别的人脸图像进行人脸热力图像处理形成热力图像数据;

步骤四:使用卷积神经网络对热力图像数据学习,形成对应划分好类别的个人表情类别识别模型;

所述识别一个时间周期的表情形成个人的情绪状态,得到单位中每一个人的情绪状态的量化表的步骤包括:

第一步:实时采集经过图像采集装置的人脸图像,对人脸图像进行人脸识别,确定人脸图像对应的个人档案数据包;

第二步:对人脸图像进行人脸热力图像处理形成热力图像数据;

第三步:将热力图像数据输入个人表情类别识别模型,个人表情类别识别模型输出对应的个人面部表情类别分类,并将分类的结果和对应的时间存入对应的个人档案数据包,返回第一步直至接收到个人情绪状态的量化表请求命令进入第四步;

第四步:查询个人档案数据包,在请求命令要求的时间周期内累计计算个人档案数据包中各种表情类别出现的频率,根据出现的频率得到个人情绪状态的量化表。

方案进一步是:所述人面部表情类别分为7类,分别是:平静、愤怒、开心、惊讶、厌恶、生气、悲伤。

方案进一步是:,所述将被识别人脸图像转换为人脸热力图像形成热力图像数据是:读取被识别人脸图像;确定人脸识别过程中的特征识别点;获取围绕特征识别点的边缘点形成人脸图像的热力图像数据。

方案进一步是:所述人工划分人脸图像表情代表的所述表情类别是:组织经过训练的至少5个人,将人脸图像分发至所述5个人,5个人背靠背按照人面部表情类别确定人脸图像的表情所代表的类别,当5个人中所确定的类别相同不少于三人时,则认为该表情属于该类别。

方案进一步是:所述方法进一步包括:在识别一个预测时间周期的表情形成个人的情绪状态,得到单位中每一个人的情绪状态的量化表的步骤中,如果当个人类别识别模型不能对输入的热力图像数据进行面部表情类别分类时,则将被识别人脸图像送至建立个人面部表情类别识别模型步骤中的步骤二,并依次执行接下来的步骤三、步骤四完善个人表情类别识别模型。

方案进一步是:所述图像采集装置在工作区域的设置,至少能够获得在单位的每一个人每一天除了报道时人脸识别图像外的一个面部图像。

方案进一步是:在读取被识别人脸图像后首先对图像进行预处理,预处理包括光照归一化处理、正面化处理、旋转、剪切处理。

方案进一步是:所述获取围绕特征识别点的边缘点形成人脸图像的热力图像数据的过程是:以每个人脸识别过程中的特征识别点为中心,生成一个二维高斯分布,每个特征识别点对应热力图的一个通道,通过python的concat函数进行连接形成热力图像数据。

本发明的有益效果是:本发明提升了表情识别在自然状态下的精度,实现在自然状态下常见表情识别精度平均达到65%以上,其中个别表情识别的精度达到80%以上。进而实现在工作场景中自然状态下的大规模应用,以更为客观、非侵入式的方式采集情绪数据,摆脱了以往通过量表、问卷答题评估情绪的形式,保证了情绪数据的真实性和易操作性。

具体实施方式

一种基于卷积神经网络进行情绪测量的方法,包括在工作区域设置图像采集装置实时采集一个单位中每一个人的个人面部图像,例如在报到区设置图像采集装置,使每一个进入工作区的人员必须被采集人脸图像完成出席报道;使用已经成熟的人脸识别技术建立个人档案数据包、对个人面部表情类别的分类,共分有7类,分别是:平静、愤怒、开心、惊讶、厌恶、生气、悲伤。其中,所述情绪测量的方法进一步包括建立个人面部表情类别识别模型,通过个人面部表情类别识别模型识别一个时间周期的表情形成个人的情绪状态,最后得到单位中每一个人的情绪状态的量化表;其中:

所述建立个人面部表情类别识别模型的步骤包括:

步骤一:获取个人面部识别过程中的人脸图像,就是说对获取的图像首先进行人脸识别,保留被识别的人脸图像;

步骤二:按照所述面部表情类别的分类,人工划分人脸图像表情代表的所述表情类别;

步骤三:对划分好类别的人脸图像进行人脸热力图像处理形成热力图像数据;

步骤四:使用卷积神经网络对全部人员的热力图像数据学习,形成对应划分好类别的个人表情类别识别模型;

所述识别一个时间周期的表情形成个人的情绪状态,得到单位中每一个人的情绪状态的量化表的步骤包括:

第一步:实时采集经过图像采集装置的人脸图像,对人脸图像进行人脸识别,确定人脸图像对应的个人档案数据包;

第二步:对人脸图像进行人脸热力图像处理形成热力图像数据;

第三步:将热力图像数据输入个人表情类别识别模型,个人表情类别识别模型输出对应的个人面部表情类别分类,并将分类的结果和对应的时间存入对应的个人档案数据包,返回第一步直至接收到个人情绪状态的量化表请求命令进入第四步;

第四步:查询个人档案数据包,在请求命令要求的时间周期(例如10天、20天、30天)内累计计算个人档案数据包中各种表情类别出现的频率,根据出现的频率得到个人情绪状态的量化表,例如:计算出现频率占据测量次数的百分比数,将其制成表格得到个人情绪状态的量化表。

实施例中:所述对人脸图像进行人脸热力图像处理形成热力图像数据是:读取被识别人脸图像;确定人脸识别过程中的特征识别点(这是人脸识别的已知技术);获取围绕特征识别点的边缘点形成人脸图像的热力图像数据。

实施例中:所述人工划分人脸图像表情代表的所述表情类别是:组织经过训练的至少5个人,将人脸图像分发至所述5个人,5个人背靠背按照人面部表情类别确定人脸图像的表情所代表的类别,当5个人中所确定的类别相同不少于三人时,则认为该表情属于该类别。

实施例中:所述方法进一步包括:在识别一个预测时间周期的表情形成个人的情绪状态,得到单位中每一个人的情绪状态的量化表的步骤中,如果当个人类别识别模型不能对输入的热力图像数据进行面部表情类别分类时,则将被识别人脸图像送至建立个人面部表情类别识别模型的步骤中的步骤二,并依次执行接下来的步骤三、步骤四完善个人表情类别识别模型。

实施例中:所述图像采集装置在工作区域的设置,至少能够获得在单位的每一个人每一天除了报道时人脸识别图像外的一个面部图像,例如图像采集装置除了在单位进门处设置外,还在工作区域设置。

实施例中:在读取被识别人脸图像后首先对图像进行预处理,预处理包括光照归一化处理、正面化处理、旋转、剪切处理。

实施例中:所述获取围绕特征识别点的边缘点形成人脸图像的热力图像数据的过程是:以每个人脸识别过程中的特征识别点为中心,生成一个二维高斯分布,每个特征识别点对应热力图的一个通道,通过python的concat函数进行连接形成热力图像数据。

以下是对上述实施例的进一步说明:

实施例提出了基于人脸识别特征点定位结合距离测量来提取表情敏感特征,采用densenet作为多信息融合网络网络结构,提高特征复用率,同时提高分类器的表现,以缓解有标注样本较少的问题。通过归一化和人脸对齐的方法解决光照和姿态的问题。通过对原始数据进行清洗和增广以解决样本分布不均的问题。

对于热力图像的获取:

1,从人脸识别的图像文件中读取原始图像。

2,对原始图像进行预处理。

3,对预处理后图像进行特征点检测,提取能够表示人脸识别信息的68个特征关键点,并利用68个特征关键点获取围绕它的边缘点。

4,基于检测到的边缘点生成热力图,用热力图表征人脸中更受重视的区域,并以此指导多信息融合网络的训练。

5,将热力图输入多信息融合网络,即表情类别识别模型,输出原始图像中人脸的表情类别。

其中,表情识别的核心为选择构建和训练多信息融合网络,例如深度置信网络(deepbeliefnetworks,dbn)、堆叠式自编码器(stackedautoencoder,sae)、卷积神经网络(convolutiona丨neuralnetworks,cnn)等,使其能够充分融合热力图信息,输出正确的表情类别。

实施例中采用的人工划分人脸图像表情代表的所述表情类别是五盲标注置信度:

五个人分别对同一张图片进行标注,选择其中多数人标注的表情标签作为该图片的表情标签,例如五个人有三个人标注该图为平静,两人为惊讶,则表情标签为平静,五盲标注置信度为0.6。

以往表情识别系统的数据训练集都是采用的通用的表情数据集,通用的表情数据集的表情一般都比较夸张,各种表情的特点都很鲜明,而实际工作中很少有比较夸张的表情,表情特点不是很明显,因此,对自然场景中,人员的表情图像进行人工标定,形成自然状态下的表情数据集,再以其为基础,在技术层面进行机器的深度学习。

五盲法:为排除个人主观性的影响,采用五盲法进行人工标定,经过专业表情识别培训的5人为一小组,对同一批表情图片单独进行评定,排除相互之间的主观影响,当5人标定的结果一致率达到80%及以上时(即5人中有4人或5人对同一张图片的表情判断一致时),完成此张图片的标定,当5人标定的一致率低于80%时,图片返回重新标定,重新标定的一致率仍低于80%时,图片作废,不再进行标定。

五盲法的工作流程是:明确7种表情的面部特点,并根据7种表情的面部特点对标定人员进行表情识别的专业培训。标定人员根据培训结果对图片进行标定,5个人分别将标定完的图片放入五个文件夹,abcde。a、b、c、d、e五个文件夹,分别代表五个人对同一幅图片的标注情况,利用python的os库通过五个人的标注计算该图片的表情标签和置信度,同时在txt文件中输出该图片的路径、表情标签和置信度。最后,在txt文件中输出所有训练图片的路径、表情标签、置信度。

对于热力图像的处理进行的步骤包括:

一,图像预处理,目的是减少人脸姿态不同、光照变化、样本分布不均等因素对表情识别精度造成的影响。

实现流程是:

1,光照归一化:通过高斯差分减小光照的差异;

2,人脸对齐:正面化每张人脸;

3,数据清洗和增广:适当减少数量过多的表情类别图片,对数量较少的表情类别图片通过旋转、剪切等方法进行增广;

二,图像特征点检测,目的是通过检测特征点的方法提取预处理后图像人脸的关键信息,用以进行后续热力图的生成。

实现流程:

1,读取人脸识别后的图片;

2,将图片转化成灰度图;

3,使用dlib开源库进行特征点检测,得到人脸的特征点。

三,热力图生成,目的:保留关键点间的位置关系,提取表情敏感特征。

优点:没有损失关键点之间的相对位置关系,相当于用关键点之间距离测量的方法做表情分类问题;通过这种方法可以提取到表情敏感的特征,有效缓解类间差大于类内差的问题。

实现流程:

1,生成热力图:以每个特征点为中心,生成一个二维高斯分布,每个关键点对应热力图的一个通道,通过python的concat函数进行连接,将连接后得到的热力图作为多信息融合网络的输入。

2,可视化处理:将生成的热力图的通道进行相互叠加生成可视化的热力图。

3,可视化存储:对叠加并归一化生成的热力图可视化地表征并存储。采用opencv的applycolormap函数对生成的热力图进行可视化地展现,然后通过opencv的imwrite函数将生成的热力图写入文件中

二维独立高斯分布:

其中:

x和y分别可代表图像每个像素的横坐标和纵坐标;

μx,μy分别为对应特征点的横坐标和纵坐标;

分别为对应特征点和图像横坐标、纵坐标的方差。

归一化处理:

对所有生成的二维高斯分布f(x,y)进行叠加并归一化处理,使得生成高斯图所有像素的值在(0~1)之间,生成热力图

其中:

p(x,y)为二维高斯分布叠加后对应(x,y)点处的像素值;

max为二维高斯分布叠加后高斯图中像素的最大值;

min为二维高斯分布叠加后高斯图中像素的最小值。

多信息融合网络参数训练:

目的:训练多信息融合网络的参数,使在测试表情识别阶段,输入热力图,多信息融合网络能够输出原图像的表情类别标签。

多信息融合网络参数训练的优点是充分利用已有信息,进一步提高表情识别准确度。

实现流程:

1,依次从训练数据中读取原始图像、置信度、id信息和表情类别标签;

2,原始图像分别进行特征点检测和热力图生成,得到相应的热力图;

3;将热力图输入多信息融合网络中,得到表情类别的概率

4;将得到的表情类别概率和训练数据中读取到的表情类别标签输入损失函数,得到一个误差值;

5;以最小化损失函数的误差值为目标,运用梯度下降法调整多信息融合网络的参数;

6;依次重复1~5步操作,直到依次读取了txt文件中的所有训练数据;

7;重复1~6步操作,直到循环次数达到了设定的值。

注:

表情类别概率:输出原始图像表情属于表情类别标签的概率。

损失函数:采用交叉熵作为损失函数,得到误差值:

其中:

c为损失函数的误差值;

y对应表情类别标签的值为1,非类别标签为0;

a为输出表情类别为表情类别标签的概率;

x表示样本;

n表示样本总数;

反向传播训练网络参数:采用随机梯度下降的方法对网络参数进行训练;

多信息融合网络网络结构:采用cvpr2017的oral文章中提出的densenet作为多信息融合网络的主要网络结构。

表情数据转换为情绪数据:

通过摄像头采集人脸图片,共识别7种表情,分别为平静、开心、悲伤、厌恶、愤怒、惊讶、恐惧,由于识别出的数据仅仅为表情数据,还需要将表情数据转换为情绪数据。根据以往研究,对情绪的分析主要考虑其频率,因此根据7种表情数据,计算一段时间内各种表情出现的频率,将表情数据转换为情绪数据。分别为一段时间内每个个体出现的平静情绪的频率、开心情绪的频率、悲伤情绪的频率、厌恶情绪的频率、愤怒情绪的频率、惊讶情绪的频率、恐惧情绪的频率,最终获得每个个体7种情绪出现的频率,完成表情数据到情绪数据的转换。

摄像头采集的各个时间点的表情数据,能否反映其真实的情绪,我们进行了如下实验进行验证。

采用情绪观察法,设置观察员观察员工情绪,通过对比观察员感知到的员工的情绪,与表情采集系统采集的结果,来验证表情采集系统通过面部表情分析识别个体情绪的准确性。

采用方便取样法选取19个样本群体作为情绪观察对象,根据样本人员分布选取6名观察员进行观察培训,然后在自然条件下对选取样本的情绪状态进行观察记录,一方面观察员每天记录被观察人员一天整体的一个情绪状态,另一方面,通过表情识别系统记录的表情数据计算员工每天的情绪状态,以当天情绪频率最高的情绪为其当天整体的情绪状态(如,根据表情识别系统计算的结果,某员工某天7种的情绪频率为平静80%,开心10%,低落5%,惊讶5%,愤怒0%,厌恶0%,最终判断表情识别系统识别的其一天整体的一个情绪状态为平静)。最终获得情绪观察员和表情采集系统共有的数据量90份,二者判断一致的数量为51份,一致率为56.7%。说明,以人为感知的情绪为标准,通过表情识别系统在工作场所的出入口采集的表情能够反映其当天情绪状态的精度为56.7%。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1