论文部分内容阅读
人脸表情识别是对人的面部表情进行辨识,将特定的表情状态从静态图像或者动态视频序列中分离出来,从而确定所识别对象的心理情绪。人脸表情识别技术就是通过各种方法,使计算机能够像人类那样具有理解和表达能力,能自主适应环境并给人类以反馈达到人机交互的目的。表情识别应用广泛,在医疗、教育、驾驶、游戏等方面都有巨大的科研和实用价值。在深度学习中,卷积神经网络是目前人工智能领域比较热门的话题和技术,其在语音识别、图像识别等领域都取得了显著成果。目前的表情识别技术研究主要集中在更新算法和表情数据库,并不侧重于移动端的技术实现。鉴于表情识别地广泛运用,本论文将利用人脸检测技术和深度学习相关的卷积神经网络,结合高性能PC(服务器),完成表情识别系统在嵌入式移动终端上的部署与实现。针对本文的主要研究内容,详细阐述了人脸表情识别系统地设计与实现过程及相关技术知识。在基本的理论基础知识上,介绍了神经网络相关的概念及涉及到的技术和方法。本设计中的表情识别系统离不开神经网络,而神经网络又离不开表情图片数据。目前的表情数据库相对较多,但开源数据库却少之又少,能下载到的表情数据库总数据量在用于神经网络时也是稍显不足。因此,我将分别处理四种数据库,将它们融合成大规模的人脸表情数据。此数据库约包含表情图片20万张,将用于表情识别模型地训练。人脸表情识别与人脸识别基础步骤相同,都需要先在给定图片或者动态图像序列中检测到人脸,并进行相应的图像预处理。本论文在现有的NPD(Normalized Pixel Difference)人脸检测技术上进行算法改进,增加人脸检测窗口限制和检测评分系统,使检测算法效率更高,检测速度更快,更适用于低性能的ARM终端处理设备。为了适用于嵌入式设备,在对神经网络理论和各类模型进行研究测试分析的基础上,本论文选择了一种新型的轻量化网络模型结构——MobileNet进行表情识别模型地训练。在对比和测试该网络的两个因子对模型分类结果的影响后,选择了一组在测试中表现较好的因子作为参数,在高性能PC机上使用Caffe完成对该网络模型的训练。训练所得的模型不仅在权重等参数上有数量级地减少,在分类速度上也有所提高。本论文分别使用了表情数据库Fer2013测试集图片和真实环境下采集的表情图片对该模型的准确率进行了测试。模型在Fer2013测试集上达到了平均77.4%的识别准确率,真实环境表情图片的平均准确率达到了63.6%。综合考虑性价比,本系统选用树莓派作为嵌入式终端的核心处理器。由于性能的限制,树莓派无法独立实现从检测到识别的整个过程。因此,我将使用高性能的PC机作为服务器辅助完成整个系统设计。系统通过树莓派摄像头采集表情图片,将表情图片送入ARM板人脸检测模块进行人脸检测,检测到的人脸将通过TCP/IP传送给服务器,由服务器进行表情识别并返回识别结果,ARM板将使用Qt界面在显示屏上显示当前识别的表情图片和表情识别的结果。通过不断测试与优化,整个表情识别系统的功能得到完善,系统识别速度显著提升。