基于深度学习的人群高兴程度识别方法与流程

文档序号:12551277阅读:249来源:国知局
基于深度学习的人群高兴程度识别方法与流程

本发明涉及图像处理与模式识别领域,涉及一种人群情感识别方法,特别涉及一种基于深度学习的人群高兴程度识别方法。



背景技术:

人脸表情识别的研究近几年可以看到很多,然而很少有人关注图像中一群人所表达的情感。随着数据分享的普及程度以及类似YouTube、Flickr等社交网站的兴起,每天都会有用户上传成亿上万的社交图片和视频,比如参加的聚会、婚礼、毕业宴会等。通常情况下,这些上传的视频和图像中可能包含一个或者多个人,因此对人群的学习是关键的一步。

举个例子,现在如果需要推测一群参加同学聚会的人物合影中人们的心情,运用现有的情感检测算法来解决这种偏向于实际场景的问题还是具有挑战性的,比如缺少群体性的情感建模方法、带有标签的数据集、人脸分析方法。表情分析已经被研究了很多年,但都只局限于推测单个人物的情感状态。

要分析群体的高兴程度问题,需要关注的是每个人的高兴程度和它对整体情感基调的影响大小。这种影响程度与社交场景有关,包括各种全局和局部的影响因素,比如说图像中的人数、脸部的遮挡情况等。一般来说合影中的人数越多,整个场景中高兴或是愤怒的氛围越为浓厚,因此是个很有必要考虑的影响因素。脸部的遮挡包括自我遮挡(墨镜)或者其他人的遮挡(一个人站在另一个人的斜前方),这是合影时很常见的现象,脸部的遮挡会降低能见度进而影响对其面部表情准确地评估,也会降低其对整体高兴程度的影响力,因此在图像中对被有所遮挡的人脸的高兴强度应做惩罚处理。本发明所采用的方法是基于这类全局和局部信息进行建模的。

分析图像中一群人所传达的情感目前看来还是极具应用价值的,比如图片搜索、检索和浏览,事件概括和重点析出,最佳照片拍摄选择,视频表情峰值检测,视频缩略图创建等。鉴于较为广泛的应用价值,人们对于理解人类情感属性的表现拥有越来越大的兴趣,然而从情感分析的角度,图像中场景的变化在情感计算领域仍鲜有关注。目前在情感识别分析方面,一般都是针对单个人的,将人脸表情划分为6种基本表情:高兴、惊讶、厌恶、生气、恐惧、悲伤,很少有研究者从事群体表情的分类识别研究。



技术实现要素:

本发明所要解决的技术问题是针对背景技术中所涉及到的缺陷,提供一种基于深度学习的人群高兴程度识别方法。

本发明为解决上述技术问题采用以下技术方案:

基于深度学习的人群高兴程度识别方法,包括以下步骤:

步骤A),将由人工标注的单个人脸图像,按照标签分类并对图像大小归一化后,得到人脸高兴程度数据库和人脸遮挡程度数据库,将它们分别分为训练集和验证集并进行预处理操作;

步骤B),分别构建用于识别人脸高兴程度和人脸遮挡程度的卷积神经网络;

步骤C),对步骤B)中构建的两个卷积神经网络进行初始学习率、权重衰减系数、训练迭代次数的设置后,将经过预处理操作后的人脸高兴程度和人脸遮挡程度样本分别对应输入所述两个卷积神经网络,得到用于识别人脸高兴程度和人脸遮挡程度的网络模型;

步骤D),将需要进行人群高兴程度识别的合影图像输入至所述用于识别人脸高兴程度和人脸遮挡程度的网络模型中,得到该合影图像中每张人脸fi的高兴程度IHi和遮挡程度qi;然后采用人脸高兴程度加权的方式计算出该合影图像中的人群高兴程度。

作为本发明基于深度学习的人群高兴程度识别方法进一步的优化方案,所述步骤B)中构建用于识别人脸高兴程度的卷积神经网络的具体步骤如下:

