未来智讯 > 人脸语音识别论文 > Kinect与轨迹识别算法相结合在语音和手势识别方面的应用

Kinect与轨迹识别算法相结合在语音和手势识别方面的应用

发布时间:2017-12-07 09:11:00 文章来源:未来智讯    
    [关键词]Kinect,手势识别,动态时间规整,人机交互,手语自动翻译
    中图分类号:X263 文献标识码:A 文章编号:1009-914X(2015)40-0226-01
    引言
    手语是聋哑人士的主要沟通形式,由于大部分普通人不懂得手语,使聋哑人士与普通人的沟通十分困难。而手势识别的主要研究目的就是使计算机能够理解人给出的手语,并将手语翻译成为人能够理解的文字或语音等方式输出,进而为聋哑人和健全人之间的交流提供方便[1]。
    1 该系统简介
    该系统包括手语识别模块和语音文字翻译模块。手语识别模块能把聋哑人所做的手语翻译成文字和语音,以便正常人理解;语音文字翻译模块能把正常人说的话或输入的文字翻译成手语,以便聋哑人理解。两模块相辅相成,为正常人和聋哑人交流提供桥梁。
    2 系统工作原理
    2.1 深度图像的获取
    2.1.1 Kinect简介
    一款性价比比较高的图像采集装置,该设备的配置和访问时通过Kinect SDK实现的。SDK提供了深度帧数据流信息和骨骼关节点信息的访问接口【2】。该传感器由红外3D摄像头(包括发射和接收)、RGB摄像头、仰角控制马达、多点阵列麦克风、USB接口及电源、风扇等组成。
    2.1.2 Kinect获取原始数据
    kinect可获得人体上的二十个骨骼点的三维坐标。 手语中,通常用左右手来进行表达,故只需提取左右手的坐标。但若只取这两点,就要求聋哑人在每次手语识别的过程中与传感器的相对位置固定不变,这显然是不合理的。解决问题的办法是建立以人体为中心的三维坐标系。因在手语识别的过程中,左右肩的坐标可近似看作不变,所以用左右肩中点作为坐标系的原点,求出左右手的坐标相对于左右肩中点的坐标即可,再除以左肩和右肩之间的距离进行归一化就完成了原始坐标的转换.
    2.2 建立系统手语模板库
    建立好坐标系后,用一个六维数组可以存下每一帧的左右手的三维坐标,若一个手语动作在三十帧图像中完成(帧数的大小可更据具体情况而改变),就可以用一个180维数组来定义一个手语动作。
    到此,就生成了手语模板,实现了手语的数字化与序列化。
    2.3 轨迹识别
    2.3.1 DTW简介
    DTW全名叫动态时间规整算法,是日本学者Sakoe将动态规划用于解决在语音识别中孤立词识别时说话速度不均匀的难题而提出的[3]。该算法采用动态规划的思想,解决了识别中语音模板长度与待测语音长度不一样的问题。同理,在手语识别中,DTW算法也能很好的解决模板序列长度和待测序列长度不一样的问题
    2.3.2 轨迹识别
    基于DTW手语识别包括:建立模板库和识别模板。此处重点介绍识别模板的过程。首先截取一段手语作为样本,将其与模板库中的模板比较,确定最匹配的模板,作为识别的结果。设Rm (m表示模板序列的长度)为模板中的一个手语序列数据,Tn(n表示待测序列的长度)为待测手语序列数据[4]。为了表示两序列的相似程度,可以计算他们之间的路径,用D[T,R]表示。
    D[T,R]=|T1-R1|+…+|Tn(m)-Rn(m)|
    路径越小,则相似度越高。很多情况下,n小于m,此时,就用到了DTW算法。横轴表示模板序列数据的标号,用 i表示。纵轴表示待测序列数据的标号,用j表示。在DTW算法原理图中,每个节点(i,j),表示R(i)和T(j)的距离。假设j=5,i=6.
    则在这个二维坐标中每一条从左下角到右上角的联合线段都是一条路径D[T,R]。计算所有可能的路径,取最小值作为最优路径。同理,计算此待测序列与所有模板的最优路径,取最优路径值最小的模板作为识别结果(图1)。
    寻找最优路径时是基于Bellman原理。如果给出了(i0,j0)到(i,j)的最佳路径,我们只需要寻找最佳(i,j)到(if,jp)的路径,而不是(i0,j0)到(if,jp)的路径[5]。用D(ik,jp)表示节点(i0,j0)到(ik,jp)的最优路径值,则D(ik,jp)=p+d(ik,jp),p=min{D(ik-1,jp),D(ik,jp-1),D(ik-1,jp-1)},d(ik,jp)为ik与jp差的模。
    2.3.3 举例说明
    假设标准模板R为字母6个,测试模板T为4个。R和T中各元素之间的距离d已经给出。利用公式:D(ik,jp)=p+d(ik,jp)计算出各交叉点的最优路径值(红色数字)。比如(2,B),横过去算:D(2,B)=D(1,B)+d(2,B)=5+4=9;斜上算(2,B)=D(1,A)+d(2,B)=2+4=6;竖直向上算:D(2,B)=D(2,A)+d(2,B)=3+4=7;取三者最小值为6;当然这得先算出D(1,B),D(1,A),D(2,A)。不存在的交叉点按零计算。
    按此方法,计算所有点的最优路径值。到此为止,我们已经得到了答案,即2个序列最佳匹配值为15. 我们还可以找到最短距离的路径,通过绿线从右上角反推回去。
    3 结束语
    本文介绍了手语识别的过程,通过Kinect 获取骨骼3D信息提取手语模板数据,用DTW识别算法达到实别手部运动轨迹的目的。通过大量实验证明,该方法不仅有很高的识别速度和识别率,而且在复杂背景和光照方面有很好的抗干扰性。
    参考文献
    [1] 邓瑞,周玲玲.基于Kinect深度信息的手势提取与识别研究[J].计算机应用研,2013.4:1263-1264.
    [2] 方华,刘诗雄.基于Kinect骨骼系统的手势识别研究[J].计算机光盘软件和应用:65.
    [3] 倪训波,赵德斌.Viterbi和DTW算法的关系―在非特定人手语识别中的应用[J].计算机研究与发展,2010:305-307.
    [4] http://www.cnblogs.com,访问如期:2015-06-17.
    [5] 庞素超,陈实.用动态规划方法求解最短路问题[A].大庆石油学院学报,2007.6:118-119.
转载请注明来源。原文地址:https://www.7428.cn/page/2017/1207/9118/
 与本篇相关的热门内容: