基于计算机视觉的室内人员痛苦表情识别方法及系统

文档序号:32665170发布日期:2022-12-24 00:43阅读:71来源:国知局
基于计算机视觉的室内人员痛苦表情识别方法及系统

1.本发明涉及基于计算机视觉的室内人员痛苦表情识别方法及系统,属于图像处理和识别领域。


背景技术:

2.随着中国正式步入老龄社会,独居老人的数量逐年上升,日趋凸显的人口老龄化问题给我国养老行业带来巨大的冲击。通常情况下,为了能够远程关注老人的状况,一般会采用视频监控作为一种主要的监护方式。但是考虑到监控设备不具备分析与预警机制,视频监控方式存在滞后性,效果往往不尽人意。心理学家研究发现,日常交流中语言传递的信息量仅占总量的7%,而表情中包含的信息量却占总量的55%。借助表情识别技术,可以获得老人的状态信息并及时做出判断。
3.此外考虑到基于机器学习的表情识别方法较为复杂,由于人脸样本具有高度可变性,这导致在数千个样本下训练出的模型有数百万个参数,过于复杂的神经网络架构无法被部署在机器人平台和实时识别系统上。因此训练过程中采用的神经网络应考虑在机器人平台等硬件受限的系统中表现缓慢的问题。


技术实现要素:

