一种基于指尖定位的投影交互方法、系统及计算设备与流程

文档序号:12040050阅读:184来源:国知局
一种基于指尖定位的投影交互方法、系统及计算设备与流程
本发明属于计算机处理领域,尤其涉及一种基于指尖定位的投影交互方法、系统及计算设备。

背景技术:
随着科技的发展,相机和投影逐渐走入了平常百姓的生活,投影目前应用于各个方面,如教学、各种会议等。通过投影和相机来进行手势的自动识别成为目前的研究热点,通过手势的自动识别,达到了更好的人机交互,使得投影的使用更加方便。虽然综合运用视觉、听觉、触觉、嗅觉、味觉等多通道人机交互技术越来越多地得到应用,然而,双手作为虚拟现实系统中重要的动作与感知关系模型,其在虚拟现实系统依然起着不可代替的作用。目前,触摸屏作为一种最新的电脑输入设备,它是目前最简单、方便、自然的一种人机交互方式。它赋予了多媒体以崭新的面貌,是极富吸引力的全新多媒体交互设备。随着科技的进步,投影仪的使用也越来越广泛,培训会议,课堂教学,电影院等等。投影仪的使用简便,它可以将任意一个平面变成一个显示屏。在中国国家知识产权局专利检索网站上检索发现目前基于视觉的投影交互系统基本都是基于辅助光定位的。专利200910190517.0公开了一种基于手指的投影交互方法,该发明通过手的颜色和形状等信息在视频文件中提取出手指的轮廓,并记录手指的运动轨迹,然后将手指的运动轨迹和预先定义好的指令库中的指令对比,来判断所属操作轨迹属于何种操作指令,达到人机交互的目的。专利200910197516.9公开了一种用于交互式演示系统中的手指识别方法,用于与摄像机投影的交互式演示系统中通过手指的识别确定用户的操作行为。为了对图像中的手势进行识别,首先要进行的是目标的分割,由于背景的复杂性与应用环境的多样性,手臂的目标分割一直是一个难点。在投影交互系统中,由于投影仪光线的照射,人的手臂可能会呈现出不同的颜色,投影画面中也有可能包含人手,这都给分割手臂带来了困难,现在的技术方案在遇到以上问题时都会发生错误检测。另外,现有技术方案都没有给出手指是否接触屏幕的判断。利用手指的运动轨迹进行交互,不可避免的会有一定时间的延时,限制了它的应用。

