基于3d模型的行为识别

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A Dissertation Submitted in Partial Fulfillment of the Requirements
for the Degree of Master in Engineering
Action Recognition Based on3D Model
Master Candidate:Jing Du
Major:Computer Application Technology Supervisor:Prof.Dongfang Chen
Wuhan University of Science and Technology
Wuhan,Hubei430081,P.R.China
May,2014
摘要
人体行为识别技术被广泛应用于智能安全监控、自然用户界面和基于内容的图像和视频检索。

随着深度图像摄像头价格的不断降低和精确度的逐步提高,如何利用Kinect这类深度图像摄像头提取出的3D人体骨架关节点模型进行行为识别成为学者们关注的课题。

运动特征的表示方法是行为识别的重要部分。

本文提出一种名为肢体角度模型的姿态表示模型,此模型可以有效避免方向敏感性、人体长度和人体组成部分之间长度比例的影响。

肢体角度模型将所有关节点坐标转换到由一些身体部位的关节点建立的球坐标系上,然后计算由相邻关节点组成的肢体在这个球坐标系上的角度信息。

在行为归类步骤中使用隐马尔可夫模型作为模式识别工具。

实验中收集了不同视角方向和不同人体的骨架序列作为实验样本。

实验结果证明了方法的有效性。

关键词:3D模型;关节点;行为识别;姿态表示;隐马尔科夫模型
Abstract
Human action recognition technology has been wildly applied to intelligent security surveillance,natural user interface and content-based image and video retrieval.As depth camera becomes cheap and accurate,how to make use of the new type of data,3D skeleton joint model extracted by depth camera such as Kinect,has been a highly active research topic.
Action feature estimate is in important part of action recognition.A posture representation model named limb angle model is proposed,which is invariant to limb length,length ratio between body parts and body orientation.This model contains polar angle and azimuthal angle of each limb that consist of tow adjacent joints in the spherical coordinate system which is established by the features of body joints.Hidden Markov Model(HMM)is exploited as a pattern recognition tool for action classification.Skeleton sequences of different body orientation and different people are collected as experimental data.Experimental results demonstrate the effectiveness of our approach.
Keywords:3D Model;Joint;Action Recognition;Posture Representation;HMM
目录
摘要 (I)
Abstract (II)
目录 (III)
第1章绪论 (1)
1.1研究背景及意义 (1)
1.2行为识别技术发展概况 (4)
1.2.1行为识别流程 (4)
1.2.2基于2D图像序列的运动特征 (4)
1.2.3基于3D图像序列的运动特征 (5)
1.3全文研究内容及章节安排 (6)
第2章深度图像捕捉设备 (8)
2.1深度感应 (8)
2.2深度图像感应设备 (9)
2.2.1立体摄像机 (9)
2.2.2结构光传感器 (9)
2.2.3ToF摄像机 (9)
2.3Kinect for Windows (10)
第3章肢体角度模型 (12)
3.1姿态表示模型 (12)
3.2Kinect人体模型 (14)
3.3肢体角度模型 (15)
3.3.1关节点和行为识别 (15)
3.3.2关节点 (16)
3.3.3关节点位置信息提取 (17)
3.3.4肢体 (18)
3.3.5坐标系建立与转换 (19)
3.3.6球坐标系转换 (20)
3.3.7肢体角度 (23)
3.3.8模型可重构特性 (24)
3.3.9肢体角度差异 (25)
3.3.10姿态差异衡量方法 (26)
3.3.11肢体角度模型总结 (27)
第4章行为归类 (28)
4.1隐马尔可夫模型介绍 (28)
4.1.1马尔可夫过程 (28)
4.1.2隐马尔可夫模型 (28)
4.1.3隐马尔可夫模型的训练和概率计算 (30)
4.2隐马尔可夫模型应用 (30)
4.2.1关键姿态 (31)
4.2.2训练与识别 (31)
第5章实验 (32)
5.1实验样本 (32)
5.2实验环境 (32)
5.3样本存储 (33)
5.4实验结果 (33)
5.4.1不同视角样本之间的交叉实验 (33)
5.4.2不同人体之间的交叉实验 (34)
5.4.3阈值实验 (34)
第6章结论与展望 (36)
致谢 (37)
参考文献 (38)
附录1攻读硕士学位期间发表的论文 (42)
附录2攻读硕士学位期间参加的科研项目 (43)
第1章绪论
1.1研究背景及意义
人体行为识别是计算机视觉领域中一项非常热门的研究课题。

人体行为识别的主要目的是让计算机更好地理解和描述人的行为,从而使用计算机代替人力进行自动监控、使人与计算机之间可以通过更为灵活的方式交流以及从已有的图像视频中分析和整理人的行为信息等。

人体行为识别算法主要基于计算机视觉获取的图像,包括传统的二维彩色图像和利用其他技术获取的包含三维信息的深度图像等。

基于视觉的人的行为识别研究既包含了图像处理以及计算机视觉等知识,也涉及了模式识别以及人工智能的理论,是一个多学科交叉的研究方向[1]。

从行为识别理论的提出,到如今的信息时代,计算机技术得到了巨大飞跃,包括感应技术、数据存储和处理技术、互联网技术和通信技术等[2]。

感应技术的提升使摄像机拍摄到更清晰的图像,同时促进了不同种类摄像头的发展,并且大大降低了感应设备的造价,提升行为识别技术应用的经济可行性;数据存储和处理技术的飞跃大大提升了计算机硬件的信息存储能力和信息处理效率,可以保存和快速处理海量数据,为行为样本库的存储和模式识别算法的应用建立了硬件基础;互联网和通信技术的提升使得提供图像信息的摄像头等设备与处理信息、执行行为识别算法的计算机可以在空间上分布于两个距离很远的不同位置,整个行为识别系统中的各个设备可以灵活地放置,而高效的通信速度保证了图像信息传送和行为识别的实时性。

这些技术的提升使行为识别不再限制于学术讨论范围,而更多地往实际应用方面发展。

行为识别技术拥有十分广泛的应用范围和潜在的经济价值,主要表现在以下三个领域:
(1)自动智能监控(Automatic Intelligent Surveillance):尽管目前监控摄像机在商业化的应用中己经得到普遍使用,然而由于没有加入行为识别算法对拍摄到的图像视频进行分析,因此并没有能够充分发挥实时主动的监督作用,往往是将摄像头拍摄到的视频结果记录下来,当异常情况(例如停车场的车辆被盗等违法犯罪事件)发生后,工作人员才通过视频记录观察已发生的事件,但往往为时已晚。

而高级的监控系统应能够每日持续24小时进行实时智能监视,并自动分析摄像头捕捉到的图像数据,当异常发生时,系统能向工作人员及时准确地发出警报,从而遏制违法犯罪事件的发生,同时降低雇佣大批工作人员所需要的人力、物力和财力的投入[3],避免安保人员因为疲劳而造成的监控失误。

自动智能监控
已经被广泛应用于军事、公安、海关、消防、林业、机场、堤坝、港口、铁路、城市交通等众多公众场合。

行为识别是自动智能监控的重要组成部分,由预先设置的监控摄像头提供视频图像信息,通过行为识别算法获取视频图像中人的行为结果,可以对异常行为进行有效监控,预防意外发生以及对抢劫和偷窃等违法犯罪行为进行及时报警。

除了在公共场所为公共安全提供保障之外,一些自动智能监控技术和设备还适合家庭使用,主要应用方向是老年人的安全监护[4][5]。

在白天工作时间段内老年人经常独自在家,而其他家庭成员不在老年人身边,无法给老年人提供照料。

老年人容易因为意外跌倒而受到严重的身体损伤甚至威胁到生命安全。

在老年人跌倒以及其他类似的突发事件中,当事人往往由于身处于房屋封闭环境内难以被其他人及时发现,同时可能因为受伤的原因难以立即主动联系120或亲戚朋友以寻求帮助。

使用自动智能监控可以及时察觉意外事故的发生并立即通知有关人员对老年人进行抢救治疗,保证老年人的生命安全,降低亲属的对老年人生命安全的担忧。

(2)自然用户界面(Natural User Interface):人们通过用户界面(User Interface)对计算机下达命令。

用户界面包括硬件交互设备和软件交互界面,其中硬件设备包括鼠标、键盘等传统的计算机输入设备,软件界面包括窗口、菜单、按钮等可视的界面。

