一种可视可操作无实体的触摸屏系统的制作方法

文档序号:6582003阅读:167来源:国知局
专利名称:一种可视可操作无实体的触摸屏系统的制作方法
技术领域
本发明属于人机交互技术领域,具体涉及一种可视可操作的触摸屏系统。
背景技术
在很多虚拟现实系统中,用户使用数据手套、指示笔、三维鼠标代替鼠标和键盘进行操作。它们能适应虚拟现实系统中空间定位的要求,扩展了操作的形式。但是,它们有共同的缺点使用不自然。用户使用这些器材的时候,有的要佩戴沉重的设备,有的要连着限制活动范围的数据线。
以虚拟现实为代表的计算机系统的拟人化和以手持电脑、智能手机为代表的计算机的微型化、随身化、嵌入化,是当前计算机的两个重要的发展趋势,而以鼠标和键盘为代表的GUI技术是影响它们发展的瓶颈。所以,脱离设备,使用人的感觉和动作来进行输入越来越受到人们重视。
另一方面,在虚拟现实的人机交互中,人们不单需要有自然的输入,还需要自然的输出。人们希望观察的虚拟世界就在他们周围,而不仅限于屏幕中。这样人们才能以平常观察物体的方式,从自己喜欢的角度观看并获取需要的信息。研究者开始抛弃传统的固定显示器,提出了用投影以及头戴式显示器来进行输出的方法,或者是使用三维全息显示设备来向人们展示虚拟的物体。
CN1912816A号专利公告公布了一种基于多摄像头的虚拟触摸屏系统。该系统有2个或以上固定的摄像头来拍摄手指在虚拟触摸屏上的移动和点击操作,利用HSV色彩空间背景分割方法提取手部轮廓,使用粒子滤波追踪来进行指尖定位。该发明能解决利用直接人手进行输入的问题,但是却没有考虑到用户如何观察虚拟输出,只是使用普通的显示屏进行输出,在输出的层面没有实现虚拟化。