步骤B1.1),构建第一层数据输入层,第一层数据输入层分为训练数据输入层和测试数据输入层,其将输入数据裁剪为a11×a11维,其中,a11×a11为构建的此网络中第一层输出数据的大小;

步骤B1.2),构建第二层卷积层,第二层卷积层选用k21个a21×a21维的卷积核对输入数据进行卷积操作,卷积步长为s21,不采用像素填补加边,卷积层偏置常数为c21,卷积后再经过修正线性单元函数进行非线性映射,得到k21个l21×l21维的特征图,其中,k21为第二层中卷积核的个数,a21×a21为卷积核的大小,l21×l21为本层输出特征图的大小;

步骤B1.3),构建第三层池化层,第三层池化层用a31×a31维的窗口、以步长s31对上一层的结果进行下采样,得到k21个l31×l31维的特征图,其中,k21为要进行下采样操作的特征图数目,即为第二层输出的特征图数目,a31×a31为下采样操作的窗口大小,l31×l31为本层输出特征图的大小;

步骤B1.4),构建第四层卷积层,第四层卷积层选用k41个a41×a41维的卷积核对上一层的输出数据进行卷积操作,卷积步长为s41,不采用像素填补加边,卷积层偏置常数为c41,卷积结果经过ReLU函数,得到k41个l41×l41维的特征图,其中,k41为第四层中卷积核的个数,a41×a41为卷积核的大小,l41×l41为本层输出特征图的大小;

步骤B1.5),构建第五层池化层,第五层池化层用a51×a51维的窗口、以步长s51对上一层的结果进行下采样,得到k41个l51×l51维的特征图,其中,k41为要进行下采样操作的特征图数目,即为第四层输出的特征图数目,a51×a51为下采样操作的窗口大小,l51×l51为本层输出特征图的大小;

步骤B1.6),构建第六层卷积层,第六层卷积层选用k61个a61×a61维的卷积核对上一池化层的输出数据进行卷积操作,卷积步长为s61,采用像素填补,加边数目为p61,卷积层偏置常数为c61,同样再经过ReLU函数,得到k61个l61×l61维的特征图,其中,k61为第六层中卷积核的个数,a61×a61为卷积核的大小,l61×l61为本层输出特征图的大小;

步骤B1.7),构建第七层卷积层,第七层卷积层选用k71个a71×a71维的卷积核对上一卷积层的输出数据进行卷积操作,卷积步长为s71,不采用像素填补加边,卷积层偏置常数为c71,经过ReLU函数,得到k71个l71×l71维的特征图,其中,k71为第七层中卷积核的个数,a71×a71为卷积核的大小,l71×l71为本层输出特征图的大小;

步骤B1.8),构建第八层池化层,第八层池化层用a81×a81维大小的窗口、以步长s81对上一层的结果进行下采样,得到k71个l81×l81维的特征图,其中,k71为要进行下采样操作的特征图数目,即为第七层输出的特征图数目,a81×a81为下采样操作的窗口大小,l81×l81为本层输出特征图的大小;

步骤B1.9),构建第九层、第十层,第九层、第十为全连接层,第九层将上一层的输出全连接至本层的k91个输出神经元,构成一个k91维的特征向量,将其再经过ReLU函数非线性变换,然后使用dropout方法调整连接权重,作为第十层的输入,第十层将输入再连接至k101个输出神经元,k101即为人脸高兴程度的类别数,最后再经过Softmax-loss层,通过计算网络实际输出与数据标签之间的差值得到损失值函数J(θ):

上式为加入规则项的损失函数,其中k指人脸高兴程度的类别总数,b为设置的网络批处理大小,即整个网络训练迭代完一次所使用的输入数据个数,y(t)为第t个输入数据对应的数据标签,l{·}是指示性函数,即当大括号中的值为真时,该函数的结果为1,否则结果为0;x(t)为Softmax-loss层的第t个输入向量,n为输入向量的维数,γ为预设的权重衰减率,θ为要调整的权重参数矩阵:

作为本发明基于深度学习的人群高兴程度识别方法进一步的优化方案,所述步骤B)中构建用于识别人脸遮挡程度的卷积神经网络的具体步骤如下:

