"景先生毕设|www.jxszl.com

基于Kinect的三维人脸表情跟踪

2019-12-14 20:11编辑: www.jxszl.com景先生毕设
基于Kinect的三维人脸表情跟踪[20191214193144]
摘 要
人与人的交往过程中,面部表情是一种非常重要的信息传递途径,能够表达很多语言所不能传达的信息。随着科学技术的日新月异的变化,对于人脸识别的需要性越来越大。比如说机器人模仿的人脸表情,动漫人物中一些惟妙惟肖的表情动作,游戏里三维人物的表情,这些表情都不是凭空捏造出来的,大多数都是通过模仿人脸的表情从而做出这些虚拟的表情。
人脸表情识别系统是当今计算机图形学领域的一个研究热点。人脸的表情跟踪识别系统可以基于多种形式的数据,基于二维图像,基于三维图像,基于深度图像识别等等。本文主要描述基于深度图像的人脸表情识别。首先是通过Kinect深度相机扫描出人脸的表情动作,通过深度的图像构造出基本的人脸模型,然后通过Faceshift软件进行表情的三维人脸重建。通过人脸图像生成面部的三维模型,从而获取面部特征点,在软件已有的人脸模型的基础上,用这些特征点对基本模型加以修改重建,从而得到我们所需要的人脸模型。最后就可以通过Faceshift实施人脸表情的运动跟踪,进一步形成了Faceshift的插件程序。Faceshift插件程序可以应用到游戏制作软件Unity3D当中,从而实现对一些动画模型的表情操纵,使得模型更加人性化和具有亲和性。
随着互联网的飞速发展,相关的技术会越来越成熟,人脸表情跟踪识别这一技术的发展必将给各行各业带来一些新的机遇和挑战。
 查看完整论文请+Q: 351916072 
