基于深度摄像机的航天员手势识别方法研究-哈工大硕士2017

本文做的工作主要有:

  1)深度阈值和肤色检测相结合的静态手势识别

  2)基于DTW算法的动态手势识别

1.关于深度相机

  深度相机的三个用途:骨骼跟踪、深度成像、人脸识别

  kinect最高可采集到640*480分辨率的图像以及一个16位的深度信息(前13位为距离,后三位为用户信息,因此最多可以存8位用户)

  深度相机常用的设备驱动:微软的软件开发工具包(SDK)、以色列PrimeSense的OpenNI开发平台,前者对手势识别效果更好,但只兼容win7,后者兼容更多操作系统,本文选择后者

  OpenNI分为三层结构,顶层是一些应用接口,中间层是必要接口,底层是采集端设备,底层一般支持5种,包括:设备、深度信息采集设备、图像信息采集设备、红外采集设备和音频采集设备,本文用的是前两者。

  本文的开发环境为:Qt+ openNI + NITE +opencv

2.深度阈值和肤色检测相结合的静态手势识别

  肤色检测区分出场景中的人体和与人体肤色特征相似的部分,分为物理检测和统计学方法,本文选择后者。

  原理是:人体肤色在可见光图像中其色彩空间的分布特性具有唯一性。即,建立了一个二值问题。

  几种主流的分类模型分别是建立在RGB彩色空间、YCbCr彩色空间以及HSV彩色空间上的。设定合适的阈值便可进行分类。

  三种彩色空间模型可以相互映射。本文选择的是YCbCr彩色空间,建立了一个椭圆形统计学模型。实验发现,背景中与肤色相近的地方难以去除,便提出利用深度阈值进行分割。

  仅用深度阈值没办法滤除同平面的物体,这里便提出肤色检测融合深度阈值的手部区域分割和提取办法。

  kinect采集的图像数据大,这里通过人体骨骼跟踪技术识别关键节点,然后对人体手部进行定位,准确分割出手部区域图像,这里采用主动跟踪技术。

  手部区域图像的提取和分割过程,首先进行肤色检测,然后 进行人体轮廓模板的相似度匹配,再通过深度学习中聚类的决策树分类算法建立出含有20个关键点的人体骨架图,将手部节点的坐标点识别出来,并通过设定阈值的方法将该点与之范围内的人体肤色区域全部提取和分割出来,该区域即为准确分割出的完整手部区域图像。

  下面进行手部区域图像的预处理 ,首先进行开运算处理,滤除噪点,然后进行平滑处理,去除掉伪分支,这里使用的是高斯滤波进行平滑处理。

  手部骨架图的提取,细化算法,图像细化指的是对二值图像进行骨架化的一种操作运算,可分为迭代算法和非迭代算法,迭代算法例如:Hilditch细化算法,Pavlidis细化算法、Rosenfeld细化算法,本文选择的是Zhang细化算法。几次迭代后,即可得到手骨架图。

  静态手势识别,文章中只说了建立手势三维模型,但是对识别算法说的不清楚。

3.基于DTW算法的动态手势识别

  原理:DTW算法,即动态时间规整,将待匹配序列在时间轴上进行相应的拉伸或缩短以保证两序列在时间轴上具有相同长度,从而计算序列间的最小距离。累计叫做扭曲路径距离,越小,相似度越高。

  本文对DTW算法的改进:1)增加全局路径限制;2)设置失真度阈值

  动态手势的动作匹配和识别的研究主要分为:基于HMM模型、基于支持向量机的训练分类方法、基于图理论匹配的方法和基于DTW算法这四大类。对于一般性动态手势,HMM和DTW方法识别效果相近,当动态手势复杂时HMM需要多次训练大量的手势动作数据才能得到模型参数,而DTW算法预先建立好了动态手势动作模板库,所以不需要进行这个训练过程。

  启发:这里可以使用数据手套进行动态手势的识别

 

posted @ 2020-12-21 20:09  我的二河  阅读(334)  评论(0)    收藏  举报