步骤B2.1),构建第一层数据输入层,第一层数据输入层分为训练数据输入层和测试数据输入层,其将输入数据裁剪为a12×a12维,a12×a12为本层输出数据的大小;

步骤B2.2),构建第二层卷积层,第二层卷积层选用k22个a22×a22维的卷积核对输入数据进行卷积操作,卷积步长为s22,不采用像素填补加边,卷积层偏置常数为c22,卷积后再经过ReLU函数进行非线性映射,得到k22个l22×l22维的特征图,其中,k22为本层中卷积核的个数,a22×a22为卷积核的大小,l22×l22为本层输出特征图的大小;

步骤B2.3),构建第三层池化层,第三层池化层用a32×a32维大小的窗口、以步长s32对上一层的结果进行下采样,得到k22个l32×l32维的特征图,其中,k22为要进行下采样操作的特征图数目,即为本层输出的特征图数目,a32×a32为下采样操作的窗口大小,l32×l32为本层输出特征图的大小;

步骤B2.4),构建第四层卷积层,第四层卷积层选用k42个a42×a42维的卷积核对上一层的输出数据进行卷积操作,卷积步长为s42,不采用像素填补加边,卷积层偏置常数为c42,卷积结果经过ReLU函数,得到k42个l42×l42维的特征图,其中,k42为本层中卷积核的个数,a42×a42为卷积核的大小,l42×l42为本层输出特征图的大小;

步骤B2.5),构建第五层池化层,第五层池化层用a52×a52维大小的窗口、以步长s52对上一层的结果进行下采样,得到k42个l52×l52维的特征图,其中,k42为要进行下采样操作的特征图数目,即为本层输出的特征图数目,a52×a52为下采样操作的窗口大小,l52×l52为本层输出特征图的大小;

步骤B2.6),构建第六层卷积层,第六层卷积层选用k62个a62×a62维的卷积核对上一池化层的输出数据进行卷积操作,卷积步长为s62,不采用像素填补加边,卷积层偏置常数为c62,经过ReLU函数,得到k62个l62×l62维的特征图,其中,k62为本层中卷积核的个数,a62×a62为卷积核的大小,l62×l62为本层输出特征图的大小;

步骤B2.7),构建第七层池化层,第七层池化层用a72×a72维大小的窗口、以步长s72对上一层的结果进行下采样,得到k62个l72×l72维的特征图,其中,k62为要进行下采样操作的特征图数目,即为本层输出的特征图数目,a72×a72为下采样操作的窗口大小,l72×l72为本层输出特征图的大小;

步骤B2.8),构建第八层、第九层,第八层、第九层为全连接层,第八层将上一层的输出全连接至本层的k82个输出神经元,构成一个k82维的特征向量,将其再经过ReLU函数非线性变换,然后同样使用dropout方法调整连接权重,作为第九层的输入,第九层将输入再连接至k92个输出神经元,k92即为人脸遮挡程度的类别数,最后再经过Softmax-loss层,计算网络实际输出与数据标签之间的差值得到损失值函数。

作为本发明基于深度学习的人群高兴程度识别方法进一步的优化方案,所述步骤D)的详细步骤如下:

步骤D1),使用人脸和非人脸图像训练Adaboost分类器,然后利用训练好的分类器检测出输入的合影图像中的所有人脸图像,并对检测出的每个人脸图像使用用于识别人脸高兴程度和人脸遮挡程度的网络模型分别进行人脸高兴程度IHi和人脸遮挡程度qi的识别,其中,i为合影图像中的人脸图像的数量;

步骤D2),根据以下公式计算输入的合影图像中的合影人数对该合影图像中每张人脸高兴程度的影响权重值:

其中,m为训练数据集中图像的平均合影人数,s为输入合影图像中检测出的人脸数,预设的参数α用于控制权重δi的影响大小;

步骤D3),根据以下公式计算输入的合影图像中每个人脸的遮挡程度对图像中对应人脸的高兴程度的惩罚值:

λi=||1-βqi||,0≤λi≤1,0≤qi≤p-1

