[发明专利]一种基于代价敏感卷积神经网络的人脸表情识别方法有效
| 申请号: | 201810734523.7 | 申请日: | 2018-07-06 |
| 公开(公告)号: | CN108846380B | 公开(公告)日: | 2021-08-24 |
| 发明(设计)人: | 李慧芳;石峰娟;袁艳 | 申请(专利权)人: | 北京理工大学 |
| 主分类号: | G06K9/00 | 分类号: | G06K9/00;G06N3/04;G06N3/08 |
| 代理公司: | 北京正阳理工知识产权代理事务所(普通合伙) 11639 | 代理人: | 王民盛 |
| 地址: | 100081 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 代价 敏感 卷积 神经网络 表情 识别 方法 | ||
1.一种基于代价敏感卷积神经网络的人脸表情识别方法,其特征在于,包括以下步骤:
步骤1:根据不同表情类别错分所带来的影响,设计错分代价矩阵;
步骤2:构建卷积神经网络模型,确定网络层数、特征图个数以及卷积核的大小;将所有节点的偏置参数b初始化为0,且在(-1,1)范围内随机初始化权重矩阵ω=(ωij),如式(1)所示:
其中,ωij为网络前一层第i个特征图与当前层第j个特征图之间的卷积核,nin为输入神经元的个数,nout为输出神经元的个数,rand(size)函数用于产生取值范围在(0,1)区间内的随机数;
步骤3:输入训练样本数据,根据卷积神经网络进行前向传播,得到训练样本对应的预测输出值,并将其带入代价敏感的损失函数式(2)中,计算得到训练样本的损失代价:
其中,k是指训练样本的个数,n是指输出层神经元的个数,class(i)是指第i个训练样本的标签,Costclass(i),j是指将第i个训练样本的class(i)类错分为j类的代价,yij分别是第i个训练样本对应输出层第j个神经元的预测输出值、实际输出值;
将训练样本的预测输出值、实际输出值和相应的错分代价代入式(2)中,计算训练样本的损失代价;
步骤4:根据训练样本的损失代价和反向传播算法,计算卷积神经网络模型中每一层的代价敏感度;
以最小化错误分类所造成的损失代价为目标,采用反向传播算法,根据训练样本错误分类造成的总体损失代价,依次计算每层网络的代价敏感度,用于更新修正网络权值参数;设第k个样本的预测输出值将不同情感错分类型所引起的损失代价融入CNN方法中,则模型在单个训练样本k上的损失代价为Ek,其计算如式(5)所示:
其中,表示输出层第j个神经元的预测输出值,表示输出层第j个神经元的实际输出值;
步骤5:根据随机梯度下降算法,计算权重修正值和偏置修正值,更新卷积神经网络模型参数;
权重的更新公式为:
其中,从全连接层第h个神经元到输出层第i个神经元的连接权重为ωhi,t是指训练过程的第t次迭代;η为学习率,表示卷积层误差对偏置的偏导数,Ek为样本损失代价;指卷积层第i个特征图的代价敏感度;全连接层第h个神经元的输出为vh;
偏置的更新公式为:
其中,bjl表示卷积层第j个特征图的偏置值,t是指训练过程的第t次迭代;表示偏置梯度,Ek为样本损失代价;表示当前卷积层l的代价敏感度;u,v分别为l层第j个特征图的行数和列数;
步骤6:判断迭代次数或损失代价是否达到阈值,如果均未满足,则继续迭代并计算权重修正值和偏置修正值;否则训练结束,得到优化好的基于代价敏感卷积神经网络的人脸表情识别模型。
2.如权利要求1所述的一种基于代价敏感卷积神经网络的人脸表情识别方法,其特征在于,所述前向传播过程包括卷积操作和池化操作两部分,具体如下:
卷积操作:用权重不同的卷积核对输入特征图进行映射,再加上偏置,经过激活函数计算得到卷积层的输出特征图;
设池化层为第l-1层,卷积层为第l层,则卷积操作计算如式(3)所示:
其中,i表示池化层特征图的序号,j表示卷积层特征图的序号,m表示连接到卷积层第j个特征图的池化层特征图个数,yjl表示卷积层第j个特征图,表示池化层第i个特征图,bjl表示卷积层第j个特征图的偏置值,f(·)为激活函数;
池化操作:采用均值池化或最大值池化的方式进行特征图缩放,以减小模型参数维数;池化操作过程不改变特征图的个数,即池化层与前驱卷积层之间的特征映射是一一对应的,则池化操作如式(4)所示:
其中,和分别表示池化层和卷积层的第j个特征图;down(·)为池化操作函数。
3.如权利要求1所述的一种基于代价敏感卷积神经网络的人脸表情识别方法,其特征在于,所述训练样本每层的代价敏感度计算分为三个阶段:
(1)输出层到全连接层的反向传播
设全连接层第h个神经元的输出为vh、偏置为bh,从全连接层第h个神经元到输出层第i个神经元的连接权重为ωhi,则输出层第i个神经元的输入值βi为:
其中,q为全连接层的神经元个数;
设输出层神经元的激活函数为f(·),则输出层第i个神经元的预测输出值为:
根据链式求导法则,注意到ωhi先影响输出层第i个神经元的输入值βi,再影响其预测输出值最后影响样本损失代价Ek,则权值梯度的计算如式(8)所示:
由式(6)βi的定义,可得出:
同理,根据链式求导法则,注意到bh先影响输出层第i个神经元的输入值βi,再影响其预测输出值最后影响样本损失代价Ek,则偏置梯度的计算如式(10)所示:
由式(6)βi的定义,可得出:
则输出层第i个神经元的代价敏感度δi为:
(2)池化层到卷积层的反向传播
设卷积层、池化层分别为第l层、l+1层,且卷积层和池化层第j个特征图的代价敏感度分别为则由通过上采样操作计算得到,如式(13)所示:
其中,是指网络l层第j个特征图的输入,upsample(·)表示上采样操作函数,f'(·)为激活函数的导数;
卷积层误差对权重的偏导数等于其前驱池化层第p个特征图和当前卷积层l的代价敏感度的卷积之和,其计算如式(14)所示:
同理,卷积层误差对偏置的偏导数为:
其中,u,v分别为网络l层第j个特征图的行数和列数;
(3)卷积层到池化层的反向传播
设卷积层、池化层分别为第l层、l-1层,且卷积层第i个特征图的代价敏感度为则池化层第j个特征图的代价敏感度计算如式(16)所示:
其中,是l层第i个特征图的卷积核权值,是l-1层第j个特征图的输出值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810734523.7/1.html,转载请声明来源钻瓜专利网。





