基于手势的人机交互方法及系统的制作方法

文档序号:6332353阅读:128来源:国知局
专利名称:基于手势的人机交互方法及系统的制作方法
技术领域
本发明涉及计算机技术领域,特别涉及一种基于手势的人机交互方法及系统。
背景技术
现有的计算机等处理设备的人机交互方式一般为鼠标、键盘、显示器。但是随着技术的发展,人们希望能够有更为方便、快捷的人机交互方式。因此,语音、手写笔等人机交互方式应运而生。在实现本发明的过程中,发明人发现现有技术至少存在以下问题语音输入的方式在文字输入时可以降低输入难度,但是在图形化界面中的应用则受到了很多限制。同样的,手写笔的方式在输入汉字时虽然有一定有事,但是在图形化界面中的使用方便程度还不如鼠标。

发明内容
为了解决现有技术中计算机等处理设备的语音、手写笔等人机交互方方式无法适用于图形化界面的问题,本发明实施例提出了一种基于手势的人机交互方法及系统,所述技术方案如下本发明实施例提出了一种基于手势的人机交互方法,包括获取用户的视频流中的图片;获取前景中三个或三个以上预设的色块的坐标;根据第一色块的坐标模拟鼠标的移动,并根据其他色块的坐标模拟鼠标的点击操作。作为上述技术方案的优选,所述获取用户的视频流,并获取视频流中的图片包括通过摄像头获取用户的视频流,并提取视频流中的连续图片;或间隔一预设值提取视频流中的断续图片。作为上述技术方案的优选,所述获取用户的视频流,并获取视频流中的图片包括通过摄像头获取用户的视频流,并提取视频流中的连续图片;或间隔一预设值提取视频流中的断续图片。作为上述技术方案的优选,所述方法还包括建立背景模型,以生成掩码图像,并通过掩码图像去除所述图片的背景;获取预设置的第一色块、第二色块、第三色块模板,并所述图片生成所述每一色块的直方图;根据所述每一色块的直方图计算每一色块的概率分布图;获取所述概率分布图中所述每一色块的质心,以获取所述三个色块的坐标。作为上述技术方案的优选,所述根据其他色块的坐标模拟鼠标的点击操作包括
获取所述第二色块与第三色块坐标之间的直线距离;判断所述直线距离是否小于预设阈值,如果是则模拟所述鼠标左键被按下;如果否则模拟所述鼠标左键被松开。作为上述技术方案的优选,所述获取预设置的三个色块模板包括在手指上套接三个不同颜色的指套,并将所述指套的颜色作为色块模板进行存储。本发明实施例还提出了一种基于手势的人机交互系统,包括获取模块,用于获取用户的视频流中的图片;定位模块,用于获取前景中三个或三个以上预设的色块的坐标;转换模块,用于根据第一色块的坐标模拟鼠标的移动,并根据其他色块的坐标模拟鼠标的点击操作。作为上述技术方案的优选,所述获取模块通过摄像头获取用户的视频流,并提取视频流中的连续图片;或间隔一预设值提取视频流中的断续图片。作为上述技术方案的优选,所述定位模块包括背景分割单元,用于建立背景模型,以生成掩码图像,并通过掩码图像去除所述图片的背景;直方图单元,用于获取预设置的第一色块、第二色块、第三色块模板,并所述图片生成所述每一色块的直方图;概率分布图单元,用于根据所述每一色块的直方图计算每一色块的概率分布图;色块定位单元,用于获取所述概率分布图中所述每一色块的质心,以获取所述三个色块的坐标。作为上述技术方案的优选,所述转换模块包括获取所述第二色块与第三色块坐标之间的直线距离;判断所述直线距离是否小于预设阈值,如果是则模拟所述鼠标左键被按下;如果否则模拟所述鼠标左键被松开。作为上述技术方案的优选,还包括设置于手指上的三个不同颜色的指套,并将所述指套的颜色作为色块模板进行存储。本发明实施例提供的技术方案的有益效果是本发明实施例中可以通过对获取的用户视频流进行处理以获取多个预设的色块的坐标,并根据多个色块的坐标模拟鼠标操作。这样现有的计算机等处理设备可以通过非常简单的方式即可扩展为可以基于手势进行人机交互,无需触摸屏即可实现模拟触摸控制的效果。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例中使用的附图作一简单地介绍,显而易见地,下面所列附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明第一实施例的流程示意图;图2为本发明第二实施例的流程示意图;图3为本发明第三实施例的结构示意图;图4为本发明第四实施例的结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本发明实施例的设计思路是通过提取用户的视频,以获取用户手部移动模拟鼠标操作。可以通过预先获取三个手指对应的色块模板,并通过对获取的视频进行处理以获取三个手指的位置。其中一个手指可以模拟鼠标的移动操作,另外两个手指模拟鼠标的点击操作。由于Intel公司的OpenCV给出了开放源代码的图像处理代码库,因此可以通过 OpenCV代码进行编程。以下通过具体的实例对本发明实施例进行具体说明。实施例1本发明实施例提出了一种基于手势的人机交互方法,其流程如图1所示,包括步骤101、获取用户的视频流,并获取视频流中的图片;步骤102、获取前景中三个或三个以上预设的色块的坐标;步骤103、根据第一色块的坐标模拟鼠标的移动,并根据其他色块的坐标模拟鼠标的点击操作。本发明实施例中可以通过对获取的用户视频流进行处理以获取多个预设的色块的坐标,并根据多个色块的坐标模拟鼠标操作。这样现有的计算机等处理设备可以通过非常简单的方式即可扩展为可以基于手势进行人机交互,无需触摸屏即可实现模拟触摸控制的效果。实施例2本发明第二实施例是在第一实施例的基础上改进而来,其流程如图2所示,包括步骤201、通过摄像头获取用户的视频流,并提取视频流中的图片。其中,提取的图片可以为连续的图片,也可以为断续的图片。由于使用者的手部移动速率不会太高,因此无需对视频流中的每一张图片都进行处理,这样也可以降低系统的处理开销。当然,对于需要比较精确的环境下,可以对视频流中的每一图片都进行处理,本发明实施例并不以此为限。步骤202、对每一图片进行处理,以去除图片中的背景,获取前景。由于现有的办公、家庭使用环境中,视频的背景变化比较小,因此在视频流中非常容易可以确定背景。因此步骤202可以具体为步骤2021、通过Code Book算法建立背景模型,以生成掩码图像;该掩码图像可以为尺寸与该图片相同,并用白色代表前景,黑色代表背景;步骤2022、通过该掩码图像与该图片进行匹配以去除对应的图像,该掩码图像可以为一个然后通过该背景模型对每一图片的背景进行去除,以获取前景。当然,通过Code Book算法获取前景只是实现本发明实施例的一种方式,本发明实施例并不以此为限。步骤203、根据预设置的色块模板,获取每一预设色块对应的直方图。在本发明实施例中,是通过一只手的一个手指的移动模拟鼠标的移动;并通过另一只手的两个手指模拟鼠标左键点击。因此,需要同时追踪至少三个预设色块。进一步的,为了更便于区分该三个色块,可以在使用者的手指上套接三个不同颜色且易于区分的色套,并将这三个色套的颜色作为色块模板存储起来。这样可以简化系统的计算过程。在本发明的一个实施例中,设计图像处理的代码可以使用htel公司的OpenCV。 OpenCV是htel公司资助开源计算机视觉库,对商业及非商业应用都是免费开放源代码的。采用OpenCV中的直方图函数,可以非常方便的计算出前景的直方图。其中,OpenCv的一系列直方图函数封装到了类DenseHistogram里面,可以用方法Calculate方便的计算图像的直方图。颜色直方图是在许多图像检索系统中被广泛采用的颜色特征,用于描述不同色彩在整幅图像中所占的比例,颜色直方图特别适于描述那些难以进行自动分割的图像。通过对上述的三个色块分别执行以下操作,以确定三个色块对应的手指的位置以及鼠标的点击操作。即,所述步骤203具体为步骤204、获取步骤201中获取的图片,以及步骤203获得的三个色块的直方图; 通过Back Projection(反向投射)算法计算出每一色块的概率分布图。通过直方图获取概率分布图为成熟的现有技术,在此不再赘述。步骤205、对获取的概率分布图进行处理以是所述概率分布图更为优化。这是由于步骤204所获取的概率分布图中会存在噪音、锯齿等,因此在步骤205中需要对图像进行去噪、平滑处理等,以使得到的色块更为准确。即步骤205具体包括步骤2051、所述概率分布图进行腐蚀操作以去除噪音;步骤2052、对所述概率分布图进行高斯平滑处理,并进行阈值分割以优化后的概率分布图。其中,图像阈值分割是指设置一预设的阈值,当图像像素点小于阈值时则认为是前景;当图像像素点小于阈值时则认为是背景。步骤206、通过CAMShift(Continuously Apative Mean-Shift,连续自适应均值平移)算法跟踪概率分布图的质心,以得到上述三个色块的中心点坐标。其中,CAMShift算法是成熟的运动跟踪算法。它主要通过视频图像中运动物体的颜色信息来达到跟踪的目的。通过Back !Projection算法将原始图像转化成色彩概率分布图像后,就可以根据CAMShift算法计算出三个色块的中心点坐标。步骤207、根据获得的三个色块的中心点坐标转化为鼠标操作信息。即在获取了了三个色块的中心点坐标后,首先将第一色块的坐标转换为鼠标的坐标,然后将第二色块和第三色块之间的位置确定鼠标左键的操作。例如可以通过第二色块和第三色块之间的距离模拟鼠标左键操作,当第二色块与第三色块之间的距离小于预设值时,则确定左键被按下;当当第二色块与第三色块之间的距离小于预设值时,则确定左键被放开。本发明实施例的方法,可以通过OpenCV的开放源代码的代码库,将手势中的第一色块转换为鼠标的坐标,并将第二色块和第三色块转换为鼠标按键的操作。这样可以通过简单的方式实现通过手势进行人机交互操作。当然,采用三个色块只是本发明实施例的一种方式,本发明实施例并不对此做出限定。实施例3本发明实施例提出了一种基于手势的人机交互系统,其结构如图3所示,包括
获取模块1,用于获取用户的视频流,并获取视频流中的图片;定位模块2,用于获取前景中三个或三个以上预设的色块的坐标; 转换模块3,根据第一色块的坐标模拟鼠标的移动,并根据其他色块的坐标模拟鼠标的点击操作。本发明实施例中可以通过对获取的用户视频流进行处理以获取多个预设的色块的坐标,并根据多个色块的坐标模拟鼠标操作。这样现有的计算机等处理设备可以通过非常简单的方式即可扩展为可以基于手势进行人机交互,无需触摸屏即可实现模拟触摸控制的效果。实施例4本发明第四实施例是在第三实施例的基础上改进而来,其结构如图3所示,包括获取模块1,用于通过摄像头获取用户的视频流,并提取视频流中的图片。其中,提取的图片可以为连续的图片,也可以为断续的图片。由于使用者的手部移动速率不会太高,因此无需对视频流中的每一张图片都进行处理,这样也可以降低系统的处理开销。当然,对于需要比较精确的环境下,可以对视频流中的每一图片都进行处理,本发明实施例并不以此为限。定位模块2,用于去除图片中的背景,并获取前景中三个预设的色块的坐标。其中, 该坐标模块2可以具体包括背景分割单元21,用于对每一图片进行处理,以去除图片中的背景,获取前景。由于现有的办公、家庭使用环境中,视频的背景变化比较小,因此在视频流中非常容易可以确定背景。因此背景分割单元21可以具体为掩码图像子单元211,用于通过Code Book算法建立背景模型,以生成掩码图像; 该掩码图像可以为尺寸与该图片相同,并用白色代表前景,黑色代表背景;去除子单元212,用于通过该掩码图像与该图片进行匹配以去除对应的图像,该掩码图像可以为一个然后通过该背景模型对每一图片的背景进行去除,以获取前景。当然,通过Code Book算法获取前景只是实现本发明实施例的一种方式,本发明实施例并不以此为限。直方图单元22,用于根据预设置的色块模板,获取每一预设色块对应的直方图。在本发明实施例中,是通过一只手的一个手指的移动模拟鼠标的移动;并通过另一只手的两个手指模拟鼠标左键点击。因此,需要同时追踪至少三个预设色块。进一步的,为了更便于区分该三个色块,可以在使用者的手指上套接三个不同颜色且易于区分的色套,并将这三个色套的颜色作为色块模板存储起来。这样可以简化系统的计算过程。在本发明的一个实施例中,设计图像处理的代码可以使用htel公司的OpenCV。 OpenCV是htel公司资助开源计算机视觉库,对商业及非商业应用都是免费开放源代码的。采用OpenCV中的直方图函数,可以非常方便的计算出前景的直方图。其中,OpenCv的一系列直方图函数封装到了类DenseHistogram里面,可以用方法Calculate方便的计算图像的直方图。颜色直方图是在许多图像检索系统中被广泛采用的颜色特征,用于描述不同色彩在整幅图像中所占的比例,颜色直方图特别适于描述那些难以进行自动分割的图像。
通过对上述的三个色块分别执行以下操作,以确定三个色块对应的手指的位置以及鼠标的点击操作。即,所述步骤203具体为概率分布图单元23,用于根据该获取模块1获取的图片,以及该直方图模块22获取的三个色块的直方图;通过Back Projection(反向投射)算法计算出每一色块的概率分布图。通过直方图获取概率分布图为成熟的现有技术,在此不再赘述。修正单元M,用于对获取的概率分布图进行处理以是所述概率分布图更为优化。这是由于概率分布图单元23所获取的概率分布图中会存在噪音、锯齿等,因此修正单元M中需要对图像进行去噪、平滑处理等,以使得到的色块更为准确。即修正单元对具体包括去噪子单元,用于对所述概率分布图进行腐蚀操作以去除噪音;平滑子单元,用于对所述概率分布图进行高斯平滑处理,并进行阈值分割以优化后的概率分布图。其中,图像阈值分割是指设置一预设的阈值,当图像像素点小于阈值时则认为是前景;当图像像素点小于阈值时则认为是背景。色块定位单元25,用于通过 CAMShift (Continuously Apative Mean-Shift,连续自适应均值平移)算法跟踪概率分布图的质心,以得到上述三个色块的中心点坐标。其中,CAMShift算法是成熟的运动跟踪算法。它主要通过视频图像中运动物体的颜色信息来达到跟踪的目的。通过Back !Projection算法将原始图像转化成色彩概率分布图像后,就可以根据CAMShift算法计算出三个色块的中心点坐标。转换模块3,用于根据获得的三个色块的中心点坐标转化为鼠标操作信息。即在获取了了三个色块的中心点坐标后,首先将第一色块的坐标转换为鼠标的坐标,然后将第二色块和第三色块之间的位置确定鼠标左键的操作。例如可以通过第二色块和第三色块之间的距离模拟鼠标左键操作,当第二色块与第三色块之间的距离小于预设值时,则确定左键被按下;当当第二色块与第三色块之间的距离小于预设值时,则确定左键被放开。本发明实施例的方法,可以通过OpenCV的开放源代码的代码库,将手势中的第一色块转换为鼠标的坐标,并将第二色块和第三色块转换为鼠标按键的操作。这样可以通过简单的方式实现通过手势进行人机交互操作。当然,采用三个色块只是本发明实施例的一种方式,本发明实施例并不对此做出限定。本发明实施例第三和第四实施例的系统,与前述的第一和第二实施例的方法构思和原理相同,因此在第三和第四实施例中对与第一和第二实施例中相同的部分不再赘述。本发明实施例所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于手势的人机交互方法,其特征在于,包括 获取用户的视频流中的图片;获取前景中三个或三个以上预设的色块的坐标;根据第一色块的坐标模拟鼠标的移动,并根据其他色块的坐标模拟鼠标的点击操作。
2.根据权利要求1所述的基于手势的人机交互方法,其特征在于,所述获取用户的视频流,并获取视频流中的图片包括通过摄像头获取用户的视频流,并提取视频流中的连续图片;或间隔一预设值提取视频流中的断续图片。
3.根据权利要求2所述的基于手势的人机交互方法,其特征在于,所述获取前景中三个或三个以上预设的色块的坐标包括建立背景模型,以生成掩码图像,并通过掩码图像去除所述图片的背景; 获取预设置的第一色块、第二色块、第三色块模板,并所述图片生成所述每一色块的直方图;根据所述每一色块的直方图计算每一色块的概率分布图;获取所述概率分布图中所述每一色块的质心,以获取所述三个色块的坐标。
4.根据权利要求3所述的基于手势的人机交互方法,其特征在于,所述根据其他色块的坐标模拟鼠标的点击操作包括获取所述第二色块与第三色块坐标之间的直线距离;判断所述直线距离是否小于预设阈值,如果是则模拟所述鼠标左键被按下;如果否则模拟所述鼠标左键被松开。
5.根据权利要求4所述的基于手势的人机交互方法,其特征在于,所述获取预设置的三个色块模板包括在手指上套接三个不同颜色的指套,并将所述指套的颜色作为色块模板进行存储。
6.一种基于手势的人机交互系统,其特征在于,包括 获取模块,用于获取用户的视频流中的图片;定位模块,用于获取前景中三个或三个以上预设的色块的坐标; 转换模块,用于根据第一色块的坐标模拟鼠标的移动,并根据其他色块的坐标模拟鼠标的点击操作。
7.根据权利要求6所述的基于手势的人机交互系统,其特征在于,所述获取模块通过摄像头获取用户的视频流,并提取视频流中的连续图片;或间隔一预设值提取视频流中的断续图片。
8.根据权利要求7所述的基于手势的人机交互系统,其特征在于,所述定位模块包括 背景分割单元,用于建立背景模型,以生成掩码图像,并通过掩码图像去除所述图片的进旦冃足;直方图单元,用于获取预设置的第一色块、第二色块、第三色块模板,并所述图片生成所述每一色块的直方图;概率分布图单元,用于根据所述每一色块的直方图计算每一色块的概率分布图; 色块定位单元,用于获取所述概率分布图中所述每一色块的质心,以获取所述三个色块的坐标。
9.根据权利要求8所述的基于手势的人机交互系统,其特征在于,所述转换模块用于获取所述第二色块与第三色块坐标之间的直线距离;判断所述直线距离是否小于预设阈值,如果是则模拟所述鼠标左键被按下;如果否则模拟所述鼠标左键被松开。
10.根据权利要求9所述的基于手势的人机交互系统,其特征在于,还包括 设置于手指上的三个不同颜色的指套,并将所述指套的颜色作为色块模板进行存储。
全文摘要
本发明提出了一种基于手势的人机交互方法和系统,属于计算机技术领域。本发明实施例的系统包括获取模块、定位模块、转换模块;本发明实施例的方法包括获取用户的视频流,并获取视频流中的图片;去除图片中的背景,并获取前景中三个或三个以上预设的色块的坐标;根据第一色块的坐标模拟鼠标的移动,并根据其他色块的坐标模拟鼠标的点击操作。本发明实施例中可以通过对获取的用户视频流进行处理以获取多个预设的色块的坐标,并根据多个色块的坐标模拟鼠标操作。这样现有的计算机等处理设备可以通过非常简单的方式即可扩展为可以基于手势进行人机交互,无需触摸屏即可实现模拟触摸控制的效果。
文档编号G06F3/01GK102402279SQ20101028701
公开日2012年4月4日 申请日期2010年9月17日 优先权日2010年9月17日
发明者岳帅, 程童 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1