其中,p为人脸的遮挡程度的类别总数,qi为第i个人脸的遮挡强度,预设的参数β用于控制λi的影响大小;

步骤D4),根据以下公式计算出输入合影图像中的人群高兴程度:

其中,πi=δiλi

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

(1)在对高兴程度进行识别分类问题中采用深度学习来提取特征并进行分类,具有更高的准确性和稳定性,并且提高了识别速度。

(2)在由个人高兴程度对人群高兴程度进行估测时,既考虑了局部特征,如人脸遮挡程度的不同,又考虑了全局特征,如合影人数对整体人群高兴程度的影响,这比直接求取平均更贴近实际情况。

附图说明

图1是卷积神经网络(CNN,Convolution Neural Network)的卷积和下采样过程;

图2是本发明的基于深度学习的人群高兴程度识别方法的流程图;

图3是构建的用于人脸高兴程度识别的卷积神经网络的基本架构图;

图4是构建的用于人脸遮挡程度识别的卷积神经网络的基本架构图;

图5是HAPPEI(HAPpy PEople Images)数据库中的部分图像。

具体实施方式

下面结合附图对本发明的技术方案做进一步的详细说明:

如图2所示,本发明公开了一种基于深度学习的人群高兴程度识别方法,包括以下步骤:

步骤A),将由人工标注的单个人脸图像,按照标签分类并对图像大小归一化后,得到人脸高兴程度数据库和人脸遮挡程度数据库,将它们分别分为训练集和验证集并进行预处理操作;

步骤B),分别构建用于识别人脸高兴程度和人脸遮挡程度的卷积神经网络;卷积神经网络的卷积和下采样过程如图1所示;

步骤C),对步骤B)中构建的两个卷积神经网络进行初始学习率、权重衰减系数、训练迭代次数的设置后,将经过预处理操作后的人脸高兴程度和人脸遮挡程度样本分别对应输入所述两个卷积神经网络,得到用于识别人脸高兴程度和人脸遮挡程度的网络模型;

步骤D),将需要进行人群高兴程度识别的合影图像输入至所述用于识别人脸高兴程度和人脸遮挡程度的网络模型中,得到该合影图像中每张人脸fi的高兴程度IHi和遮挡程度qi;然后采用人脸高兴程度加权的方式计算出该合影图像中的人群高兴程度。

如图3所示,所述步骤B)中构建用于识别人脸高兴程度的卷积神经网络的具体步骤如下:

步骤B1.1),构建第一层数据输入层,第一层数据输入层分为训练数据输入层和测试数据输入层,其将输入数据裁剪为a11×a11维,其中,a11×a11为构建的此网络中第一层输出数据的大小;

步骤B1.2),构建第二层卷积层,第二层卷积层选用k21个a21×a21维的卷积核对输入数据进行卷积操作,卷积步长为s21,不采用像素填补加边,卷积层偏置常数为c21,卷积后再经过修正线性单元函数进行非线性映射,得到k21个l21×l21维的特征图,其中,k21为第二层中卷积核的个数,a21×a21为卷积核的大小,l21×l21为本层输出特征图的大小;

步骤B1.3),构建第三层池化层,第三层池化层用a31×a31维的窗口、以步长s31对上一层的结果进行下采样,得到k21个l31×l31维的特征图,其中,k21为要进行下采样操作的特征图数目,即为第二层输出的特征图数目,a31×a31为下采样操作的窗口大小,l31×l31为本层输出特征图的大小;

步骤B1.4),构建第四层卷积层,第四层卷积层选用k41个a41×a41维的卷积核对上一层的输出数据进行卷积操作,卷积步长为s41,不采用像素填补加边,卷积层偏置常数为c41,卷积结果经过ReLU函数,得到k41个l41×l41维的特征图,其中,k41为第四层中卷积核的个数,a41×a41为卷积核的大小,l41×l41为本层输出特征图的大小;

步骤B1.5),构建第五层池化层,第五层池化层用a51×a51维的窗口、以步长s51对上一层的结果进行下采样,得到k41个l51×l51维的特征图,其中,k41为要进行下采样操作的特征图数目,即为第四层输出的特征图数目,a51×a51为下采样操作的窗口大小,l51×l51为本层输出特征图的大小;

