精华内容
下载资源
问答
  • 希罗斯 介绍 hiROS(人机交互机器人操作系统)是使用ROS Melodic(机器人操作系统)构建的回购协议,而是此回购协议的主要骨干。...要运行此手势识别推断,请在下面使用以下命令。 运行rqt查看结果 $ r
  • 手势识别算法总结

    2015-12-15 15:24:36
    手势识别通用算法的总结,介绍的很详细,每种方法的优缺点都列举出来了
  • 手势识别 基于OpenCV的数字手势识别算法
  • 提出了一种改进的手势检测识别算法。首先对采集的手势图像综合运用Krisch算子的背景差分与肤色分割等算法进行预处理,然后根据手势的方向去除胳膊等非目标,截取手型区域。最后对手型图像进行轮廓检测,根据手型轮廓...
  • 用公共数据集Keck Gesture进行实验,通过对数据集图像进行简单的图像预处理,使得图像特征更为明显,将预处理后的图像作为网络输入进行手势识别实验。经实验验证,该方法在该数据上平均准确率达到了99%以上,而且...
  • 基于深度学习的手势识别算法设计.pdf
  • 智能手表上的两种手势识别算法,龚亚光,李朝晖,本文基于智能手表内置加速度计数据提出了一个用于手势识别的算法框架。其中包括一个采集数据和绘制数据图形的应用程序,以及分别
  • 文章编号:1009 2552 (2013)04 0099 04 中图分类号:TP391 文献标识码:A 基于OpenCV 的实时手势识别算法研究 1 2 1 许艳旭 张 崎 武 霞 (1 100083 ;2 100083) 北京科技大学计算机与通信工程学院 北京 北京科技大学自动...
  • 基于Kinect的手势数据库及动静态手势识别算法,张鑫,钱伟, 基于手势的人机交互以其自然直观性受到了人机交互领域的持续关注,越来越多的手势研究催生了对手势数据库的需求。本文介绍了一��
  • 为实现基于手势的智能人机交互,提出了一种基于视觉的人手跟踪与手势识别算法。该方法以ICONDENSATION算法为基础,融合颜色与深度信息进行重要采样,结合轮廓信息并通过ASM模型的能量函数进行观测,根据最大后验概率...
  • 基于FPGA的手势识别算法的实现

    千次阅读 2021-06-09 04:39:46
    1.问题描述: 2.部分程序: 3.仿真结论:

    1.问题描述:

     

    2.部分程序:

     

    /*-------------------------------------------------------------------------
    Filename            :        ov5640_ddr_vga.v
    Description        :        read picture from sd, and store in ddr, display on VGA.
    =========================

    展开全文
  • 手势识别(二)--单目手势识别算法总结

    万次阅读 多人点赞 2016-10-07 13:50:34
    本文参考:...一个基于视觉手势识别系统的构成应包括:图像的采集,预处理,特征提取和选择,分类器的设计,以及手势识别。其流程大致如下: 其中有三个步骤是识别系统的关键,分别是预处理时手势的分
    本文参考: http://blog.csdn.net/lpflying0106/article/details/22674657 做修改补充(其实主要是不高兴写这多么,找了个差不多能表达意思的文章改改)
    手势有三个主要特征:手型,方向,运动轨迹

    一个基于视觉手势识别系统的构成应包括:图像的采集,预处理,特征提取和选择,分类器的设计,以及手势识别。其流程大致如下:

    上面识别过程,再分解为:


    其中有三个步骤是识别系统的关键,分别是预处理时手势的分割,特征提取和选择,手势跟踪,以及手势识别采用的算法

    不管是手势检测,或者手势跟踪,识别,特征提取和选择是关键:

    手势本身具有丰富的形变,运动以及纹理特征,选取合理的特征对于手势的识别至关重要。目前 常用的手势特征有:轮廓、边缘、图像矩、图像特征向量以及区域直方图特征等等。

    《基于计算机视觉的手势识别研究》中提到了多尺度模型,它就是采用此模型提取手势的指尖的数量和位置,将指尖和掌心连线,采用距离公式计算各指尖到掌心的距离,再采用反余弦公式计算各指尖与掌心连线间的夹角,将距离和夹角作为选择的特征。对于静态手势识别而言,边缘信息是比较常用的特征。

    《基于几何特征的手势识别算法研究》中采用的HDC提取关键点的识别算法,基于用八方向邻域搜索法提取出手势图像的边缘,把图像的边缘看成一条曲线,然后对曲线进行处理。

    《基于视觉的手势识别及其在人机交互中的应用》利用方向直方图作为手势识别的特征向量。虽然方向直方图具有平移不变性,但它不具有旋转不变性。同一手势图像,经过旋转后,直方图会不同。而且方向直方图不具有唯一性,即不同的手势图像可能会有相似的方向直方图。

    在进行特征选取时我们可以考虑结合多种特征,在《基于计算机视觉的手势识别研究中》提出了多尺度模型与矩描绘子相结合的算法,将指尖和重心连线,采用距离公式计算各指尖到重心的距离,再采用反余弦公式计算各指尖与重心连线间的夹角,将距离和夹角作为选择的特征,从而提高了识别正确率,并减少了识别时间。《基于几何特征的手势识别算法研究》采用几何矩和边缘检测的识别算法手势图像经过二值化处理后,提取手势图像的几何矩特征,取出几何矩特征七个特征分量中的四个分量,形成手势的几何矩特征向量。在灰度图基础上直接检测图像的边缘,利用直方图表示图像的边界方向特征。最后,通过设定两个特征的权重来计算图像间的距离,再对手势进行识别。

    可以看出适当的采用多种特征结合的算法,可以在计算的复杂度以及精确度上有所提高。总体来说:

    手势检测(手势分割):

    主要受复杂背景,遮挡,直接光源的亮度变化,外部反射,

    常见手部检测特征选取:

    基于肤色,基于表观,基于模型三种手部检测。建议,先背景去除,在结合多特征,如肤色+纹理(类Harr)+ADABoost做手部检测,HOG+PCA(设计分类器,左手,右手,双手交叉)做左右手区分。

    一般来讲,分割方法大致分为以下三类:

    一是基于直方图的分割,即阈值法,通常取灰度直方图的波谷作为阈值。(《hausdorff在距离在手势识别中的运用》采用了阈值法。)

    二是基于局部区域信息的分割,如基于边缘和基于区域的方法;(《基于几何特征的手势识别算法研究》采用了边缘检测方法。)

    三是基于颜色等一些物理特征的分割方法。(《复杂背景下基于单目视觉的静态手势识别》采用了基于颜色空间的肤色聚类法,《基于视觉的手势识别及其在人机交互中的应用》采用了肤色滤波法。)。

    每种方法都有自己的优点,但也存在一定的问题,对于简单背景的图像,采用阈值法能达到不错的效果,对于复杂的图像,单一的阈值不能得到良好的分割效果。采用边缘提取方法时,若目标物和背景灰度差别不大时,则得不到较明显的边缘。可以采用多种方法相结合的图像处理方法,例如对采集的图像先进行差影处理,然后进行灰度阈值分割,或者对图像按区域分成小块,对每一块进行设置阈值。

    手势分割是手势识别系统中的关键技术之一,它直接影响系统的识别率,目前的分割技术大都需要对背景,用户以及视频采集加以约束。其受背景复杂度和光照变化的影响最大,可以在这些方面进行改进。

    手势跟踪:

    受快速运动,双手遮挡,非刚体,非线性,非高斯,多模态。通俗的讲,就是 手势非刚体运动,受到缩放,形变,缺少,模糊,旋转,亮度,视角等因素影响,建议,基于肤色的SIFT+肤色(ROI)+HOG,采用MeanShift

    常见跟踪算法选取:

    粒子滤波,MeanShift,基于Sift特征,基于EKF,基于SVM,基于模板匹配,

    手势识别:

    受尺度,角度,光照,同一手势每次演示的差异,分静态,动态手势:

    目前基于单目视觉的静态手势识别技术主要有三大类:

    第一类为模板匹配技术,这是一种最简单的识别技术。它将待识别手势的特征参数与预先存储的模板特征参数进行匹配,通过测量两者之间的相似度来完成识别任务。《Hausdorff距离在手势识别中的运用》中利用Hausdorff距离模板匹配思想来实现手势的识别。将待识别手势和模板手势的边缘图像变换到欧式距离空间,求出它们的Hausdorff距离或修正Hausdorff距离。用该距离值代表待识别手势和模板手势的相似度。识别结果取与最小距离值对应的模板手势。

    第二类为统计分析技术,这是一种通过统计样本特征向量来确定分类器的基于概率统计理论的分类方法。这种技术要求人们从原始数据中提取特定的特征向量,对这些特征向量进行分类,而不是直接对原始数据进行识别。在《基于计算机视觉的手势识别研究》中虽然也采用了Hausdorff距离算法,但并未提出模板手势,而是对于每幅图像提取出指尖和重心特征,然后计算出距离和夹角,对于不同手势分别进行距离和夹角的统计,得到其分布的数字特征,根据基于

    最小错误率的贝叶斯决策得到用于分割不同手势的距离和夹角的值。得到分类器以后,对于采集的手势图像进行分类识别。文中的多尺度模型和矩描绘子相结合的算法也是运用了统计分析技术。

    第三类为神经网络技术这种技术具有自组织和自学习能力,具有分布性特点,能有效的抗噪声和处理不完整模式以及具有模式推广能力。采用这种技术,在识别前都需要一对神经网络的训练(学习)阶段。

    其中比较常用的是BP神经网络。BP ( Error Back Propagation Neural Network 误差反向传播神经网络)由它是一种能向着满足给定的输入输出关系方向进行自组织的神经网络,当输出层上的实际输出与给定的输入不一致时,用下降法修正各层之间旧的结合强度,直到最终满足给定的输入输出关系为止,出于误差传播的方向与信号传播的方向正好相反称为误差反向传播神经网络。BP神经网络的理论认为:只要不断给出输入和输出之间的关系,则在神经网络的学习过程中,其内部就一定会形成表示这种关系的内部构造,并且只要使关系形成的速度达到实用值,那么BP的应用就不存在任何的困难. 《基于视觉的手势识别及其在人机交互中的应用》采用了基于方向直方图的BP(误差反向传播)神经网络方法。

       可以看出若是基于几何分类法算法简单,与神经网络的方法相比,显示出了可靠性,其允许定义一个不同手势类别特点的特征集,估计一个局部最优的线性分辨器,根据手势图像中提取的大量特征识别相应的手势类别,但其学习的效率不高,随着样本量的不断增大,算法识别率的提高不明显。但BP神经网络需要一定的学习阶段,处理过程中可能存在着中间层神经元的个数庞大,学习时间太长,结合系数范围太宽等严重缺点。在BP神经网络的实际应用中应该合理考虑网络结构。

    如基于Sift 静态手势 识别,即采用基于肤色的Sift特征,用PCA降维,再用HOG特征表述手势,也做PCA降维,两种特征作为特征向量,训练分类器,生成静态特征识别库。

    基于单目视觉的动态手势 识别技术:

    基于神经网络,基于HMMs,基于CRFs.

    传统的动态手势识别,是基于HMMs,但HMMs是与观察无关的,也就是说,所有的情况在对模型训练时就必须要知道,否则就无法对这些未经训练的样本识别。实际中,我们不可能把所有的情况都考虑清楚,也不可能把所有的训练样本都训练。其次,观察无关还导致了标注偏移。虽然MEMMS在一定程度上解决了观察无关问题,但还是存在标注偏移问题。

    基于模糊的条件随机场FCRF可以避免观察无关与标注偏移问题。

    由于手势序列包括内部子结构和用于区分不同手势的外部动态结构,因此,LDCRFs不但可以辨识内部结构,同时可以辨识外部结构,针对连续手势,修改隐函数为模糊函数,即FLDCRFs.

    本文对针对基于视觉的手势识别算法,做一个简单总结。后续有改进再补充。


    
    展开全文
  • 针对传统手势识别中用肤色分割手部区域效果的局限性,采用Kinect获取深度信息来分割手掌,能得到较好的效果。对手掌轮廓进行多边形...实验证明,基于复合特征和动态阈值圆法的手势识别算法具有较好的识别率和实时性。
  • KNN是以一种数据分类算法,在学习模式下,将多次手势进行采样滤波,之后进入判定模式,系统会实时采样,当数据稳定后,得到其特征向量,计算其特征向量与样本数据之间的欧式距离,找到相距最短的k个样本,判断其类型...

    数据滤波算法设计介绍

    数据滤波算法是去除噪音干扰的有效方法,此次采用使用广泛的滤波算法——卡尔曼滤波算法。 这样计算量小,利于计算机实现等特点。将极板上采集的数据进行实时的处理,将数据中的噪音清除,把误差降到最小。

    数据分类算法介绍

    KNN是以一种数据分类算法,在学习模式下,将多次手势进行采样滤波,之后进入判定模式,系统会实时采样,当数据稳定后,得到其特征向量,计算其特征向量与样本数据之间的欧式距离,找到相距最短的k个样本,判断其类型,即可手势识别。
    在这里插入图片描述

    卡尔曼滤波算法的原理 和简单实现

    简介:

    卡尔曼滤波(Kalman filtering)一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。

    - 被观测的系统

    首先我们需要用方程来描述被观测的系统,因为后面滤波器的方程要用到这里的一些参数。卡尔曼滤波器适用于线性系统,设该系统的状态方程和观测方程为:

    x(k) = A · x(k-1) + B · u(k) + w(k)
    z(k) = H · x(k) + y(k)

    x(k) —— k时刻系统的状态
    u(k) —— 控制量
    w(k) —— 符合高斯分布的过程噪声,其协方差在下文中为Q(我理解的噪声 就是误差的意思)
    z(k) —— k时刻系统的观测值
    y(k) —— 符合高斯分布的测量噪声,其协方差在下文中为R
    A、B、H —— 系统参数,多输入多输出时为矩阵,单输入单输出时就是几个常数

    注意在后面滤波器的方程中我们将不会再直接面对两个噪声w(k)和y(k),而是用到他们的协方差Q和R。至此,A、B、H、Q、R这几个参数都由被观测的系统本身和测量过程中的噪声确定了。

    • 滤波器

    工程中用到的卡尔曼滤波是一个迭代的过程,每得到一个新的观测值迭代一次,来回来去地更新两个东西:“系统状态”(x)和“误差协方差”§。由于每次迭代只用到上一次迭代的结果和新的测量值,这样滤波对计算资源的占用是很小的。

    每一次迭代,两个步骤:预测和修正。预测是根据前一时刻迭代的结果,即x(k-1|k-1)和P(k-1|k-1),来预测这一时刻的系统状态和误差协方差,得到x(k|k-1)和P(k|k-1):

    x(k|k-1) = A · x(k-1|k-1) + B · u(k)
    P(k|k-1) = A · P(k-1|k-1) · AT + Q

    (这里用到的A、B、H、Q、R就是从前面的状态/观测方程中拿来的)
    然后计算卡尔曼增益K(k)(不知道咋来的),和这一次的实际测量结果z(k)一起,用于修正系统状态x(k|k-1)及误差协方差P(k|k-1),得到最新的x(k|k)和P(k|k):

    K(k) = P(k|k-1) · HT · (H · P(k|k-1) · HT + R)-1
    x(k|k) = x(k|k-1) + K(k) · (z(k) - H · x(k|k-1))
    P(k|k) = (I - K(k) · H) · P(k|k-1)

    x(k|k)就是我们要的滤波后的值,它和P(k|k)将会作为x(k-1|k-1)和P(k-1|k-1)用在下一时刻的迭代里

    - 定义一个简单场景

    先看状态方程和观测方程。假设我们是在测温度、加速度,此时控制量是没有的,即:

    B · u(k) ≡ 0

    另外,参数A和H也简单地取1。现在滤波器的预测方程简化为:

    ① x(k|k-1) = x(k-1|k-1)
    ② P(k|k-1) = P(k-1|k-1) + Q

    同时修正方程变成:

    ③ K(k) = P(k|k-1) / (P(k|k-1) + R)
    ④ x(k|k) = x(k|k-1) + K(k) · (z(k) - x(k|k-1))
    ⑤ P(k|k) = (1 - K(k)) · P(k|k-1)

    ①对②、③无影响,于是④可以写成:

    x(k|k) = x(k-1|k-1) + K(k) · (z(k) - x(k-1|k-1))

    在程序中,该式写起来更简单:

    x = x + K * (新观测值 - x);
    观察②,对这一时刻的预测值不就是上一时刻的修正值+Q嘛,不妨把它合并到上一次迭代中,即⑤改写成:

    P(k+1|k) = (1 - K(k)) · P(k|k-1) + Q

    这一时刻的P(k+1|k),会作为下一时刻的P(k|k-1),刚好是③需要的。于是整个滤波过程只用这三个式子来迭代即可:

    K(k) = P(k|k-1) / (P(k|k-1) + R)
    x(k|k) = x(k-1|k-1) + K(k) · (z(k) - x(k-1|k-1))
    P(k+1|k) = (1 - K(k)) · P(k|k-1) + Q

    经过前面的推导,我们发现在程序中只需要不断重复这一小段即可实现卡尔曼滤波:

    while(新观测值)
    {
        K = P / (P + R);
        x = x + K * (新观测值 - x);
        P = (1 - K) · P + Q;
    }
    
    

    我们发现这一堆字母中,x和P只需要赋初值,每次迭代会产生新值;K用不着赋初值;Q和R赋值以后在之后的迭代中也可以改
    x和P的初值是可以随便设的,强大的卡尔曼滤波器马上就能抹除不合理之处。但需注意,P的初值不能为0,否则滤波器会认为已经没有误差了

    剩下的也就是Q和R了。他俩的物理意义是噪声的协方差,他们的值是需要我们试出来的
    因此应该根据具体的使用场景收集到的数据来决定Q和R的取值
    全程最难的地方莫过于确定协方差R和Q的值。R的值我们或许能较好的确定,因为一般情况下我们能较清楚的知道仪器的测量误差,所以这是需要自己去猜测计算的,而Q超出了我的能力范围,此处也就不去讲怎么调了

    展开全文
  • 手势识别,基于 MATLAB

    2019-04-01 15:34:37
    手势识别,基于 MATLAB。 提取了一种手势识别算法,通过皮肤颜色模型将手势分割出来,然后追踪其边缘,再通过傅里叶系统作为特征向量进行识别。识别率很高的。 手势
  • 本人做的一份基于Kinect体感摄像头的手势识别算法实验的PPT报告。
  • 提出一种基于手指角度特征的静态手势识别算法。以指尖到手掌中心的连线构成手势骨架,计算手指间的角度;以角度的大小和指间数量进行分类,把手势定义为一、二、三、四、五、六、七、八、九等9种。该算法不受手势的...
  • 目 录 摘 要 I ABSTRACT III 第一章 绪论 1 1.1 课题背景与研究意义 1 1.2 手势识别研究现状2 1.2.1 手势识别技术的国内外研究现状2 1.2.2 手势识别系统的应用领域5 1.2.3 手势识别研究的挑战7 1.3 本文研究内容与...
  • 手势识别是计算机理解人类肢体语言的一种方式。 通过手势识别,人类可以与机器进行交流。 这是一种用于识别手部、监控手部运动、分析不同手势并在最后找到正确手势的技术。 开发和讨论了许多技术,但没有一种技术...
  • 一种快速手势识别算法的实现与验证
  • 手势识别算法总结PPT学习教案.pptx
  • 提出了一种基于单目视觉的手势识别算法。通过用户初始化过程获取基本识别参数,结合视频跟踪的过程实时获取用户手势区域,在该区域内采用矩描绘子与多尺度模型相结合的方法进行特征提取,对于提取出的特征采用分类...
  • 基于卷积神经网络的手势识别算法.pdf
  • 手势识别 技术

    万次阅读 多人点赞 2019-04-19 16:02:27
    手势识别可以分为基于可穿戴设备的识别、基于触摸技术的识别和基于计算机视觉的识别。 一、基于可穿戴设备的识别 1、在手势交互过程中,可以直接采集每根手指的弯曲姿态,通过数据归一化和平滑处理两根手指之间...

    手势识别可以分为基于可穿戴设备的识别、基于触摸技术的识别和基于计算机视觉的识别。

    一、基于可穿戴设备的识别

    1、在手势交互过程中,可以直接采集每根手指的弯曲姿态,通过数据归一化和平滑处理两根手指之间方位的时空参数。然后,手势识别模型训练可以选择有效的特征参数。所采集的位置参数一般具有较高的精度。因此,手势模型训练方法的选择对手势识别效果影响较大。

    Mehdi S A, Khan Y N. Sign language recognition using sensor gloves. In: Proceedings of the 9th International Conference on Neural Information Processing. 2002, 2204−2206 DOI:10.1109/ICONIP.2002.1201884

    使用人工神经网络(ANN)模型进行基于感觉手套的美国手语识别,然后将其翻译成英语

    Shi J F, Chen Y, Zhao H M. Node-Pair BP Network Based Gesture Recognition by Data Glove. System Simulation Technology, 2008, 4(3): 154−157 DOI:10.3969/j.issn.1673-1964.2008.03.003 

    通过传感器获得不同输出节点的实测值,并将这些节点配对成一个BP神经网络来识别手势

    Rung-Huei L, Ming O. A real-time continuous gesture recognition system for sign language. In: Proceedings Third IEEE International Conference onAutomatic Face and Gesture Recognition. 1998, 558−567 DOI:10.1109/AFGR.1998.671007 

    用数据手套采集了51个基本姿势,包括6个方向,8个动作原始数据。然后利用隐马尔可夫模型进行建模,建立了一个能识别250种台湾手语的词汇系统。由这些手势组成的连续句平均识别率达到80.4%

    Liu M T, Lei Y. Chinese finger Alphabet flow recognition system based on data glove. Computer Engineering, 2011, 37 (22): 168−170 

    使用数据手套Ultra 5进行数据采集,并结合BP神经网络和Markov对汉语拼音进行识别

    Wu J Q, Gao W, Chen L X. A system recognizing Chinese finger-spelling alphabets based on data-glove input. Pattern Recognition andArtificial Intelligence, 1999(1): 74−78 

    将神经网络与学习决策树相结合,建立了一个识别模型,利用数据手套构建了一个中文手指拼写手势识别系统。

    Weissmann J, Salomon R. Gesture recognition for virtual reality applications using data gloves and neural networks. In: IJCNN'99 International Joint Conference on Neural Networks Proceedings. 1999, 2043−2046 DOI:10.1109/IJCNN.1999.832699 

    通过数据手套获得了18个不同手指关节的测量值,并利用BP和径向基函数建立了多个不同的神经网络模型用于手势识别。一些神经网络模型能够识别特定的手势,其准确率甚至达到了100%

    2、此外,当输入数据手套的数据转换为虚拟手模型与对象交互,通常需要进行碰撞检测来确定对象和手之间的接触情况,并通过接触情况确定手的操作条件。

    Xu Y H, Li J R. Research and implementation of virtual hand interaction in virtual mechanical assembly. Machinery Design & Manufacture, 2014(5): 262−266 

    边界框法进行碰撞检测,并将检测结果与手势库,它决定此时角是否符合定义的动作,从而实现了虚拟装配技术的虚拟手。该方法的精度相对较差,不可能实现相对复杂的交互。在未来,将有可能通过虚拟力分析和运动分析来确定手和物体之间的相对位置。

    3、随着MEMS技术的发展,传感器变得小型化、智能化,进一步推动了基于传感器的手势识别可穿戴设备的发展。利用传感器获取目标的角速度、加速度等运动信息,可以直接获取手势的空间位置,不需要进行手势分割。通过对信息的建模和分析,可以对交互手势进行识别。

    Mirabella O, Brischetto M, Mastroeni G. MEMS based gesture recognition. In: 3rd International Conference on Human System Interaction. 2010, 599−604 DOI:10.1109/HSI.2010.5514506 

    创造了一种手势识别系统,允许用户浏览数码照片、家庭电视或通过预定义的手势为身体残疾的人提供特殊服务。系统利用加速度传感器读取手势的输入数据,通过HMM训练,识别用户自定义手势的状态,用户可以根据应用程序的需要向手势列表中添加一个新的手势。

    Kela J, Korpipää P, Mäntyjärvi J, Kallio S, Savino G, Jozzo L, Marca D. Accelerometer-based gesture control for a design environment. Personal & Ubiquitous Computing, 2006, 10(5): 285−299 DOI:10.1007/s00779-005-0033-8 

    使用加速度计控制器和HMM来收集和识别用户的输入手势,研究手势模态对用户交互的影响。结果表明,不同的人对同一任务偏好不同的交互手势。对于某些任务,手势比语音、激光笔、平板电脑等交互方式更加自然,甚至可以增强与其他方式的交互。

    Xu J, Liu C H, Meng Y X. Gesture recognition base on wearable controller. Application of Electronic Technique, 2016, 42(7): 68−71 

    定义了六种简单手势类型,通过陀螺仪和加速度计获取手势数据,提取手势长度和能量等六个特征,并使用决策树分类器识别出六种手势

    He Z Y, Jin L W, Zhen L X, Huang J C. Gesture recognition based on 3D accelerometer for cell phones interaction. In: APCCAS2008 - 2008IEEEAsia Pacific Conference on Circuits and Systems. 2008, 217−220 DOI:10.1109/APCCAS.2008.4745999 

    在手机上添加加速度计,获取用户操作时手势的运动状态,提取离散余弦变换(DCT)快速傅里叶变换(FFT)和小波包分解(WPD)的三个不同特征,并使用SVM进行分类训练。与其他两种特征相比,基于wpd的特征提取方法对17种复杂手势识别的准确率较高,达到了87.36%

    Schlömer T, Poppinga B, Henze N, Boll S. Gesture recognition with a Wii controller. In: Proceedings of the 2nd international conference on Tangible and embedded interaction. Bonn, Germany,ACM, 2008: 11−14 DOI:10.1145/1347390.1347395 

    研究了基于wii控制器的交互式应用程序的手势识别效果。该系统允许用户对操作手势进行预训练。首先,用滤波方法对原始数据进行平滑处理。平滑后,通过k-均值数据压缩得到训练样本。然后利用HMM训练得到识别系统,将该系统的手势识别结果与其他模式融合,应用于多媒体交互

    4、利用生物电获取用户的手势信息已成为近年来的研究热点。肌电(electromyography, EMG)识别用户手势的原理是根据运动过程中肌肉信号的变化来识别用户当前的动作。

    获取肌肉信号的方法主要有两种。一种是在皮肤下植入电极,直接获得生理信号。虽然这种方法不容易受到外界环境的影响,但它具有侵入性,对使用者有物理损伤的风险。另一种常用的方法是通过放置电极检测皮肤表面电流的变化来分析使用者的运动状态。该方法虽然容易受到外界环境的影响,但操作简便,对用户的危害小,符合人机交互的交互原理。

    Saponas T S, Tan D S, Morris D, Balakrishnan R. Demonstrating the feasibility of using forearm electromyography for muscle-computer interfaces. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. Florence, Italy,ACM, 2008: 515−524 

    研究了人类肌肉活动信号和计算界面之间的感知交互,用户不需要依赖特定的动作或其他物理设备进行交互。在用户上臂附近的窄带区域布置了10个传感器。以250ms为间隔获取用户的EMG信号,提取包括频域功率和相位相干性在内的74个特征。利用SVM训练分类模型。结果表明,该方法可以区分手指运动或点击、手指位置差、压力等级等四种手势集

    Amma C, Krings T, Böer J, Schultz T. Advancing Muscle-Computer Interfaces with High-Density Electromyography. In: Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems. Seoul, Republic of Korea,ACM, 2015: 929−938 DOI:10.1145/2702123.2702501 

    按8×24的栅极排列192个电极,间隔10mm。排列整齐的电极阵列被放置在前臂肌肉上,以获得高密度的肌电图信号。电极间的差异由两个电极记录。每八个电极中就有一个不包含有意义的数据,所以有168个可用的数据通道。使用提取通道的均方根(RMS)作为输入特征,使用朴素贝叶斯分类器识别预定义的27个手势。此外,分类器还进一步分析了电极数量和电极位置对识别结果的影响。

    Huang D, Zhang X, Saponas T S, Fogarty J, Gollakota S. Leveraging Dual-Observable Input for Fine-Grained Thumb Interaction Using Forearm EMG. In: Proceedings of the 28th Annual ACM Symposium on User Interface Software & Technology. Charlotte, NC, USA,ACM, 2015: 523−528 DOI:10.1145/2807442.2807506 

    由于前臂拇指运动的肌电图信号相对较弱,黄提出使用双通道手机训练数据法来识别拇指的细粒度手势,包括左键、右键、点击、长按或更复杂的手指运动。其中一个通道是利用电极获取用户的手势运动,另一个通道是通过触摸屏手机加速度计获取的手势运动状态作为输入信号。最后,利用k近邻(KNN)算法对拇指手势进行分类识别。该识别结果对基于拇指的交互式系统具有重要意义。

     

    二、基于触摸技术的识别

    触摸手势是用手指或其他工具在触摸屏上直接执行的操作。基于触摸手势输入法,触摸手势识别主要分为单触摸手势识别和多触摸手势识别。

    经典的单触摸手势识别算法有如下两种:

    1、Rubine算法

    Rubine D H. The automatic recognition of gestures. Carnegie Mellon University, 1992

    通过提取任意输入手势的起始角正弦值、余弦值、手势总长度等13个特征,构造手势特征集,并基于统计识别方法构造分类器。对于包含30个单点位置的手势路径,分类器的准确率可达97%。该算法的关键是能否准确地选择识别特征。

    2、$1算法

    Wobbrock J O, Wilson A D, Li Y. Gestures without libraries, toolkits or training: a $1 recognizer for user interface prototypes. In: Proceedings of the 20th annual ACM symposium on User interface software and technology. Newport, Rhode Island, USA,ACM, 2007: 159−168 DOI:10.1145/1294211.1294238 

    核心思想是对输入的手势轨迹进行重新采样,将采样轨迹中心点与x轴的连线旋转到0度,将旋转后的手势缩放到标准的正方形大小并进行手势平移。然后,对处理过的手势和搜索匹配模板使用“黄金选择搜索”(GSS),得到每个模板的最佳匹配得分。得分最高的手势是最终识别的手势。由于$1算法只能识别单笔手势,研究人员提出了$N算法和$P算法。

    (1)、$N算法

    Anthony L, Wobbrock J O. A lightweight multistroke recognizer for user interface prototypes. In: Proceedings of Graphics Interface 2010. Ottawa, Ontario, Canada, Canadian Information Processing Society, 2010: 245−252 

    可以在不知道方向或轨迹顺序的情况下识别多笔画手势。其原理是N个手势轨迹可以根据顺序和方向生成2N种情况。根据手势的顺序将手势轨迹从头部连接到尾部,得到估计的N个手势模板集。然后按照$1的方法将手势轨迹与模板设置匹配,以最高分手势作为最终匹配手势。由于排列和组合的多样性,它可能会导致大量的N美元内存消耗和执行成本变得很高。

    (2)、$P算法

    VatavuR-D, Anthony L, Wobbrock J O. Gestures as point clouds: a $P recognizer for user interface prototypes. In: Proceedings of the 14th ACM international conference on Multimodal interaction. Santa Monica, California, USA, ACM, 2012: 273−280 DOI:10.1145/2388676.2388732

    提出删除多个动作的时间序列信息,把它变成一组点云。这将输入gesture-matching问题转化为点对点匹配的时间复杂度O (n)问题,并利用匈牙利算法减少搜索时间复杂度O (n3),可有效解决时间复杂度问题$ n的一代。目前,很多触控交互都是基于多点触控手势交互,例如Apple touchpad的多点手指手势触控。对于多点触摸手势识别,可以对多点触摸手势进行预处理。然后,计算一个虚拟单点,然后使用一个触摸手势识别它。

     

    三、基于计算机视觉的识别

    手势图像信息由一个或多个摄像头采集,采集的数据进行预处理,包括去噪信息增强。然后,利用分割算法获取图像中的目标手势。通过视频处理和分析得到当前手势的分类和描述,最后通过手势识别算法对目标手势进行识别。基于手势的手势识别主要由手势分割手势分析手势识别三部分组成。

    1、手势分割

    第一步是对输入图像执行手势分段。手势分割过程主要包括手势定位手势分割两部分。

    (1)、手势定位

    手势定位过程在包含手势的图像帧序列中从复杂背景中提取手势区域,实现手势与背景的分离。手势定位后,通过算法将当前手势从背景区域分割出来。静态手势只需要提取单个帧图像的手势特征,而动态手势则需要对提取的帧序列进行手势分析。常用的手势分割方法有基于运动信息的检测分割、基于视觉特征的检测分割和基于多模式融合的检测分割。基于运动信息的检测分割主要包括光流法和差分法。光流法不需要预先获取图像背景来表示复杂环境下的手势运动,但要求背景图像保持静止,对光照要求较高。

    Hackenberg G, McCall R, Broll W. Lightweight palm and finger tracking for real-time 3D gesture control. In: 2011 IEEE Virtual Reality Conference. 2011, 19−26 DOI:10.1109/VR.2011.5759431

    使用光流方法实时跟踪手势。在静态背景下,差分法对手势的分割效果较好。对于一个移动的背景,需要对背景进行建模和区分。

    Freeman W T, Weissman C D. Television control by hand gestures. International Workshop on Automatic Face & Gesture Recognition, 1995: 179−183 

    使用Running Average方法对背景进行建模,然后进行手势分割

    (2)、手势分割

    基于明显特征的分割方法主要包括肤色分割、纹理分割、手形分割和轮廓分割。

    (a)、肤色分割

    肤色分割方法是最常用的方法:

    Kaufmann B, Louchet J, Lutton E. Hand Posture Recognition Using Real-Time Artificial Evolution. In: Applications of Evolutionary Computation. Berlin, Heidelberg, Springer Berlin Heidelberg, 2010, 251−260 DOI:10.1007/978-3-642-12239-2_26 

    Flasiński M, Myśliński S. On the use of graph parsing for recognition of isolated hand postures of Polish Sign Language. Pattern Recognition, 2010, 43(6): 2249−2264 DOI:10.1016/j.patcog.2010.01.004 

    使用集群的肤色在颜色空间建立肤色模型,如肤色建模通过RGB颜色空间:

    Bergh M V d, Gool L V. Combining RGB and ToF cameras for real-time 3D hand gesture interaction. In: Proceedings of the 2011 IEEE Workshop onApplications of Computer Vision (WACV). IEEE Computer Society, 2011: 66−72 DOI:10.1109/WACV.2011.5711485 

    Jones M J, Rehg J M. Statistical Color Models with Application to Skin Detection. International Journal of Computer Vision, 2002, 46(1): 81−96 DOI:10.1023/A:1013200319198 

    Weng C, Li Y, Zhang M, Guo K, Tang X, Pan Z. Robust Hand Posture Recognition Integrating Multi-cue Hand Tracking. In: Entertainment for Education Digital Techniques and Systems. Berlin, Heidelberg, Springer Berlin Heidelberg, 2010, 497−508 DOI:10.1007/978-3-642-14533-9_51 

    翁等人使用贝叶斯手势分割,建立肤色模型,然后结合皮肤的颜色,运动,和手势识别的轮廓形状信息,大大提高了分割精度。

    这些分割方法不受手形的影响,但由于光照引起的肤色变化,分割错误率大大提高。

    (b)、基于多模式融合的分割方法主要是为了克服复杂环境对分割条件的影响,并结合各种特征,如表观特征和运动信息。当使用单色可穿戴设备或背景来简化场景分割时,为了提高分割的准确性,有时会用手进行标记,这极大地影响了交互的自然度,从而限制了应用范围。其次,对手势进行建模和分析。

    主要包括基于外观的手势建模基于三维模型的手势建模

    基于外观的手势建模可以分为二维静态模型运动模型。常用的策略有颜色特征、轮廓几何、可变形gabarit:

    Ju S X, Black M J, Yacoob Y. Cardboard People: A Parameterized Model of Articulated Image Motion. In: Proceedings of the 2nd International Conference onAutomatic Face and Gesture Recognition. IEEE Computer Society, 1996: 38 70

    Kervrann C, Heitz F. Learning structure and deformation modes of nonrigid objects in long image sequences. 1995 

    和移动图像参数。颜色特征是最常用的建模方法。

    Ren H B, Xu G H, Lin X Y. Hand gesture recognition based on characteristic curves. Journal of Software, 2002, 13(5): 987−993

    用单台相机捕捉手部运动图像,用颜色、运动、边缘等多种信息建模,建立手部运动的坐标系来识别手势[71]。利用圆周、质心、边界盒等几何特征建立轮廓几何模型。

    Priyal P S, Bora P K. A robust static hand gesture recognition system using geometry based normalizations and Krawtchouk moments. Pattern Recognition, 2013, 46(8): 2202−2219 DOI:10.1016/j.patcog.2013.01.033

    使用旋转归一化方法对手势区域的图像进行对齐,并使用KravtCouk矩作为轮廓特征训练模型来识别静态手势。通过一组能够描述全局运动的物体轮廓插值节点,建立了基于gabarit的可变形模型。

    最简单的插值方法是分段线性函数。

    Ju S X, Black M J, Minneman S, Kimber D. Analysis of Gesture and Action in Technical Talks for Video Indexing. In: Proceedings of the 1997 Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 1997: 595 

    Ju等人利用snake算法分析了课堂上的视频浏览和索引手势。

    基于运动图像参数的模型与其他模型的不同之处在于,它们是由视频序列中对象的平移、旋转和方向等运动参数建模的。

    Luo Q, Kong X, Zeng G, Fan J. Human action detection via boosted local motion histograms. Machine Vision and Applications, 2010, 21(3): 377−389 DOI:10.1007/s00138-008-0168-5

    提出在真实场景中使用一个新的描述符和一个局部运动直方图来描述运动模式,然后通过增强方法选择特征。该方法仅利用局部特征建立了明显的手势建模,计算复杂度较低。利用基于三维的手势模型建立当前图像的三维模型,并根据相关参数计算手势状态。常用的手势模型包括三维骨架模型、三维纹理体模型和三维几何模型。

    骨架模型是最常用的三维模型。

    Shotton J, Fitzgibbon A, Cook M, Sharp T, Finocchio M, Moore R, Kipman A, Blake A. Real-time human pose recognition in parts from single depth images. In: CVPR 2011, 2011, 1297−1304 DOI:10.1109/CVPR.2011.5995316 

    使用Kinect生成的深度数据进行骨建模。

    2、手势分析

    手势分析由特征检测和参数估计两部分组成。

    特征检测用于从分割后的手势中提取图像特征参数。图像特征主要包括视觉特征和语义特征。视觉特征包括颜色、纹理和轮廓,语义特征代表对图像内容的理解。

    参数估计根据模型的不同使用不同的方法。

    Lu W-L, Little J J. Simultaneous Tracking and Action Recognition using the PCA-HOG Descriptor. In: Proceedings of the The 3rd Canadian Conference on Computer and Robot Vision. IEEE Computer Society, 2006: 6 DOI:10.1109/CRV.2006.66 

    先用方向梯度直方图(HOG)描述运动员的面积,然后用主成分分析(PCA)将HOG投影到线性子空间中,得到PCA-HOG描述特征。曲棍球和足球的实验表明,该方法在光照、姿态和视角的变化下,对跟踪和识别结果具有较强的鲁棒性。

    3、手势识别

    手势识别主要是基于传统的机器学习方法和神经网络。使用传统的机器学习模型识别基于视觉的手势有很多方法。

    Moni M A, Ali A B M S. HMM based hand gesture recognition. A review on techniques and approaches. In: 2009 2nd IEEE International Conference on Computer Science and Information Technology. 2009, 433−437 DOI:10.1109/ICCSIT.2009.5234536

    静态手势识别采用模板识别,动态手势识别采用与时域信息相关的HMM。

    所选择的识别方法与手势的类型有很大的相关性。

    Keskin C, Erkan A, Akarun L. Real time hand tracking and 3D gesture recognition for interactive interfaces using HMM. In: Proceedings of International Conference onArtificial Neural Networks. 2003 

    戴着有色手套,用一对普通的网络摄像头捕捉用户的手势数据,训练HMM模型对用户预定义的八个手势进行实时跟踪和识别。

    近年来,随着深度学习的发展,该技术已广泛应用于手势识别领域。

    Chai X, Liu Z, Yin F, Liu Z, Chen X. Two streams Recurrent Neural Networks for Large-Scale Continuous Gesture Recognition. In: 2016 23rd International Conference on Pattern Recognition, 2016, 31−36 DOI:10.1109/ICPR.2016.7899603 

    同时采集彩色图像和深度图像,提取手势的骨骼特征和梯度直方图特征。然后将提取的特征融合起来,建立快速rnn,将连续的手势分割成孤立的手势。通过一个简单的递归神经网络(SRNN)。通过简单递归神经网络(SRNN)和长短时记忆(LSTM),建立了用于连续手势识别的双流递归神经网络2S-RNN。

    Tsironi E, Barros P, Wermter S. Gesture recognition with a convolutional long short-term memory recurrent neural network. In: Proceedings of the European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning (ESANN). Bruges, Belgium, 2016, 213−218 

    Tsironi等结合卷积神经网络(CNN)对视觉特征的敏感性和LSTM对连续事件的有效性,提出了卷积长短时记忆递归神经网络(CNNLSTM)。

    四、多模态交互技术与手势识别

    在日常交流中,人们不仅使用手势,还通过语音、触觉、眼神等多种感知方式来表达信息。因此,多模态交互提供了两种或两种以上模态协作交互方法。利用用户的不同感知方式与计算机交互更加自然和有效,是未来交互的方式。对于不同的模态,模态之间的信息具有互补性和冗余性。例如,当用户用语言描述对象时,他或她会无意识地摆动手臂来增强或补充描述。在虚拟现实场景中,选择合适的多模态交互技术和融合方法,对于提高交互协作效率至关重要。手势和声音的结合可以直观地表达用户的意图。用户可以通过语音命令来确认手势的含义,手势可以消除噪声对操作的影响。因此,手势在VR交互中经常被用到。

    Bolt R A.“Put-that-there” : Voice and gesture at the graphics interface. Acm Siggraph Computer Graphics, 1980, 14(3): 262−27

    Bolt提出的“Put that there”系统是最早的多模态交互系统之一。该系统将手势和语音结合起来,使用户可以通过语音和指向手势在大屏幕显示界面中生成和编辑图形的形状、颜色、大小等属性

    Cohen P R, Johnston M, McGee D, Oviatt S, Pittman J, Smith I, Chen L, Clow J. QuickSet: multimodal interaction for distributed applications. In: Proceedings of the fifth ACM international conference on Multimedia. Seattle, Washington, USA,ACM, 1997: 31−40

    开发的QuickSet系统通过实时分析语音和手势,建立了支持军事训练的地图导航系统

    Chatterjee I, Xiao R, Harrison C. Gaze + Gesture: Expressive, Precise and Targeted Free-Space Interactions. In: Proceedings of the 2015 ACM on International Conference on Multimodal Interaction. Seattle, Washington, USA, ACM, 2015: 131−138 DOI:10.1145/2818346.2820752

    除了语音模式,手势也可以与其他模式融合,比如凝视。手势模态与凝视相融合,在不同场景下进行离散或连续的交互。例如,当用户执行关闭web窗口的任务时,当关闭图标被注视时,可以在任何位置轻击图标

    Velloso E, Turner J, Alexander J, Bulling A, Gellersen H. An Empirical Investigation of Gaze Selection in Mid-Air Gestural 3D Manipulation. In: Human-Computer Interaction – INTERACT 2015. Cham: Springer International Publishing, 2015, 315−330 DOI:10.1007/978-3-319-22668-2_25 

    当移动对象的位置时,没有必要直接指向要移动的对象。用户可以用自己的视线选择要移动的物体,然后通过手势在任意起始位置的轨迹来指定物体移动的轨迹。通过视觉选择的对象将跟随手势轨迹到达最终位置

    目前的多模态融合方法主要包括早期融合和晚期融合。早期融合是指原始数据在信号级的融合。这种融合方法适用于模式间的紧密耦合。后期融合采用统一的数据表示,对每种模态的数据进行独立处理,然后进行语义融合和分析。该融合方法更适合于不同时间尺度特征的多模态融合;因此得到了广泛的应用

    Sim K C. Speak-as-you-swipe (SAYS): a multimodal interface combining speech and gesture keyboard synchronously for continuous mobile text entry. In: Proceedings of the 14th ACM international conference on Multimodal interaction. Santa Monica, California, USA,ACM, 2012: 555−560 DOI:10.1145/2388676.2388793

    提出了一种将语音和手势键盘两种模式相结合的say多模态交互系统,提高了文本输入的效率和准确性。利用隐马尔可夫模型对手势和语音模型进行训练,然后利用概率方法对模型进行融合。融合模型表明,两种模式提供的互补信息能够有效区分一些混淆词,从而提高了文本输入预测的准确性。在20000字输入系统中,仅使用手势键盘的文本预测准确率为92.2%。但在正常噪声条件下,与两种模式相结合,文本预测准确率为96.4%。在噪声环境下,文本预测准确率为94%

    Kopp S, Tepper P, Cassell J. Towards integrated microplanning of language and iconic gesture for multimodal output. In: Proceedings of the 6th International Conference on Multimodal Interfaces. New York, NY,ACM Press, 2004: 97−104

    由Kopp等人建立的NUMACK导航系统将语音和手势结合起来,可以回答用户提出的关于校园建筑及其位置的问题。该系统首先将获取的特定地标性手势(如手势表示和运动轨迹)映射到图像描述特征,然后将获取的语音信息转换为文本,并使用描述语句规划(SPUD)系统对获取的文本信息进行分析。然后对现有的SPUD系统进行扩展,将图像描述转换为语法树的一部分,并基于文本信息构造集成到语法树中。最后,构建了基于多模态融合的层次本体结构。这样,手势表示使用户在交流过程中保持较高的注意力,通过文本的准确表达减少手势信息中的歧义,从而获得更好的表达准确性和表意效果

    表中列出了近年来发展起来的具有代表性的手势识别和交互技术。在实际操作中,可以根据不同的交互场景选择合适的交互设备,建立手势识别系统。不同的手势识别系统具有不同的特征。基于数据手套等可穿戴设备的手势识别系统能够直接获取用户与虚拟世界对象接触的信息,具有较高的准确性。然而,传感器的性能、数量和位置对识别能力有很大的影响。MEMS进一步提高了传感器获取数据的能力,但由于它主要捕捉对象的运动信息,所以主要用于动态手势识别。肌电作为一种重要的生理信号,通过运动过程中生理信号的变化来识别使用者当前的状态。它通常用于动态手势交互场景。对于肌肉表面信号的识别方法,电极的位置、数量和环境对识别能力有很大的影响。基于触摸技术的手势识别的外部干扰相对较小。单触摸识别效果较好。对于多点触控,通常将其转化为单点触控问题进行预处理识别。基于计算机视觉的手势识别包括单目、双目、多视点和深度相机识别方法。主要包括手势分割、手势特征提取与分析以及识别模型的建立。对于单目相机来说,信息量相对较小,识别速度较快,但结果受外部环境的干扰较大,精度较低。该双目相机可以利用相机的相对位置坐标恢复手势的空间位置,建立三维手势模型。具有识别范围大、精度高等特点。然而,该装置需要校准,其精度受基线和分辨率的限制。此外,它包含更多的信息,需要更高的计算能力。深度照相机不需要校准。利用结构光或ToF方法可以获得手势的深度信息,但测量范围相对较小,容易受到阳光的影响。因此,它主要应用于室内场景。由于单个手势模态所表达的信息相对有限,将手势与其他模态结合使用,不仅提供了更多的交互信息,而且使交互更加自然。这将是未来VR的主要交互方式。如何针对不同的交互场景选择合适的融合方法,建立有效的多模态融合模型,是未来研究的重点。

    展开全文
  • 基于神经网络的静态手势识别算法实现.pdf
  • 基于深度学习的应急手势识别算法研究.pdf
  • 基于深度学习的静态手势识别算法设计.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,672
精华内容 3,868
关键字:

手势识别算法