在此提到的用户界面主要是指人与计算机交流中所使用到的硬件设备和相应的用户输入方式。

自然用户界面是用户界面中特殊的一种,指一类无形的用户界面,其中“自然”这个词是相对于传统的图形用户界面(Graphic User Interface,GUI)而言的,自然用户界面的初衷是希望人与机器能够更自然地交流和互动。

虽然与人们日常工作和生活关系日益密切的移动平台设备(手机和平板电脑等方便随身携带的智能设备)造就了触摸屏这个比传统的鼠标、键盘更为新颖、直观和便捷的输入设备的流行,但触摸屏的本质仍然和鼠标、键盘相同,需要操作者通过人体与设备的物理触碰来达到向计算机输入命令的目的。

相对于这些传统输入设备,自然用户界面主要通过彩色摄像头、红外线摄像头等方式捕捉人体在3D环境中的动态,以操作者的全部或一部分身体的运动作为与计算机交互的方式。

自然用户界面主要应用在视频游戏之中,例如Microsoft开发的XBox 游戏机可以使用Kinect进行体感游戏,另外还应用于虚拟现实的体感互动技术中[6]。

Boulos等将自然用户界面元素结合Google Earth软件(由Google公司设计和开发的虚拟地球仪软件,它可以把卫星照片、航空照相和GIS显示在一个地球的三维模型上)开发了Kinoogle[7]软件(图1.1)。

这款软件用Kinect作为输入设备,通过Kinect获取用户的手势和手的运动情况,识别用户的命令从而对Google Earth 的视点进行改变。

与此类似的输入方式更适合命令种类多元化的情况,用户可以
通过身体运动的改变来切换不同的命令,而不是通过点击按钮。

另一方面,肢体运动的输入方式更为直观和便捷,乐趣性强,而且因为操作过程中用户和设备没有接触,不容易造成设备损坏,非常适合展会上使用。

a)b)
c)d)
图 1.1手势和手掌的移动代表了不同的命令:a)平移;b)放大;c)旋转;d)倾斜[7]。

相对于全身的动作,利用手势识别技术作为自然用户界面的实现方式则更为流行。

手势识别是计算机视觉中一项非常热门的研究领域,它使用户可以很方便地于机器进行互动而不需要额外的设备,即使用户对软件系统没有足够的专业知识,他们仍然能够自然地使用双手进行操作[8]。

手势识别和行为识别有很多相似的地方,它们同样是通过图像信息得到人体运动的特征,理解和分析出人体正在进行哪一种动作。

在自然用户界面中,对手势或人体行为的识别结果最终被转换为向计算机软件发布的命令。

(3)基于内容的检索(Content-based Image or Video Retrieval):图像和视频等多媒体信息的索引和检索的目的是帮助人们方便和快速地找到所需要的多媒
体资源,在索引和检索过程中需要一种技术能够对这一类多媒体资源的内容进行自动描述、分类存储和管理[9]。

行为识别技术正是这些技术中的其中一种,它可以帮助分析图像和视频中人体的运动特征,将其按照行为特点进行分类。

使用行为识别进行图像、视频的基于内容的检索可以从海量视频中自动找到感兴趣的内容,比如违法犯罪记录、体育运动员的技术统计(例如足球运动员的射门、传球、带球等),最终达到节省人力的目的。

1.2行为识别技术发展概况
1.2.1行为识别流程
如图1.2所示,行为识别一般分为数据预处理、运动特征提取、行为归类等步骤。

数据预处理的主要目的是将与行为信息无关的图像内容去除,在数据预处理中主要包括的内容有图像去噪、背景去除等步骤。

运动特征提取步骤的目的是从图像信息中提取出可以表征人体动态特点的信息,这些信息应能够在既表现人体动态的同时又能提供可以区分于其他不同种类行为的信息,这一个步骤中的关键点是使用怎样的模型来描述人体行为,达到既可以精简数据量又可以准确描述行为特征的目的,这同时是本文的研究内容。

根据所研究图像序列的维度分为基于2D图像序列的运动特征和基于3D图像序列的运动特征两大类,分别将在1.2.2节和1.2.3节中对相关算法进行介绍。