步骤B1.6),构建第六层卷积层,第六层卷积层选用k61个a61×a61维的卷积核对上一池化层的输出数据进行卷积操作,卷积步长为s61,采用像素填补,加边数目为p61,卷积层偏置常数为c61,同样再经过ReLU函数,得到k61个l61×l61维的特征图,其中,k61为第六层中卷积核的个数,a61×a61为卷积核的大小,l61×l61为本层输出特征图的大小;

步骤B1.7),构建第七层卷积层,第七层卷积层选用k71个a71×a71维的卷积核对上一卷积层的输出数据进行卷积操作,卷积步长为s71,不采用像素填补加边,卷积层偏置常数为c71,经过ReLU函数,得到k71个l71×l71维的特征图,其中,k71为第七层中卷积核的个数,a71×a71为卷积核的大小,l71×l71为本层输出特征图的大小;

步骤B1.8),构建第八层池化层,第八层池化层用a81×a81维大小的窗口、以步长s81对上一层的结果进行下采样,得到k71个l81×l81维的特征图,其中,k71为要进行下采样操作的特征图数目,即为第七层输出的特征图数目,a81×a81为下采样操作的窗口大小,l81×l81为本层输出特征图的大小;

步骤B1.9),构建第九层、第十层,第九层、第十为全连接层,第九层将上一层的输出全连接至本层的k91个输出神经元,构成一个k91维的特征向量,将其再经过ReLU函数非线性变换,然后使用dropout方法调整连接权重,作为第十层的输入,第十层将输入再连接至k101个输出神经元,k101即为人脸高兴程度的类别数,最后再经过Softmax-loss层,通过计算网络实际输出与数据标签之间的差值得到损失值函数J(θ):

上式为加入规则项的损失函数,其中k指人脸高兴程度的类别总数,b为设置的网络批处理大小,即整个网络训练迭代完一次所使用的输入数据个数,y(t)为第t个输入数据对应的数据标签,l{·}是指示性函数,即当大括号中的值为真时,该函数的结果为1,否则结果为0;x(t)为Softmax-loss层的第t个输入向量,n为输入向量的维数,γ为预设的权重衰减率,θ为要调整的权重参数矩阵:

如图4所示,所述步骤B)中构建用于识别人脸遮挡程度的卷积神经网络的具体步骤如下:

步骤B2.1),构建第一层数据输入层,第一层数据输入层分为训练数据输入层和测试数据输入层,其将输入数据裁剪为a12×a12维,a12×a12为本层输出数据的大小;

步骤B2.2),构建第二层卷积层,第二层卷积层选用k22个a22×a22维的卷积核对输入数据进行卷积操作,卷积步长为s22,不采用像素填补加边,卷积层偏置常数为c22,卷积后再经过ReLU函数进行非线性映射,得到k22个l22×l22维的特征图,其中,k22为本层中卷积核的个数,a22×a22为卷积核的大小,l22×l22为本层输出特征图的大小;

步骤B2.3),构建第三层池化层,第三层池化层用a32×a32维大小的窗口、以步长s32对上一层的结果进行下采样,得到k22个l32×l32维的特征图,其中,k22为要进行下采样操作的特征图数目,即为本层输出的特征图数目,a32×a32为下采样操作的窗口大小,l32×l32为本层输出特征图的大小;

步骤B2.4),构建第四层卷积层,第四层卷积层选用k42个a42×a42维的卷积核对上一层的输出数据进行卷积操作,卷积步长为s42,不采用像素填补加边,卷积层偏置常数为c42,卷积结果经过ReLU函数,得到k42个l42×l42维的特征图,其中,k42为本层中卷积核的个数,a42×a42为卷积核的大小,l42×l42为本层输出特征图的大小;

步骤B2.5),构建第五层池化层,第五层池化层用a52×a52维大小的窗口、以步长s52对上一层的结果进行下采样,得到k42个l52×l52维的特征图,其中,k42为要进行下采样操作的特征图数目,即为本层输出的特征图数目,a52×a52为下采样操作的窗口大小,l52×l52为本层输出特征图的大小;