关键字:计算机图形学、三维人脸重建、表情识别、运动跟踪
目 录
第1章 人脸表情识别与跟踪 7
1.1人脸表情技术的应用背景 7
1.2 人脸表情识别与跟踪的定义 8
1.2.1基本定义 8
1.2.2人脸表情识别与跟踪的现阶段的问题 8
1.3 人脸表情识别与跟踪的应用 9
1.4人脸跟踪识别的未来 10
第2章 开发工具 11
2.1 开发工具的综述 11
2.2 Kinect 11
2.3 Faceshift 12
2.4 Unity3D 12
第3章 系统设计 15
3.1表情识别系统框架 15
3.1.1表情特征分析 15
3.1.2表情分类 16
3.2人脸面部的动态研究 17
3.2.1视觉认知心理 17
3.2.3面部识别原理 20
第4章 系统实现 22
4.1测试 22
4.1.1 Kinect的调试 22
4.1.2 Faceshift的运行实现 22
4.2 功能实现 31
4.3 结果 31
4.4部分关键代码 31
4.4.1 Unity 31
4.4.2 faceshift插件程序 32
第5章 总结和展望 35
致谢 37
参考文献 38
第1章 人脸表情识别与跟踪
1.1人脸表情技术的应用背景
心理学家Russell曾经讲过,人们的日常交流中,会出现很多情感的交流,然而言语所表达的只占7%,而人脸的表情的传达则会占据一大半之多。可以说人与人之间感情的交流会大部分依赖人脸表情的变化,所以人脸表情的研究是一项至关重要的技术[16]。
社会科学技术的飞速发展带动着各领域对于识别人的身份的迫切需求,其中生物的特征的识别在这些年里发展之快可以说是让人难以置信。而作为人这个生物的一种潜在的生物属性,生物表情特征具有很强的自身特点及每个不同的人之间都会有一些差异性,生物表情特征如果被开发起来的话,对于某些领域检测身份的需求会显得很至关重要。据笔者所知,当前已有的生物特征识别方法主要有:指纹的识别,视网膜的识别,虹膜的识别,步态的识别,人脸的识别等等一些方法。与其他的一些生物识别比较,人脸的识别具有直观,方便和有效等突出的特点。而对于使用者来说,人脸识别将不会和其他的一些识别技术一样可能会让他产生一些心理负担,从而人脸识别技术能够被大多数群众所接受,得到了大众的支持与科研界的广泛的应用。另外,我们还能够对人脸识别技术研究所得到的结果得到一些分析,能够额外的得到这个人的性别,表情等一些丰富的生物信息,拓宽了人脸识别技术在未来的一个应用前景。就如今而言人脸的识别技术主要是在下面的几个领域被广泛的使用:
(1)刑警对于一些犯罪人员的脸部特征都记录在案,如果一些犯罪人员继续犯案,那么就可以通过人脸的一些特征对犯罪人员进行识别排除,从而能都很有效率的对罪犯实施通缉并抓捕
(2)机场,国家安全部门等一些重要的场所一般会设置一些自动的检测装置,它会采集所有进过人员的脸部信息,这样如果此人的档案不是很清白的话,当地的工作人员会对其进行盘查,确保一些重大场所的安全性,避免事故的发生。
(3)银行,医院,学校等地最常见的就是监控录像,监控录像通过识别人脸部的特征,从而对周边的环境进行监控,这样的话,可以有效的防止盗窃的发生,同时对一些犯罪人员起到了警示的作用。
(4)表情的跟踪与识别运用最多的还是一些游戏和动漫的模型构造,它可以使原本一个不生动的角色,添加入人脸表情的一些细微的变化,这样可以使的用户的体验更加的逼真。同时医院,安检用到的这些更为广泛[18]。
1.2 人脸表情识别与跟踪的定义
1.2.1基本定义
人脸的表情识别是通过摄像头扫描人脸,然后对人脸进行一些特征点的定位,从而确定该人脸的一些表情的基本模型,这样就可以进行基本的人脸的识别。同时还有其他的一些方法识别人脸。这里就不一一赘述了,本文介绍的主要的方法就是前文刚刚提到的深度图像识别法。人脸的表情跟踪的话就要用到一些专业性的软件,人脸的表情跟踪就是利用了模型数据的变化,从而重建三维模型,可以对三维模型的基本的表情数据进行跟踪,这样的话,就可以实现人脸的表情跟踪。
人脸表情的实时跟踪实现起来相对来说是比较困难的,计算机的运算速度加上摄像头的摄像技术等等都影响了系统实时性。所以这项技术还不是很成熟,需要有更多的研究开发人员加以进一步的研究和探索。
1.2.2人脸表情识别与跟踪的现阶段的问题
虽然表情识别是一门新兴的技术,但是在这个领域由于一些深入性的研究和一些专业性知识的缺乏,问题还是比较突出的:
1)实时表情识别的研究的缺乏  
人脸实时的表情的识别可以说难度是巨大的,现有的人脸的表情识别都是基于 现有的计算机库里的人脸模型表情,所以无法做到精准的识别,这是现阶段的一个很大的问题。如何能将自发的人脸识别技术变成实时的人脸识别技术,这是一个现阶段应该重视的大问题。自发的人脸识别技术只能基于庞大的计算机网络所给的数据库,无法实时的扫描人脸并识别确认。
2)表情的动作因各个不同的人变化
人脸的表情动作是多样性的,有很多不一样的脸型,配合你的脸型做出相应的表情动作,这样对应的表情可靠性也是不一样的。有些人的脸比较胖,有些人的脸比较方,做表情跟踪的时候就会出现很多时候扫描不出来,又或者是表情的动作会出现偏差,这种问题会随着软件的跟新换代以后有所改进。这就需要一个表情储存多个不一样的模型,但是模型库的有限性不足以满足这个需求。  
3)表情识别的鲁棒性需要得到改善
各个人的人脸的特征是各不相同的 ,不同的人的面部的骨骼结构,眼睛的大小,皮肤的颜色,脸型的大小都决定了不同的人对于不同的识别很容易产生不一样的结果。所以这对脸部的表情识别加大了难度,这就叫做表情识别的鲁棒性。不过这个问题是很难去解决的,人脸的模型变化太多,要想面面俱到的话基本是很难以实现的[6]。
4)系统的实用性不强
人脸表情识别的技术大多数用在游戏的三维模型制作和动画的表情制作,更多的应用场所是在机场等安检地方的人脸扫描,而对于这个技术对人们日常生活中的应用却是少之有少,所以普遍人们对于这项技术的关注度不是特别高,这就导致了这项技术得运用局限性,从而对技术未来的发展和人们使用的角度来讲是有很大的缺陷的。如何将这项技术很好的广泛的应用是未来的一个难题。
1.3 人脸表情识别与跟踪的应用
1.3.1 人机交互
在人机交互的一些程序中,计算机会根据人的表情比如开心,伤心等动作会自动做出相应的人性化服务。例如一些智能的音乐播放器,他能跟据人的表情给出一些相应的反应,你伤心的时候它会自动播放一些令人愉悦的歌曲。有些时候由于远程传输,但是实际的网速跟不上影像的传输速度,可能导致一些延迟,计算机如果能根据人的表情做出一些相应的调整,那么计算机会提高不少的传输效率。
1.3.2 游戏娱乐
人脸表情识别的最大应用场景就是在游戏中的一些人物模型的应用。游戏中三维虚拟人物的基本表情和动作都需要通过人脸的三维建模,从而通过一些软件后期制作,最后能形成惟妙惟肖的表情动作,极大地丰富的游戏地内容与可玩性。具有表现力和互动性的游戏必将成为未来娱乐的导向标。
1.3.3 网络教学
人脸表情跟踪识别能让老师与同学更好的互动起来,同学的表情是疑惑还是明白都可以实时的反应给老师,老师就能依据不同的反应情况作出最正确的教学,真正实现了网络教学的良好的互动性和方便高效的基本特性。同时,老师对于一些重难点的深思也能及时反应给学生,让学生能够对此引起重视。如果网络教学能与表情跟踪良好的结合起来,那么网络教育会越来越成为一种高效时尚的主流教育。 
1.4人脸跟踪识别的未来
人脸跟踪识别的前景广阔,有很多地方都会用到这些东西,但是这方面的研究还不是很多,所以该领域的一些问题还比较突出。表情跟踪的细致追求以现在的技术还是比较困难的,不过现在越来越多的人已经加入到这个研究当中,未来的人脸表情识别技术肯定会更加的先进和精确,未来的各行各业也会急剧的需求这一新兴的技术。
第2章 开发工具
2.1 开发工具的综述
作为基于Kinect的三维人脸表情跟踪首先需要用到的就是Kinect,Kinect的作用就是将人脸的表情图像读入程序,然后通过Faceshift进行表情的处理重构三维人脸图像,形成一套表情的人脸模型,最后就可以通过Kinect的摄像头实施人脸的表情跟踪。
2.2 Kinect
Kinect是微软 在2010年对XBOX360体感的周边外设活动中正式发布的名字。随着Kinect这个命名的的正式的出现,Kinect开发商与此同时还发布了一系列的配套游戏,比如一些体感游戏,需要人的表情或者是动作的互动。这些游戏都是基于Kinect的二次开发所形成的一些应用。
“Kinect”为 kinetics(动力学)加上 connection(连接)两字所自创的新词汇。
Kinect for Windows SDK主要是针对Windows7设计,内含驱动程序、丰富的原始感测数据流程式开发接口(RawSensorStreamsAPI)、自然用户接口、安装文件以及参考数据。Kinect for Windows SDK可让使用C++、C#或VisualBasic语言搭配MicrosoftVisualStudio2010工具的程序设计师轻易开发使用[17]。
Kinect for Windows SDK的主要特色包括:
-原始感测数据流:开发的一些研究人员可以通过距离的传感器、摄影机以及麦克风数组的一些基本数据流进行一些简单的程序开发。这些通过一些途径得到的观测数据可以让研究人员通过Kinect传感器的低阶数据流做一些很基础的应用程序的开发。
-骨架的追踪:此套SDK能够识别并追踪Kinect摄像头扫描出来的一个或二个人体的骨架图像,这样的话整个人的肢体动作就显得特别的突出,便于建立体感操作的一些游戏或识别的应用程序。
-先进的音效效果:可以抑制一些噪音与消除回音、可通过音波的形式鉴别声音的传播方向以及传播来源,同时这是可以和Windows的语音识别API整合。
-简单的安装过程:这套SDK可以完美的在Windows7上标准化安装,并且不需要一些复杂的组态设定,安装程序档案的大小不超过100MB。研究的一些人员就只要购买标准的Kinect的传感器,在几分钟内就能通过官方给的一些apk进行简易的程序开发。
-完整的说明文件:SDK的界面也会有一些详细的高质量技术文件(document)。除了它程序内部随附的说明性的档案之外,还包括了范例给你一些实际性的演示及操作步骤[17]。
2.3 Faceshift
Faceshift是一种新运动捕获软件,它主要是用来复制人类面部动作,其性能令人无法想象,捕捉的过程基本没有任何夸张的延迟。
Faceshift依靠于微软Kinect和摄像头进行驱动,通过提交Faceshift所需要的3D数据,同时Faceshift的创作者,也做了一些开发的工作,从Kinect设备获取的人脸识别功3D数据当中精练出Faceshift需要的数据。
Faceshift可以用屏幕上3D头像精确模仿人脸的表情,即使是最轻微的肌肉抽动,都能达到成功的动作捕捉。目前,人类面部表情跟踪识别已经应用到视频和游戏的产业中,比如著名的黑帮游戏《LA Noire》(黑色洛城)。

原文链接:http://www.jxszl.com/dzxx/dzkxyjs/1700.html