CN102541417B - 虚拟触摸屏***中跟踪多个对象方法和*** - Google Patents
虚拟触摸屏***中跟踪多个对象方法和*** Download PDFInfo
- Publication number
- CN102541417B CN102541417B CN201010615896.6A CN201010615896A CN102541417B CN 102541417 B CN102541417 B CN 102541417B CN 201010615896 A CN201010615896 A CN 201010615896A CN 102541417 B CN102541417 B CN 102541417B
- Authority
- CN
- China
- Prior art keywords
- point sequence
- patch
- new
- inputted
- new patch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Position Input By Displaying (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种在虚拟触摸屏***中跟踪多个对象的方法和***,包括:将图像投射到以一投影表面上;连续获得所述投影表面的环境的图像;从所获得的每帧图像中,检测位于所述投影表面前预定距离内的至少一个对象的候选斑块;以及根据前后相邻两帧图像中所获得斑块的形心点在时间和空间上的关系将各个斑块归入相应的点序列。
Description
技术领域
本发明涉及一种人机交互领域,尤其是设计数字图像处理领域。具体而言,本发明涉及一种虚拟触摸屏***中跟踪多个对象方法和***。
背景技术
触摸屏幕技术现在被越来越广泛地用于作为HMI设备的手持式设备(例如智能电话)以及PC(例如台式PC)中。通过触摸屏幕,用户可以更舒适和方便地操作该设备并带来良好的体验。尽管触摸屏幕技术在手持设备中非常成功,但是对于大尺寸显示器的触摸屏幕却依然存在一些问题和机会属于Canesta,Inc标题为“System and Method for Determining an InputSelected By a User through a Virtual Interface(通过虚拟界面确定用户所选择的输入的***和方法)”的美国专利US7151530B2提出了一种用于在一组键值中选择哪个键值被指派为当前键值的方法,因此得以提供与虚拟界面中的区域交叉的对象。该虚拟界面能够实现在键值组中选择单一的键值并使用深度传感器来确定位置,该深度传感器可以确定与深度传感器的位置相关的位置的深度。此外,对象的位移特性或对象的形状特性至少之一可以得以确定。位置信息可以近似于对象相对于位置传感器或其他参考点的深度。当照相机的像素阵列中足够数量的像素指示对象的存在时,就认为检测到该对象。确定与虚拟输入区域的表面交叉的对象的形状并与多种已知的形状(例如手指或指示笔)进行比较。
同样属于Canesta,Inc标题为“Quasi-Three-Dimensional Method AndApparatus To Detect And Localize Interaction Of User-Obj ect And VirtualTransfer Device(用于检测和定位用户-对象和虚拟转换装置的交互的准三位方法和设备)”的美国专利US6710770B2披露了一种采用虚拟装置输入或传输信息到附属装置的***,包括两个光学***OS1和OS2。在光线构造实施方式中,OS1在虚拟装置上并平行于该虚拟装置发射扇形光束平面()的光能量。当用户对象穿透感兴趣的光束平面时,OS2登记该事件。三角测量方法能够定位虚拟接触,并将用户预定信息传输到附属***。在非结构主动光线结构中,OS1优选为一种数字照相机,其视野定义了感兴趣的平面,该平面由一主动光能量源照亮。
属于Apple公司的标题为“identifying contacts on a touch surface(识别触摸表面上的触点)”美国专利US7619618B2披露了一种用于在手接近、接触接近感测多触摸表面或在其上滑动时同时跟踪多个手指和手掌接触点的设备和方法。直观的手结构和动作的检测和归类实现了在多用途人类工程学计算机输出装置中的键入、静止、指点、滚动、3D操纵的空前集成。
属于Matsushita Electric公司的标题为“Multi-touch surface providingdetection and tracking of multiple touch points(提供多触摸点检测和跟踪的多触摸表面)”的美国专利申请US20100073318A1披露了一种通过使用正交线性容限传感器的两个独立阵列而能够检测和跟踪多触摸点的用于多触摸敏感表面的***和方法。
从上面所提到的这些现有技术看来,大多数大尺寸触摸屏幕都是基于电磁板(诸如电子白板),IR border(诸如互动性大尺寸显示器)等。当时对于大尺寸触摸屏幕的当前的技术方案而言依然存在很多问题,例如:总体而言,这些类型的设备通常由于其硬件而导致的其体积大而笨重,因此难以携带,不具有便携性。而且这些类型的设备屏幕尺寸受到硬件的限制而尺寸固定而不能根据环境的需要而自由地调节,而且还需要一种特殊的电磁笔或一种IR笔来进行操作。
对于有些虚拟白板投影仪而言,用户必须控制激光笔的开启/关闭开关,这非常繁琐,因此存在激光笔难以控制的问题。另外,在这种虚拟白板投影仪中,一旦激光笔关闭,就很难精确地将激光点定位到下一个位置,因此存在激光点定位难的问题。有些虚拟白板投影仪中采用了手指鼠标来替代激光笔,但是,采用手指鼠标的虚拟白板投影仪不能检测到触摸开始(touch on)或触摸结束(touch up)。
发明内容
为了解决上面所提到的现有技术中的这些问题,本发明提出了一种虚拟触摸屏***中跟踪多个对象方法和***。具体而言,该虚拟触摸屏***中跟踪多个对象方法包括:将图像投射到以一投影表面上;连续获得所述投影表面的环境的图像;从所获得的每帧图像中,检测位于所述投影表面前预定距离内的至少一个对象的备选斑块;以及根据前后相邻两帧图像中所获得斑块的形心点在时间和空间上的关系将各个斑块归入相应的点序列。
根据本发明的在虚拟触摸屏***中跟踪多个对象的方法,所述根据前后相邻两帧图像中所获得斑块的形心点在时间和空间上的关系将各个斑块归入相应的点序列的步骤包括:接收从一帧新图像中获得多个新斑块的形心点;检索多个已有点序列,针对每个已有点序列,寻找距离该已有点序列临近的形心点,将距离最近的形心点所对应的新斑块作为该已有序列点最近的新斑块;以及将距离该已有点序列最近的新斑块归入该已有点序列。
根据本发明的在虚拟触摸屏***中跟踪多个对象的方法,所述根据前后相邻两帧图像中所获得斑块的形心点在时间和空间上的关系将各个斑块归入相应的点序列的步骤还包括:针对任何一个已有点序列,如果在不存在任何与其临近的新斑块,则给出该已有点序列已结束的通知并删除该已有点序列。
根据本发明的在虚拟触摸屏***中跟踪多个对象的方法,所述根据前后相邻两帧图像中所获得斑块的形心点在时间和空间上的关系将各个斑块归入相应的点序列的步骤还包括:针对所输入的一帧图像中的多个新斑块中的任意一个新斑块,如果不存在任何与其临近的已有点序列,则给出该新斑块为一个新点序列的起点的通知,并创建一个新的点序列。
根据本发明的在虚拟触摸屏***中跟踪多个对象的方法,所述针对每个已有点序列寻找距离该已有点序列最近的形心点的步骤包括:输入一个已有点序列,并从所输入的一帧图像中的多个新斑块中寻找距离该已有点序列临近的新斑块;在从所输入的一帧图像中的多个新斑块没有找到距离所输入的已有点序列临近的新斑块的情况下,则给出所输入的已有点序列将要被删除的通知;
在从所输入的一帧图像中的多个新斑块找到了距离所输入的已有点序列临近的新斑块,且所找到的临近的新斑块仅仅为所输入的已有点序列的临近的新斑块,则确定该新斑块属于所输入的已有点序列;以及在从所输入的一帧图像中的多个新斑块找到了距离所输入的已有点序列临近的新斑块,且所找到的临近的新斑块还是其他已有点序列的临近的新斑块,如果所找到的临近的新斑块与所输入的已有点序列的距离比与其他已有点序列的距离小,则确定该新斑块属于与所输入的已有点序列最近的新斑块,否则,给出所输入的已有点序列将要被删除的通知;核实是否已经对所有的已有序列点执行了上述步骤。
根据本发明的在虚拟触摸屏***中跟踪多个对象的方法,所述从所输入的一帧图像中的多个新斑块中寻找距离该已有点序列临近的新斑块的步骤包括:输入一个新斑块,计算所输入的新斑块与所输入的已有已有点序列之间的距离;在所计算的所输入新斑块与所输入的已有点序列之间的距离小于一预定的距离阈值Td的情况下,将所输入新斑块***到属于所输入的已有轨迹的候选临近新斑块列表中,否则,确认是否已经对所有新斑块执行了上述步骤;在确定属于所输入的已有点序列的候选临近新斑块列表的大小小于一个预定的大小阈值Tsize的情况下,确认是否已经对所有新斑块执行了上述步骤,否则,删除属于所输入的已有点序列的候选临近新斑块列表中的与所输入的已有点序列最远的新斑块后,确认是否已经对所有新斑块执行了上述步骤;在确认已经对所有新斑块执行了上述步骤的情况下,如果属于所输入的已有点序列的候选临近新斑块列表不为空,则从所述列表中的候选临近新斑块中找出与所输入的已有点序列最近的新斑块作为所输入的已有点序列的最近新斑块。
根据本发明的在虚拟触摸屏***中跟踪多个对象的方法,还包括:对最终获得的点序列采用以下公式进行坐标优化以进行平滑处理,
其中是点序列中的点,k是迭代标志,n是点序列标志,m为迭代点的基数。
根据本发明的另一个方面,提供了一种在虚拟触摸屏***中跟踪多个对象的***,包括:投影仪,将图像投射到以一投影表面上;深度照相机,连续获得所述投影表面的环境的图像;对象检测单元,从所获得的每帧图像中,检测位于所述投影表面前预定距离内的至少一个对象的候选斑块;跟踪单元,根据前后相邻两帧图像中所获得斑块的形心点在时间和空间上的关系将各个斑块归入相应的点序列。
根据本发明的在虚拟触摸屏***中跟踪多个对象的***,所述跟踪单元包括:接收模块,接收从一帧新图像中获得多个新斑块的形心点;最近斑块寻找模块,检索多个已有点序列,针对每个已有点序列,寻找距离该已有点序列临近的形心点,将距离最近的形心点所对应的新斑块作为该已有序列点最近的新斑块,并将距离该已有点序列最近的新斑块归入该已有点序列。
根据本发明的在虚拟触摸屏***中跟踪多个对象的***,还包括平滑处理单元,对最终获得的点序列采用以下公式进行坐标优化以进行平滑处理,
附图说明
图1所示的是根据本发明的虚拟触摸屏幕***的架构的示意图。
图2所示的是根据本发明的控制单元所执行对象检测和对象跟踪处理的总体流程图。
图3(a)-(c)所示的是从当前深度图中清除掉背景深度图的示意图
图4所示的是对所输入的当前场景的深度图进行二值化处理以获得候选对象的斑块的示意图。
图5(a)所示的是用于对斑块添加编号的连通域的示意图
图5(b)所示的是根据深度图生成的带有连通域编号的斑块的二值图像的示意图。
图6(a)-(d)所示的是斑块的二值图像的增强过程的示意图。
图7所示的是检测如图6(d)所示的斑块的二值化图像中斑块的形心点的坐标的过程的示意图。
图8所示的是用户的手指或指示笔在虚拟触摸屏的屏幕上运动的轨迹的示意图。
图9所示的用于跟踪所检测的对象的流程图。
图10所示的是根据本发明针对所有已有轨迹寻找每条已有轨迹的最近新斑点的流程图。
图11所示的是针对所输入的已有轨迹寻找距离其最近的新斑块的流程图。
图12所示的是一种对一条采用本发明所获得的检测对象在虚拟触摸屏上的移动轨迹的点序列进行平滑处理的方法。
图13(a)所示的是一种采用本发明所获得的检测对象在虚拟触摸屏上的移动轨迹的示意图。
图13(b)所示的是经过平滑处理后的对象移动轨迹的示意图。
图14所示的是控制单元的具体配置的示意图。
具体实施方式
以下,将参照附图来详细说明本发明的具体实施例。
图1所示的是根据本发明的虚拟触摸屏幕***的架构的示意图。如图1所示,根据本发明的虚拟触摸屏幕***包括投影设备1、光学设备2、控制单元3、以及投影表面(以下也可称之为投影屏幕或虚拟屏幕)4。在本发明的具体实施方式中,投影设备可以是投影仪,其用于将需要显示的图像投射到投影表面4上作为一种虚拟屏幕,以便用户在该虚拟屏幕上进行操作。光学设备2例如可以是任何能够获取图像的设备,例如深度照相机,其获取投影表面4的环境的深度信息,并基于该深度信息生成深度图。控制单元3沿着远离所述表面的方向检测在距离所述表面预定距离内的至少一个对象并跟踪所检测到的对象,以生成平滑的点序列。所述点序列以用于进一步的交互任务,例如在虚拟屏幕上进行绘画、组合交互命令等等。
投影设备1将图像投射到投影表面4上作为一种虚拟屏幕,以便用户在该虚拟屏幕上进行操作,例如绘图或组合交互命令。光学设备2捕获包含有投影虚拟屏幕和位于投影表面4的前方的对象(诸如触摸在该投影表面4上的用户手指或指示笔)的环境。该光学设备2获取投影表面4的环境的深度信息,并基于该深度信息生成深度图。所谓深度图就是,深度照相机通过拍摄位于照相机镜头前的环境,并计算所拍摄的环境中每个像素点距离深度照相机的距离,并采用例如16位的数值来记录每个像素点所代表的物体与深度照相机之间的距离,从而有这些每个像素点所附带的表示距离的16位数值形成一幅表示各个像素点与照相机之间距离的图。随后深度图被发送到控制单元3,并且控制单元3沿着远离所述投影表面4的方向检测在距离所述表面预定距离内的至少一个对象。当检测到这种对象时,则跟踪该对象在投影表面上的触摸动作以形成触摸点序列。随后,控制单元3对所形成的触摸点序列进行平滑处理,从而实现这种虚拟交互屏幕上的绘画功能。而且,这些触摸点序列能够被组合起来生成交互命令,从而实现虚拟触摸屏幕的交互功能,最终虚拟触摸屏幕能够根据所生成的交互命令而发生改变。本发明也可以采用其他普通照相机和其他普通前景对象检测***来进行。为了本发明的跟踪方式便于理解,下面首先介绍一些前景对象的检测过程,但是该检测过程并不是实现多对象跟踪所必要的实施手段,而仅仅是跟踪多个对象的前提。也就是,对象的检测并不属于对象跟踪的内容。
图14所示的是控制单元的具体配置的示意图。所述控制单元3通常包含深度图处理单元31、对象检测单元32、图像增强单元33、以及坐标计算和变换单元34、以及跟踪单元35和平滑单元36。深度图处理单元31以深度照相机所传送来的其所捕获的深度图作为输入并处理该深度图以便将背景从该深度图中清除掉,并随后对该深度图上的连通域编号。对象检测单元32基于来自所述深度图处理单元31的所述深度图的深度信息,基于一预定的深度阈值,对深度图进行二值化处理,形成作为候选对象的多个斑块,随后,基于各个斑块与连通域之间的关系以及斑块面积的大小,确定作为对象的斑块。坐标计算和变换单元34计算所确定为对象的斑块的形心点坐标,并将其形心点坐标变换到目标坐标***,即虚拟交互屏幕的坐标***。跟踪和平滑单元35跟踪在连续拍摄的多帧图像中所检测到的多个斑块,以生成多个形心点变换后的坐标点序列,并随后对所生成的坐标点序列进行平滑处理。
图2所示的是控制单元3所执行对象检测处理和对象跟踪的总体流程图。如图2所示。在步骤S21处,深度图处理单元31接收深度照相机2所获取的深度图,该深度图通过如下方式获得,即深度照相机2拍摄当前环境图像,并在拍摄时测量每个像素点距离深度照相机的距离,以16位(根据实际需要可以为8位或32位)值所记录的深度信息构成,这些每个像素的16位深度值构成了所述的深度图。为了后续的处理步骤,可以在获得当前场景的深度图之前,预先获取投影屏幕前没有任何被检测对象的背景深度图。随后在步骤S22处,深度图处理单元31处理所接收到的深度图以便将背景从该深度图中清除掉,并且仅仅保留前景对象的深度信息,并对所保留的深度图中的连通域进行编号。图3(a)-(c)所示的是从当前深度图中清除掉背景深度图的示意图。所示图的这种采用16位数值显示的深度图是为了说明的方便,并不是在实施本发明的过程中一定要显示出了。如图3(a)所示的是一种背景的深度图的实例的示意图,其中所示的深度图中仅仅是背景深度图,即投影表面的深度图,其不包含任何前景物体(即对象)的深度图像。获得背景的深度图的一种方式是,在本发明的虚拟触摸屏幕***实施本发明的虚拟触摸屏幕功能的方法的初始阶段,首先由光学设备2获取当前场景的深度图并保存该深度图的瞬态图,从而获得背景的深度图。在获取该背景的深度图时,在当前场景中,投影表面4的前方(光学设备2和投影表面4之间)不能有任何用于触摸投影表面的动态对象。获得背景的深度图的另一种方式不是使用瞬态照片而是使用一系列连续的瞬态照片来生成一种平均的背景深度图。
图3(b)所示的是一帧当前场景的所捕获的深度图的实例,其中有一个对象(例如用户的手或指示笔)触摸在投影表面上。
图3(c)所示的是一帧其中背景被清除掉之后的深度图的实例。一种去掉背景深度的可能方式是使用当前场景的深度图减去背景的深度图,另一种方式是扫描当前场景的深度图并对该深度图的每一点与背景深度图中的对应点进行深度值比较。如果这些成对的像素点的深度差值的绝对值相似并且在一个预定的阈值之内,则将当前场景中的深度差值的绝对值相似的相应点从当前场景的深度图中清除掉,否则保留相应的点而不进行任何改变。随后对清除背景深度图之后的当前深度图中的连通域进行编号。本发明所述的连通域指的是这样的区域:假设深度照相机所拍摄有两个3D点,如果它们的投影在XY平面(所拍摄的图片)上彼此相邻且其深度值之差不大于给定的阈值D,则称它们彼此D-连通。如果一组3D点中的任意两点之间具有D-连通路径,则称这组3D点D-连通。如果对于一组D-连通的3D点中的每个点P而言,在XY平面上每个点P都不存在相邻的点可以在不中断这种连通条件的情况下添加到所述组中,则称该组D-连通的3D点为最大D-连通。本发明所述的连通域是深度图中的一组D-连通点并且其是最大D-连通。所述深度图的连通域与所述深度照相机所捕获的连续块(mass)区域对应,连通域是所述深度图中的D-连通点集合并且其最大D相关联。因此,对连通域进行编号实际上就是对具有上述D-连通的3D点进行加注相同的编号,也就是说,对于属于同一连通域的像素点加注下同的编号,因此,生成连通域的编号矩阵。所述深度图的连通域对应于所述深度照相机所捕获的连续的区块(mass)。
所述连通域的编号矩阵是一种能够标记所述深度图中的哪些点是否为连通域的数据结构。在所述编号矩阵中的每个元素对应于深度图中的一个点,并且该元素的值就是该点所属的连通域的编号(一个连通域一个编号)。
接着,在步骤S23处,基于一个深度条件对深度图中的每个点进行二值化处理,从而生成一些作为备选对象的斑块,并且对属于同一连通域的斑块的像素点添加连通域编号。下面将详细描述具体二值化处理过程。图4所示的是对所输入的当前场景的深度图进行二值化处理以获得备选对象的斑块的示意图。。如图4所示,本发明基于当前场景中的深度图中的每个像素点和背景深度图的对应像素点之间的相对深度信息来执行二值化处理过程。在本发明的实施例中,从所述当前场景的深度图中检索一个像素点的深度值,即深度照相机和所检索的像素点所代表的对象点之间的距离。在图4中,以遍历所有像素点的方式,从所输入的当前场景的深度图中检索一个像素点的深度d,之后从背景深度图中的检索与从当前场景的深度图中的所检索的像素点对应的像素点的深度值b,然后计算两个对应目标像素点的深度d和背景像素点的深度b的差值(subtraction value)s,即s=b-d。如果所获得的差值大于零并且小于一预定距离阈值t,即0<s<t,则将当前场景中的所检索到的像素的灰度值设置为255,否则则设为0。当然,这种二值化也可以直接将两种情况分别这位0或1,只要能够将这两种区分开来的二值化方式都可以采用。通过上述二值化方式,可以获得如图5(b)所示的具有多个备选对象的斑块。阈值t的大小可控制对对象进行检测的精度。阈值t也与深度照相机的硬件规范相关。阈值t的值通常为一个指头的厚度大小或普通指示笔的直径大小,例如0.2-1.5厘米,优选为0.3厘米、0.4厘米、0.7厘米、1.0厘米。阈值t可以根据其中使用虚拟触摸屏幕***的环境进行调整,对于距离阈值t,具体大小的设定可以根据本发明在应用过程中屏幕前的人的手指厚度或所使用的指示笔的直径的具体大小来进行相应的设置。通常该阈值t的可能的值为1厘米。
图5(a)所示的是用于对斑块添加编号的连通域的示意图。在获得斑块的二值图像后,扫描检索含有连通域编号的像素点,并将该连通域编号添加到二值化斑块图像中对应的像素点,从而使得有些斑块带有连通域编号,如图5(b)所示。所述二值图像中的斑块(白色区域或点)是触摸在投影表面上的可能目标对象的候选者。根据前面所述,图5(b)中的带有连通域编号的二值化斑块的具备以下两个条件:1.斑块属于连通域。2.斑块对应各个像素点的深度d和背景深度b的差值(subtraction value)s必须小于阈值t,即s=b-d<t。
然后,在步骤S24处,对所获得深度图的二值化斑块图像进行增强处理,以降低二值化斑块图像中不必要的噪声并使得斑块的形状变得更清楚和稳定。该步骤有图像增强单元33进行。具体而言,通过如下步骤了进行所述增强处理。
首先,去掉不属于连通域的斑块,也就是将在步骤S23处没有添加连通域编号的斑块直接将其灰度值从最高变为零,例如将其像素点的灰度值从255变为零。在另一种方式中,将1变为0。从而获得如图6(a)所示的斑块二值化图像。
其次,去掉属于其面积S小于一面积阈值Ts的连通域的斑块。在本发明的实施例中,斑块属于某一连通域意味着该斑块的至少一个点在连通域中。如果该斑块所属的连通域的面积S小于一面积阈值Ts,则相对应的斑块则被视为噪声并被从斑块的二值图像中去掉。否则,斑块则被认为是目标对象的候选者。面积阈值Ts是可以根据虚拟触摸屏幕***所使用的环境来调节。面积阈值Ts通常为200个像素点。由此,获得如图6(b)所示的斑块的二值化图像。
接着,就是对所获得的如图6(b)所示的斑块的二值化图像中的斑块进行一些形态学(morphology)操作。在本实施方式中,采用了膨胀(dilation)操作和闭(close)操作。首先进行一次膨胀操作然后是迭代地进行闭操作。进行闭操作的迭代次数为一个预定值,该预定值可以根据虚拟触摸屏幕***所使用的环境来调节。该迭代次数例如可以设置为6次。最终获得如图6(c)所示的斑块的二值化图像。
最后,如果存在属于同一连通域的多个斑块,即这些斑块具有相同的连通域编号,则保留具有相同连通域编号的斑块中具有最大面积的一个斑块而去掉其他斑块。在本发明的实施例中,一个连通域可以包含有多个斑块。在这些斑块中,只有具有最大面积的斑块才被认为是目标对象,而其它斑块则是需要被去掉的噪声。最终获得如图6(d)所示的斑块的二值化图像。
在步骤S25处,检测所获得斑块的轮廓,计算斑块的形心点的坐标并将形心点坐标变换到目标坐标。该检测、计算和变换操作由坐标计算和变换单元34来执行。图7所示的是检测如图6(d)所示的斑块的二值化图像中斑块的形心点的坐标的过程的示意图。参见图7,根据斑块的几何信息计算斑块的形心的坐标。该计算过程包括:检测斑块的轮廓、计算该轮廓的Hu矩、以及使用所述Hu矩来计算形心点的坐标。在本发明的实施例中,可以使用多种已知的方式来检测斑块的轮廓。也可以使用已知的算法来计算Hu矩。在获得所述轮廓的Hu矩之后,可以通过以下公式来计算形心点的坐标:
(x0,y0)=(m10/m00,m01/m00)
其中(x0,y0)为形心点的坐标,而m10、m01、m00就是Hu矩。
坐标变换就是将形心点的坐标从斑块的二值图像的坐标***变换到用户界面的坐标***。坐标***的变换可采用已知的方法。
为了获得触摸点的连续移动轨迹,可以通过本发明连续检测虚拟触摸屏***中所拍摄的连续帧深度图中的触摸点,从而跟踪所检测到的多个斑块以产生多个点的序列,由此获得触摸点的运动轨迹。
具体而言,就是在步骤S26处,对连续拍摄的每帧深度图执行步骤S21-S25后获得每帧图像的斑块的在用户界面上形心点坐标进行跟踪,生成形心点序列(即轨迹),并对所获得形心点序列进行平滑处理。该跟踪和平滑操作由跟踪单元35来进行。
图8所示的是用户的手指或指示笔在虚拟触摸屏的屏幕上运动的轨迹的示意图。其中显示了两个对象(手指)的运动轨迹。这仅仅是一个实例。在其他情况下,可以多个对象,例如3、4、5个对象,根据实际需要而定。
图9所示的用于跟踪所检测的对象的流程图。反复执行如图9所示的跟踪流程,最终可以获得屏幕前任意对象的运动轨迹。具体而言,执行跟踪操作就是将新检测到的深度图中的斑块在用户界面中的形心点坐标归入之前所获得任意轨迹中。
根据多个所检测斑块在用户界面中的形心点坐标,跟踪多个新检测到的斑块,从而产生多条轨迹并触发关于这些轨迹的相关触摸事件。要对斑块进行跟踪,就需要对斑块进行分类并将斑块的形心点坐标置于其中所有点在时间和空间上相关的点序列中。只有相同序列中的点才可以合并为一条轨迹。如图8所示,如果虚拟触摸屏***支持绘画功能,则图8中所示的序列中的点就代表在投影屏幕上的绘画命令,那么在同一序列中的点就可以连接起来形成一条如图8中所示的曲线。
在本发明中,可以跟踪三种触摸事件:触摸开始、触摸移动以及触摸结束。触摸开始就是指所要检测的对象触摸投影屏幕并将轨迹开始。触摸移动指的是所要检测对象正触摸在投影屏幕上并且轨迹正在投影表面上延续中。而触摸结束指的是所要检测的对象离开投影屏幕的表面并且移动轨迹结束。
如图9所示,在步骤S91,接收基于一帧深度图根据步骤S21-S25所检测到的对象的新斑块在用户界面中的形心点坐标,这是坐标计算和变换单元34的输出。
随后,在步骤S92处,针对在之前对各帧深度图的斑块进行跟踪处理后所获得所有点序列(即所有已有轨迹,以下均成为已有轨迹)中的每个点序列,计算距离该已有轨迹最近的新斑块。所有触摸在触摸屏幕(即投影屏幕)上的对象的轨迹都保留在虚拟触摸屏***中。每个轨迹保持一个被跟踪的斑块,该被跟踪的斑块是被赋予该轨迹的最后斑块。本发明所述的新斑块和已有轨迹的距离指的是一个新斑块与一条已有轨迹中的最后斑块之间的距离。
接着,在步骤S93处,将新斑块归入距离其最近的已有轨迹,并触发触摸移动事件。
接着,在步骤S94处,如果针对一条已有轨迹,不存在任何新斑块与其接近,换句话说,如果所有的新斑块已经分别归入其他已有轨迹,则删除该条已有轨迹,并触发针对该已有轨迹的触摸结束事件。
最后,在步骤S95处,如果针对每个新斑块,不存在任何已有轨迹与其接近,换句话说,之前所获得所有已有轨迹都由于触发触摸结束事件而被删除,或者新斑块与所有已有轨迹的距离都不在一定的距离阈值范围之内,则确定该新斑块为新轨迹的起点,并触发触摸开始事件。
反复执行上述步骤S91-S95,实现对连续帧深度图中的斑块的形心点在用户界面中坐标的跟踪,从而将属于同一点序列的所有点组成为一条轨迹。
当存在多条已有轨迹时,将针对每条已有轨迹反复执行步骤S92。图10所示的本发明的跟踪单元35执行步骤S92的具体流程图。
首先,在步骤S101处,核实已经遍历了所有的已有轨迹。这可以通过一个简单的计数器就可实现。如果已经针对所有的已有轨迹都执行了步骤S92,则结束步骤S92。如果没有,则前进到步骤S102。
在步骤S102处,输入下一条已有轨迹。随后在步骤S103处,针对所输入的已有轨迹,寻找距离其临近的新斑块。然后进入步骤S104。
在步骤S104处,确定是否针对所输入的已有轨迹找到了距离其临近的新斑块。如果已经找到了距离所输入的已有轨迹临近的新斑块,则前进到步骤S105,否则,则进入步骤S108。
在步骤S108处,由于针对所输入的已有轨迹不存在临近的新斑块,因此,将该所输入的已有轨迹标记为“将要删除的已有轨迹”。随后返回到步骤S101。由此,将在步骤S94处,针对该“将要删除的已有轨迹”触发触摸结束事件。
在步骤S105处,确定距离所输入的已有轨迹临近的新斑块是否也是距离其他已有轨迹临近的新斑块。换句话说,确定该新斑块是否同时属于距离两条或两条以上的已有轨迹的临近新斑块。如果判断该新斑块同时属于两条或两条以上的已有轨迹的临近新斑块,则处理进入步骤S106,否则,处理进入步骤S109。
在步骤S109处,由于该新斑块仅仅为所输入的已有轨迹的临近的新斑块,因此,将该新斑块归入所输入的已有轨迹作为其最近的新斑块,即成为该已有轨迹的点序列中的点之一。之后处理返回到步骤S102。
在步骤S106处,由于该新斑块同时属于两条或两条以上的已有轨迹的临近新斑块,则计算该新斑块与所属多条已有轨迹中每条已有轨迹的距离。然后在步骤S107处,比较在步骤S106处所计算的距离的大小,并确定该新斑块与所输入的已有轨迹的之间距离是否在所计算的距离中为最小,即确定该新斑块与所输入的已有轨迹的之间距离是否比与其他已有轨迹之间的距离都小。如果确定该新斑块与所输入的已有轨迹的之间距离在步骤S106处所计算的距离中为最小,则处理进入步骤S109,否则,处理进入步骤S108。
反复执行上述步骤S101-109,从而实现步骤S92所进行的处理,从而能够遍历所有已有轨迹和输入的新检测的斑块。
图11所示的是针对所输入的已有轨迹寻找距离其临近的新斑块的流程图。如图11所示,在步骤S111处,核实是否已经针对所输入的所有新斑块都计算了与所输入的已有轨迹之间的临近距离。如果针对所有的新斑块都计算了与所输入的已有轨迹之间的临近距离,则处理进入步骤S118,否则,处理进入步骤S112。
在步骤S118处,确定作为所输入的已有轨迹的临近的新斑块的列表是否为空。如果是空的,则结束处理,否则,进入步骤S119。在步骤S119处,在所有临近的新斑块列表中,找到与该所输入的已有轨迹的距离最近的新斑块,并将该距离最近的新斑块归入所输入的已有轨迹的点序列。之后结束步骤S103。
在步骤S112处,输入下一个新斑块。随后,在步骤S113处,计算下一个新斑块与所输入的已有轨迹之间的距离。然后,在步骤S114处,确定所计算的下一个新斑块与所输入的已有轨迹之间的距离是否小于一预定的阈值。如果确定所计算的下一个新斑块与所输入的已有轨迹之间的距离小于一预定的距离阈值Td,则处理进入步骤S115,否则,返回到步骤S111。此处距离阈值Td通常设置为10-20个像素点的距离,优选为15个像素点的距离。该阈值Td根据虚拟触摸屏***所使用的环境进行调整。在本发明中,如果一个新斑块与一已有轨迹之间的距离小于所述的距离阈值Td,则称之为该新斑块与该已有轨迹临近。
在步骤S115处,将所述下一个新斑块***到属于所输入的已有轨迹的候选新斑块列表中。随后在步骤S116处,确定属于所输入的已有轨迹的候选新斑块列表的大小是否小于一个预定的大小阈值Tsize。如果确定属于所输入的已有轨迹的候选新斑块列表的大小小于一个预定的大小阈值Tsize,则处理返回到步骤S111,否则,处理进入步骤S117。在步骤S117处,将属于所输入的已有轨迹的候选新斑块列表中的与所输入的已有轨迹之间的距离最长的候选新斑块从所述列表中删除,之后返回到步骤S111。
反复执行图11中所示的步骤,从而完成步骤S103。
以上参照附图9-11描述了针对连续图像帧跟踪斑块在用户界面中坐标的流程。通过上述跟踪操作,触发所检测对象的触摸开始事件、触摸移动事件或触摸结束事件。由此,最后获得所检测对象在虚拟触摸屏上的移动轨迹。图13(a)所示的是一种采用本发明所获得的检测对象在虚拟触摸屏上的移动轨迹的示意图。
很显然,这种初步获取的如图13(a)所示的检测对象在虚拟触摸屏上的移动轨迹显得较为杂乱。该轨迹还需要进行平滑处理,以便获得平滑的对象移动轨迹。图13(b)所示的是经过平滑处理后的对象移动轨迹的示意图。图12所示的是一种对一条采用本发明所获得的检测对象在虚拟触摸屏上的移动轨迹的点序列进行平滑处理的方法。
点序列平滑处理就是对该序列中的点的坐标进行优化以使得点序列平滑。如图12所示,输入构成一条轨迹的原始点序列(n为正整数)作为迭代的第一轮输入,即斑块跟踪的输出。在附图12中,原始点序列为坐起第一列。然后使用下面的公式根据来自上一轮迭代的结果计算下一轮迭代的序列
重复该迭代计算,直到达到预定的迭代阈值。在本发明的实施例中,m参数可以为3-7,在本发明的实施例中设置为3,这意味这,每个下一级点有上一级的3个点迭代获得。该迭代阈值为3。
通过上述迭代计算,最终获得如图13(b)所示的是经过平滑处理后的对象移动轨迹。
此处,在本说明书中,根据程序被计算机执行的处理不需要根据如流程图说明的顺序以时间序列执行。即,根据程序被计算机执行的处理包括并行或单独执行的处理(例如并行处理和目标处理)。
同样地,程序可以在一台计算机(处理器)上执行,或者可以被多台计算机分布式执行。此外,程序可以被转移到在那儿执行程序的远程计算机。
本领域的普通技术人员应该理解到,根据设计要求和其他因素,只要其落入所附权利要求或其等效物的范围内,可以出现各种修改、组合、部分组合和替代。
Claims (7)
1.一种在虚拟触摸屏***中跟踪多个对象的方法,包括:
将图像投射到一投影表面上;
连续获得所述投影表面的环境的图像;
从所获得的每帧图像中,检测位于所述投影表面前预定距离内的至少一个对象的候选斑块;以及
输入一个已有点序列,并从所检测候选斑块中寻找距离该已有点序列临近的候选斑块,并针对已有点序列寻找距离已有点序列最近的候选斑块的形心点,并将距离该已有点序列最近的新斑块归入该已有点序列,其中
所述从所检测候选斑块中寻找距离该已有点序列临近的候选斑块的步骤包括:
输入作为新斑块一个候选板块,计算所输入的新斑块与所输入的已有点序列之间的距离;
在所计算的所输入新斑块与所输入的已有点序列之间的距离小于一预定的距离阈值Td的情况下,将所输入新斑块***到属于所输入的已有轨迹的候选临近新斑块列表中,否则,确认是否已经对所有新斑块执行了上述步骤;
在确定属于所输入的已有点序列的候选临近新斑块列表的大小小于一个预定的大小阈值Tsize的情况下,确认是否已经对所有新斑块执行了上述步骤,否则,删除属于所输入的已有点序列的候选临近新斑块列表中的与所输入的已有点序列最远的新斑块后,确认是否已经对所有新斑块执行了上述步骤;
在确认已经对所有新斑块执行了上述步骤的情况下,如果属于所输入的已有点序列的候选临近新斑块列表不为空,则从所述列表中的候选临近新斑块中找出与所输入的已有点序列最近的新斑块作为所输入的已有点序列的最近新斑块。
2.根据权利要求1所述的在虚拟触摸屏***中跟踪多个对象的方法,还包括:
针对任何一个已有点序列,如果不存在任何与其临近的新斑块,则给出该已有点序列已结束的通知并删除该已有点序列。
3.根据权利要求1或2所述的在虚拟触摸屏***中跟踪多个对象的方法,还包括:
针对所输入的一帧图像中的多个新斑块中的任意一个新斑块,如果不存在任何与其临近的已有点序列,则给出该新斑块为一个新点序列的起点的通知,并创建一个新的点序列。
4.根据权利要求3所述的在虚拟触摸屏***中跟踪多个对象的方法,所述针对每个已有点序列寻找距离该已有点序列最近候选斑块的形心点的步骤还包括:
在从所输入的一帧图像中的多个新斑块没有找到距离所输入的已有点序列临近的新斑块的情况下,则给出所输入的已有点序列将要被删除的通知;
在从所输入的一帧图像中的多个新斑块找到了距离所输入的已有点序列临近的新斑块,且所找到的临近的新斑块仅仅为所输入的已有点序列的临近的新斑块,则确定该新斑块属于所输入的已有点序列;以及
在从所输入的一帧图像中的多个新斑块找到了距离所输入的已有点序列临近的新斑块,且所找到的临近的新斑块还是其他已有点序列的临近的新斑块,如果所找到的临近的新斑块与所输入的已有点序列的距离比与其他已有点序列的距离小,则确定该新斑块属于与所输入的已有点序列最近的新斑块,否则,给出所输入的已有点序列将要被删除的通知;
核实是否已经对所有的已有序列点执行了上述步骤。
6.一种在虚拟触摸屏***中跟踪多个对象的***,包括:
投影仪,将图像投射到一投影表面上;
深度照相机,连续获得所述投影表面的环境的图像;
对象检测单元,从所获得的每帧图像中,检测位于所述投影表面前预定 距离内的至少一个对象的候选斑块;
跟踪单元,包括:
接收模块:其接收一个已有点序列以及作为新斑块一个候选板块,
最近斑块寻找模块,计算所输入的新斑块与所输入的已有点序列之间的距离;在所计算的所输入新斑块与所输入的已有点序列之间的距离小于一预定的距离阈值Td的情况下,将所输入新斑块***到属于所输入的已有轨迹的候选临近新斑块列表中,否则,确认是否已经对所有新斑块执行了上述步骤;在确定属于所输入的已有点序列的候选临近新斑块列表的大小小于一个预定的大小阈值Tsize的情况下,确认是否已经对所有新斑块执行了上述步骤,否则,删除属于所输入的已有点序列的候选临近新斑块列表中的与所输入的已有点序列最远的新斑块后,确认是否已经对所有新斑块执行了上述步骤;在确认已经对所有新斑块执行了上述步骤的情况下,如果属于所输入的已有点序列的候选临近新斑块列表不为空,则从所述列表中的候选临近新斑块中找出与所输入的已有点序列最近的新斑块作为所输入的已有点序列的最近新斑块,并针对已有点序列寻找距离已有点序列最近的候选斑块的形心点,并将距离该已有点序列最近的新斑块归入该已有点序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010615896.6A CN102541417B (zh) | 2010-12-30 | 2010-12-30 | 虚拟触摸屏***中跟踪多个对象方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010615896.6A CN102541417B (zh) | 2010-12-30 | 2010-12-30 | 虚拟触摸屏***中跟踪多个对象方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102541417A CN102541417A (zh) | 2012-07-04 |
CN102541417B true CN102541417B (zh) | 2014-02-26 |
Family
ID=46348423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010615896.6A Expired - Fee Related CN102541417B (zh) | 2010-12-30 | 2010-12-30 | 虚拟触摸屏***中跟踪多个对象方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102541417B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677240B (zh) * | 2012-09-24 | 2017-08-25 | 株式会社理光 | 虚拟触摸交互方法和虚拟触摸交互设备 |
CN104867158B (zh) * | 2015-06-03 | 2017-09-29 | 武汉理工大学 | 基于单目视觉的室内水面船舶精确定位***和方法 |
CN106022266A (zh) * | 2016-05-20 | 2016-10-12 | 北京格灵深瞳信息技术有限公司 | 一种目标跟踪方法及装置 |
CN106648235A (zh) * | 2016-12-20 | 2017-05-10 | 美的智慧家居科技有限公司 | 投影触控***及整体橱柜 |
CN113632055B (zh) * | 2019-03-26 | 2022-10-18 | 曹卓祺 | 放置在电容式触摸屏上时区分并跟踪多个对象 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840062A (zh) * | 2009-08-21 | 2010-09-22 | 深圳先进技术研究院 | 交互式投影***及交互方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9025797D0 (en) * | 1990-11-28 | 1991-01-09 | Hitachi Europ Ltd | Motion target tracking system |
US6661450B2 (en) * | 1999-12-03 | 2003-12-09 | Fuji Photo Optical Co., Ltd. | Automatic following device |
-
2010
- 2010-12-30 CN CN201010615896.6A patent/CN102541417B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840062A (zh) * | 2009-08-21 | 2010-09-22 | 深圳先进技术研究院 | 交互式投影***及交互方法 |
Non-Patent Citations (5)
Title |
---|
JP特开平4-260979A 1992.09.16 |
一种基于特征的多目标跟踪算法;付晓薇 等;《计算机工程与应用》;20041211(第35期);第2.2节,表1 * |
付晓薇 等.一种基于特征的多目标跟踪算法.《计算机工程与应用》.2004,(第35期),第2.2节,表1. |
张嫣 等.运动图像序列中多目标跟踪的研究与实现.《计算机应用研究》.2002,(第1期),全文. |
运动图像序列中多目标跟踪的研究与实现;张嫣 等;《计算机应用研究》;20020128(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN102541417A (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102841733B (zh) | 虚拟触摸屏***以及自动切换交互模式的方法 | |
US10638117B2 (en) | Method and apparatus for gross-level user and input detection using similar or dissimilar camera pair | |
US9117274B2 (en) | System and method for interactive markerless paper documents in 3D space with mobile cameras and projectors | |
US9405182B2 (en) | Image processing device and image processing method | |
US20140300542A1 (en) | Portable device and method for providing non-contact interface | |
CN102799317B (zh) | 智能互动投影*** | |
US20120274550A1 (en) | Gesture mapping for display device | |
CN102566827A (zh) | 虚拟触摸屏***中对象检测方法和*** | |
CN102541417B (zh) | 虚拟触摸屏***中跟踪多个对象方法和*** | |
EP3284078A1 (en) | Augmented interface authoring | |
CN103914143A (zh) | 电子装置的控制方法 | |
US20120319945A1 (en) | System and method for reporting data in a computer vision system | |
Dai et al. | Touchscreen everywhere: On transferring a normal planar surface to a touch-sensitive display | |
JP2016091457A (ja) | 入力装置、指先位置検出方法及び指先位置検出用コンピュータプログラム | |
Katz et al. | A multi-touch surface using multiple cameras | |
CN102799344B (zh) | 虚拟触摸屏***以及方法 | |
KR101461145B1 (ko) | 깊이 정보를 이용한 이벤트 제어 장치 | |
CN106796462A (zh) | 确定输入对象的位置 | |
CN109871178A (zh) | 一种基于图像识别的虚拟触摸屏*** | |
WO2022123929A1 (ja) | 情報処理装置及び情報処理方法 | |
CN116301551A (zh) | 触控识别方法、触控识别装置、电子设备及介质 | |
KR101289883B1 (ko) | 영역 별로 임계치를 다르게 적용한 마스크 이미지 생성 장치 및 그 방법 | |
Cheng et al. | Fingertip-based interactive projector–camera system | |
US20130187893A1 (en) | Entering a command | |
JP2018185563A (ja) | 情報処理装置、情報処理方法、コンピュータプログラム、及び記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140226 Termination date: 20151230 |
|
EXPY | Termination of patent right or utility model |