首页 > 范文大全 > 正文

激光投影键盘的手势识别功能扩展

开篇:润墨网以专业的文秘视角,为您筛选了一篇激光投影键盘的手势识别功能扩展范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:自从1992年激光投影键盘发明以来,其良好的光景交互体验吸引了众多光景效果爱好者。若能在其键盘功能基础上再完成一些较简单的空间平面手势识别,将会满足更多的个性化交互追求。该文通过基于径向基函数神经网络的人机交互手势识别算法研究了激光投影键盘的手势识别功能扩展方法,并通过实验测试预定义的10种手势动作,实验结果表明识别率达到96.4%,从而一定程度上实现了激光键盘手势识别功能扩展的个性化交互追求。

关键词: 激光投影键盘; 手势识别; 神经网络; RBF神经网络; 训练样本

中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2014)01-0143-04

随着多媒体技术的发展,计算机已经具备了处理语音、图形、图形和文字等多种通信媒体的综合能力,特别是从1992年由IBM发明激光投射键盘以来,语音、图形、图像和文字的结合更加完美,吸引了众多光影爱好者。目前市场上所销售的激光投射键盘对完成键盘的功能效果,表现出良好的交互体验,但随着各类应用需求的人性化追求,能否在其键盘功能基础上再完成一些简单的空间平面手势识别功能,并将其应用于幻灯片控制、指挥地图控制等软件应用,将会给光影爱好者带来更加多样、灵活、个性化的交互体验。

1 人机交互手势动作定义

激光投影键盘的人机交互手势动作,可以定义为在人机交互过程中,根据单手或双手手指在808nm-810nm红外一字线激光器照射区域和650nm键盘激光组件投射区域交汇范围内的手指状态、交汇位置或交汇点相对位移特征加以区分的有特定含义的动作。

利用激光投影进行人机交互,首先通过摄像系统对预定区域图像抓帧、二值化、提取外部轮廓、判断并定位交互点信息[1-8],这一过程称为人机交互点目标检测跟踪,如图1对某手势运动轨迹合成图像所示。

手势识别功能扩展方法在检测和定位出多个交互点后,分配给每个交互点唯一ID号,并对交互点进行跟踪,记录每个交互点的坐标变化(x,y)及交互点的生命周期T,这一过程称为交互点追踪。

在设计中,把识别出的一组交互点信息封装成一个数据包,该数据包类的格式定义如下所示:

Class Touch

{

int id; //标识

time stime,etime; //寿命时间

Vector vplist; //轨迹链表

Vector inflexion; //拐点序号链表

};

该数据包类Touch可以看作一个手势的元动作,那么在一个没有间断的时间段内的多个手势元动作的组合,可以定义为一个有具体含义的手势动作。以某地图控制系统为例,根据人机交互需求,将手势动作分成:键盘动作、单点地图标记、多点地图缩放手势、多点地图旋转手势等,其图示与说明如表1所示。

2 手势动作识别

在激光投影键盘手势识别功能扩展中,单个指尖功能检测只要根据指尖位置和大至轨迹趋势就可以判断,而对两点手势,则需要根据记录得到的多个手势动作轨迹和指尖位置来进行手势识别[8-11]。该文采用径向基函数神经网络来进行单手多点动态手势进行学习和识别。

2.1 径向基函数神经网络

径向基函数神经网络(RBF网络)是一种高效的前馈式神经网络,它具有最佳逼近性能和全局最优特性,结构简单且训练速度快。该文中的手势识别网络采用3层结构,如图2所示。

点的激活函数。

隐节点的基函数采用欧氏距离函数:[Dij=k=1n(xir-xjr)2]。

径向基函数采用选择性较强的Gaussian函数:[g(netix-ci)=e-t2σ2]。

式中,σ是基函数的扩展常数,当中心由训练数据确定后,RBF的宽度可由σ确定。高d是样本的最大距离,M是样本的数目,采用固定法确定宽度:[σ=dmax2M]。

则,RBF网络的第r个输出可表示为:[yr=i=1hwig(x-ci)]。

2.2 RBF神经网络的训练

设定训练样本集:[X=[X1,X2,…,Xn]T];

任意样本:[Xk=[xk1,xk2,…,xkm]T];

实际输出:[Yk=[yk1,yk2,…,ykj]T];[ykj(Xk)=i=1kwijg(Xkm,Ci)]

期望输出:[Dk=[dk1,dk2,…,dkj]]

令[y(xi)=w1g1(xi-c1)+w2g2(xi-c2)+…+wm1gm1(xi-cm1)+=di],

对于所有的样本得到:[g1(x1-c1)g2(x1-c2)…gm1(x1-cm1)g1(x2-c1)g2(x2-c2)…gm1(x2-cm1)????g1(xN-c1)g2(xN-c2)…gm1(xN-cm1)w1w2?wm1=d1d2?dN],

若[g1(x1-c1)g2(x1-c2)…gm1(x1-cm1)g1(x2-c1)g2(x2-c2)…gm1(x2-cm1)????g1(xN-c1)g2(xN-c2)…gm1(xN-cm1)]可逆,则可得到:

[w1w2?wm1=g1(x1-c1)g2(x1-c2)…gm1(x1-cm1)g1(x2-c1)g2(x2-c2)…gm1(x2-cm1)????g1(xN-c1)g2(xN-c2)…gm1(xN-cm1)-1d1d2?dN]

首先建立输入RBF网络手势识别的模型,将采集到的手势交汇点向量集合信息作为输入向量输入,然后通过训练好的RBF网络的运算实现手势含义的识别。如果RBF网络输出向量与yr手势的标准输出向量最接近,则定义该输入手势为预定义的第r种手势。

3 手势识别功能扩展实验及结论

手势识别功能扩展程序试验环境通过Visual Studio 2010+OpenCV 2.4.3开发环境实现,其试验环境和程序框架如图3和图4所示。

在试验中,对手势功能扩展应用的10种手势进行识别训练测试,设定每个手势的训练次数为100次,其结果如表2所示。

从实验结果可以看出,对10种手势的识别率为96.4%。实验结果表明,基于RBF神经网络的手势识别算法具有很高的识别率,可以完成对激光投影键盘的手势识别功能扩展。

参考文献:

[1] 胡有树.手势识别综述[J].中国科技信息,2005(2):41-42.

[2] 李伟群.人手跟踪方法研究综述[J].计算机与数字工程,2010(9):179-182.

[3] 李文生,解梅,邓春健.基于多点手势识别的人机交互技术框架[J].计算机工程与设计,2011,32(6):2129-2133.

[4] 齐婷,王锋.基于视觉的多点触摸基本技术实现方法[J].计算机技术与发展,2009, 19(10):138-144.

[5] 孙丽娟,张立材,郭彩龙.基于视觉的手势识别技术[J].计算机技术与发展,2008, 18(10):214-221.

[6] 孔晓明,陈一民,陈养彬,等.基于视觉的动态手势识别[J].计算机工程与设计,2005, 26(11):2934-2936.

[7] 陈,周雷.基于BP神经网络的鼠标轨迹识别技术[J].电脑知识与技术,2013,9(1):130-132.

[8] 赵杰阳.多点触控手势识别算法的研究与设计[D].北京:北京工业大学,2012.

[9] 刘海波,沈晶,郭耸.Visual C++数字图像处理技术详解[M].北京:机械工业出版社,2010.

[10] 刘瑞祯,于仕琪.OpenCV教程基础篇[M].北京:北京航空航天大学出版社,2012.

[11] 程小鹏.基于特征提取的手势识别技术研究[D].武汉:武汉理工大学,2012.