步骤B2.6),构建第六层卷积层,第六层卷积层选用k62个a62×a62维的卷积核对上一池化层的输出数据进行卷积操作,卷积步长为s62,不采用像素填补加边,卷积层偏置常数为c62,经过ReLU函数,得到k62个l62×l62维的特征图,其中,k62为本层中卷积核的个数,a62×a62为卷积核的大小,l62×l62为本层输出特征图的大小;

步骤B2.7),构建第七层池化层,第七层池化层用a72×a72维大小的窗口、以步长s72对上一层的结果进行下采样,得到k62个l72×l72维的特征图,其中,k62为要进行下采样操作的特征图数目,即为本层输出的特征图数目,a72×a72为下采样操作的窗口大小,l72×l72为本层输出特征图的大小;

步骤B2.8),构建第八层、第九层,第八层、第九层为全连接层,第八层将上一层的输出全连接至本层的k82个输出神经元,构成一个k82维的特征向量,将其再经过ReLU函数非线性变换,然后同样使用dropout方法调整连接权重,作为第九层的输入,第九层将输入再连接至k92个输出神经元,k92即为人脸遮挡程度的类别数,最后再经过Softmax-loss层,计算网络实际输出与数据标签之间的差值得到损失值函数。

所述步骤D)的详细步骤如下:

步骤D1),使用人脸和非人脸图像训练Adaboost分类器,然后利用训练好的分类器检测出输入的合影图像中的所有人脸图像,并对检测出的每个人脸图像使用用于识别人脸高兴程度和人脸遮挡程度的网络模型分别进行人脸高兴程度IHi和人脸遮挡程度qi的识别,其中,i为合影图像中的人脸图像的数量;

步骤D2),根据以下公式计算输入的合影图像中的合影人数对该合影图像中每张人脸高兴程度的影响权重值:

其中,m为训练数据集中图像的平均合影人数,s为输入合影图像中检测出的人脸数,预设的参数α用于控制权重δi的影响大小;

步骤D3),根据以下公式计算输入的合影图像中每个人脸的遮挡程度对图像中对应人脸的高兴程度的惩罚值:

λi=||1-βqi||,0≤λi≤1,0≤qi≤p-1

其中,p为人脸的遮挡程度的类别总数,qi为第i个人脸的遮挡强度,预设的参数β用于控制λi的影响大小;

步骤D4),根据以下公式计算出输入合影图像中的人群高兴程度:

其中,πi=δiλi

下面结合具体的例子来说明:

步骤1:分出HAPPEI数据库中的人脸图像数据并做预处理

在具体实施过程中,采用HAPPEI数据库。如图5所示,该数据库包含来自Flickr网站的2638张社交合影图像,每张图像都有对应的由人工标注的人群高兴程度的标签(0—5),分别为平静、愉快、喜悦、欢喜、大喜、狂喜,除此之外,每张图像中的人脸的高兴程度及遮挡程度都以.xml的方式给出,可用MATLAB读取出。整理后的人脸图像共有9924张,对应的人脸高兴程度标签同样分为6级(0—5),分别用以表示平静、含笑、微笑、轻笑、大笑、狂笑6种高兴程度,其中轻笑、大笑、狂笑时均露齿,当嘴张的特别大时,即标记为狂笑,含笑、微笑时均不露齿。对应的遮挡强度标签分为4级(0—3),分别用以表示完全可见、轻微遮挡、部分遮挡、高度遮挡。使用编写的MATLAB程序将标记有高兴程度的人脸分至相应类别的文件夹中,同理将标记有遮挡程度的人脸也分至相应类别的文件夹中,至此初步的人脸高兴程度数据库和人脸遮挡程度数据库已建成。由于其中既有彩色图像又有灰度图像,需将其全部变换为灰度图像,并将大小统一为256×256。如要将它们作为卷积神经网络的输入数据,还需分为训练集和验证集,各任意选取其中70%的人脸作为训练集,剩下30%作为验证集,分别构成人脸高兴程度数据集和人脸遮挡程度数据集。

