1、 年月第 卷 第期河北水利电力学院学报 文章编号:()基于 的肢体动作识别方法设计与实现王政博,唐勇,刘辰淼,孙东来,(河北水利电力学院 电气自动化系,河北省沧州市黄河西路 号 ;河北省高校水利自动化与信息化应用技术研发中心,河北省沧州市黄河西路 号 )摘要:在计算机视觉、模式识别等领域,肢体动作识别一直是一个热门课题。肢体动作识别技术已被广泛地应用于各个行业。本文采用 设备,采集人体 个关键部位的三维坐标,并将其应用于肢体动作的分析和辨识;在此基础上,分析了基于人体骨骼的三维深度信息,并进一步深入地分析了人体运动特征的辨识与表达。通过系统仿真,分析识别结果,得到识别准确率均在 以上,同时对不
2、同形态的人物进行了识别分析,均可正常识别,验证了系统的可行性。关键词:;肢体识别;数据采集;骨骼点中图分类号:文献标识码:肢体动作识别,指的是计算机等设备可以自动识别、获取、分析人体的肢体动作,并且能够做出相应反馈的过程。目前与肢体识别有关的学科有很多,例如:计算机视觉、深度学习、模式识别以及机器人,等。随着肢体识别的应用领域越来越广泛,越来越多的国家将肢体识别列为科学技术研究的重点项目。人体运动的标识是动作识别的关键。除了在不同类别之间具有足够的区分之外,还需要可靠的运动特征来处理旋转、缩放变换、相机移动、复杂背景、阴影等。目前,动作识别中最常用的方法是基于运动,如光流、运动轨迹,或基于外观
3、形状,如轮廓特征。微软公司开发的 的新功能,除了可以从画面中直接识别人体骨骼点外,还具备了更高分辨率的摄像头,同时还兼顾获取声音信息的功能,再一次将计算机的视觉和图像处理的应用推向了新的高潮,让更多人开始感叹科技的进步。使人机交互系统从二维空间扩展到了三维空间,传统摄像机获取的二维图像在单个人物自身肢体动作有前后交叠时,人机交互的准确率将会降低,如果再提高识别难度,扩展到多人交互时,人物交叠的程度提升,识别率将大幅下降。而 获取目标人物的三维坐标,在位置前后上有明确区分,使人机交互系统进入了非接触的交互体验,不再是硬输入到软输入的进展,是传统输入到体感输入的跃升。国外 等人使用惯性导航系统和
4、进行图像分析,进行图像之间的 配准,提高图像估计精度,从而应用到影像医学和外科手术中。国内刘坚斌 等人研究了 与传统武术相结合应用于教学。肢体识别方案设计本设计通过使用 体感设备来捕获用户的体感数据,使用与之相匹配的 对捕获的数据进行分析和处理,通过 进行动作的定义,待目标人物做出相应动作后,在 创设的环境中显示出来。图 总体设计框图 收稿日期:修回日期:基金项目:沧州市科技计划自筹经费项目();河北水利电力学院基本科研业务费研究项目青年科研创新项目();国家级大学生创新创业训练计划项目();河北省高校水利自动化与信息化应用技术研发中心项目。作者简介:王政博(),男,河北沧州人,硕士,研究方向
5、为机器视觉。:项目的总体设计流程如图所示。首先,需要完成 设备与计算机设备的连接,同时需要在 软件中创建开发环境,并进行初始化编程。完成以上工作后,将设备获取到的数据流进行分析,确定目标用户和其身体主要骨骼点的准确三维坐标。根据上述信息进行坐标转换和数据库的匹配工作,将匹配的动作进行新的定义,最终在 界面进行反馈显示。图像采集及数据预处理 彩色图像数据采集 装置上的彩色摄像机和一般摄像机一样,都是以静止影像的方式传输到应用方程式。在实际的编程过程中,可以根据应用程序的具体要求,选取适合的图形数据格式。在 的 中,使用列举类型 来表示颜色图片类型。深度图像数据采集 设备上装有发射红外线的发射器(
6、),红外线先穿透 深度镜头前面的光栅(),然后将光均匀地投射到目标空间上,由于目标空间当中的物体的粗糙程度不同因而会产生不一样的反射,进而形成了随机的散斑,然后通过另一个红外摄像头去接收反射回来的点,通过对晶片的计算便能得到目标物体的深度图像。图深度图像 骨骼数据追踪 设备目前还不能用摄像机来跟踪大的骨骼点,也不能直接跟踪骨骼,所以必须要有更多的深度影像才能获得相关的骨骼数据。骨骼点的提取是根据特征值进行快速的分类,这个过程非常的迅速和准确,会利用机器学习算法进行分类,从而获得特征值。是一种先确定一个人的身体,然后根据身体特征来判断目标人物的位置。骨骼追踪即为主要基于 设备获取到的深度图像,对
7、目标人物的骨骼点进行定位和追踪。中的骨骼点跟踪技术:能精确地标定 个骨骼点,并能实时跟踪 个骨骼点的位置。现在,中的 能够为前面两个人提供最多的骨骼信息,包括了身体姿态和骨骼点的立体坐标。图 标定的 个骨骼关节点 分割遮罩 利用分割策略,可以自动跟踪两个目标的身体骨骼,并且可以在同一时间内,对六个目标人物进行精确的跟踪。在这个背景移除时,会在深度图像中为每一个被跟踪的对象建立一个目标文件(该目标文件是为了消除人类之外的其他背景噪声,采用了图像分割的方式),从而获得一种剔除背景中无用物体(例如桌椅等)的深度影像。在后续的骨骼点识别过程中,只会传输被分割遮挡的部位,也就是被抽取的人体影像,从而减少
8、了运算的复杂性,具体识别结果如图所示。第期王政博等:基于 的肢体动作识别方法设计与实现图分割遮罩效果图 骨骼点的平滑处理在 中,可以实时的捕捉到人体的骨骼动作,从而可以看到,在视觉上会有一些不协调的地方,比如晃动、跳跃,同时也存在噪音或者波动等情况,这些都会对实验产生影响,从而导致最终的结果不精确。要解决此项问题,就需要对骨骼点进行平滑处理。平滑化的骨骼关节点会增加性能的负担,更多的平滑处理会增加性能的开销。没有任何经验可以用来设定光滑的参数。为了获得最佳的性能和结果,必须进行持续的测试和调试。由于环境和人物等因素的不同,平滑参数的设置也有所不同。通过 霍 尔 特 指 数 平 滑()降低骨骼点
9、的波动情况。霍尔特指数平滑数据与时间有密切的联系。设备获取到的骨骼数据是一种时间序列的数据,由于骨骼引擎在一定的时间内,会持续地生成一帧一帧的骨骼数据,采用统计的方法对该过程进行活动平均处理,以减小噪声和极值。数据处理与匹配 欧氏距离匹配欧氏距离是一个非常常见和广泛使用的距离的定义。该方法可以求出任意一维空间上的两个点间的间距,也就是两项间的差值为各变量的方差的平方和复方根。在二维空间的公式为:()()()其中,为点(,)与点(,)之间的欧氏距离;是点(,)到原点的欧氏距离。在三维空间中的公式为:()()(),()在维空间中的公式为:(,)()()()()()欧式距离算法 在解决图像匹配问题中
10、的核心是:假设图像矩阵中有个元素(即个像素点),由个元素的值(,)来组成此图像的特征组(像素点矩阵中所有的像素点),特征组形成了维空间(欧式距离就是针对多维空间),特征组中的特征码(每一个像素点)构成了每一维的数值,就是(第一个像素点)对应一维,(第二个像素点)对应二维,(第个像素点)对应维。在维空间下,两个图像矩阵各形成了一个点,然后利用数学上的欧式距离公式计算这两个点之间的距离,距离最小者就是最佳匹配的对象。使用该方法主要有以下几个步骤:)获得目标人物骨骼点处的坐标信息;)从数据库中读出全部骨骼点的特征阵,按欧式距离算法求出被测量对象的特征矩阵和数据库中各运动的特征矩阵之间的相似度;)比较
11、所得的相似度距离,获得最短距离的动作就是要识别的行为,即最佳匹配。这样,利用 得到了两个节点的位置,并计算出对应的位置,既可以利用这些距离特性进行定位,又可以对其进行进一步的处理。基于光流的肢体动作识别,其光流整体的准确率与动作识别的准确率联系不大,而物体边缘附近的光流以及小位移光流的准确性对动作识别准确率的影响较大,所以将其应用于较大位移的肢体动作识别时,其优势无法完全展现,其更适合应用于手部、面部等小位移变动识别。而且如果利用光流进行本次课题的肢体动作识别,就无法更大程度上开发和利用 设备获取的骨骼图像,传统的摄像机获取的 图像也可以达到此效果。运动轨迹的动作识别需要对人物每一时刻的动作轨
12、迹进行分析,推算出人物的真实动作,这个过程相比于匹配需要进行大量的数据获取和处理,这种方法更适合应用于动作的预测工作中,如老人的防摔等。当然,在欧式距离匹配算法之中,也同样存在和其他匹配算法一样的问题,匹配河北水利电力学院学报 结果的准确性很大程度上依赖于已有的样本库中的储存量,而且呈现正比关系。坐标转换如表所示,设备获取到的三维坐标,虽然在骨骼关节点的三维坐标中,看似是忽略了值,仅使用了,的值,实际并没有舍弃 开发工作者提供的目标人物关节点的深度数据值,只是没有直接使用,没有在用户界面中显示。但坐标转换时,必须要用到深度数据,可以尝试使用 方法,在调用 方法之前,将 的位置设置为,再使用该方
13、法,会发现返回的物体中和都是。换言之,更小的深度值意味着更大的图像,也就是越接近 设备,骨骼的相关数据值也就越大。综上所述,节点的三维坐标中的值于坐标变换中扮演着重要角色。表 设备的相机空间 相机空间(坐标单位为米)使用的 空间坐标坐标原点 的红外相机中心轴方向 设备照射方向的左方向轴方向 设备照射方向的上方向轴的方向 设备照射的方向在 中,包括了二维图像的二维坐标,深度图像的空间坐标,骨骼的空间坐标。针对 视野范围内的一个点,其坐标与测量值之间存在着一定的差异(获取关节点相对于 体感器的位置坐标,获取关节点的位置,两者的 坐标相差 的 单位(表示体感器所在的高度),利用 的坐标变换,将人体的
14、深度影像坐标转化为骨骼的空间坐标。在 中,相关 可以进行相应的转换,并 定义 了三种点 类 型:(彩色图像)、(骨骼点坐标)、(深度图像坐标)。在深度图像帧的 类有个坐标映射(映射:比如深度图映射到彩色图的意思是对于深度图上的一个像素,找到彩色图上的一个像素与之对应(与函数中到的映射概念类似)方法:将骨骼关节点坐标映射为深度图像点坐标。:将深度图像当中某个点的坐标映射到同步的所对应的彩色图像中的坐标。:将深度图像中某点坐标映射为同步对应的骨骼数据帧的点坐标。为了获得真正的骨骼数据,需要将 坐标系统中的人体骨骼进行转化,并将 坐标系转化为一般摄像的坐标系,公式如()所示。,()式中,是 相机的焦
15、点,坐标(、)是坐标系。最后,利用坐标变换的方法,将三维空间的信息投影到现实的空间中。假设在现实坐标系统中,在相机中的任一点的坐标(,)与(,)的坐标之间的对应关系如式()。()在式()矩阵中,是一个的正交单位矩阵,是一个的三维平移向量,(,)。如式()中,实现了真实世界坐标系内任意一点到图像像素点之间的对应几何关系。,()该方法将 相机坐标系内的点与实际三维坐标系的中点进行了处理,从而解决了目标物体因距离 的差异所带来的影响,从而使 能够对人体的骨骼进行标准化处理,从而使采集到的人体运动数据更加逼真,更贴近人体的运动,为以后的人体运动识别打下了坚实的基础。实验分析本设计将在 设备视角范围内,
16、距离设备最近的人物设定为目标人物。经过多次双人识别实验,发现,即使处于两个人物重叠站立的情况下,系统也会将距离最近的人设定为目标人物。如图所示,屏幕将会显示:识别到当前最近用户,不响应目标人物后方的人物动作;即使选择后方人物为高大,壮硕,穿着鲜艳等不同情况下进行实验,均未对识别结果造成影响,识别的准确性得到保证。同时,能准第期王政博等:基于 的肢体动作识别方法设计与实现确识别到目标人物的具体动作并做出相应反馈,如:举起左手(开启弹幕),举起右手(关闭弹幕),停止动作(暂停),动作(播放),动作(退出视频界面),右手向左滑动(后退),左手向右滑动(快进),点击鼠标等动作,识别结果图图 所示。图屏幕显示:识别到当前最近用户 :图屏幕显示:左手举起开启弹幕 :图屏幕显示:右手举起关闭弹幕 :图屏幕显示:暂停 :图屏幕显示:播放 :图 屏幕显示:左手向右滑动快进 :图 屏幕显示:右手向左滑动后退 :图 屏幕显示:退出视频界面 :经过测试,程序可以完成设定的要求,均在短时间中识别了目标人物的目标动作,并在界面显示。对于模糊的图像,可以采用一次增强的方法,使图像的灰度动态范围扩大,对比度增加,然后