一种基于端到端模型的人脸表情识别方法技术

技术编号:17364020 阅读:41 留言:0更新日期:2018-02-28 14:20
一种基于端到端模型的人脸表情识别方法,该方法包括搜集人脸表情数据库或者基于现有表情数据库,将表情数据库分为训练集及测试集。改进ResNet网络结构,搭建网络模型。搭建好模型之后开始训练数据集,将训练集用于模型的训练,将测试集用于模型的测试。将生成的模型文件保存为HDF5格式,以便对后续步骤中的人脸表情图片进行分类识别。对采集的人脸图片进行裁剪;得到的灰度图像做人脸校准,通过仿射变化将侧脸图片校准为正脸图片;进行人脸校准的图片输入ResNet模型中进行图片特征提取及分类,完成整个人脸表情的识别。本发明专利技术大大提高了人脸表情对于侧脸、多姿态等难以识别的类别。通过缩小同类之间的差距,扩大异类之间的差距,改善了表情分类的结果。

An approach to facial expression recognition based on end to end model

【技术实现步骤摘要】
一种基于端到端模型的人脸表情识别方法
本专利技术涉及计算机视觉领域,属情感识别领域,特别涉及一种基于端到端(end-to-end)网络模型的人脸表情识别方法。
技术介绍
目前,人脸表情识别已成为人机交互领域的一个研究热点,相关领域主要涉及到计算机视觉、统计学、认知心理学、机器学习等。让计算机拥有像人类一样的情感,通过感知周围环境、人类情感变化来实现与人交流。心理学家Mehrabiadu指出,面部表情在人类交流的过程中传达了55%的有用信息,而语言所传达的有用信息仅占到7%。研究者们一直在不断的提高计算机人脸表情识别率,实验数据库环境下的准确率已经有很大的提高,但是现实生活中的表情与实验数据有很大区别,如照明条件不良、采集的图像像素过低、肤色、文化、年龄差异、脸部遮挡物等,导致表情识别在工程实际应用中仍面临许多挑战。很多传统人脸表情识别方法基本上都是先进行人脸图片预处理,然后人工提取特征,最后对提取的特征进行分类,输出表情结果。这种方法提取的特征鲁棒性差,且不具备实时识别人脸表情的特点,提取出的特征会导致分类结果不准确,最终难以达到工程实际应用的阈值。人脸表情自动识别起源PaulEkman提出的基于面部运动单元的面部表情编码系统(FACS),该系统建立44个运动单元,形成不同的脸部肌肉与相应面部表情一一对应关系。Shan等人采用局部二值模式(LBP)提取表情特征,运用支持向量机(SVM)、模板匹配、线性判别分析等算法进行特征分类,并比较三种算法的识别效果。Dahmane运用HOG(方向梯度直方图)提取特征,利用PCA(主成分分析法)进行降维,最后利用SVM分类六种基本表情。Liu提出深度信念网络(DBN)训练模型,该网络共分为三个阶段,分别为特征学习、特征选择、特征分类。该算法在CK、JAFFE数据库上都有不错识别率,但整个网络的训练时间达到8天。以上表情识别算法大多是人工标记关键点提取脸部特征,导致一些非正常条件下提取出来的表情特征达不到分类器标准,这在很大程度上会影响后续的特征分类结果,最终影响到系统的表情识别。且以上方法实验数据集数量少,并且现实生活中的人脸是一个非刚性体,表情识别受光照、肤色、年龄、有无遮挡物等影响,因此难以模拟现实生活中的人脸表情识别,不具有代表性。且这些方法泛化能力差,往往在这个数据集表现良好,在另一个识别率确不高。
技术实现思路
针对现有技术中存在的上述问题,本专利技术提供一种基于端到端模型的人脸表情方法,调用Dlib/OpenCV库函数,读取视频流或者调用摄像头采集人脸图片,采用改进的深度残差网络(deepresidualnetworks,一下简称ResNet),通过输入采集到的人脸图片,网络对整张人脸图片进行卷积、池化、正则化等操作,继而得到人脸的特征维度,提取到的特征经过全连接层,通过损失函数对特征进行分类。最后,将分类的结果输出,输出的表情结果分别为,厌恶(disgust),中性(neutral),生气(angry),害怕(fear),伤心(sad),惊讶(surprise),高兴(happy)等7种基本表情,从而实现人脸表情识别。整个特征提取过程都在ResNet网络中进行,不需要人工进行特征提取,完全实现了端到端的策略。且提取的特征较人工提取的特征鲁棒性更强,更具代表性,更能反映脸部特征。基于端到端模型的人脸表情方法,是以卷积神经网络(CNN)为基础,充分的利用了卷积神经网络的权值共享性以及局部连接性的特点。该方法能直接对输入的图片进行特征提取,由于权值共享和局部连接性,整个模型网络参数量小,较传统人脸表情识别方法相比,该方法提取的特征不仅更符合真正的表情特征,且计算量小,能达到实时识别人脸的效果,同时通过大量数据集的训练,采用更接近自然表情的数据集,该方法得到的模型对侧脸、遮挡等问题识别效果更佳。本专利技术采用的技术方案为一种基于端到端模型的人脸表情识别方法,该方法包括如下步骤,步骤1,搜集人脸表情数据库或者基于现有表情数据库,将表情数据库分为训练集及测试集,其比例为4:1。步骤2,改进ResNet网络结构,搭建网络模型。步骤2.1,对步骤1采集到的表情数据库中图片进行归一化处理,将图片归一化到96*96像素大小。步骤2.2,对归一化后的图片进行白化、翻转、旋转等操作。步骤2.3,将数据集中预处理的图片输入至卷积层,首先确定滤波器大小,其过程表示为公式(1),如下所示:这里的Mj表示神经元j对应的局部感受野,表示第l层的神经元i的第j个输入对应的权值,Bl表示第l层的偏置,表示l前一层的局部感受野中的一个特征,表示第l层的局部感受野中特征。然后通过反向传播算法利用链式法则更新权值参数,链式法则定义为公式(2):其中x=g(t),y=h(t),z=f(x,y),g(t)和h(t)是可微函数。步骤2.4,将步骤2.3中的输出作为下一层即BN(batchnormalization)层的输入,BN层的处理过程如下公式(3)-(6)所示:xi代表输入的数据,μB代表均值,代表方差,代表对输入的数据进行标准化操作,γ,β代表训练的参数,通过线性变化求得原来的数值。步骤2.5,将步骤2.4的输出作为下一层即池化层的输入,均值池化(mean-pooling)表示为公式(7):其中β表示第l层的可训练参数,Mj表示神经元j对应的局部感受野,Bl表示第l层的偏置,表示l前一层的局部感受野的一个特征,表示第l层的局部感受野特征。步骤2.6,将步骤2.5的输出作为下一层及激活层的输入,网络模型采用的激活函数为PReLu,其公式如(8)所示:其中a为负轴部分斜率控制系数步骤2.7,重复步骤2.3-步骤2.6,得到两个一样的层结构,并将得到的层结构输入与输出连接起来,得到残差块网络,重复构造八个这样的层结构。步骤2.8,将步骤2.7的输出作为下一层及池化层的输入;步骤2.9,将步骤2.8中的输出作为下一层及全连接层的输入,得到1000维度的特征向量,如式(9)所示:X=[X1,X2,X3,...,X1000](9)X代表人脸表情图像的特征。步骤2.10,将步骤2.9中的输出进行tripletloss处理,tripletloss表达式如(10)所示:这里的代表样本的特征表达,代表与样本同类的特征表达,代表与样本不同类的特征表达,α代表样本与同类之间的距离和样本与异类之间的最小间隔。为提高学习稳定性,在tripletloss前还加入一层Softmax处理,Softmax公式(11)为:Si表示第i个元素的Softmax值,Vi,Vj分别表示第i个,第j个的元素,i和j分别为元素序号数;步骤3,搭建好模型之后开始训练数据集,将训练集用于模型的训练,将测试集用于模型的测试。步骤4,将生成的模型文件保存为HDF5格式,以便对后续步骤中的人脸表情图片进行分类识别。步骤5,利用Dlib/OpenCV调用摄像头,每隔3帧采集人脸图片,对采集的人脸图片进行裁剪,并归一化到96*96像素大小。步骤6,将步骤5得到的人脸图片由RGB格式转为Gray格式,以降低计算量,采用的公式(12)如下:Gray=R*0.299+G*0.587+B*0.114(12)式中,Gray代表灰度值,R代表RGB中的红色通道,G代表绿本文档来自技高网
...
一种基于端到端模型的人脸表情识别方法