在行为归类步骤中,可以使用基于模板匹配的方法、基于状态空间的方法,此外还有更高层次的行为识别使用到基于语义描述的方法。

图 1.2行为识别流程图
1.2.2基于2D图像序列的运动特征
传统的RGB摄像机提供每个像素点的R、G、B值,表示像素点的色彩。

基于2D图像序列的行为识别通过像素点的颜色将人体从背景中分离,然后提取人体运动特征。

Bobick和Davis[10]将图像序列中每一帧的人体轮廓合并成一张图像,然后将其与存入库中的已知行为样本图片进行匹配,从而识别人体行为。

Blank
等[11]把人体运动看成三维形状,这些三维形状是由人体轮廓在时空域上的形状组成的。

2D图像中不包含图像中物体距离摄像头的深度信息,难以有效地还原出人体的三维动态,因此对于相同的动作,从不同的角度拍摄则其行为特征有很大的区别。

例如从侧面和正面拍摄到的人的走路动作,从2D图像序列上看其人体的轮廓是截然不同的,最终两种情况都需要录入行为样本库中。

视角的移动不仅仅只是横向的,还包括纵向的移动,即视角旋转到头顶形成俯视或者旋转到下方形成仰视,视角变化的复杂程度很高,理论上说相同的动作可以从无限种视角观察,因此需要大量从不同视角拍摄到的图像序列作为行为样本,下文将这个特点称为视角敏感性。

谷军霞等提出了基于人体行为3D模型的2D行为识别[12],以3D 模型作为行为样本的存储方式,将关键姿势的3D模型以各种视角角度投影到2D 图像上形成2D的关键姿势,再将待识别的2D人体轮廓与投影后的关键姿势进行匹配。

这种方法将二维和三维模型结合起来,避免了相同的动作或姿态需要大量不同视角的样本的缺陷,然而从本质上看,同一个姿势仍然需要与关键姿势在不同角度上的投影进行匹配,匹配的次数较多,而且需要设置一个角度经验值,让关键姿势每隔这个经验值进行一次2D投影,这个经验值的选取有一定难度。

除了视角的影响之外,色彩信息受到噪声的影响比较大,也是使用2D图像序列进行行为识别的难点之一。

另一方面,人体距离摄像头的远近关系会改变人体轮廓在图像上的比例,影响2D图像行为识别的效果。

1.2.3基于3D图像序列的运动特征
3D图像包括RGB-D图像与深度图像,其中RGB-D图像在RGB图像的基础上,使每个像素点包含色彩信息的同时也存储深度信息,这个深度信息一般是指距离信息;而深度图像的每个像素仅仅包括一个深度信息。

与传统2D图像不同,3D图像提供了另外一个维度中可供表示人体运动状态的信息。

有两种使用3D图像的方式,一种是直接从原始像素点的值提取运动特征,另外一种是先通过一些方法从3D图像中提取人体骨架的关节点,然后再用这些人体骨架关节点模型进行运动特征的提取。

Munar等将带有色彩信息的点云放置于一个3D网格中,用来表示整个人体动态[13],然而此算法仍然无法避免人体和摄像机之间视角敏感性的影响。

Yang 等设计了一个新颖的特征提取方法,同时在时域和空间域上找到关节点信息的差异,给每个独立的关节点和不同关节点之间的布局的动态进行建模[14]。

Xia等提出了一种名为histograms of3D joint locations(HOJ3D)的姿态表示模型[15],从实
验数据上获得了很好的识别效果。

HOJ3D不受视角敏感性的影响是这个算法的一大优势,之所以能够达到视角无关性是因为HOJ3D使用的坐标系是由两组数据建立的,第一组是臀部中心、臀部左侧和臀部右侧三个关节点的位置信息,另外一组是论文中提到的垂直于地面的向量。

由于该文献中没有描述如何获取这个垂直地面的向量,在此根据Kinect for Windows的SDK相关的开发文档猜测这个垂直地面的向量就是Kinect在每一个骨架关节点帧上提供的FloorClipPlane属性。

在这个基础上,可以推断HOJ3D这个姿态表示方法受到Kinect对地面识别效果的影响,在摄像头无法拍摄到地面的情况下可能无法获取垂直地面的向量;另一方面在地面为斜坡的情况下识别效果可能会受到影响。

