基于Gabor特征提取+神经网络的表情识别

举报
资源描述
模式识别课程设计_基于Gabor特征提取和多决策神经网络的人脸表情识别模式识别-基于 Gabor 特征提取和多决策神经网络的人脸表情识别(课程设计)指导教师:*教授作者:*日期:2010 年 6 月 27 日模式识别课程设计_基于Gabor特征提取和多决策神经网络的人脸表情识别目录1 设计背景.11.1面部表情识别.11.1.1概述.11.1.2研究现状.11.1.2识别难点.21.2设计环境.21.2.1表情数据库.21.2.2程序实现平台.32 设计过程.42.1总体流程.42.2预处理.52.3人脸检测与ROI 获取.62.3.1人脸检测.72.3.2人眼自动检测与人脸旋转.72.3.3ROI获取.92.4 特征提取.102.4.1Gabor 特征.102.4.1特征降维.112.5表情识别.132.5.1表情识别方法综述.132.5.2BP神经网络.142.5.3多决策神经网络.203 实验验证.273.1基于 JAFFE表情库的自测试.273.1.110 个体训练测试.273.1.29/1 交叉验证.293.2训练集外测试.304 总结.32参考资料.33模式识别课程设计_基于Gabor特征提取和多决策神经网络的人脸表情识别11 设计背景1.1 面部表情识别1.1.1概述表情是人类用来表达情绪的一种基本方式,是非语言交流中的一种有效手段。人们可通过表情准确而微妙地表达自己的思想感情,也可通过表情辨认对方的态度和内心世界。关于表情传递信息的作用,心理学家 Mehrabian 给出了一个公式:感情表露=7的言词+38的声音+55的面部表情人脸表情识别(FER)所要研究的就是如何自动、可靠、高效地利用人脸表情所传达的信息。人脸表情识别也是人工心理理论研究的重要组成部分。人脸表情含有丰富的人体行为信息,对它的研究可以进一步了解人类对应的心理状态。计算机和机器人如果能够像人类那样具有理解和表达情感的能力,并能够自主适应环境,这将从根本上改变人与计算机之间的关系,使计算机能够更好的为人类服务。这正是研究人脸表情识别并赋予计算机具有情感理解和情感表达课题的意义。1.1.2研究现状面部情感的研究始于19 世纪,达尔文阐述了人的面部表情和动物的面部表情之间的联系和区别。20 世纪 70 年代,Darein 首先揭示了表情在不同性别、不同种族的人群中的一致性。1971年美国心理学家Ekman和 Friesen 定义了 6 种基本情感类别:惊奇、恐惧、厌恶、愤怒、高兴、悲伤。并于 1978年开发了面部动作编码系统FACS(FacialActionCoding System)来检测面部表情的细微变化。系统将人脸划分为若干个运动单元 Au(ActionUnit)来描述面部动作,这些运动单元显示了人脸运动与表情的对应关系。6 种基本表情和 FACS 的提出具有里程碑的意义,成为后来表情识别研究工作的基础。而在计算机方面,1978年 Suwa和 Sugie 等人对表情识别做了一个最初的尝试,他跟踪一段脸部视频动画,得到每帧图片上20个关键点模式识别课程设计_基于Gabor特征提取和多决策神经网络的人脸表情识别2的运动规律,将此运动规律与预先建立的不同表情的关键点运动模型相比较。1.1.2识别难点虽然人类表情识别能力较强,可是计算机实现起来则困难很多。人脸是一个柔性体而不是刚体,很难把脸部运动和表情变化联系起来,根据表情图像序列的特点建立的动态表情模型才是一个完整的动态表情过程的描述。另外人脸表情丰富(包括表情的各种倾向),人类对表情的控制能力,表情的变化细微而复杂,对表情变化特点的概括等诸多方面因素,都成为人脸表情识别的难点。此外,表情识别还依赖于其它方面因素,如:(1)对人脸的熟悉程度;(2)对各种表情的体验。表情的表现有缓和的和激动的、细微的和强烈的、轻松的和紧张的等诸多形式,它的生理因素也是细微多变,所以非常复杂;(3)对脸部的注意程度;(4)非视觉因素;(5)数据来源方面。严格的试验种所引起的情绪表情状态带有突出的人为性质,这难以为实事求是的科学研究提供十分精确的依照和人脸姿态对识别结果影响较大。1.2 设计环境1.2.1表情数据库本设计实验采用的表情库是日本Kyushu 大学的 JAFFE(Japanese femalefacialexpresssion)人脸库,该表情库包含了10 位日本女性的共 213张表情图片,其中每个人展示7 种表情(6 种基本表情外加中性表情)各 34张图像。JAFFE人脸库中都是正面人脸,且脸部大小基本一致,图 1.1 所示为库中部分图片,从左至右的表情依次是中性、高兴、伤心、惊讶、生气、厌恶和害怕。图 1.1 JAFFE 数据库部分人脸表情图模式识别课程设计_基于Gabor特征提取和多决策神经网络的人脸表情识别31.2.2程序实现平台本次 设 计 采用 MATLAB 数学 工具平 台。MATLAB 是 矩 阵 实验 室(MatrixLaboratory)的简称,是美国 MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括 MATLAB 和 Simulink 两大部分。MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB环境,以解决这些应用领域内特定类型的问题。程序开发界面如图1.2 所示。图 1.2 Matlab 开发平台截图本次课程设计中,设计过程中所采用的各种图像处理方法、数据处理算法和识别解决方案,最终都是由Matlab 程序来实现的,并对之进行效果验证。模式识别课程设计_基于Gabor特征提取和多决策神经网络的人脸表情识别42 设计过程2.1 总体流程从表情识别过程来看,表情识别可分为三部分:人脸图像的获取与预处理、表情特征提取和表情分类,如图 2.1 所示。图 2.1 人类表情识别系统示意图表情识别大致分为训练过程和测试过程两个独立又相关的过程。两个过程的具体流程大致可以用图2.2 来表示:模式识别课程设计_基于Gabor特征提取和多决策神经网络的人脸表情识别5训练结束人脸检测与切割ROI 区域切割图片预处理Gabor 滤波提取特特征抽取PCA 降维训练分类器构造 Gabor 滤波器卷积训练开始测试开始测试结束输入图片并预处理图片旋转ROI 手动切割Gabor 滤波提取特征特征抽取PCA 降维结果判定图 2.2 表情识别总流程示意图2.2 预处理此处指的图像预处理不是针对分类来说的,而是指对输入图像在像素级别所作的最基本操作。主要包括以下几种:1)转换图片格式和图片类型图片格式基本可以不用考虑,JAFFE 训练集所提供的图片都是tiff 格式的,这对于 Matlab 的读取和处理都是兼容的。而测试图片也大都是常见格式。而图片类型就不同了,整个数据处理都是在灰度图像级别上进行的,训练时模式识别课程设计_基于Gabor特征提取和多决策神经网络的人脸表情识别6表情库是灰度图像,但测试时有可能输入彩色RGB 图像。所以,要先判断输入图像类型,如果是彩色图像,则先进行光照补偿,并转化为灰度图像。2)光照补偿光照补偿是针对输入的彩色图像来说的。由于人脸图片在拍摄时受环境光影响等原因,需要对输入图片做光照补偿,即计算某范围的像素灰度总值,再设定一个阈值,用来控制强度,最后达到整幅图片在光强视觉上看起来比较均衡。3)直方图均衡化直方图均衡化是针对灰度图像或者转化后的灰度图像而说的。即使在 JAFFE表情库中同一个个体的图片,其灰度分布也并不一直,有的太暗,有的过亮。进行直方图均衡化,可以把像素灰度值均匀地拉伸到0-255个像素值之间。图2.3是直方图均衡化前后对比,可以看出,直方图均衡化后,灰度差异更为明显,对于后来的处理是非常必要的、有利的。图 2.3 直方图均衡化效果对比图2.3 人脸检测与 ROI获取ROI(Region of Interest),即感兴趣区域。整幅人脸图片中,最能够体现表情信息的区域,我们称之为ROI。比如脸部,其实并没有提供太多有关表情的信息,还有头发等等。一般来说,最能够体现表情信息的ROI主要有三个:眼睛(含眉毛)、鼻子、嘴巴。要获取ROI,必须要先找到人脸并对人脸进行处理。模式识别课程设计_基于Gabor特征提取和多决策神经网络的人脸表情识别72.3.1人脸检测对于一个人脸表情自动识别系统来说,第一步首先要获得图像,一般情况下我们输入的图像主要分为两类:一类是简单背景下的人脸图像(静态图像),另一类是在任意复杂背景下的人脸图像(表情图像序列)。第二步是对获得的图像进行预处理,即从输入的图像中找到人脸并定位其位置,将人脸从背景中分割出来,再对分割出来的人脸图像进行处理以得到一个有利于提取特征的标准化图像。常用的人脸检测方法有:基于主元分析的人脸检测、基于纹理和肤色的人脸检测、基于可变形模板的人脸检测以及基于神经网络的人脸检测等。近年来用于图像预处理的新方法有:基于偏微分方程的图像分割、基于数学形态学的图像分割、基于小波分析和变换的分割和基于模糊集理论的分割等。由于本设计重点是进行表情识别,并且训练数据库JAFFE 表情库的人脸图片都比较规范,体现在以下几个方面:人脸大致居中、背景单纯、人脸遮挡物基本没有。这些特点决定了本设计中,人脸自动检测是没有必要的,所以本设计并没有进行自动人脸识别方面的摄入研究,而是采用了简便易行的手动人脸分割。本设计的人脸裁剪流程可以描述如图2.4。图 2.4 人脸裁剪流程2.3.2人眼自动检测与人脸旋转上述特点中,还有一个是大多数图片的人脸并不正,往往有些斜度,甚至有些倾斜比较明显,这给后面的ROI 提取带来麻烦,甚至会影响分类效果。所以,此处的研究重点是自动检测人脸倾斜度,并进行调整,最后进行人脸裁剪。自动检测人脸倾斜度的原理是,首先定位双眼,计算两眼瞳孔位置,然后判断两眼瞳孔是否基本在水平线上,如果不在,则根据两瞳孔斜度确定要旋转的方向和角度。在定位双眼过程中,采用了对二值化后的人脸图片进行水平方向和竖直方向模式识别课程设计_基于Gabor特征提取和多决策神经网络的人脸表情识别8像素投影的方法。但在实际实现时,发现往往定位不准确,这主要是因为二值化后头发的干扰。也就是说,投影图波峰的地方,往往不是瞳孔位置,而是头发形状改变的地方。鉴于 JAFFE 人脸位置大都居中规整,所以本设计采用了部分区域像素投影法,即只针对图片中间大约40*80 的区域进行像素投影。当图像以适当的阈值二值化之后,这个区域便只剩下了眼睛或者瞳孔,再进行像素投影,这时在水平方向和竖直方向上,就各自只有一个像素波峰,根据波峰的位置可以唯一确定双眼瞳孔位置。图 2.5 表示了部分像素投影方法,在左侧小图中,矩形区域表示了进行像素投影的区域位置和大小,而右侧小图是二值化后进行投影的图像,4 个红点定位了投影区域矩形的4 个角,可以看到,该区域只有瞳孔位置占有绝大部分像素。这个时候,只要取出投影曲线波峰位置,就可以认定是瞳孔位置。在实际操作时,这种方法被证实是有效地。图 2.5 部分像素投影方法示意图当旋转完成后,就可以进行人脸裁剪。本设计中,人脸裁剪区域统一为140*100 大小,这个区域的定位是以双眼为出发点,向四周扩展到 140*100 大小,然后裁剪这部分区域下来,完成人脸裁剪。图 2.6 表示了一个完整的人眼检测、人脸旋转、人脸裁剪过程,在眼睛定位中,用红点表示出了定位后的人眼瞳孔位置。模式识别课程设计_基于Gabor特征提取和多决策神经网络的人脸表情识别9图 2.6 人脸裁剪完成流程图2.3.3ROI获取人脸裁剪完成后,形成140*100 的规整人脸图片,在这样归一化的图片上,很容易进行 ROI 获取。本设计采用人工获取ROI 的方法,在表情库不大的情况下,人工获取会更准确。执行ROI 获取程序之后,在弹出的Figure 窗口上,用鼠标点取的方
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 行业资料 > 公共安全/评价


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号