北方民族大学电气信息工程学院 蒋涵妮
基于深度图像的手势识别技术研究
北方民族大学电气信息工程学院 蒋涵妮
随着计算机技术的发展,手势识别逐渐成为了人机交互的热点问题。本文利用Kinect摄像可以头采集到深度图像、彩色图像和人体骨骼信息的优势,通过利用Kinect摄像头采集的深度图像距离不同深度值不同的特点,通过设定深度阈值较好地将背景区域分割掉,将手势部分分割出来。特征提取部分利用曲率算法得到指尖个数,最后通过指尖个数进行手势识别。
人机交互;手势识别;深度图像;曲率算法
随着计算机技术的发展,人机交互逐渐成为学者们研究的热潮,它将我们的生活引领到更加方便更加智能的潮流中。其中手势作为人体敏感、灵活的部位,更是被广泛地应用于人机交互中,称为我们所熟知的手势识别。
本文主要介绍静态手势识别。2010年,Microsoft发布了基于红外线深度传感技术的Kinect系列体感设备以及配套的Kinect for Windows SDK开发套件,Kinect摄像头可以采集到深度图像、彩色图像和人体骨骼信息,传统的基于肤色分割手势会受到光照及类肤色背景区域的影响,本文采用基于深度阈值的分割可以有效的避免光照及复杂背景环境的影响,完整地分割出手势部分;利用曲率算法得到指尖个数,通过指尖个数将手势分类。
1.1 kinect摄像头介绍
Kinect有三个镜头,中间的镜头是RGB彩色摄像机,用来采集彩色图像,左右两边镜头则分别为红外线发射器和红外线CMOS摄影机所构成的3D结构光深度感应器,用来采集深度数据,其基本成像原理就是利用内置的CMOS图像传感器来对投影的红外光谱进行接受,接受结束后对其实施编码,变成反射斑点图像,最终形成深度图像。
1.2 深度阈值分割算法
Kinect传感器能在1.2-3.5m范围内,获取11位分辨率的深度数据,利用这些深度信息,便于从背景中更好地区分出目标物体。物体的实际距离和深度图像中呈现的深度数据具有一定的转换关系,假设三维空间中存在一个像素点,设为q,其深度值为d0,实际距离值为d,则两者转换关系如式(1)所示:
其中,K=12.36cm,L=1.18rad,H=3.5×10-4rad,O=3.7cm。
设在深度图像中存在的q点坐标为(i, j ),在3D空间的坐标可以设为( x, y, z),可以通过(i, j )像素坐标和d来计算3D空间的向量坐标( x, y, z),如式(2)所示:
根据人们的操作习惯,这里设定人的手部在人的身体前方,不在同一水平位置,且手部不摄像头之间没有遮挡物。本文设定的深度图像中的深度值范围为700-780,则大于阈值的部分即背景和小于阈值范围的部分及前景被有效地分割掉,保留了手势部分。
在OpenCV函数库中,调用cvFindContours函数将图像轮廓从二值图像中检索出来,得到手势轮廓。
按照指尖曲率算法得到每种手势的指尖数目,然后根据指尖数目的不同区分每种手势,本文对0~5这6种手势进行识别。
实验过程中,共有5位实验者参加,在3中背景下进行,每位实验者摆出0~5共6种手势,每种手势变换各种姿势做10遍,共计900个手势,识别结果如表1所示:
数字手势012345识别率(%)9898999395100
本文利用Kinect摄像可以头采集到深度图像、彩色图像和人体骨骼信息的优势,通过利用Kinect摄像头采集的深度图像距离不同深度值不同的特点,通过设定深度阈值较好地将背景区域分割掉,将手势部分分割出来。特征提取部分利用曲率算法得到指尖个数,最后通过指尖个数进行手势识别。
人机交互是未来研究的重要方向,就目前的发展趋势,手势识别将逐步渗透到各个专业领域以及人们的生产生活中,手势识别的发展可以大大的方便人们的生活,逐渐地提高人们的生活水平。
[1] 杨明华.手势识别技术的应用研究[D].东华大学,2012.
[2]莫舒.基于视觉的手势分割算法的研究[D].华南理工大学,2012.
[3]刘同仲.基于Kinect设备手势识别技术的研究及应用[D].北京:北京工业大学,2015.
[4]曹雏清,李瑞峰,赵立军.基于深度图像技术的手势识别方法[J].计算机工程,2012,38(8):16-18.
[5]陈皓,路海明.基于深度图像的手势识别综述[J].内蒙古大学学报(自然科学版),2014, 45(1): 105-111.
项目支持:北方民族大学研究生创新项目《基于Kinect深度图像的手势识别在人机交互中的应用》(YCX1772)。