发明内容
本发明的目的在于提供一种能使用户同时观察和操作的没有实体的触摸屏系统,该系统结合了基于计算机视觉的指尖检测技术和增强现实技术,把手指的位置映射到增强现实世界中,使用户看到的虚拟触摸屏能在正确的位置被触摸和操作,可在输出层面实现虚拟化。
本发明的触摸屏系统包括一台计算机,两个网络摄像头, 一个头戴式显示器, 一个标定参照物,该标定参照物标定了一个供操作者手部触摸操作的虚拟触摸屏。两个网络摄像头和计算机连接,计算机再与头戴式显示器连接。头戴式显示器佩戴于用户(即操作者)眼前,两个网络摄像头分别设置于头戴式显示器左右上方,用于拍摄用户手部以及标定参照物,实时捕获得到视频图像。两个网络摄像头拍摄方向所在射线相交,在同一水平面上成30到90度的夹角。该系统对夹角角度没有严格的要求。网络摄像头把捕获的视频帧传送到计算机;计算机中设有计算软件系统,该软件系统根据标定参照物在视频帧中的图像,计算得到当前摄像头所在的方位,从而确定虚拟触摸屏所在位置;根据人手在视频帧中的图像,计算人手的位置,判别人手是否与虚拟触摸屏接触;根据以上信息,计算软件系统再进行图像合成;合成的图像通过头戴式显示器进行输出,用户通过头戴式显示器直接观察到虚拟触摸屏的反馈。
本发明各个部分进一步描述如下
1、 虚拟触摸屏,以及用户对其的操作
本发明中的虚拟触摸屏,实际上是现实空间中的一个矩形区域。这片区域使用一个参照物来进行标定。用户可以用手指(握拳状态时伸出的任意一根手指)在这片区域中进行点击、拖曳、多点触控等传统触摸屏的操作。本发明没有在该区域设置任何触控感知硬件设备以及显示设备,而是通过两个网络摄像头进行基于视觉的人手触控感应,通过头戴式显示器中触摸屏虚拟影像与现实世界影像的叠加进行显示输出。在旁人看来,用户是在操作不可见的物体。
2、 两个摄像头,用于实时采集视频图像
本发明使用两个网络摄像头同时拍摄用户手部以及标定参照物。
系统在初始化时,主要是进行摄像头捕获图像的前期工作,包括读入摄像镜头的数据,设定摄像头的光学特性与画面大小。另外,系统也会读入参照物的形状数据,供之后匹配使用。
系统在接近的时间分别捕获两个摄像头的图像,并留待后面步骤处理。同时,对捕获到的图像做一个备份,作为后期合成时使用的背景图像。
捕获到的图像格式是RGBA格式(R-红,G-绿,B-蓝,A-透明度)。之所以保留A通道,是因为之后的图像合成处理中要使用A通道来进行透明判断,进而决定虚拟图像与现实图像的合成方式。
系统在左目摄像头与右目摄像头捕获时机要求尽可能接近,是因为要依赖两个摄像头观察到的指尖的位置来判断该时刻指尖是否有触碰平面。如果捕获时间相差较远,两个摄像头捕获到的图像相互之间就没有关联了。
3、 计算机对输入图像进行处理本发明的核心,在于计算机软件模块。该模块对摄像头采集的图像进行处理,获得必要的人机交互信息,然后再进行虚拟触摸屏图像的合成。该计算机软件模块包括如下一些模块
1) 虚拟触摸屏定位模块
该模块根据参照物的坐标系与摄像头的坐标系之间的转换关系,确定虚拟触摸屏相对于摄像头的空间位置。对虚拟触摸屏进行定位后,系统可以得到虚拟触摸屏上面的点与摄像头拍摄到的图像上的点的对应关系,可以得到虚拟触摸屏影像合成在现实世界影像的位置和角度。
ARToolKit是由Hirokazu Kato等人提出的一个开源的增强现实开发库。系统使用ARToolKit进行增强现实相关计算。该库也可以由其他类似开源开发库代替。使用ARToolkit的库函数arGetTransMat,通过参照物在图像中的大小和角度,可以求出从标志物坐标系到摄像头坐标系的变换矩阵Tm。配合计算机图形开发包OpenGL的库函数gluProject,可以
计算出矩形虚拟触摸屏的4个角点在摄像头坐标系上的对应点。
在获取了虚拟触摸屏平面的位置后,系统已经确定了虚拟触摸屏在采集图像中的位置。把这块区域单独截取出来作为敏感区域(指尖定位及运动检测模块关心的区域)继续进行处理指尖识别,同时舍弃其余区域。
2) 指尖定位及运动检测模块
该模块首先进行肤色检测,把人手区域分割出来,再用计算机图像处理的形态学方法获取人手指尖(如食指)在摄像头图像中的位置。然后,根据虚拟触摸屏的位置,计算出手指在其上的位置,并使用运动追踪算法加强稳定性。最后,使用射影几何方法,判断指尖是否与虚拟触摸屏接触。该模块又分为如下几个子模块
i)肤色检测子模块
本系统使用Wu Yueming等提出的一种基于肤色检测算法的背景分割方法。该算法基于这样一个统计数据人手的色彩在YCbCr (Y-亮度分量,Cb-蓝色色度分量,而Cr-红色色度)色彩空间上的分布投影到Cb-Cr平面上时,能近似聚集在一个椭圆区域内。由此可以判定在该椭圆区域范围内的色彩是肤色,得到肤色所在的区域,即人手所在的区域。
在使用该背景分割算法之前,需要根据特定的摄像头进行调整。 一旦调整完成,该数据便可以一直使用。
以下提及的R、 G、 B以及Y、 Cb、 Cr都将标准化到0-255范围内。
首先,需要把采集到图片的RGBA色彩空间转换到YCbCr色彩空间上。转换公式如式1所示<formula>formula see original document page 7</formula>
(式l)
式1为RGBA色彩空间转换到YCbCr色彩空间的标准公式。
使用具体的摄像头采集图片,对其中人手区域进行提取,对其颜色进行统计,得出其在Cb-Cr平面上的颜色分布。以一个椭圆区域近似包围颜色分布范围,得到该椭圆的长半
轴长度a和短半轴长度b,中心点的坐标^^'yJ,以及长轴逆时针方向与x轴所成的角度④。把该椭圆进行标准化,相应变换公式如式2、式3所示
<formula>formula see original document page 7</formula> (式3)其中M为变换矩阵,(x,y)是原椭圆中的点,(x',y')为标准化后的点。
当点(x',y')在标准椭圆内部时,见式4,认为该点代表的颜色是肤色。
在进行背景分割之后,得到所有接近肤色的区域,即人手所在的区域。ii)指尖在摄像头图像中位置检测子模块在这个模块中,系统要获取指尖在摄像头图像中位置。
首先,系统对肤色区域使用连通区算法求出所有连通区,判定手部区域是画面中最大的连通区。
给该连通区进行去噪处理后,提取手指的轮廓,把手指区域填充完整。接着,从其上确定指尖位置。使用一种Takao算法来定位出指尖的位置先计算出手部连通区的倾斜角度(肤色点分布的方向),然后根据手部与敏感区域边界的靠近情况来决定手指的底部,接着计算从手指底部出发顺着手部倾斜方向找到最远点。该点即为指尖
值得注意的是,对于多点触控的情况,支持两只手指同时进行触摸。在识别的时候,取最大和次大的两个连通区作为手部区域,并认为在平面左边的指尖是左手指尖,平面右边的是右手指尖。
保留一份手部图像的备份,以便后期合成时使用。
在完成本节操作之后,可以让摄像头获取下一帧图像,充分利用时间。
iii)指尖在虚拟触摸屏中的位置计算子模块之前,通过虚拟触摸屏定位模块,已经获取了虚拟触摸屏的4个角点在摄像头拍摄图像上对应的4个角点。在本模块中,系统通过近似射影变换找出指尖在虚拟触摸屏上的位置。
其变换要求把一个不规则的四边形上面的点映射到一个矩形上。
这里使用二维射影变换的方法。假设摄像头成像平面上的一点(X,Y)在虚拟触摸屏平面上的对应点是(x,y),则(X,Y)可以通过射影变换得到(x,y)。这里,摄像头成像平面的虚拟触摸屏区域是不规则四边形,虚拟触摸屏平面上的触摸屏区域是矩形。
以下8元1次方程组式5,带编号的(X,Y)——(X1,Y1) (X2,Y2) (X3,Y3) (X4,Y4)是摄像头拍摄图像上对应的4个角点,(x,y)——(xl,yl) (x2,y2) (x3,y3) (x4,y4)是虚拟触摸屏对应的4个角点。<formula>formula see original document page 8</formula>
(式5)
只要把4组对应点代入,便可利用高斯法解出8个参数al、 a2、 a3、 bl、 b2、 b3、 c2、c3。
之后,用式6和式7求出不规则四边形上的点在矩形上的对应点。<formula>formula see original document page 8</formula> (式7)
求出虚拟触摸屏平面上指尖位置(x,y)后,使用Condensation算法来对指尖位置进行追
踪,按测量点与估计点距离倒数的正态分布来确定概率。iv)指尖与虚拟触摸屏接触检测子模块
本模块用于判断指尖是否与虚拟触摸屏接触。其得到的信息能让系统判断指尖是否进行点击、拖曳等操作。
利用射影几何的方法来判断指尖是否接触虚拟屏平面。当指尖不落在虚拟平面上时,通过成像平面观察,其在虚拟平面上的投影不重合。
当指尖落在虚拟平面上时,它在虚拟平面的投影重合。
只要设定投影两点的距离阀值,并认为小于此阀值表示用户触摸到平面,就能知道用户手指是否在进行单击、拖拽动作。该阀值大小可在实际使用根据用户需求进行调整。由于两个摄像头的位置不是固定的,在手指距离平面位置相同的情况下,投影的两点的距离不一定相同。因此,提供摄像头的阀值参数给用户进行调整,用以决定按键的判定的松紧。
3)虚拟触摸屏视频图像合成模块
本模块根据前面获得的虚拟触摸屏的位置信息以及指尖的位置动作信息,合成相应的虚拟图像,以提供适当的操作反馈。
在前面已经获取了摄像头相对于标定参照物的位置和方向。使用ARToolkit库函数argConvGlpam得到镜头的参数,赋给OpenGL的进行摄像头位置的设定,便可以得到正确的三维图像。
根据之前获得的指尖信息,可以绘制相应的反馈图像。
把虚拟图像与现实图像进行合成,是增强现实中很重要的一步。只有正确合成图像,用户才会认为虚拟的物体真的存在于现实世界中。这里,分成两个部分进行
i) 把虚拟物体叠加在背景图像上
根据上面采集到的触控操作信息,系统绘制相应的虚拟触摸屏反馈,然后叠加在摄像头拍摄的现实图像上。
ii) 把手叠加在图像最上方
用户判断虚拟触摸屏是否真实的一个重要标准,是他的手与触摸屏的位置关系是否能正确表示。用户的手应该在虚拟触摸屏的上方操作,所以,要把之前保存下来的用户的手部图像叠加在画面的最上方。
4、合成虚拟物体图像并输出到头戴式显示器上
把合成后的图像输出到头戴式显示器上,用户便能观察到虚拟触摸屏了。当系统持续运行时,用户便能观看到连续的图像,当摄像头的帧数足够高时,便与观察现实世界无异。
与现有技术相比,本发明的有益效果体现在
1、 采用了适用于增强现实环境的背景分割技术,结合借助两个摄像头完成将手指的位置映射到增强现实世界平面并且感知其触摸动作的方法,提供更高的适应性,同时以低成本设备实现了昂贵的多点触控触摸屏具有的功能。
2、 因为把手指的位置映射到增强现实世界中,用户通过头戴式看到的虚拟触摸屏能
在正确的位置被触摸,省去了实体显示器,增加了设备的便携性。
3、 虚拟触摸屏的观看位置和触摸位置相对参照物固定,其物理位置在空间中具有不变性,增强了真实感。