1.3全文研究内容及章节安排
在行为识别算法过程中需要建立一个描述人体运动特征的模型。

从原始图像序列数据中提取哪一种底层特征(比如形状信息包括轮廓、侧影,运动信息包括方向、位置、速度等)描述人的运动,以及如何选取充分有效的描述方法表征人体运动状态并能够在维数上降低计算量是人体行为识别的关键问题之一[16]。

本文的研究重点在于设计一种利用3D关节点信息描述人体运动特征的模型。

正文一共分为7个章节,每章的内容安排如下:
第1章:绪论部分,阐述了本文的研究内容,分析行为识别的国内外研究现状和应用领域,将行为识别分为基于二维图像和基于三维图像两个类别进行介绍,简要介绍行为识别的一般流程以及每个步骤中可能用到的具体方法、行为识别所需要解决的主要问题和难点,以及介绍论文的主要内容;
第2章:介绍目前较为流行的深度图像捕捉设备[17],分种类简要介绍它们所使用到的成像技术以及优点与缺陷,简述选用Kinect for Windows作为深度图像捕捉设备的原因;
第3章:简要介绍了关节点模型和提取关节点模型的算法,说明本文以Kinect 还原的关节点作为研究数据;
第4章:分析姿态表示模型在行为识别中的作用,提出一种名为肢体角度模型(Limb Angle Model)的新颖的姿态表示模型,这个模型主要有使用人体关节点建立坐标系、使用相邻关节点之间的相对位置信息、使用球坐标系中的两个角度信息等特点,详细介绍该模型的姿态表示方法,以及该模型如何处理基于三维模型的行为识别算法的难点;
第5章:简要介绍了隐马尔可夫模型(Hidden Markov Model,HMM)的概念和构成,详细阐述本文的算法流程中如何使用隐马尔可夫模型进行行为归类;
第6章:描述了本文实验中的实验样本的组成,在实验的基础上验证算法的可行性;
第7章:对全文的主要工作进行总结,分析本文算法中的缺点和不足,指出下一步的主要研究方向。

第2章深度图像捕捉设备
在基于3D图像的行为识别算法的研究过程中需要使用深度图像捕捉设备获取3D图像序列。

本章节将简要介绍深度感应技术以及各类深度图像捕捉设备的特点,最后介绍实验所使用的Kinect。

2.1深度感应
大多数计算机视觉研究都是基于通过RGB摄像头拍摄的彩色或者灰度图像,RGB摄像头使用感光技术获取色彩信息。

使用传统RGB摄像头的优点是捕获图像的方式和人的视觉感知相似。

RGB图像包含了大量纹理和色彩信息,它们以二维矩阵的形式排列,这些信息对于图像的处理非常有用,但是对于光照条件的影响十分敏感,很难控制算法的稳定性。

与2D色彩视觉感知不同的是,另外一种视觉技术可以捕捉到现实世界中物体之间的距离信息,这类信息是不能直接通过RGB图像获取的。

包含这种距离信息的图像被称为深度图像(Depth Image)。

深度图像中的像素点的值代表了摄像头到物体之间的距离,形成另外一个维度的信息。

在深度图像成像技术中,类似激光雷达(Light Detection And Ranging,LiDAR)的激光扫描仪使用线偏振光束照射到物体上,通过测量光传播的时间,估算物体表面到摄像头的距离,生成的图像被称为区域图像(range image)或者深度图(Depth Maps)。

使用这种技术的深度感应器的优势在于它能够提供各个像素的深度,因此可以感知到物体的形状。

深度感应器会主动投射出光线,可以被归类为“主动视觉系统”,即使在漆黑的环境条件下也能获取图像。

因为其环境光照无关性,相对于传统的2D RGB 摄像头而言受到光照条件的影响要小得多,拍摄到的深度图像所得到的噪声要比彩色图像更小。

另一方面,使用深度图像进行行为识别研究可以避免色彩造成的影响,比如人体的衣服颜色与背景色过于相同或者由于人体的影子而导致的识别错误。

2.2深度图像感应设备
2.2.1立体摄像机
立体视觉摄像机是基于仿生学的,它的灵感来自人类的视觉系统。