技术实现要素:
本发明的目的在于提供一种基于指尖定位的投影交互方法、系统及计算设备,旨在解决现有技术中存在的在投影交互系统中,由于投影仪光线的照射,人的手臂可能会呈现出不同的颜色,投影画面中也有可能包含人手,这都给分割手臂带来了困难,都会发生错误检测;另外,现有技术方案都没有给出手指是否接触屏幕的判断,利用手指的运动轨迹进行交互,不可避免的会有一定时间的延时,限制了它的应用的问题。本发明是这样实现的,一种基于指尖定位的投影交互方法,所述方法包括以下步骤:计算设备接收摄像机捕捉的投影屏幕上面的图像;通过计算机视觉的方法分析所述图像上面是否有人手;如果分析出有人手,则进一步利用三角测量的方法计算所述人手的指尖在图像上的三维位置;根据所述指尖在图像上的三维位置,计算指尖到投影屏幕的距离;根据计算出的距离来判断手指是否接触投影屏幕;如果判断出接触投影屏幕,则根据计算出的指尖位置定位鼠标位置,模拟触摸屏的输入。本发明的另一目的在于提供一种基于指尖定位的投影交互系统,所述系统包括:接收模块,用于接收摄像机捕捉的投影屏幕上面的图像;人手分析模块,用于通过计算机视觉的方法分析所述图像上面是否有人手;位置计算模块,用于如果分析出有人手,则进一步利用三角测量的方法计算所述人手的指尖在图像上的三维位置;距离计算模块,用于根据所述指尖在图像上的三维位置,计算指尖到投影屏幕的距离;判断模块,用于根据计算出的距离来判断手指是否接触投影屏幕;模拟模块,用于如果判断出接触投影屏幕,则根据计算出的指尖位置定位鼠标位置,模拟触摸屏的输入。本发明的另一目的在于提供一种包括上面所述的基于指尖定位的投影交互系统的计算设备。在本发明中,投影仪作为输出设备将计算机中的图像投射到投影屏幕上,然后通过摄像机捕捉投影屏幕上面的画面,通过计算机视觉的方法分析图像上面是否有人手,然后从图像上分离出人手,然后找出指尖在图像中的位置,之后计算指尖到屏幕的距离来判断手指是否接触屏幕,然后根据计算出的指尖位置定位鼠标位置,模拟触摸屏的输入,实现人机交互的目的。解决了现有技术中存在的在投影交互系统中,由于投影仪光线的照射,人的手臂可能会呈现出不同的颜色,投影画面中也有可能包含人手,这都给分割手臂带来了困难,都会发生错误检测;另外,现有技术方案都没有给出手指是否接触屏幕的判断,利用手指的运动轨迹进行交互,不可避免的会有一定时间的延时,限制了它的应用的问题,本发明满足了交互过程中实时性的要求。附图说明图1是本发明实施例提供的基于指尖定位的投影交互方法的实现流程示意图。图2是本发明实施例提供的投影仪图像与摄像机图像的对应关系的示意图。图3是本发明实施例提供的通过寻找棋盘格角点建立对应关系的示意图。图4是本发明实施例提供的三角测量的示意图。图5是本发明实施例提供的基于指尖定位的投影交互系统的结构示意图。具体实施方式为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。在本发明实施例中,采用“估计图像”的方法进行手臂的提取,然后利用投影仪与摄像机构成的主动视觉系统,利用三角测量的原理计算手指到屏幕的距离,判断手指是否接触屏幕,并将鼠标光标定位到指尖的位置,实现触摸屏的功能。本发明实施例克服了投影光线照射对目标分割的影响。具体实现为:主要包括摄像机、投影仪、计算设备以及投影屏幕(可以是墙壁,白板或者其他平面)。投影仪作为输出设备将计算机中的图像投射到投影屏幕上,然后通过摄像机捕捉投影屏幕上面的画面,通过计算机视觉的方法分析图像上面是否有人手,然后从图像上分离出人手,然后找出指尖在图像中的位置,之后计算指尖到屏幕的距离来判断手指是否接触屏幕,然后根据计算出的指尖位置定位鼠标位置,模拟触摸屏的输入,实现人机交互的目的。请参阅图1,为本发明实施例提供的基于指尖定位的投影交互方法的实现流程,其主要包括以下步骤:在步骤S101中,计算设备接收摄像机捕捉的投影屏幕上面的图像;在步骤S102中,通过计算机视觉的方法分析所述图像上面是否有人手;在本发明实施例中,所述步骤S102具体为:在步骤S1021中,获取投影仪输出的投射在投影屏幕上面的图像;在步骤S1022中,将所述投影仪输出的投射在投影屏幕上面的图像与摄像机捕捉的投影屏幕上面的图像进行对比;在步骤S1023中,如果对比出存在差异,则结合人手特征信息来判断摄像机捕捉的投影屏幕上面的图像上是否有人手。在本发明实施例中,使用计算机视觉的方法寻找检测人手有很多种方法,最常见的是利用手部的颜色和形状进行检测,然而在投影交互系统中利用肤色进行检测有两大弊端:一是投影仪发出的光线照射在手臂上时会改变手臂的颜色,给检测带来困难;二是当投影画面本身包含人手时,会造成错误检测。在投影仪和摄像机组成的系统中,有一个非常重要的信息可以利用:计算机可以获取投影投射出的画面,因此,计算机可以对摄像机读取的图像进行一个估计。如果投影画面上没有手臂遮挡,那么摄像机读取的图像应该和计算机估计出的图像很相近,如果投影画面的某个位置被手臂遮挡,则摄像机实际读取的图像和计算机估计出的图像在手臂遮挡的部位会有较大的不同,根据这个信息,可以不受投影仪画面干扰,准确的找到手臂的位置。本发明实施例的关键在于要准确的估计出摄像机读取的图像,这需要下面的两个步骤:几何位置的标定为了估计摄像机读取的图像,需要在投影图像和摄像机之间建立一种对应关系。从一个平面到另一个平面的映射关系可以通过一个3×3矩阵H表示。如图2所示,投影画面平面的abc三点分别对应摄像机图像平面内的a'b'c'三点。为了计算转移矩阵H,需要在投影仪图像和摄像机图像上找出若干对应点。本发明实施例采用以下步骤:1、控制投影仪投射出一个棋盘格图像。2、通过摄像机捕捉投影图像,并分别检测投影仪输出的图像与摄像机捕捉到的图像的角点。3、通过对应的角点,计算转移矩阵H。如图3所示,分别检测出投影仪输出的图像的角点与摄像机捕捉到的图像的角点,然后计算矩阵H。假设P为投影仪输出的图像上的任意一点,P’为摄像机图像上的对应点,则P'=H*P。颜色的标定对于投影仪输出的图像上的一点P,通过上面计算出的转移矩阵,可以知道它在摄像机图像上对应的位置,为了达到估计图像的目的,还需要知道这一点在摄像机图像上的像素值是多少。因为投影仪投射出的光线不是均匀光线,即使纯色的图像经过投影仪成像也会表现出不同的像素值,即便投影仪投射出的是均匀光线,因为摄像机镜头采光不均匀的原因,摄像机读取图像的像素值在图像的不同位置也是不同的,所以颜色的标定不仅与像素值有关还应该与位置有关。本发明实施例使用如下步骤进行颜色标定:10、将图像的0-255的RGB像素值量化到10×10×10=1000种颜色的空间;20、将每一个量化过的颜色投影在屏幕上,同时用摄像机进行捕捉;30、将投影屏幕划分为64×48=3072个小块,分别计算每幅图像的RGB通道像素值在每一个小块内的均值和方差V。这样就为这1000种颜色在3072个小块上建立了一个表格,这样就可以通过如下步骤进行图像的估计:A、计算机获取当前投影仪图像,按照同样的方法将其量化到10×10×10的颜色空间;B、根据每个像素点的位置和像素值查表找到对应的小块的均值作为像素值。通过上面的步骤,就可以通过投影仪输出的图像来预先估计出摄像机读取的图像,然后通过分析估计图像与实际读取图像的差异来检测手臂。手臂提取通过上面的步骤,获得了估计图像与实际读取图像,接下来的任务就是要分析这两幅图像找出手臂在摄像机读取图像中的位置。假设计算机图像中有一点(x,y),经过投影仪成像后亮度变为P,摄像机的颜色转移关系用C表示,屏幕的反射率用A表示,在摄像机成像的图像上的像素值用I表示,则有如下关系成立:I=C×A×P(1);人手的反射率用A'表示,摄像机实际读取的像素值用I'表示,则有I'=C×A'×P。用a=A'/A表示反射率的变化。通过下面的(2)式来计算每个像素点(x,y)的RGB三个颜色通道在不同位置的反射率的变化。a[x,y,c]=A′A=I′[x,y,c]I[x,y,c]---(2)]]>假设反射率A的噪声服从一个均值为零,方差为V/I的高斯分布,我们使用如下的决策规则来判断一个像素点(x,y)在手臂区域。1-a[x,y,R]+a[x,y,G]+a[x,y,B]3>V[x,y,R]+V[x,y,G]+V[x,y,B]I[x,y,R]+I[x,y,G]+I[x,y,B]---(3)]]>采用以上方式即使投影图像上本来包含人手,也可以避免投影图像中人手的干扰,此方法不仅可以用于静态背景,还可以应用于动态背景,如投影仪正在播放视频时,也可以正常进行手臂检测。在步骤S103中,如果分析出有人手,则进一步利用三角测量的方法计算所述人手的指尖在图像上的三维位置;在本发明实施例中,在所述计算所述人手的指尖在图像上的三维位置的步骤之前,还包括:定位指尖位置。在本发明实施例中,提取出手臂之后,下面的任务是要找到指尖在图像中的位置,寻找指尖的方法有很多种,如通过计算轮廓的近似K曲率,根据指尖点处K曲率取极值求出指尖位置。本发明实施例通过以下步骤寻找指尖:步骤S1031、找出最大轮廓并填充此轮廓,这样就得到了没有噪声的手臂前景图像;步骤S1032、计算轮廓的凸包;步骤S1033、计算手臂重心位置,在凸包上找出曲率最大的几个候选点;步骤S1034、把距离重心位置最远的候选点作为指尖。在步骤S104中,根据所述指尖在图像上的三维位置,计算指尖到投影屏幕的距离;在步骤S105中,根据计算出的距离来判断手指是否接触投影屏幕;在步骤S106中,如果判断出接触投影屏幕,则根据计算出的指尖位置定位鼠标位置,模拟触摸屏的输入。在本发明实施例中,在找到指尖位置之后,我们下一步要做的工作是,计算出指尖的空间三维坐标点,从而判断是否有鼠标点击事件。根据立体几何原理,我们首先要做的工作是进行投影仪和摄像机的标定。准确而简单的标定过程是投影仪与摄像机构成主动视觉系统进行三维测量的关键所在,标定摄像机方法已经很成熟,本发明实施例使用张正友的标定方法。标定摄像机只需要使用一个平面棋盘格。下面的研究重点是如何标定投影仪。投影仪的成像和摄像机一样也可以用针孔模型描述,所以也可以用内部参数和外部参数的方法表示。我们把投影仪成像过程看成是摄像机成像的逆过程,就可以用标定摄像机的方法来标定投影仪。只要找到投影图像三维坐标点与投影图像的二维点之间的对应关系就可以求解出投影仪的内部参数与外部参数。采用如下步骤来标定投影仪:1)标定摄像机2)准备一个白板,白板上贴有一个纸质棋盘格3)控制投影仪投射出一个棋盘格照射在白板上4)分别提取两个棋盘格的角点5)根据纸质棋盘格角点计算出白板所在平面6)使用标定好的摄像机计算出投影棋盘格角点的三维坐标7)结合角点三维坐标点和投影仪的投射的原始图像计算投影仪内部参数与外部参数在求解得到投影仪和摄像机的参数之后,我们可以利用三角测量的方法计算指尖的三维位置,如图4所示,是三角测量的示意图。利用相似三角形可以很容易推导出Z值。如图可知:T-(xl-xr)Z-f=TZ=>Z=fTxl-xr---(4)]]>利用三角测量的原理,我们还可以轻松的计算出摄像机距离投影屏幕的距离,从而可以推算出手指距离屏幕的距离,如果手指距离屏幕的距离小于某一特定阈值,就认为有点击事件发生。通过指尖在屏幕中的位置,以及之前的几何标定,我们可以将鼠标光标定位至指尖处,并模拟鼠标点击事件。实现人机交互,这样就达到了将任意一个投影平面变为一个触摸屏的目的。请参阅图5,为本发明实施例提供的基于指尖定位的投影交互系统的结构。为了便于说明,仅示出了与本发明实施例相关的部分。所述基于指尖定位的投影交互系统包括:接收模块101、人手分析模块102、位置计算模块103、距离计算模块104、判断模块105、以及模拟模块106。所述基于指尖定位的投影交互系统可以是内置于计算设备中的软件单元、硬件单元或者是软硬件结合的单元。接收模块101,用于接收摄像机捕捉的投影屏幕上面的图像;人手分析模块102,用于通过计算机视觉的方法分析所述图像上面是否有人手;位置计算模块103,用于如果分析出有人手,则进一步利用三角测量的方法计算所述人手的指尖在图像上的三维位置;距离计算模块104,用于根据所述指尖在图像上的三维位置,计算指尖到投影屏幕的距离;判断模块105,用于根据计算出的距离来判断手指是否接触投影屏幕;模拟模块106,用于如果判断出接触投影屏幕,则根据计算出的指尖位置定位鼠标位置,模拟触摸屏的输入。作为本发明一优选实施例,人手分析模块102具体包括:获取模块、对比模块、人手判断模块。获取模块,用于获取投影仪输出的投射在投影屏幕上面的图像;对比模块,用于将所述投影仪输出的投射在投影屏幕上面的图像与摄像机捕捉的投影屏幕上面的图像进行对比;人手判断模块,如果对比出存在差异,则结合人手特征信息来判断摄像机捕捉的投影屏幕上面的图像上是否有人手。作为本发明另一优选实施例,所述系统还包括:定位模块。定位模块,用于定位指尖位置。作为本发明另一优选实施例,所述系统还包括:填充模块、凸包计算模块,候选点确定模块、以及指尖定位模块。填充模块,用于找出最大轮廓并填充此轮廓;凸包计算模块,用于计算轮廓的凸包;候选点确定模块,用于计算手臂重心位置,在凸包上找出曲率最大的几个候选点;指尖定位模块,用于把距离重心位置最远的候选点作为指尖。综上所述,本发明实施例首先从复杂背景中提取出人手。从复杂背景中提取人手就是从整幅图像中将对应的人手部分提取出来,它涉及到图像的分割和对人手区域判别两个问题。分割图像一般属于是低层次的特征提取,主要利用了人手的几何信息、颜色信息和运动信息。其中,几何信息包括人手的形状、轮廓等等;运动信息指的是人手的运动轨迹。人手区域的提取为后面精确的定位指尖位置奠定了基础,通常可以采用灰度阈值法、边缘检测算子法、差分法等方法来实现。本发明实施例中,为了去除投影光线照射的影响,在手臂提取时使用预测图像的方法来分离前景与背景。计算机知道投影仪正在投射画面的内容,通过建立几何位置的对应关系与色彩空间的对应关系,计算机可以估计出摄像机读取画面的内容,通过分析预测图像与实际读取图像进行对比,分析差别,再通过手的形状、轮廓、颜色等信息进一步找出人手的位置。之后,在得到的手部前景图像中精确定位指尖位置。寻找指尖的方法有很多,都是在分离出的手部前景的图像上进行的。如轮廓分析、圆Hough变化、特殊标记方法等,本发明实施例使用曲率的方法定位指尖。最后,计算手指的深度信息,判断是否与投影屏幕接触,产生点击按钮事件。在本发明实施例中,使用主动视觉的原理,分别计算手指和屏幕的深度信息,通过这两个值的比较可以计算出手指是否接触屏幕,从而判断是否有点击事件。本发明实施例解决了现有技术中存在的在投影交互系统中,由于投影仪光线的照射,人的手臂可能会呈现出不同的颜色,投影画面中也有可能包含人手,这都给分割手臂带来了困难,都会发生错误检测;另外,现有技术方案都没有给出手指是否接触屏幕的判断,利用手指的运动轨迹进行交互,不可避免的会有一定时间的延时,限制了它的应用的问题,本发明满足了交互过程中实时性的要求。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1