步骤2:构建出用于识别人脸高兴程度的卷积神经网络,并用经过预处理的人脸高兴程度数据集训练卷积神经网络,得到优化后的网络模型

第一层为数据输入层,数据输入层分为训练数据输入层和测试数据输入层,其将输入数据裁剪为256×256大小,并将数据对应的标签输入网络;

第二层为卷积层,选用96个12×12的卷积核对输入数据进行卷积操作,卷积步长为4,不采用像素填补加边,卷积层偏置常数为1,再经过ReLU进行非线性映射,得到卷积层的输出即96个62×62的特征图;

第三层为池化层,用6×6大小的窗口,以步长2对上一层的结果进行下采样,得到96个29×29的特征图;

第四层为卷积层,选用256个3×3的卷积核对上一层的输出数据进行卷积操作,卷积步长为1,不采用像素填补加边,卷积层偏置常数为1,卷积结果同样再经过ReLU函数,得到256个27×27的特征图;

第五层为池化层,用3×3大小的窗口,以步长1对上一层的结果进行下采样,得到256个25×25的特征图;

第六层为卷积层,选用512个3×3的卷积核对上一池化层的输出数据进行卷积操作,卷积步长为1,采用像素填补,加边数目为1,卷积层偏置常数为1,同样再经过ReLU函数,得到512个25×25的特征图;

第七层为卷积层,选用512个3×3的卷积核对上一卷积层的输出数据进行卷积操作,卷积步长为2,不采用像素填补加边,卷积层偏置常数为1,同样经过ReLU函数,得到512个12×12的特征图;

第八层为池化层,用2×2大小的窗口,以步长2对上一层的结果进行下采样,得到512个6×6的特征图;

第九层、第十层为全连接层,第九层将上一层的输出全连接至本层的4096个输出神经元,构成一个4096维的特征向量,将其再经过ReLU函数非线性变换,然后使用dropout方法调整连接权重,作为第十层的输入,第十层将输入再连接至6个输出神经元,输出神经元个数即为人脸高兴程度的类别数,最后再经过Softmax-loss层,通过计算网络实际输出与数据标签之间的差值得到损失值函数:

上式为加入规则项的损失函数,其中k指人脸高兴程度的类别总数,b为设置的网络批处理大小,即整个网络训练迭代完一次所使用的输入数据个数,y(t)为第t个输入数据对应的数据标签,l{·}是指示性函数,即当大括号中的值为真时,该函数的结果为1,否则结果为0,x(t)为Softmax-loss层的第t个输入向量,n为输入向量的维数,γ为预设的权重衰减率,θ为要调整的权重参数矩阵:

网络使用随机梯度下降算法(SGD,Stochastic gradient descent)对网络各层的权重参数进行调整,最终使得损失目标函数达到最小,即求解使损失函数的偏导数为零时的各层网络参数,损失函数的偏导数如下:

各层权重θuv的更新公式为:

由于HAPPEI数据库中人脸的高兴程度较难分辨,所以网络中增加了单独卷积层的设置,能够将人脸部的信息特征更充分地融合。将已经预处理过的人脸高兴程度数据集(包括训练集和验证集)输入构建好的卷积神经网络进行训练,训练的初始学习率η设置为0.001,权值衰减率设置为0.0005,在训练过程中需要观察识别率是否出现不正常的忽高忽低的波动,若存在这种过拟合现象,需要及时修改相应的参数后再次训练,直到得到合适的结果。

步骤3:构建出用于识别人脸遮挡程度的卷积神经网络,并用经过预处理的人脸遮挡程度数据集训练卷积神经网络,得到优化后的网络模型

第一层为数据输入层,数据输入层分为训练数据输入层和测试数据输入层,其将输入数据同样裁剪为256×256大小,并将数据对应的标签输入网络;

第二层为卷积层,选用96个12×12的卷积核对输入数据进行卷积操作,卷积步长为4,不采用像素填补加边,卷积层偏置常数为1,卷积后再经过ReLU函数进行非线性映射,得到卷积层的输出即96个62×62的特征图;