正如人类使用左眼与右眼所观察到的图像进行整合而获得眼前物体的3D空间信息那样,立体摄像机将从不同视点观察到的2张或者更多的图像整合起来,通过算法推算出目标物体的3D结构[18]。

追溯到20世纪60年代,通过立体视觉获取深度图是一项重要的计算机视觉研究,大多数立体摄像机专门为学术研究而开发。

由于立体几何计算的复杂性,通过立体摄像机获取的图片还原出深度图仍然是一项具有挑战性的研究课题。

与此同时,立体视觉图像对于光照条件的影响十分敏感,更进一步增加了不同图像之间三角定位和匹配的难度[19]。

这些问题使得通过立体摄像机重构深度图的运用在实时条件下和现实环境中非常不切实际。

2.2.2结构光传感器
在2010年11月4日,Microsoft发布了一款被称为Kinect的图像设备[20],它的价位属于消费级别,并且适合家庭使用。

Microsoft Kinect保持着“最畅销的电子消费产品”吉尼斯世界纪录。

Kinect同时拥有RGB摄像头和深度感应器。

深度感应器提供640×480分辨率的图像,并且能达到30帧每秒。

它的感应距离为0.8米到3.5米,精度可以达到1厘米。

Kinect深度感应器由红外线发射器和红外线CMOS感应器组成。

Kinect通过结构光技术计算深度,结构光探测深度这项技术是基于立体视觉的,立体视觉摄像机中的一个摄像头被替换成一个光源,即红外线发射器,这个光源将一组不规则样式的光发射到被拍摄的场景中,然后使用三角测量方法计算深度。

除了Kinect,还有一款由DAVID Vision Systems开发的名为DAVID结构光扫描仪(DAVID Structured Light Scanner,David-SLS)的设备。

结构光设备相对于其他深度图像感应设备的优势在于结构光设备更为廉价,这使得它们更适合于日常应用。

结构光设备的一个主要缺陷是获取的深度图像可能因为光源发射器和光感应器不能感应到某些区域而造成图像上的空洞。

2.2.3ToF摄像机
人类的立体视觉非常出色,然而这并不代表机器必须像人类那样观察世界。

为了开发出更具有鲁棒性的观察手段,各种各样的感应技术被运用到深度图像摄
像机上。

与立体摄像机不同,ToF(time of flight)摄像机仅使用单个摄像头,发射速度相同的光脉冲,通过光脉冲的速度和物体表面反射回来的光脉冲来估算物体表面到摄像头的距离。

与其他的3D扫描仪比较,ToF摄像机更为便宜和小巧。

目前市面上大多数商用设备使用的是正弦调幅的红外线光信号,距离是通过反射到标准的CMOS(Complementary Metal Oxide Semiconductor)或CCD (Charge-coupled Device)探测器上的相位偏移来计算的[21]。

采用这种方法获取的深度图像分辨率一般在64×48到200×200像素之间,感应距离在5米到10米之间。

因为计算距离的方法比较简单,ToF摄像机可以达到非常高的图像捕捉帧率,适合实时的应用。

目前商业化的ToF摄像机开发商有PMDTec和Mesa Imaging。

a)结构光传感器(Kinect)b)立体摄像机c)TOF摄像机
图 2.1不同种类的深度感应器
2.3Kinect for Windows
较早发布的Kinect版本主要应用于Microsoft开发的XBox游戏机,之后的Kinect for Windows版本于2012年2月发布[22],这个版本的Kinect主要应用于Windows上的体感应用开发,提供方便编程人员使用的SDK,并且有着比旧版本更高的精确度,其中Near Mode选项可以使Kinect捕捉到距摄像头40厘米左右的物体,达到更高的适应性。

Kinect for Windows的红外传感设备可以提供1200×960像素分辨率的深度图像并且能够达到30帧每秒的帧率。

Microsoft为了吸引更多的开发者投身于Kinect应用的开发,发布了Kinect for Windows SDK系列开发工具,在不断开发新颖技术的同时不断完善已有的技术。

Kinect for Windows SDK是一组库,可以让编程人员利用Kinect获取的图像信息开发出各式各样的应用程序[23]。

这组SDK支持WPF(Windows Presentation。

相关文档
最新文档