图1为系统架构俯视图。图2为系统的总体流程图。
图中标号l为计算机,2为头戴式显示器,3为网络摄像头,4为标定参照物,5为虚
拟触摸屏。
具体实施例方式
下面结合附图和实施对本发明作进一步说明
实施例1:实现在虚拟触摸屏上操作Windows程序为例。
本实施例展示了本发明如何替代普通触摸屏操作计算机。用户使用时,佩戴头戴式显示器以及固定于其上的两个网络摄像头,同时摆放好标定参照物。运行计算机上的系统后,用户能通过头戴式显示器看到标定参照物旁边出现了一
个虚拟的触摸屏,上面有Windows程序的界面。当用户用食指点击该虚拟触摸屏时,触摸屏会作出相应的操作。例如,当用户用食指按下图标再抬起,完成一次单击操作,图标被选中;当用户按下图标,指尖保持在虚拟触摸屏的平面上,进行移动,图标便会被手指拖曳到相应的位置,抬起手指便结束拖曳操作。
实现本例需要进行以下配置
1、 硬件设备
本例使用两个了 LogitechS5500网络摄像头(图1-3)进行视频输入,使用i-glasses头戴式显示器(图1-2)进行输出,使用一台配置有Intel Core2 6300 1.86GHz*2处理器、2GB内存、NVIDIAGeForce7300GT显示卡的计算机(图l-l)进行处理。
2、 初始化
具体使用前,先使用ARToolkit的程序calib—camera2获取摄像头的形变参数。在初始化时直接调用此形变参数。读入标定参照物的数据,本例中使用ARToolkit的patt.sample2。标定参照物为80毫米的正方形卡纸片。
3、 使用摄像头实时采集视频图像两个摄像头距离15厘米,拍摄方向之间的角度为40度。
4、 肤色识别
在进行肤色识别的时候,对式2使用以下参数xc = 110.0, yc = 120.5 (式8)
10把椭圆进行标准化时,相应已化简的变换公式如式9、式10所示
《=cb x 0.7i6— Cp x O.柳+ (—xc x 0,716 + yc x 0.,)
c; = cb x O., + cr x 0.7i6+ (—xc x— yc x 0.716)
(式9)(式10)
其中(Cb,Cr)是上文的式3、式4中(x,y)的具体取值。
当点(cb,,cr,)在长半轴为23.478,短半轴为11.434的标准椭圆内部时,见式11,认为该点代表的颜色是肤色。
此外,本例也对肤色区域亮度也作了限制,亮度太低的色彩不认为是肤色。通过测试调整,本例给YCbCr色彩空间的Y值设定一阀值30,小于该值则不认为该颜色是肤色。在实际使用中可以根据摄像头情况自行调整。
5、 指尖定位及接触检测
手部轮廓处理的步骤均以计算机视觉开发库OpenCV的库函数实现。
使用OpenCV的Condensation函数追踪时,粒子数为500,对每次测量只进行一次预
根据测试调整,本例中判断指尖是否点击虚拟触摸屏的距离阀值设为10像素。当距离阀值小于10像素时,认为鼠标左键按下。当距离阀值大于IO像素时,认为鼠标左键松开。通过重载Windows系统的鼠标事件,就可以把虚拟触摸屏的操作与Windows鼠标操作对应起来,便可以使用户在虚拟触摸屏上直接控制Windows程序。
6、 合成虚拟触摸屏视频图像
在合成虚拟触摸屏视频图像时,把Windows窗口内容截取下来,投影到虚拟触摸屏上,用户便可以直接在虚拟触摸屏上看到Windows程序的运行反馈。
7、 输出到头戴式显示器
实施例2:在虚拟触摸屏上进行多点触控照片浏览本例展示本发明的多点触控功能。
用户佩戴设备并启动计算机系统后,他可以看见虚拟触摸屏上展示了多张照片。当用户用右手食指对照片中心位置进行左右拖曳,照片会进行切换;当用户同时同左右手食指拖动照片的左上方和右下方边角,照片会根据两只手指的位置进行縮放。
实施本例,进行指尖识别时,取最大和次大的两个连通区作为手部区域,并认为在平面左边的指尖是左手指尖,平面右边的是右手指尖。
(式11)对每一张照片,设定照片中心部位一正方形区域为拖曳区域,当用户在虚拟触摸屏上对该区域进行左右拖动时,分别切换上一张照片和下一张照片,在虚拟触摸屏上绘制新的照片;设定照片左上角及右下角为縮放控制区域,当用户左手食指和右手食指分别拖动左上角和右下角时,照片在虚拟触摸屏上同时进行重绘,使用户得到实时反馈。
1权利要求
1.一种可视可操作无实体的触摸屏系统,其特征在于包括一台计算机,两个网络摄像头,一个头戴式显示器,一个标定参照物,该标定参照物标定了一个供用户手部触摸操作的虚拟触摸屏;两个网络摄像头和计算机连接,计算机再与头戴式显示器连接;头戴式显示器佩戴于用户眼前,两个网络摄像头分别设置于头戴式显示器左右上方,用于拍摄用户手部以及标定参照物,实时捕获得到视频图像;两个网络摄像头拍摄方向所在射线相交,在同一水平面上成30到90度的夹角;网络摄像头把捕获的视频帧传送到计算机;计算机中设有计算软件系统,该软件系统根据标定参照物在视频帧中的图像,计算得到当前摄像头所在的方位,从而确定虚拟触摸屏所在位置,并根据人手在视频帧中的图像,计算人手的位置,判别人手是否与虚拟触摸屏接触;根据以上信息,计算软件系统再进行图像合成;合成的图像通过头戴式显示器进行输出,用户通过头戴式显示器直接观察到虚拟触摸屏的反馈。
2. 根据权利要求1所述的触摸屏系统,其特征在于所述的计算软件系统由下述软件模块组成-1) 虚拟触摸屏定位模块该模块根据参照物的坐标系与摄像头的坐标系之间的转换关系,确定虚拟触摸屏相对于摄像头的空间位置;对虚拟触摸屏进行定位后,系统可以得到虚拟触摸屏上面的点与摄像头拍摄到的图像上的点的对应关系,包括虚拟触摸屏4个角点在摄像头拍摄图像上对应的4个点,得到虚拟触摸屏影像合成在现实世界影像的位置和角度;2) 指尖定位及运动检测模块该模块首先进行肤色检测,把人手区域分割出来,再用计算机图像处理的形态学方法获取人手指尖在摄像头图像中的位置;然后,根据虚拟触摸屏的位置,计算出手指在其上的位置,并使用运动追踪算法加强稳定性;最后,使用射影几何方法,判断指尖是否与虚拟触摸屏接触;该模块又分为如下几个子模块i) 肤色检测子模块本系统使用一种基于肤色检测算法的背景分割方法;该算法基于这样一个统计数据人手的色彩在YCbCr色彩空间上的分布投影到Cb-Cr平面上时,能近似聚集在一个椭圆区域内,由此判定在该椭圆区域范围内的色彩是肤色,得到肤色所在的区域,即人手所在的区域;ii) 指尖在摄像头图像中位置检测子模块在这个模块中,系统要获取指尖在摄像头图像中位置;首先,系统对肤色区域使用连通区算法求出所有连通区,判定手部区域是画面中最大 的连通区;给该连通区进行去噪处理后,提取手指的轮廓,把手指区域填充完整; 接着,从其上确定指尖位置使用一种改进的Takao算法来定位出指尖的位置先计 算出手部连通区的倾斜角度,然后根据手部与敏感区域边界的靠近情况来决定手指的底部,接着计算从手指底部出发顺着手部倾斜方向找到最远点;该点即为指尖位置;iii) 指尖在虚拟触摸屏中的位置计算子模块在本模块中,系统通过近似射影变换找出指尖在虚拟触摸屏上的位置;iv) 指尖与虚拟触摸屏接触检测子模块本模块用于判断指尖是否与虚拟触摸屏接触,其得到的信息能让系统判断指尖是否进 行点击、拖曳等操作;利用射影几何的方法来判断指尖是否接触虚拟屏平面,当指尖不落在虚拟平面上时,通过成像平面观察,其在虚拟平面上的投影不重合;当指尖落在虚拟平面上时,它在虚拟 平面的投影重合;3)虚拟触摸屏视频图像合成模块本模块根据前面获得的虚拟触摸屏的位置信息以及指尖的位置动作信息,合成相应的 虚拟图像,以提供适当的操作反馈;具体分为两个部分-i) 把虚拟物体叠加在背景图像上根据上面采集到的触控操作信息,系统绘制相应的虚拟触摸屏反馈,然后叠加在摄像 头拍摄的现实图像上;ii) 把手叠加在图像最上方把合成后的图像输出到头戴式显示器上,用户便能观察到虚拟触摸屏。
全文摘要
本发明属于人机交互技术领域,是作为一种可视可操作无实体的触摸屏系统,该系统由一台计算机,两个网络摄像头,一个头戴式显示器,以及一个标定参照物组成,该参照物标定了一个虚拟触摸屏。用户可以通过头戴式显示器观察含有虚拟触摸屏的现实世界,并且可以直接用手操作没有实体的触摸屏。本发明采用两个摄像头进行实时的图像采集。计算机系统根据摄像头输入的图像,在标定参照物的配合下进行空间定标与指尖位置动作识别,并且合成相应的图像。头戴式显示器把含有虚拟触摸屏的图像输出给用户,用户通过头戴式显示器直接观察到虚拟触摸屏的反馈。本发明可以用于人机交互领域,特别适合作为便携式计算机或多媒体交互体验系统的人机交互设备。
文档编号G06F3/01GK101673161SQ20091019720
公开日2010年3月17日 申请日期2009年10月15日 优先权日2009年10月15日
发明者沈一帆, 许景禧 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1