第三层为池化层,用6×6大小的窗口,以步长2对上一层的结果进行下采样,得到96个29×29的特征图;

第四层为卷积层,选用256个3×3的卷积核对上一层的输出数据进行卷积操作,卷积步长为1,不采用像素填补加边,卷积层偏置常数为1,卷积结果同样再经过ReLU函数,得到256个27×27的特征图;

第五层为池化层,用3×3大小的窗口,以步长1对上一层的结果进行下采样,得到256个25×25的特征图;

第六层为卷积层,选用512个3×3的卷积核对上一池化层的输出数据进行卷积操作,卷积步长为2,不采用像素填补加边,卷积层偏置常数为1,同样经过ReLU函数,得到512个12×12的特征图;

第七层为池化层,用2×2大小的窗口,以步长2对上一层的结果进行下采样,得到512个6×6的特征图;

第八层、第九层为全连接层,第八层将上一层的输出全连接至本层的4096个输出神经元,构成一个4096维的特征向量,将其再经过ReLU函数非线性变换,然后同样使用dropout方法调整连接权重,作为第九层的输入,第九层将输入再连接至4个输出神经元,输出神经元的个数即为人脸遮挡程度的类别数,最后再经过Softmax-loss层,同上一卷积神经网络一样计算网络实际输出与数据标签之间的差值得到损失值函数,并用SGD算法更新网络各层的权重参数。

实验时将已经预处理过的人脸遮挡程度数据集(包括训练集和验证集)输入按上述步骤构建好的卷积神经网络中进行训练,训练的初始学习率η仍设置为0.001,权值衰减率设置为0.0005,同上一网络训练的过程类似,直到得到合适的结果。

步骤4:检测输入合影图像中的s张人脸,使用训练后的两个卷积神经网络分别得到每张人脸fi的高兴程度预测值IHi和遮挡程度预测值qi,,其中,i为合影图像中的人脸图像的数量,具体步骤如下:

首先截取部分HAPPEI库中的人脸图像作为正样本,非人脸图像作为负样本,训练Adaboost分类器,然后使用训练好的分类器对输入合影图像进行人脸检测,将图像中的s个人脸fi(1≤i≤s)检测出来,并保存为人脸图像,然后用步骤2和步骤3中训练好的卷积神经网络分别估测出每个人脸fi对应的高兴程度IHi和遮挡程度qi

步骤5:对每个人脸图像计算由合影人数s和人脸遮挡程度qi引起的对人脸高兴程度IHi的加权值πi,并由此计算图像的整体人群高兴程度I,具体步骤如下:

一般情况下,合影人数越多,高兴或是愤怒的氛围越为浓厚,因此考虑合影人数的多少对人群高兴程度的影响是很有必要的,由合影人数对图像中每张人脸高兴程度的影响权重值计算如下:

其中m为训练数据集中图像的平均合影人数,s为输入测试的合影图像中包含的已检测出的人脸数,参数α可用于控制权重δi的影响大小。

由于每个人脸的遮挡程度也会对整体的气氛造成影响,被遮挡的人脸表情被判定错误的几率高,而且在整个人群中变得不显眼,因此需要针对人脸的遮挡情况对每张人脸的高兴程度进行惩罚,将人脸的遮挡程度分为p类,在这里p=4,计算公式如下:

λi=||1-βqi||,0≤λi≤1,0≤qi≤p-1(6)

其中qi为第i个人脸的遮挡强度,参数β用于控制λi的影响大小。所以最终的惩罚项为:

πi=δiλi(7)

由此可估算出图像中的人群高兴程度为:

此公式既考虑了全局信息,又考虑了局部信息,比较符合实际情况。

实验结果表明,本发明通过引入基于深度学习的人群高兴程度识别方法,将其应用在人群合影图像的高兴程度分类识别工作中,能有效地识别出人群高兴程度的0—5级,0表示平静的自然状态,5表示极度高兴的状态,为开发人类情感自动评估系统提供了一种新的方法和途径。

本技术领域技术人员可以理解的是,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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