4.本发明提供一种基于计算机视觉的室内人员痛苦表情识别方法及系统,旨在至少解决现有技术中存在的技术问题之一。
5.本发明的技术方案涉及一种基于计算机视觉的室内人员痛苦表情识别方法,根据本发明的方法包括以下步骤:
6.s10、获取所述计算机视觉输入视频中包含人脸的现场图像,提取人脸图像;
7.s20、将所述人脸图像输入至基于深度可分离的神经网络模型;
8.s30、通过所述神经网络模型输出与所述人脸图像关联的表情识别结果;
9.其中,所述神经网络模型包括多个深度可分离的剩余卷积层;
10.在所述神经网络模型训练时,对原始表情数据库进行数据集合并分别重新生成三分类数据库和六分类数据库,分别采用所述三分类数据库和所述六分类数据库对所述神经网络模型进行训练;其中,所述三分类数据库包括消极数据集、中性数据集和积极数据集;所述六分类数据库包括愤怒数据集、厌恶和惊讶数据集、悲伤数据集、恐惧数据集、快乐数据集和中性数据集。
11.进一步,对于所述步骤s20,所述神经网络模型包括:
12.用于处理输入的人脸图像的两个第一卷积层;
13.用于处理所述两个第一卷积层输出特征的四个深度可分离的剩余卷积层;
14.用于处理所述四个剩余卷积层输出特征的第二卷积层;
15.用于处理所述第二卷积层输出特征的全局平均池化层;
16.用于处理所述全局平均池化层输出特征并产生预测结果的softmax激活函数;
17.其中,每个所述第一卷积层、每个所述剩余卷积层和所述第二卷积层的卷积后面均设置有一个归一化处理和一个relu激活函数。
18.进一步,对于所述步骤s20,每个所述深度可分离的剩余卷积层包括:
19.用于处理所述两个第一卷积层输出特征的第三卷积层;
20.用于处理所述两个第一卷积层输出特征的两个深度可分离卷积层;
21.用于处理所述两个深度可分离卷积层输出特征的最大值池化层;
22.其中,所述最大池化层的输出特征与所述第三卷积层的输出特征合并输入到第二卷积层;
23.所述第四卷积层和每个所述深度可分离卷积层的积后面均设置有一个归一化处理和一个relu激活函数。
24.进一步,对于所述步骤s20,
25.每个所述深度可分离卷积层包括深度卷积层和逐点卷积层;
26.其中,每个深度卷积层的每个卷积核设置有一个通道;逐点卷积层将每个深度卷积层的输出特征图进行通道信息融合。
27.进一步,所述步骤s20中:所述深度卷积层的卷积核的点积运算如下:
28.其中,连续卷积运算如下:
[0029][0030]
其中,分散卷积运算如下:
[0031][0032]
式中,(f*g)(n)表示f,g的卷积。
[0033]
进一步,对所述步骤s20,所述神经网络模型的训练过程包括:
[0034]
s211、初始化网络中的权值,获取给定向量对应的实际输出向量;
[0035]
s212计算所述给定输入向量的目标输出向量,计算所述目标输出向量与所述实际输出向量的偏量值,判断所述偏量值是否大于预设的偏量阈值;
[0036]
s213、若是,则逐层往前回调计算神经网络模型每一层的误差,对神经元的连接权值进行调整,然后重复步骤s212;若否,则训练结束。
[0037]
进一步,对于所述步骤s20,所述原始表情数据库包括有fer2013数据库;所述fer2013数据库包括有愤怒数据集、厌恶数据集、惊讶数据集、悲伤数据集、恐惧数据集、快乐数据集和中性数据集;
[0038]
其中,所述原始表情数据库的数据合并步骤包括:
[0039]
s221、将所述愤怒数据集、所述厌恶数据集、所述恐惧数据集、所述悲伤数据集和所述惊讶数据集合并形成消极数据集,并将所述消极数据集的表情样本数据随机删除一半;将所述快乐数据集设置为积极数据集;由处理后的消极数据集和所述中性数据集、所述积极数据集构成三分类数据库;
[0040]
s222、将所述原始表情数据库中的所述厌恶数据集和所述惊讶数据集合并形成厌恶和惊讶数据集,由所述愤怒数据集、所述厌恶和惊讶数据集、所述悲伤数据集、所述恐惧
数据集、所述快乐数据集和所述中性数据集构成六分类数据库。
[0041]
进一步,对于所述步骤s20,在所述神经网络模型训练时,还引入额外表情数据库以扩充所述原始表情数据库形成额外表情数据库,采用扩充表情数据库对所述卷积神经网络模型进行训练;所述额外表情数据库包括有expw数据库;
[0042]
其中,所述原始表情数据库的扩充步骤包括:
[0043]
s231、对所述额外表情数据库进行人脸提取和图像处理以获得人脸图像;
[0044]
s232、读取所述额外表情数据库中厌恶数据集内的厌恶人脸图像,调整所述厌恶人脸图像的格式;将处理后的厌恶人脸图像输入到所述原始表情数据库;
[0045]
s233、对扩充后的原始表情数据库重新打乱形成所述扩充表情数据库。
[0046]
本发明的技术方案还涉及计算机可读存储介质,其上储存有程序指令,所述程序指令被处理器执行时实施上述的方法。
[0047]
本发明的技术方案还涉及基于计算机视觉的室内人员痛苦表情识别系统,所述系统包括计算机装置,该计算机装置包含上述计算机可读存储介质。
[0048]
本发明的有益效果如下:
[0049]
本发明针对老人这一特殊群体,通过实时的视频监控以识别老人痛苦表情,并及时发出预警给监护人并做出进一步的处理,可以及时有效地发现老人独处、独居时的突发病,有利于杜绝隐患。
[0050]
本发明针对老年人护理机器人的视频监控系统,采用轻量化神经网络模型,构建表情的实时识别系统,并从优化不均衡数据库入手,通过数据集合并和数据集扩充两种方法,构建较为均衡的表情数据库,在保证整体识别准确率不变的前提下,提高了系统在消极表情上的识别准确率以及表情分类精度,使系统具备较好的泛化能力。同时,构建的实时表情识别系统,能够基于三分类数据库、六分类数据库和扩充表情数据库的训练模型完成人脸检测和表情识别的任务,判断异常状态有无发生。
附图说明
[0051]
图1是根据本发明方法的基本流程图。
[0052]
图2是根据本发明方法的基于深度可分离的神经网络模型架构。
[0053]
图3a是根据本发明实施例的传统卷积的示意图。
[0054]
图3b是根据本发明实施例的深度可分离卷积的示意图。
[0055]
图4是根据本发明方法的神经网络的训练过程图。
[0056]
图5是根据本发明实施例的模型识别结果的显示界面图。
[0057]
图6a是根据本发明实施例的初始的三分类数据库的表情样本分布图。
[0058]
图6b是根据本发明实施例的初始的三分类数据库训练得到的混淆矩阵图。
[0059]
图7a是根据本发明实施例的均衡后的三分类数据库的表情样本分布图。
[0060]
图7b是根据本发明实施例的均衡后的三分类数据库训练得到的混淆矩阵图。
[0061]
图8a是根据本发明实施例的六分类数据库的表情样本分布图。
[0062]
图8b是根据本发明实施例的六分类数据库训练得到的混淆矩阵图。
[0063]
图9a是根据本发明实施例的扩充表情数据库的表情样本分布对比图,其中,左图为扩充前的表情样本分布图,右图为扩充后的表情样本分布图。
[0064]
图9b是根据本发明实施例的扩充表情数据库训练得到的混淆矩阵图。
[0065]
图9c是根据本发明实施例的扩充表情数据库的准确率曲线图。
[0066]
图10a是根据本发明实施例的基于三分类数据库的识别结果图。
[0067]
图10b是根据本发明实施例的基于六分类数据库的识别结果图。
[0068]
图10c是根据本发明实施例的基于扩充表情数据库的识别结果图。
具体实施方式
[0069]
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
[0070]
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。本文所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
[0071]
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
[0072]
参照图1和图9,在一些实施例中,根据本发明的基于计算机视觉的室内人员痛苦表情识别方法,至少包括以下步骤:
[0073]
s10、获取计算机视觉输入视频中包含人脸的现场图像,提取人脸图像,
[0074]
s20、将人脸图像输入至基于深度可分离的神经网络模型,
[0075]
s30、通过神经网络模型输出与人脸图像关联的表情识别结果;
[0076]
其中,神经网络模型包括多个深度可分离的剩余卷积层;在神经网络模型训练时,对原始表情数据库进行数据集合并分别重新生成三分类数据库和六分类数据库,分别采用三分类数据库和六分类数据库对神经网络进行训练;其中,三分类数据库包括消极数据集、中性数据集和积极数据集;六分类数据库包括愤怒数据集、厌恶和惊讶数据集、悲伤数据集、恐惧数据集、快乐数据集和中性数据集。
[0077]
本发明的实时表情识别系统主要由三个部分组成。第一个部分是人脸检测,提供人脸的位置信息;第二个部分是表情识别,根据模型文件给出表情的识别结果;第三个部分是结果可视化,输出检测到的人脸和表情识别的结果。
[0078]
其中,在第一部分中,人脸的检测采用opencv自带的检测器。首先下载人脸检测的模型文件haarcascade_frontalface_default.xml。其次利用cv2.cascadeclassifier函数加载模型文件到face_detection。然后通过监控录像、电脑内置摄像头等计算机视觉拍摄,用抽取当前帧的方式获取图像数据并将其转换为灰度图像。最后通过face_detection.detectmultiscale函数检测灰度图像中的人脸。如果检测到人脸存在,用矩形
框选人脸的区域并输出人脸的位置信息。其中,位置信息由矩形左下角点的横坐标和纵坐标,矩形的宽度和高度四个参数组成。
[0079]
在第二部分中,首先利用load_model函数加载hdf5格式的模型文件到emotion_classifier。其次基于第一部分提供的人脸位置信息,裁剪灰度图像得到人脸图像。然后调整人脸图像的尺寸,对像素进行归一化处理并将图片转为数组的格式。最后通过emotion_classifier.predict函数对人脸图像进行识别,得到表情识别的信息。
[0080]
在第三部分中,结合前两个部分获取到的信息,通过两个窗口展示表情识别的结果。首先记录当前识别中可能性最大的表情作为识别结果。然后根据人脸的位置信息,在第一个实时监测窗口中框选人脸的图像并给出识别结果。而在第二个窗口中,以条形图的形式展示每个表情实时的可能性(如图5所示)。
[0081]
步骤s20的具体实施方式
[0082]
本发明实施例中,用于表情分类的神经网络基于mini-xception模型,是一个全神经网络,删除全连接层同时采用深度可分离卷积,包含有4个深度可分离的剩余卷积。具体地,参见图2,本发明实施例的神经网络包括:用于处理输入的人脸图像的两个第一卷积层(d1),用于处理两个第一卷积层输出特征的四个深度可分离的剩余卷积层(d2),用于处理四个剩余卷积层输出特征的第二卷积层(d3),用于处理第二卷积层输出特征的全局平均池化层(d4),用于处理全局平均池化层输出特征并产生预测结果的softmax激活函数(d5),其中,每个第一卷积层、每个剩余卷积层和第二卷积层的卷积后面均设置有一个归一化处理和一个relu激活函数。采用深度可分离卷积,通过分离卷积层内的特征提取与组合过程,减少了参数量,缓解了小型卷积网络在机器人平台等硬件受限的系统中表现缓慢的问题,同时参数得减少可提供了更好泛化能力。
[0083]
其中,参见图2,每个深度可分离的剩余卷积层(d2)包括:用于处理两个第一卷积层输出特征的第三卷积层(d21),用于处理两个第一卷积层输出特征的两个深度可分离卷积层(d22),用于处理两个深度可分离卷积层输出特征的最大值池化层(d23),其中,最大池化层的输出特征与第三卷积层的输出特征合并输入到第二卷积层,第四卷积层和每个深度可分离卷积层的积后面均设置有一个归一化处理和一个relu激活函数。
[0084]
进一步,每个深度可分离卷积分为两个步骤进行,即深度卷积和逐点卷积。与传统卷积中每个卷积核要同时处理图像的每个通道(参见图3a)不同,本发明实施例采用的深度可分离卷积中,深度卷积的每个卷积只负责一个通道,逐点卷积中会将上一步得到的特征图在深度方向进行通道信息的融合,即参见图3b中,每个深度卷积(图3b上中滤波器filters)以一定的步长在输入矩阵(图3b左上channel input)上移动进行点积运算得到输出中间矩阵(图3b右上maps),输出中间矩阵经过逐点卷积(图3b下中滤波器filters)的信息融合后输出最终矩阵(图3b右下maps),从而减少参数量。
[0085]
其中,深度可分离卷积的卷积核的点积运算如下:
[0086]
其中,连续卷积的点积运算如下:
[0087][0088]
分散卷积的点积运算如下:
[0089][0090]
式中,(f*g)(n)表示f,g的卷积。
[0091]
再有,神经网络的训练过程由前向传播和反向传播两个阶段组成(参见图4)。在前向传播中,输入层的信息由低向高传播到输出层,并参与多次处理与变换。在反向传播中,通过实际输出和理想输出的误差,对神经元的连接权值进行调整,并逐层往前回调得到其余层的误差。具体地,初始化网络中的权值,获取给定向量对应的实际输出向量,然后计算给定输入向量的目标输出向量,计算目标输出向量与实际输出向量的偏量值,判断偏量值是否大于预设的偏量阈值。若是,则逐层往前回调计算神经网络每一层的误差,对神经元的连接权值进行调整,然后重复计算目标输出向量和偏量值,直至偏量值小于偏量阈值,则训练结束。
[0092]
本发明实施例中的神经网络模型训练时,采用现有的fer2013数据库作为原始表情数据库。fer2013数据库把人脸图像的表情分成七类,其七类包括有愤怒、厌恶、悲伤、恐惧、惊讶、快乐和中性,从而形成七个数据集。将上述七类表情的数据集依次打上标签1、2、3、4、5、6和7。
[0093]
对fer2013数据库内的人脸图像进行表情重新分类,将愤怒、厌恶、恐惧、悲伤和惊讶合并为消极表情,从而形成消极数据集。将快乐表情定义为积极表情,从而获得积极数据集。而原来的中性数据集依然作为中性数据集。最终将人脸图像划分为消极表情(negative)、中性表情(neutral)和积极表情(positive)三类,获得由消极数据集、中性数据集和积极数据集构成的三分类数据库。此外,fer2013数据库中的七类表情中不包含的痛苦表情,本发明将痛苦表情定义为消极表情。
[0094]
将消极数据集的标签替换为0,将积极数据集的标签替换为1,将中性数据集的标签替换为2,由消极数据集、中性数据集和积极数据集构成三分类数据库(参见图6a)。采用积极、中性和消极三类表情足以满足机器人检测异常的需求,并避免了采用七类表情识别系统产生的冗余表情信息,提高系统识别消极表情的能力。采用三分类数据库对神经网络进行训练,参见图6b所示的本发明实施例的训练结果,在消极表情的识别准确率达到了0.87,整体的识别准确率达到0.769,错误分类率为0.23。
[0095]
将所述消极数据集的数据筛选出来,并随机删除一半左右的所述消极数据集样本数据,使得消极数据集的样本数目与积极数据集的样本数目相当(见下表1实施例实验数据所示),实现对均衡化处理,获得样本分布较为均衡的三分类数据库(见图7a)。具体地,参见图7b所示本发明实施例的训练结果,均衡化处理后的三分类数据库的训练结果中,消极表情的识别准确率从0.87下降至0.78,而中性表情的识别准确率由0.59上升至0.7,积极表情的识别准确率由0.84上升至0.88,被误判为消极表情的中性表情占比从0.34降低至0.23,整体表情的识别准确率从0.769提升至0.787,错误分别率由0.23降低至0.21,即均衡处理后的三分类数据库的训练结果有所优化。
[0096]
情绪消极积极中性数量893789896198
[0097]
表1均衡后的三分类数据库中各表情样本数目
[0098]
在fer2013数据库中,因厌恶表情和惊讶表情的识别准确率并不高,同时两者的样本数据均较少,将厌恶表情和惊讶表情合并组成新的表情样本数据集,即厌恶和惊讶数据集。将厌恶数据集和惊讶数据集的标签修改为1,然后将中性数据集的标签改为原先惊讶数据集对应的5,重新构建六分类数据库(参见图8a),形成由愤怒数据集、厌恶和惊讶数据集、悲伤数据集、恐惧数据集、快乐数据集和中性数据集的六分类数据库。
[0099]
采用六分类数据库对神经网络进行训练,参见图8b所示,相比于三分类数据库的训练结果,所有表情的识别准确率都有不同程度上的提升,整体的识别准确率由0.594提升至0.641,整体的错误分类率由0.406降低至0.356,表情的分类精度得到提高。增设六分类数据库,有利于提供更多的表情信息,有利于对复杂表情进行识别。
[0100]
进一步,采用现有的expw数据库作为额外数据库,引入expw数据库中的表情数据,对原始表情数据库进行扩充。具体地,对原始的expw数据库,先进行人脸图像提取,然后对于倾斜的人脸,通过仿射变换使人脸对齐,最后利用置信度阈值筛选人脸图像,最终得到112
×
112的人脸彩色图像,以jpg的文件格式保存在对应的表情目录下,然后对expw数据库进行进一步处理。
[0101]
因fer2013数据库中,厌恶表情的样本数量远小于别的表情,因此选择对厌恶表情进行扩充样本数量。先读取expw数据库中的厌恶表情的图像,然后将读取的彩色图像转换为灰色图像,然后将图像大小由112
×
112调整为48
×
48,最后将jpg格式的图像转换为csv格式的图像,以像素点的形式保存图片。
[0102]
得到与fer2013数据库中样本数据格式相同的厌恶表情数据后,添加进原始表情数据库,并对原始表情数据库重新进行打乱,得到扩充厌恶表情的改进后的扩充表情数据库。具体地,参见本发明实施例,训练数据集扩充前后的样本分布对比参见图9a所示,相应地,扩充表情数据库中每种表情的具体样本数量参见表2所示,其中厌恶表情的样本数目从547个增加至4408个。
[0103]
情绪愤怒厌恶恐惧快乐悲伤惊讶中性数量4953440851218989607740026198
[0104]
表2扩充表情数据库后各表情样本数目
[0105]
采用扩充表情数据库对神经网络进行训练,其训练结果参见图9b所示,厌恶表情的识别准确率从0.42提升至0.92,整体的错误分类率从0.406降低至0.342,提高了表情的分类精度。同时,参见图9c所示,整体的识别准确率得到略微提升。通过引入额外数据对数据库进行扩充,提高数据库中样本分布的均衡性,解决了因单个表情因样本不足导致的识别准确率低的问题,有利于实现保持整体识别率不变同时提高表情分类精度的效果。
[0106]
本发明对表情识别系统进行实际测试(参见图10a、图10b、图10c),展示了基于三分类数据库、六分类数据库和扩充表情数据库的训练模型下的各类表情的识别结果。
[0107]
应当认识到,本发明实施例中的方法步骤可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
[0108]
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或
以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
[0109]
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、rs1m、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还可以包括计算机本身。
[0110]
计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
[0111]
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1