专利名称:基于手部行为捕捉的人机交互方法
技术领域:
本发明涉及利用捕捉手部行为实现人机交互的方法,属于视觉测量技术及计算机 技术领域。
背景技术:
受主流显示设备和应用软件的限制,通常传统的人机交互方式是一种限于二维平 面内的操作。随着立体视觉、虚拟现实、增强现实等概念的提出,用户喜欢更自然的方式, 在更富于想象力的虚拟环境中,与操作对象进行交互作用与相互影响,从而产生“沉浸”于 等同真实环境中的感受和体验,数据手套技术的研究因此得到了发展和应用。数据手套可 以跟踪使用者灵活多变的手势及空间方位,使操作者自然而然地将自己的意识传递给计算 机。国内外已有一些研究机构在数据手套的研发方面做了大量工作,并推出了一些数据手 套产品及其应用。数据手套产品都必须利用较精密的传感器实现数据的测量,所用传感器 的不同,使测量精度和最大采样频率这两项技术指标的差异较大。数据手套本体材料多为 价格昂贵的弹性纤维,并在使用时都需要佩戴在操作者手部,数据手套操作使用过程与计 算机之间用通信线连接,通讯接口采用RS232,最高波特率115. 2kbps。这些数据手套产品 价格昂贵而多用于科研,尚未见民用级产品推出。
发明内容
本发明的目的在于针对传统人机交互方式(传统鼠标)采用二维信息进行人机交 互,不适应于新型的显示技术(如3D投影,三维显示),而数据手套设备复杂、价格昂贵且有 通讯线束缚等不足,提出了一种基于手部行为捕捉的人机交互方式,即视觉鼠标。采用视觉 测量这一非接触测量方式,实现对操作手部特定标记三维信息的获取,并根据标记的坐标 变化实现人机交互,已实现传统鼠标的功能。本发明采用如下的技术方案一种基于手部行为捕捉的人机交互方法,利用摄像头采集贴有标记的手部图像, 将其送入计算机中,在计算机里存储有标记样本参数和摄像头特征参数,包括下列步骤(1)在手的至少两个能够独立活动的部位贴上不同的标记,并将手置于摄像头的 视场内;(2)利用摄像头连续采集包含全部标记的手部图像序列,将其送入计算机中;(3)计算机根据所存储的相应的标记样本参数,探测标记并识别不同标记;(4)根据所采集的手部图像和摄像头特征参数计算被探测到的标记中心点在标记坐标系中的三维坐标;(5)设定一个标记在一个手部图像与其后续的手部图像的坐标值的变化阈值,根 据不同标记坐标改变量是否超出所设定的变化阈值,以及坐标变化的方向,实现对鼠标的 控制。 作为优选实施方式,本发明的基于手部行为捕捉的人机交互方法,其中的步骤(3)包括下列步骤(1)设定二值化阈值,将采集到的手部图像转换成二值图像;(2)对该二值图像作连通域分析,搜索并识别所有具有边缘特征的图像区域;(3)将识别出的各个具有边缘特征的图像区域与各个标记样本参数相比对,识别 出各个不同标记。设在手上贴有标记A和标记B两个不同的标记,所采集的手部图像为手部的平面 图像,其中的步骤(5)包括下列步骤(1)对相邻两帧图像分别计算标记A和标记B的三维坐标值并求得各标记坐标值 的改变量;判断标记A相对于手操作平面的左右方向或前后方向的坐标改变量是否超过所 述的变化阈值,若超过,则调用Windows API函数库中的mouSe_event函数,根据坐标改变 量,控制鼠标在当前位置的基础上的移动方向和移动像素点数。(2)若判定标记A没有移动,则继续判断标记B相对于手操作平面的上下方向坐标 改变量是否超过所述的变化阈值,若超过,则调用Windows API中的mouSe_event函数,控 制鼠标产生右键操作。(3)若判定标记B不进行右键操作,则继续判断标记B在手操作平面上的坐标改变 量是否超过所述的变化阈值,若超过,则调用Windows API函数库中的mouSe_event函数, 控制鼠标产生左键操作。本发明的人机方式采用视觉技术进行三维坐标求取,受摄像头采样速度和程序运 行时间的限制,最高采样频率为15.6Hz。光标控制的精度达到了 2个像素,按键控制的出 错率为4%,可以实现鼠标的光标移动控制和按键控制功能,能够完成对计算机的常规操作 (浏览网页,文件操作等),程序运行占用系统内存为40M。本发明采用三维信息实现了鼠标 的基本功能,具有结构简单、成本低、采用非接触测量摆脱通讯线的束缚等特点。
图1本发明所用标记示意图,(a)手背部标记;(b)食指端标记;图2本发明使用的小孔成像模型示意图;图3本发明实现鼠标控制程序流程图;图4本发明实现鼠标光标定位功能流程图;图5本发明实现鼠标按键控制功能流程图。
具体实施例方式本发明提供了一种采用摄像头代替专用的光纤传感器或者压电传感器的人机交 互方法,能够实现对操作者手部三维信息的获取。只需在手背部和指端粘贴特定标记,采用 非接触信息测量方式,摆脱了手套与通信线的束缚,提高了操作者手部的舒适度和自由度。 本发明已能完成传统的鼠标基本功能,即基于手部行为捕捉的鼠标控制方法,既可以与鼠 标共同使用,也可在没有鼠标的情况下独立使用,完全可以实现对计算机的各类操作,实验 测试效果理想。下面结合附图和实例对本发明作进一步说明。本发明的外围设备由摄像头、特定标记、固定支架、图像数据传输线和计算机组成。选定具有自动对焦功能和卡尔 蔡司镜头,型号为罗技快看迷你高清型的摄像头,技术 参数200万像素CXD图像传感器,采样速度30帧/秒。将摄像头固定在支架上,正对手部 所在操作平面拍摄。所采用的标记如图1所示,两个标记A和B分别粘贴于手背和食指端, 按习惯通常贴于右手。标记特征为为黑色正方形边框类标记,并以标记符中心图案的不同 来区分。手背标记A的尺寸选为边长5cm,食指端标记B边长1. 5cm ;标记A中心图案为圆, 标记B中心图案为直角三角形。
通过实验验证了循迹有效范围(即可以捕获标记情况下摄像机与标记所在平面 的最大距离)与标记尺寸之间的关系。这种人机交互方式对手部标记点的捕捉能力与标记 尺寸的大小关系紧密。采用7Cm、9Cm、llCm和18cm四种不同尺寸的标记,获得不同尺寸参 数下捕获手部标记点的有效范围。通过实验,可以获得如下结论标记尺寸越大,循迹有效 范围越大。但由于受视场影响,二者并不呈线性变化,随着标记尺寸的增大,循迹有效范围 同比增长的越小。由于标记须贴于手掌背部和指端,受限于手背和指端的大小,最后确定标 记A和B的尺寸分别为5cm和1. 5cm,二者均可在25cm的循迹范围内有效的被捕获,由此确 定固定支架的高度为30cm,摄像头距标记所在平面距离为25cm。本发明采用Microsoft viscul c++6. 0这一集成开发环境,通过上述硬件和程序, 实现了鼠标操作的功能。图3为本发明实现鼠标操作的流程图。具体步骤如下(1)程序初始化,包括初始化视频配置,读取标记样本参数和摄像头特征参数。初 始化视频配置包括拍摄图像尺寸、采样帧频和颜色空间,分别配置为640*480、30帧/秒和 RGB 24。(2)获取视频图像,探测标记并识别不同标记样本。利用单摄像头获取包含全部标 记的图像输入到系统中,采用二值化阈值100,将采集到的彩色图像转换成二值图像。对该 二值图像作连通域分析,搜索并识别所有具有正方形边缘特征的图像区域。利用模板匹配 算法,将提取到得图像区域与标记样本库中的标记进行比对,找出匹配度高于设定参数的 区域即认为识别出系统采用的不同标记。(3)计算被探测到的标记中心点在标记坐标系中的三维坐标。通过针孔成像模型, 建立标记坐标系Om-XmYmZm、摄像机坐标系0。-χ。γ。ζ。和摄像机理想屏幕坐标系Ou-XuYu,坐标系 间的相互关系如图4所示。通过标记中心点的理想屏幕坐标(xu,yu)和转换矩阵T。m(标记 坐标系到摄像机坐标系之间的转换矩阵),解算出不同标记中心点在标记坐标系中的三维 坐标(xm,ym,zm) °(4)根据不同标记的坐标值的变化,调用Windows API函数库中的mouse_event 函数,实现对鼠标的控制,光标定位操作的流程如图4所示。记录标记A的三维坐标值并计 算相邻两帧图像坐标值的改变量;判断标记A的χ方向(手操作平面左右方向)和y方向 (手操作平面前后方向)的坐标改变量是否超过阈值10,若超过,则调用Windows API函数 库中的SetCursorPosUvalue,yvalue)函数,控制鼠标在当前位置的基础上的移动方向和 移动像素点数。移动的像素点数与坐标改变量呈线性关系,比例系数可以通过程序设定。(5)若判定标记A没有移动,则继续判断标记B的ζ方向(手操作平面上下方向) 坐标改变量是否超过阈值20,若超过,则调用Windows API函数库中的mousejvent函数, 控制鼠标产生左键操作。若判定标记B不进行左键操作,则继续判断标记B在x-y平面(手 所在操作平面)上的坐标改变量是否超过设定阈值,若超过,则调用Windows API函数库中的mOUSe_event函数,控制鼠标产生右键操作。控制鼠标左右按键操作的流程图如图5所示(6)关闭视频采集,程序结束。最后,通过手部标记点捕捉交互实验,对标记式手部行为捕捉人机交互技术的一 些重要技术参数进行量化,评价该技术实际效果。实验测试得到该技术的最大采样频率为 15. 6Hz,光标控制的精度达到了 2个像素,按键控制的出错率为4%,程序运行占用系统内 存为40M,可以实现鼠标的光标移动控制和按键控制功能,能够完成对计算机的常规操作 (浏览网页,文件操作等)。本发明因系统简单而大大降低了成本,有利于技术的民用商业化普及。与传统的 人机交互设备不同,该人机方式采用空间三维信息来实现交互操作,在立体视觉、虚拟现实 和增强现实等一系列概念不断被提出的情况下,这种人机方式具有更加明显的优势,必将 得到更广泛的应用和更长远的发展。
权利要求
一种基于手部行为捕捉的人机交互方法,利用摄像头采集贴有标记的手部图像,将其送入计算机中,在计算机里存储有标记样本参数和摄像头特征参数,包括下列步骤(1)在手的至少两个能够独立活动的部位贴上不同的标记,并将手置于摄像头的视场内;(2)利用摄像头连续采集包含全部标记的手部图像序列,将其送入计算机中;(3)计算机根据所存储的相应的标记样本参数,探测标记并识别不同标记;(4)根据所采集的手部图像和摄像头特征参数计算被探测到的标记中心点在标记坐标系中的三维坐标;(5)设定一个标记在一个手部图像与其后续的手部图像的坐标值的变化阈值,根据不同标记坐标改变量是否超出所设定的变化阈值,以及坐标变化的方向,实现对鼠标的控制。
2.根据权利要求1所述基于手部行为捕捉的人机交互方法,其特征在于,其中的步骤 (3)包括下列步骤(1)设定二值化阈值,将采集到的手部图像转换成二值图像;(2)对该二值图像作连通域分析,搜索并识别所有具有边缘特征的图像区域;(3)将识别出的各个具有边缘特征的图像区域与各个标记样本参数相比对,识别出各 个不同标记。
3.根据权利要求1所述基于手部行为捕捉的人机交互方法,其特征在于,设在手上贴 有标记A和标记B两个不同的标记,所采集的手部图像为手部的平面图像,其中的步骤(5) 包括下列步骤(1)对相邻两帧图像分别计算标记A和标记B的三维坐标值并求得各标记坐标值的改 变量;判断标记A相对于手操作平面的左右方向或前后方向的坐标改变量是否超过所述的 变化阈值,若超过,则调用Windows API函数库中的mouSe_event函数,根据坐标改变量,控 制鼠标在当前位置的基础上的移动方向和移动像素点数。(2)若判定标记A没有移动,则继续判断标记B相对于手操作平面的上下方向坐标改变 量是否超过所述的变化阈值,若超过,则调用Windows API中的mouSe_event函数,控制鼠 标产生右键操作。(3)若判定标记B不进行右键操作,则继续判断标记B在手操作平面上的坐标改变量是 否超过所述的变化阈值,若超过,则调用Windows API函数库中的mouSe_event函数,控制 鼠标产生左键操作。
全文摘要
本发明属于视觉测量技术及计算机技术领域,涉及一种基于手部行为捕捉的人机交互方法,包括下列步骤在手的两个不同部位贴上特定的标记,并将手置于摄像头的视场内;程序初始化,包括初始化视频配置,读取标记样本库和摄像头参数;获取视频图像,探测标记并识别不同标记样本;计算被探测到的标记中心点在标记坐标系中的三维坐标;根据不同标记的坐标值的变化实现对鼠标的控制。本发明采用三维信息实现了鼠标的基本功能,具有结构简单、成本低、采用非接触测量摆脱通讯线的束缚等特点。这一发明可以用于立体视觉、虚拟现实和增强现实系统中,开发民用级产品,也为开发新型的人机交互方式和控制模式提供一种新技术。
文档编号G06F3/01GK101799717SQ20101011844
公开日2010年8月11日 申请日期2010年3月5日 优先权日2010年3月5日
发明者何明霞, 宁福星, 李萌 申请人:天津大学