APP下载

基于模版匹配的静态姿态识别

2017-11-20王建兴

科技与创新 2017年22期
关键词:骨骼静态姿态

王建兴

(闽江学院物理学与电子信息工程系,福建 福州 350108)

基于模版匹配的静态姿态识别

王建兴

(闽江学院物理学与电子信息工程系,福建 福州 350108)

基于KINECT的人体姿态识别方法,是指由KINECT传感器获取深度数据和骨骼数据等信息,提取特征后进行的姿态识别.在简要描述基于KINECT的人体姿态识别方法的基础上,提出了一种基于KINECT静态姿态识别的模版匹配方法,并完成了相关实验,证明该方法简单实用.

KINECT;姿态识别实验;模版匹配;图像处理

1 基于KINECT的姿态识别方法概述

1.1 静态姿态识别

静态姿态识别过程是先通过KINECT获取姿态深度信息,然后根据KINECT SDK提供的深度信息进行姿态分割,接着利用相关算法处理分割后的图片,获取姿态的形状,最后进行分类识别,根据相关指令输出结果.

1.1.1 姿态分割

利用KINECT获取到的是深度信息,对骨骼模型和深度图像进行分割,以骨骼图显示出的骨骼点的三维位置,结合相关算法,利用设定的阈值分割出相应的位置[1].姿态分割所需要的人体骨骼点模型可以通过KINECT的骨骼追踪技术来实现,可以将三维坐标骨骼转换为二维空间来定位各种姿态.

1.1.2 图像处理

KINECT所采集的深度图像存在噪声和空洞,且这些噪声和空洞在目标的边缘处最多.所以,如果直接提取KINECT中获取的深度图像的特征,提取的特征值可能变化比较大,从而影响识别算法的准确性.基于以上因素,在进行分类识别前,要对KINECT传感器采集的图像进行关于形态学的处理和噪声的滤波,经过处理后的图像可以有效地提高后续步骤的准确性.

1.1.3 轮廓识别

对姿态进行分割之后,需要对已分割出来的图像进行处理,相关处理方法包括利用双层深度图像信息的方法、运用Border-Following Mooreneighborhood算法等.利用双层深度图像信息的方法是先设定深度阈值,然后对不同位置的像素点进行相对应的1和0的分类,构建不同姿态状态的像素点,最后用对应算法创建出姿态外围各个像素点的点集,从而获得姿态的轮廓[2].运用Border-Following算法是先设定颜色阈值进行像素级扫描,确定边界点,从而找出姿态的轮廓.采用Mooreneighborhood算法是定义像素的8个领域像素,进行轮廓检测.

1.1.4 分类识别

顾名思义,分类识别就是将获取到的信息按不同的类别分开,并理解该信息所表达的含义,分类后就能得到姿态的特征.不同的信息类别与信息量采用不同的分类器.小样本、非线性、高维模式的识别主要运用的是支持向量机SVM.

1.2 动态姿态识别方法

1.2.1 基于DTW算法的动态姿态识别

基于DTW算法动态姿态识别的第一步是通过KINECT SDK获取骨骼图和骨骼模型中25个节点的三维坐标信息.实际操作时,要先预处理这些骨骼点,再由KINECT得到需要的特征向量.完成这些基础工作后,需要运用DTW算法得到待识别姿态.DTW算法的整个过程是:将获取的姿态信息与事先采集好的模版数据进行匹配,而匹配程度最高的就是待识别姿态,匹配的主要算法是计算它的最短路径法.

1.2.2 基于HMM模型的动态姿态识别

隐马尔可夫模型主要是统计过程的,它用来描述一个含有隐含未知参数的马尔可夫过程.在使用隐马尔可夫模型的过程中,会面对3个最基本的问题,即评估、解码和学习.这3个问题可以运用即前向算法、Viterbi算法和Baum-Welch算法来解决.

2 基于模版匹配的姿态识别实验

模版匹配法是静态识别中一种常用的方法.该方法的识别方式是:将从KINECT获取的深度数据与预留的模版数据进行对比,检查获取到的深度数据与模版中的哪个动作匹配程度最高,从而识别该动作.这种方法需要预先采集大量的数据,然后将这些数据进行处理(比如编码等处理方法)后得到模版数据,然后根据数据相似程度分类识别.这种方法的优点是识别速度快,计算方法简单.

2.1 采集模版数据

实验共采集了6组姿态动作,它们分别为站立、左手直举、右手直举、双手半举、双手直举和双手侧举.采集数据时,先采集这6个姿态动作的三维坐标数据,以此作为模版数据.在采集过程中,固定KINECT中的摄像头位置,使其保持不变,人保持不变的姿势.由于KINECT2.0的精度高,所以,它能轻松获取正面的25个关节的数据帧,这样就可以将6个姿势的数据帧采集完.

2.2 坐标编码

获取到的三维坐标会因为人的位置、姿态、动作的不同而不同.三维坐标的比对不能很好地识别上述6种姿态,需要对三维坐标进行编码后再进行有效的比对.我们不使用深度数据,只需对上述6个姿态中每组动作2种数据的X坐标和Y坐标进行标准编码.由于有25个关节点,每个动作有50个数据.实验表明,只使用X坐标和Y坐标在姿态识别中是有效的.

2.3 姿态匹配

在实际运用中,一个姿态动作在完成2组数据编码后,可以用比较2个编码的欧氏距离的方法选择最佳的匹配姿态,也就是将人体获取的坐标与6组姿态坐标进行差值对比,欧氏距离最小的就是所匹配到的姿态.实验效果见图1.

3 结论

本文首先探讨了基于KINECT的静态姿态识别的姿态分割、特征提取、分类识别和动态姿态识别的DTW或者HMM算法识别等多种方法,然后对基于KINECT静态姿态识别的模版匹配方法进行了研究和实验.在实验过程中,模版数据的采集工作比较难,需要保持KINECT位置不变,人也不能移动,只有在完成了6组动作的采集后才能移动.另外一个问题就是,要寻找适合图像数据编码的编码方式,该编码方式需要完成对坐标数据的编码.本文只是进行了基于KINECT的静态姿态识别的研究,下一步将开展关于动态姿态识别的研究和相关实验.

图1 实验效果图

[1]王艳,张奇志.基于Kinect深度信息的手势识别[J].北京信息科技大学学报(自然科学版),2013(1):22-26.

[2]王松林.基于Kinect的姿态识别与机器人控制技术研究[D].北京:北京交通大学,2014.

〔编辑:白洁〕

TP391

A

10.15913/j.cnki.kjycx.2017.22.040

2095-6835(2017)22-0040-02

猜你喜欢

骨骼静态姿态
做家务的女性骨骼更强壮
三减三健全民行动——健康骨骼
静态随机存储器在轨自检算法
攀爬的姿态
全新一代宋的新姿态
跑与走的姿态
骨骼和肌肉
机床静态及动态分析
具7μA静态电流的2A、70V SEPIC/升压型DC/DC转换器
50t转炉静态控制模型开发及生产实践