一种基于摄像头的人机实时交互方法

文档序号:6549030阅读:954来源:国知局
一种基于摄像头的人机实时交互方法
【专利摘要】本发明涉及一种基于摄像头的人机实时交互方法,属于人机交互【技术领域】。首先对参与人机交互的人的头或手进行识别训练,得到识别参数,建立计算机操作与人的头或手的动作之间的映射关系。摄像头实时拍摄动作,从拍摄的视频中提取多帧图片,识别图片中人的头或手的区域信息,得到锚点。比较相邻两帧图片中锚点的变化,得到锚点位移向量。根据该向量与四个主方向的单位向量的四个夹角的大小,得到与该向量夹角最小的方向作为主方向。根据映射关系,得到与该主方向关联的计算机操作,完成人机实时交互。本发明的人机实时交互方法,具有便携、低价、“即插即用”的特点,可以控制多种计算机应用程序和游戏,无需任何额外费用,即可感受全新用户体验。
【专利说明】一种基于摄像头的人机实时交互方法
【技术领域】
[0001]本发明涉及一种基于摄像头的人机实时交互方法,属于人机交互【技术领域】。
【背景技术】
[0002]随着人体动作感知技术的快速发展,以及相关产品(设备)的推广,如MicrosoftKinect (http://www.microsoft, com/en-us/kinectforwindows), Wi i (http://www.nintend0.com/wiiu)和 PlayStat1n Move(http://playstat1nmove.com/index, html),有越来越多的计算机应用支持通过人的肢体动作来实现对计算机的控制。这些技术和设备使得人们不再受限于传统的人机交互方式,例如鼠标、键盘等,而可以通过更加新颖、有趣的方式进行人机交互。然而,现有的具有人体动作感知功能的设备通常具有以下几点局限性:(1)功能依赖于设备,人们若想使用动作感知功能,就必须随身携带这些设备等,而这一点降低了设备的便携性;(2)使用这些设备需要花费额外的费用,因为动作感知技术被固化到设备中,用户需要购买设备之后才能使用,但并不是所有用户都愿意或者有能力支付;(3)设备中可使用的应用程序、游戏需要定制,用户不能使用这些设备来控制他们现有的其它应用程序和游戏,这一点降低了设备的适用范围。因此,一种更加便携的、低价甚至免费的、具有“即插即用”特性的动作感知产品就更加具有实用价值。

【发明内容】

[0003]本发明的目的是设计一种基于摄像头的人机实时交互方法,利用已广泛配备在个人台式计算机、笔记本电脑等设备上的摄像头,通过摄像头实时捕捉人肢体的动作,以实现实时的人机交互。
[0004]本发明提出的基于摄像头的人机实时交互方法,包括以下步骤:
[0005](I)对参与人机交互的人的头或手的动作进行识别训练,得到一组识别参数F ;
[0006](2)建立计算机操作与参与人机交互的人的头或手的动作之间的--映射关系;
[0007](3)用摄像头对参与人机交互的人进行拍摄,得到人的头或手的动作的视频,根据一定的采样周期,从视频中获取多帧图片;
[0008](4)根据步骤(1)得到的识别参数F,分别从上述获取的每一帧图片中识别出人的头或手在图片中的区域信息,该区域信息包括区域在图片中的二维坐标、长度和宽度;
[0009](5)根据上述识别出的区域在图片中的长度和宽度,得到该区域的几何中心点,将该几何中心点记为锚点,重复本步骤,得到每帧图片的锚点;
[0010](6)设前一帧图片的锚点的坐标为(Xi, y),后一帧图片的锚点的坐标为(xi+1,yi+1),计算得到相邻两帧图片的锚点的位移向量Di+1,该向量表示人的头或手的动作的方向和移动的距离,其中i表示图片的序号,序号i从I开始,第i+l帧图片即为第i帧图片的下一帧图片;
[0011](7)分别计算上述位移向量Di+1在图片的二维坐标中与上、下、左、右四个方向的单位向量的四个夹角,将与四个夹角中的最小夹角相对应的方向作为主方向岛+1;[0012](8)根据步骤(2)中的计算机操作与参与人机交互的人的头或手的动作之间的一一映射关系,得到与方向包+1相对应的计算机操作Ei+1 ;
[0013](9)执行计算机操作Ei+1。
[0014]本发明提出的基于摄像头的人机实时交互方法,其优点在于,本发明的人机实时交互方法,不需要依赖于额外的设备,如Microsoft Kinect, Wii和PlayStat1n Move等,只要利用已广泛配备在个人台式计算机、笔记本电脑、平板电脑、手机等产品上的摄像头,即可通过摄像头实时的捕捉到人肢体的动作情况,将识别的图像区域的几何中心作为锚点,识别出锚点的运动轨迹,并判断出运动的主方向,然后查找出与该主方向关联的计算机事件,进而触发计算机相应的操作,从而实现实时的人机交互。本发明的人机实时交互方法,具有便携、低价、“即插即用”的特点,可以控制多种计算机应用程序和游戏,而不需要用户为本方法单独定制应用程序和游戏。最后,本发明的人机实时交互方法,无需任何额外费用,用户仅需在有摄像头的设备上安装本方法软件,即可感受全新用户体验。
【专利附图】

【附图说明】
[0015]图1是本发明方法中涉及的位移向量与上、下、左、右四个方向夹角示意图。
【具体实施方式】 [0016]本发明提出的基于摄像头的人机实时交互方法,包括以下步骤:
[0017](I)对参与人机交互的人的头或手的动作进行识别训练,得到一组识别参数F,例如使用常规的OpenCV的Cascade Classifier分类器,F将被用于实时的动作识别中,训练的目的是使得分类器能够正确地从摄像头捕捉到的图片中识别出目标对象,例如人的头、手等;
[0018](2)建立计算机操作与参与人机交互的人的头或手的动作之间的--映射关系;
人对计算机的控制实际上对应一连串的计算机操作,如鼠标左(右)键的单击事件、键盘左(右、上、下)方向键的事件、数字键的事件等等,而人的肢体的移动方向包括上、下、左、右四个基本的方向,用户在使用本发明方法时,根据自身需要将计算机操作分别与人的头或手的四个基本移动方向产生一一映射关系,即当识别出人的头或手的四个基本移动方向时,能够找到与之关联的计算机操作,进而执行该操作;
[0019](3)用摄像头对参与人机交互的人进行拍摄,得到人的头或手的动作的视频,根据一定的采样周期,从视频中获取多帧图片,例如使用常规的OpenCV中的cvQueryFrame函数;其中的每一帧图片即为摄像头捕捉到的场景,而这连续的图片帧就形成了对人的头或手的运动描述的原始数据;
[0020](4)根据步骤⑴得到的识别参数F,分别从上述获取的每一帧图片中识别出人的头或手在图片中的区域信息,该区域信息包括区域在图片中的二维坐标、长度和宽度;识别过程可以采用常规的OpenCV中的cvHaarDetectObjects函数;
[0021](5)根据上述识别出的区域在图片中的长度和宽度,得到该区域的几何中心点,将该几何中心点记为锚点,重复本步骤,得到每帧图片的锚点;
[0022](6)设前一帧图片的锚点的坐标为(Xpyi),后一帧图片的锚点的坐标为(Di+1,yi+1),计算得到相邻两帧图片的锚点的位移向量Di+1,该向量表示人的头或手的动作的方向和移动的距离,其中i表示图片的序号,序号i从I开始,第i+l帧图片即为第i帧图片的下一帧图片;
[0023](7)分别计算上述位移向量Di+1在图片的二维坐标中与上、下、左、右四个方向的单位向量的四个夹角,将与四个夹角中的最小夹角相对应的方向作为主方向δ?+1;如图1
所示,其中位移向量Di+1与上、下、左、右四个方向的夹角分别为α。α2、03和Ct4,四个夹角大小满足关系a ^aZaZa2t5因此,图1中位移向量Di+1与上方向的夹角最小,于是,上方向将作为Di+1的主方向氐+1;
[0024](8)根据步骤(2)中的计算机操作与参与人机交互的人的头或手的动作之间的—映射关系,得到与方向? +1相对应的计算机操作Ei+1 ;
[0025](9)执行计算机fe作Ei+1。在Windows操作系统中,可以通过操作系统自带的WinUser.h文件中定义的keybd_event函数和mouse_event函数分别对键盘和鼠标进行控制,由此达到对计算机进行控制的目的。在其它操作系统中,可使用相应的执行键盘、鼠标操作的函数进行实现。
[0026]本发明方法可使用多种编程语言开发,例如,使用C++编程语言,并使用开源的计算机视觉库 OpenCV (http: //opencv.0rg/)等。
【权利要求】
1.一种基于摄像头的人机实时交互方法,其特征在于该交互方法包括以下步骤: (1)对参与人机交互的人的头或手的动作进行识别训练,得到一组识别参数F; (2)建立计算机操作与参与人机交互的人的头或手的动作之间的一一映射关系; (3)用摄像头对参与人机交互的人进行拍摄,得到人的头或手的动作的视频,根据一定的采样周期,从视频中获取多帧图片; (4)根据步骤(1)得到的识别参数F,分别从上述获取的每一帧图片中识别出人的头或手在图片中的区域信息,该区域信息包括区域在图片中的二维坐标、长度和宽度; (5)根据上述识别出的区域在图片中的长度和宽度,得到该区域的几何中心点,将该几何中心点记为锚点,重复本步骤,得到每帧图片的锚点; (6)设前一帧图片的锚点的 坐标为(Xi,yi),后一帧图片的锚点的坐标为(xi+1,yi+1),计算得到相邻两帧图片的锚点的位移向量Di+1,该向量表示人的头或手的动作的方向和移动的距离,其中i表示图片的序号,序号i从I开始,第i+Ι帧图片即为第i帧图片的下一帧图片; (7)分别计算上述位移向量Di+1在图片的二维坐标中与上、下、左、右四个方向的单位向量的四个夹角,将与四个夹角中的最小夹角相对应的方向作为主方向岛+1; (8)根据步骤(2)中的计算机操作与参与人机交互的人的头或手的动作之间的--映射关系,得到与方向岛+1相对应的计算机操作Ei+1 ; (9)执行计算机操作Ei+1。
【文档编号】G06F3/01GK104035560SQ201410253564
【公开日】2014年9月10日 申请日期:2014年6月9日 优先权日:2014年6月9日
【发明者】王朝坤, 陈俊 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1