【技术保护点】
一种基于端到端模型的人脸表情识别方法,其特征在于:该方法包括如下步骤,步骤1,搜集人脸表情数据库或者基于现有表情数据库,将表情数据库分为训练集及测试集,其比例为4:1;步骤2,改进ResNet网络结构,搭建网络模型;步骤2.1,对步骤1采集到的表情数据库中图片进行归一化处理,将图片归一化到96*96像素大小;步骤2.2,对归一化后的图片进行白化、翻转、旋转操作;步骤2.3,将数据集中预处理的图片输入至卷积层,首先确定滤波器大小,其过程表示为公式(1),如下所示:

【技术特征摘要】
1.一种基于端到端模型的人脸表情识别方法,其特征在于:该方法包括如下步骤,步骤1,搜集人脸表情数据库或者基于现有表情数据库,将表情数据库分为训练集及测试集,其比例为4:1;步骤2,改进ResNet网络结构,搭建网络模型;步骤2.1,对步骤1采集到的表情数据库中图片进行归一化处理,将图片归一化到96*96像素大小;步骤2.2,对归一化后的图片进行白化、翻转、旋转操作;步骤2.3,将数据集中预处理的图片输入至卷积层,首先确定滤波器大小,其过程表示为公式(1),如下所示:这里的Mj表示神经元j对应的局部感受野,表示第l层的神经元i的第j个输入对应的权值,Bl表示第l层的偏置,表示l前一层的局部感受野中的一个特征,表示第l层的局部感受野中特征;然后通过反向传播算法利用链式法则更新权值参数,链式法则定义为公式(2):其中x=g(t),y=h(t),z=f(x,y),g(t)和h(t)是可微函数;步骤2.4,将步骤2.3中的输出作为下一层即BN(batchnormalization)层的输入,BN层的处理过程如下公式(3)-(6)所示:xi代表输入的数据,μB代表均值,代表方差,代表对输入的数据进行标准化操作,γ,β代表训练的参数,通过线性变化求得原来的数值;步骤2.5,将步骤2.4的输出作为下一层即池化层的输入,均值池化(mean-pooling)表示为公式(7):其中β表示第l层的可训练参数,Mj表示神经元j对应的局部感受野,Bl表示第l层的偏置,表示l前一层的局部感受野的一个特征,表示第l层的局部感受野特征;步骤2.6,将步骤2.5的输出作为下一层及激活层的输入,网络模型采用的激活函数为PReLu,其公式如(8)所示:

【专利技术属性】
技术研发人员:汪友生王信夏章涛叶红梅
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1