最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 视点

基于手势识别的机器人控制系统

发布时间:2015-11-23 作者:师哲 李皓 张明明 
关键字:手势识别 机器人 
文章研究了一种基于人体手势识别的机器人控制系统,以达到手势控制机器人的目的。

    2.2 动态手势识别流程

    上文识别出了手部区域,手心、指尖位置和手指个数,接下来通过帧差法对运动的手势信息进行识别处理,程序设置Hand和Count两个变量分别标记是否捕捉到手和手进入的帧数,程序流程图如图4所示。

手势识别程序流程图

图4 手势识别程序流程图

    情况一(Count=0,Hand=0):当前图像和上一帧图像中都没有手出现,表示这段时间内无手进出摄像头捕捉区域,不做任何处理。

    情况二(Count=0,Hand=1):当前图像无手出现,上一帧有手出现,表示手刚刚离开摄像头捕捉区域,保存该图像信息。

    情况三(Count=1,Hand=1):当前图像有手出现,且为第一帧图像,表示手刚刚进入图像捕捉区域,保存该图像信息。

    情况四(Count=K,Hand=1):表示手一直在图像捕捉区域中。

    2.3 动态手势识别

    2.3.1 上下左右的识别

    结合情况二和情况三,通过判断第一帧和最后一帧手势中心坐标的变化情况就可以识别出上、下、左、右这四种手势运动方向,其识别过程可由如下公式表示:

公式

    C1(X,y)和Ccount-1(x,y)分别表示第一帧和最后一帧手势中心的坐标,θ为两点间的夹角,通过判断θ值就可以知道手势运动的大体方向。

    选取第一帧和最后一帧来代替手从进入捕捉区域到离开时系列图像帧,即具有代表性也简化了程序设计的复杂度,通过计算这两帧图像手心坐标的夹角的正切值,最多可识别出八种运动方向,考虑到系统的精确度和实际设计的需求,只选取了上、下、左、右这四种判别方向,识别效果较为理想。

    2.3.2 张手握拳的识别

    对于情况四,通过帧间差分的方法识别张手和握拳这两种动态手势信息,张手可定义为连续M帧手指个数为5且接下来的连续M帧手指个数保存不变,握拳可定义为连续N帧手指个数为5且接下来N帧内减少T个像素点。M、N和T的值都需要根据系统的具体情况进行设置,我们设置的阈值为M=N=20,T=1000。在此期间任何一帧不符合条件时M、N和T的值立即清零,重新计数。

    通过以上步骤就可以识别6种手势信息,进而可产生6种不同的控制信号。