论文部分内容阅读
人脸面部表情是人与人在日程生活中传递自身情感的重要方式之一。随着人机交互和计算机模式识别的飞速发展,外加硬件设备的迅速更新,人们可以将复杂的工作交付给计算机处理,以满足一定的生活和市场需求,为人类带来极大的便利。目前人脸面部表情识别在医学、交通、教育、图像分割和语义分割等领域都有着广泛的应用。但是在实际生活场景中,存在着诸多自然环境因素会导致人脸面部表情识别率大大降低,例如:自然环境下光照的强弱,人脸受到墨镜、帽子或口罩的遮挡,摄像头在捕捉人脸面部表情时会出现成像模糊等。同时,在使用传统的表情识别方法来提取表情特征的阶段中,所提取特征的表征能力较差,从而可能需要手工提取,现如今机器学习技术日益成熟,卷积神经网络在图像识别领域愈加广泛,目前很多用于表情识别的卷积神经网络都是利用OpenCV检测人脸坐标,但是检测效果并不是很好。以上这些因素都会严重影响到人脸面部表情的识别效果。综上所述,针对以上存在的问题,本文设计了一个轻量级的卷积神经网络(Convolutional Neural Network,CNN)来实时、批量地检测人脸面部表情。本模型的特点主要有以下三点:(1)本文利用的是MTCNN(Multi-Task Cascaded Convolutional Networks)算法来完成图像中人脸坐标检测的工作,并将得到的坐标保存。用MTCNN算法来替换传统的OpenCV方法,主要是因为,MTCNN具有级联检测特性,其本身共有三个网络结构,并且其中任意一个可以单独使用,从而减少了对内存资源的占用,同时MTCNN的检测效果要比OpenCV的效果好很多。(2)本文所设计的人脸面部表情分类模型在模型的最后部分采用全局平均池化层(Global Average Pooling Layer,GAP)来代替传统的深度卷积神经网络模型中的全连接层(Fully Connected Layer,FC)。特征图的每个通道都与相应的类别相关联,在一定程度上消除了全连接层的黑盒特征。同时,该模型结合了残差网络和深度可分离卷积,减少了大量的参数,使模型具有可移植性。(3)本文所设计的模型在FER-2013数据集上进行了测试。它只占用16GB内存的3.1%,即只需要0.496GB内存就可以完成人脸面部表情的分类任务。该模型不仅可以存储在872.9KB的文件中,而且在FER-2013数据集上的准确率达到67%,在KDEF数据集上的准确度高达87.71%。同时该模型对数据集外的图像也有很好的检测和识别效果。本文设计的模型使用的是TensorFlow深度学习框架,本模型在FER-2013数据集、KDEF数据集上进行测试,相比较其他传统网络模型的准确度有一定的优势,对于准确度与本模型相似的模型,本模型在轻量级方面又有一定优势。