基于摄影机的触摸系统的制作方法

文档序号:6470250阅读:255来源:国知局
专利名称:基于摄影机的触摸系统的制作方法
技术领域
本发明涉及触摸系统,特别涉及一种基于摄影机的触摸系统。
有源式触摸系统允许用户通过利用一特殊的指示器接触触摸表面来产生用户输入,该特殊指示器通常需要某种形式的随体电源,通常为电池。该特殊指示器发射如红外光、可见光、超声波、电磁波等,以触发触摸表面。
无源式触摸系统允许用户通过利用一无源式指示器接触触摸表面来产生用户输入,它不需要特殊指示器触发接触表面。无源式指示器可为一手指、一某种材料制成的圆柱体、或任何可用于接触接触表面上特定区域的适当的物体。
无源式触摸系统与有源式触摸系统相比其优越性在于任何适当的指示装置,包括用户手指,都可用作接触触摸表面的指示器。因此,可以很容易的产生用户输入。而且,由于在无源式触摸系统中不需要特殊的有源指示器,因此用户不必考虑电源水平和/或指示器损坏、被盗,或指示器错放等问题。
无源式触摸系统具有多种与计算机操作和视频显示相关的申请。在一件交互式申请中,如在授予Martin的美国专利No.5,448,263(已转让给本申请受让人)公开的那样,一无源式接触系统与一计算机连接,该计算机显示器显示在触摸屏幕的触摸表面上。表示触摸表面上特殊位置的坐标映射到计算机显示器上。当用户接触触摸表面时,接触位置的坐标反馈给计算机,并映射到计算机显示器,从而使用户可通过简单地接触触摸表面,用与使用计算机鼠标相似的方法操作计算机。另外,在一种应用中,反馈到计算机的坐标可被存储,并在以后的时间中重复显示。当需要记录用户在接触表面上的写或画的信息时,记录接触坐标。
为了操作计算机或视频显示器,无源式触摸屏的分辨率判断触摸系统是适于记录触摸屏上的写或画的信息,还是仅适于选择映射到计算机或视频显示器上的区域的触摸屏上的区域。分辨率通常以每英寸的点(DPI)来表示。该DPI与触摸屏的尺寸以及用于检测触摸屏上接触的触摸系统硬件和软件的采样能力相关。
低分辨率的无源式触摸屏只具有足以检测在触摸表面上的处于计算机或视频显示器显示的多组像素范围内的接触的DPI。因此,这些低分辨率无源式接触屏只可用于操作计算机或视频显示器。
另一方面,高分辨率无源式触摸屏具有可检测对应于计算机或视频显示器的较少像素或子像素的接触的足够的DPI。但是,对高分辨率触摸屏的要求是可检测指示器与触摸表面何时接触。这对于写、画、鼠标点击等都是必需的。不具备检测指示器与触摸屏接触的能力,则写和画将成为一个连续的操作,鼠标点击也将不可能实现,从而使计算机显示操作变得不可能。第二个要求是可检测指示器何时停悬于触摸表面的上方。虽然写或画并不需要,但是今天的计算机操作系统越来越多的利用停悬信息来操作计算机或视频显示器或弹出信息窗。
无源式触摸屏通常是模拟电阻类型、表面声波(SAW)类型或电容类型。但是,如下所述,这些触摸屏都存在多种问题或缺点。
模拟电阻触摸屏通常具有高分辨率。根据触摸系统的复杂度,触摸屏的分辨率可为4096×4096DPI或更高。模拟电阻触摸屏由涂有电阻材料且以叠层形式排列的两弹性层构成。除非触摸,否则这两个层彼此不接触。这两个层利用绝缘微粒或绝缘空气空间彼此分离。这两个层由通常为透明的ITO构成。因此,该触摸屏存在图像失真但视差很小。
在模拟电阻触摸屏的操作期间,沿第一层的方向提供一均匀电压梯度。当两层由于对触摸屏的触摸而彼此接触时,第二层沿第一层测量电压。由于第一层的电压梯度可被转化为延第一层的距离,因此测量的电压与触摸表面的触摸位置成比例。当需要第一层上的触摸坐标时,向第二层提供该均匀电压梯度,该第一层延第二层测量该电压。第二层的电压梯度与延第二层的距离成比例。这两个触摸坐标表示笛卡尔坐标系统中的触摸表面上的触摸X-Y位置。
但是,由于需要利用机械压力使两个层接触,因此只有当利用足够的压力使两个层彼此接触时,模拟电阻触摸屏才可以检测到接触。当指示器悬于触摸表面上时,模拟电阻无源触摸屏不能感应。因此,在模拟电阻触摸屏的情况下,只有当在触摸表面上有实际触摸时,才可能检测到触摸事件和位置。
表面声波(SAW)触摸屏通常具有中等的分辨率,并不适于记录高质量的写入。SAW触摸屏利用玻璃表面边界处的传感器振动玻璃并产生声波,该声波在玻璃表面波动。当接触玻璃表面时,声波反射回来,从反射的声波的特征可确定触摸位置。
但是,由于置于视频或计算机显示器表面上的振动玻璃的厚度,SAW触摸屏表现出很强的视差。而且,只有当实际接触玻璃表面时,才可能检测到接触事件和位置。另外,SAW触摸屏在对角线上的尺寸不能超过几个英尺。
由于只可能在较大区域(大约1/2″×1/2″)确定接触,因此电容触摸屏只用于低分辨率。因此,电容触摸屏不能用于记录写入或绘画,而只适用于选择触摸屏上对应于视频或计算机显示器上显示的计算机生成的按钮的区域。电容触摸屏还具有对温度和湿度敏感的不利特点。与模拟电阻触摸屏和SAW触摸屏相似,电容触摸屏也只当在实际触摸触摸表面时才可以检测到触摸事件和位置。
由于对较大电子数字转化器的需求的增加,无源触摸屏的可量测性很重要。数字转化器曾经为桌面设备,今天它们已被用于电子白色书写板。建立一无源触摸感应“墙”已经成为新的触摸屏应用的需要。现有的上述类型的无源触摸屏在有效最大尺寸上都有局限性。
因此,需要对无源触摸系统进行改进。本发明的一个目的是提供一种新型的基于摄影机的触摸系统。
技术方案根据本发明的一个方面,提供一种基于摄影机的触摸系统,包括至少两个摄影机,它们与一无源触摸屏相联系,且具有包括所述触摸表面的视野重叠区域,所述至少两个摄影机从不同位置获取所述触摸表面的图像,并产生图像数据;和一处理器,接收并处理由所述至少两个摄影机产生的图像数据,从而当在所述至少两个摄影机获得的图像中捕捉到所述指示器时,可以确定指示器相对于所述触摸表面的位置。
最佳的,该至少两个摄影机为具有通常沿触摸表面的平面的视野的数字摄影机。各数字摄影机产生的图像数据包括指示器中心线x和指示器尖端位置z。各数字摄影机包括一具有可选择像素行的像素阵列。在图像数据产生中,使用可选择像素行中的像素的像素亮度。最佳的,在图形数据产生过程中,使用可选择像素行范围内的指定区域中的像素的像素亮度。
在最佳实施例中,各数字摄影机包括一CMOS图像传感器和一数字信号处理器。数字信号处理器接收图像传感器输出的图像,并执行寻找指示器程序,以确定指示器是否在数字摄影机获得的各图像中,以及指示器的中心线是否也如此。各数字摄影机的数字信号处理器最好执行一更新背景图像程序,从而在获取各图像后更新背景图像。最佳的,各数字摄影机的数字信号处理器还判断各获取的图像和背景图像的差别,以检测变化光条件。
根据本发明的另一方面,提供一种基于摄影机的触摸系统,包括一通常为矩形的无源触摸表面,利用指示器接触该表面;一安装在所述触摸表面的各角附近的数字摄影机,所述数字摄影机具有包括所述触摸表面的重叠视野,所述数字摄影机获取所述触摸表面的图像,当在数字摄影机获取的图像中捕获到所述指示器时,产生包括指示器的中心线x和指示器尖端位置z的图像数据;和一处理器,接收并处理所述数字摄影机产生的图像数据,以判断所述指示器相对于所述触摸表面的位置,和所述指示器是否与所述触摸表面接触。
根据本发明的另一方面,提供一种检测指示器相对于触摸表面的位置的方法,包括以下步骤利用具有重叠视野的摄影机从不同位置获取所述触摸表面的图像,并产生图像数据;和处理所述图像数据,以检测所述获取的图像中是否出现指示器,和判断所述指示器相对于所述触摸表面的位置。
本发明的优点在于无源触摸系统具有高分辨率,允许检测实际的指示器与触摸表面接触以及指示器悬于触摸表面,并产生对应的输出。而且,本发明无源触摸系统的优点在于它不会出现前面背景技术无源触摸系统中出现的视差、图像失真、指示器位置限制、图像投影和可量测性问题。
另外,本发明的优点在于由于使用了CMOS数字摄影机,可以选择数字摄影机像素阵列中的任意像素行。这使数字摄影机的帧频显著增加。而且由于可以任意选择像素行,因此像素阵列可在黑暗的房间中以给定的数字摄影机的帧频曝光更长的时间,从而实现与在亮的房间一样的优良操作。


图1示出本发明基于摄影机的触摸系统的示意图;图2示出形成部分图1的触摸系统的触摸屏的等距投影图;图3示出图2的触摸屏的角部的等距投影图;图4示出形成部分图2的触摸屏的数字摄影机的示意图;图5示出形成部分图1的触摸系统的主控制器的示意图;图6示出处理帧程序执行中执行的步骤的流程图;图7示出片断指示器程序执行中执行的步骤的流程图;图8示出寻找指示器程序执行中执行的步骤的流程图;图9示出数字摄影机获取的图像和被处理的该图像的像素子集;图10示出图9的像素子集中的指定区域(ROI);图11示出用于计算指示器在图2所示的触摸屏的触摸表面上的接触位置的三角几何;图12示出数字摄影机获得的包括指示器尖端和其中心线的图像;图13示出指示器接触和指示器以不同方向悬浮;图14示出数字摄影机观察到的触摸屏的触摸表面的图像;
图15和16示出利用Kalman滤波器的指示器轨迹的Matlab模拟结果;图17a-17d示出利用Kalman滤波器的指示器轨迹的其它Matlab模拟结果。
最佳实施例参看图1,示出本发明的基于摄影机的触摸系统,它由附图标记50表示。如图所示,触摸系统50包括一触摸屏52,触摸屏52与基于主控制器54的数字信号处理器(DSP)连接。主控制器54还与计算机56连接。计算机56执行一个或多个应用程序,并通过投影器58在触摸屏52上表现显示输出。触摸屏52、主控制器54、计算机56和投影器58形成闭环结构,从而用户接触触摸屏52可作为写入或绘画被记录,或者用于由控制计算机56执行的应用程序的执行。
图2-4更好的示出触摸屏52。触摸屏52包括由一矩形框架62包围的触摸表面60。触摸表面60的形式为无源材料的矩形平面层。基于DSP的CMOS数字摄影机63与触摸屏52的各角相连。各数字摄影机63被安装在框架组件64上。各框架组件64包括一倾斜的支撑板66,数字摄影机63安装于其上。支撑框架部件70和72通过柱74被安装在板66上,并将板66紧固在框架62上。
各数字摄影机63包括一个二维CMOS图像传感器和相关的透镜组件80,通过数据总线与图像传感器和透镜组件80连接的一先进先出(FIFO)缓冲器82和通过数据总线与FIFO82连接的、且通过控制总线与图像传感器和透镜组件80连接的一数字信号处理器(DSP)84。还包括启动EPROM86和电源子系统88。
在本实施例中,CMOS摄影机图像传感器为一Photobit PB300图像传感器,其结构为20×640像素子阵列,由于可选择任意像素行,因此该传感器可捕捉每秒超过200帧的帧率的图像帧。而且,由于像素行可被任意选择,因此可将像素子阵列在一给定的数字摄影机帧率下暴露更长时间,从而在黑暗房间可实现与在亮的房间一样的良好操作。FIFO缓冲器82由Cypress以零件号码CY7C4211V制成,DSP84由Analog Devices以零件号码ADSP2185M制成。
该DSP84通过控制总线向图像传感器和透镜组件80提供控制信息。该控制信息使DSP84控制图像传感器和透镜组件80的参数,如曝光、增益、阵列结构、复置和初始化。DSP84还向图像传感器和透镜组件80提供时钟信号以控制图像传感器和透镜组件80的帧率。
板66的角度被选择为使各数字摄影机63的视野(FOV)如图11所示超出触摸表面60指定的外围边缘。这样,整个触摸表面60处于数字摄影机63的视野范围内。
主控制器54在图5中示出,包括一DSP90、一启动EPROM92、一串行线驱动器94和一电源子系统95。该DSP90通过一串行端口96经数据总线与数字摄影机63的DSP84通信,通过串行端口98和串行线驱动器94经数据总线与计算机56通信。在本实施例中,DSP90也由Analog Devices以零件号码ADSP2185M制成。串行线驱动器94由Analog Devices以零件号码ADM222制成。
主控制器54和各数字摄影机63遵守通信协议,可利用与通用串行总线(USB)相似的通用串行电缆实现双向通信。传输带宽被分为三十二(32)个16位信道。在这三十二个信道中,六(6)个信道被分配给数字摄影机63中的各DSP84和主控制器54中的DSP90,剩余的两(2)个信道未使用。当DSP84监视分配给主控制器54的DSP90的六(6)个信道时,主控制器54监视分配给DSP84的二十四(24)个信道。响应中断来执行作为后台操作的主控制器54和数字摄影机63之间的通信。
下面将说明触摸系统50的通常操作。各数字摄影机63以所需的帧率获取图像传感器和透镜组件80的视野范围内的触摸表面60的图像,并处理各获取的图像以判断指示器是否在获取的图像中。如果指示器在获取的图像中,则进一步处理图像以判断接触或悬于触摸表面60的指示器的特性。然后数字摄影机63产生包括指示器特性、状态和/或判断信息的指示器信息包(PIP),该PIP排队传输到主控制器54。数字摄影机63还接收并响应于主控制器54产生的命令PIP。
主控制器54巡检数字摄影机63以获得PIP。如果PIP包括指示器特征信息,则主控制器54对PIP中的指示器特征进行三角测量,以判断指示器相对于触摸表面60的笛卡尔直角坐标的位置。主控制器54然后将计算的指示器位置数据、状态和/或判断信息传输到个人计算机56。这样,传输到个人计算机56的指示器位置数据可作为写入或绘画被存储,或可用于控制计算机56执行的应用程序的执行。计算机56还更新传送到投影器58的显示输出,从而使触摸表面60上表现的信息反映指示器的灵活性。
主控制器54还接收个人计算机56的命令,并做出相应的响应,以及产生并向数字摄影机63传输命令。
下面将参照图6-8说明对获取图像的处理和对PIP中指示器特征的三角化的细节。
首先,执行摄影机偏移角校准程序,以确定各数字摄影机63的偏移角δ(如图11所示),从而可精确的确定指示器相对于触摸表面60的接触或悬空位置。摄影机偏移角校准的细节如申请人于2001.6.1提交的同族美国申请“校准摄影机偏移以便于利用三角测量确定目标物位置”中所述,其内容将通过引用结合在本申请中。
摄影机偏移角度校准程序之后,执行表面检测程序以加强判断指示器是在给定点与触摸表面60接触还是悬于触摸表面上。
随着从摄影机偏移角校准中精确的获得触摸表面60的平面中的指示器直角坐标,可以确定各数字摄影机63观察到的触摸表面60的方向。由于数字摄影机不仅可沿触摸表面60的平面方向观察还可以在垂直它的方向观察,因此这是需要的。在某种程度上,各数字摄影机63向下观察触摸表面60。图14示出数字摄影机63观察到的触摸表面60的形状。因此,需要定义“垂直”坐标z,它作为直角坐标x和y的函数,描述了触摸表面位置。
指示器的z坐标可从数字摄影机图像中测量得到,因此可以确定触摸表面60上指示器位置的z坐标。该垂直校准为将该z坐标数据配合入给定的直角坐标x和y的过程。该垂直校准可由下面形式的表面描述z(x,y)=Ax+By+Cx2+Dy2+Exy+F (0.1)注意如果系数C、D和E为零,则它变为一平面。当等式(0.1)表示线性最小二乘方问题时,该配合可很容易算出。对应的矩阵形式为x1y1x12y12x1y11x2y2x22y22x2y21..................xNyNxN2yN2xNyN1ABCDE=z1z2...zN]]>为了将直角坐标x和y配合入等式(0.1)以确定系数A-E,使用基于奇异值分解(SVD)的Moore-Penrose伪逆转方法以确定最小标准的最小二乘方解。
如下所述,矩阵可以下面形式分解A=USVT(0.2)
矩阵A具有任何形状,矩阵U和V为正交矩阵,意味着UTU=I=VTV对角矩阵S整体由矩阵A的奇异值组成,这些值与矩阵A的特征值的平方相关。奇异值分解(SVD)的重要性在于通过它,矩阵A的逆矩阵通常可计算。另外,当遇到无法确定的问题时,可以控制该逆转。考虑下面线性等式的系统Axv=bv]]>其解为x→=A-1b→]]>由于矩阵U和V都为正交矩阵,因此SVD式矩阵A的逆矩阵表示为A-1=VS-1UT(0.3)在无法确定的情况下,某些奇异值很小,因此当形成矩阵S-1时,产生很大的值,这是不希望看到的。此时,最小的奇异值的逆被设为零。这可以消除解中无法确定的部分。对于最小二乘方问题,这是有效的方法。对最小二乘方问题的通用方程方法是基于在条件充足的情况下的求解ATAxv=ATbv.......(0.4)]]>xv=(ATA)-1ATbv]]>和条件不足的情况下的求解xv=AT(AAT)-1bv........(0.5)]]>如下所述,在等式系统与等式(0.1)相配合中,采用与确定摄影机偏移角δ相同的方法。由于使用相同的程序,因此存储器使用和处理速度可保持在所需的程度。
利用已知的系数A-E,可以计算对应触摸表面上的任何给定的(x,y)点的z坐标,因此,可以确定指示器与触摸表面60接触还是悬于其上。
在触摸系统50校准之后,在操作中,各数字摄影机63获取其视野范围内的触摸表面60的图像。该图像通过图像和透镜组件80以响应于从DSP84接收到的时钟信号的间隔来获取。图像和透镜组件80获取的各图像被送至FIFO缓冲器82。该DSP84然后从FIFO缓冲器82中读出各图像并处理图像。为了避免处理大量的包含非有用信息的像素,如图9所示,只处理所获得的图像中的像素子集。
在处理数字摄影机63获取的图像中,DSP84执行图6所示的处理帧程序。当图像可用于处理时(步骤120),执行检测以确定图像是否已经被捕获以进行数字摄影机63的调节(步骤122)。如果已经获得图像进行曝光调节,则调用曝光控制程序(步骤124)以调节数字摄影机63的曝光。随后,DSP84等待接收可用于处理的下一图像。
在步骤122中,如果没有捕捉到用于数字摄影机63曝光调节的图像,则执行检查以确定是否捕捉到用于替换背景图像的图像(步骤126)。如果已经捕捉到用于背景图像替换的图像,则调用捕捉背景程序(步骤128),并将所获取的图像用作背景图像。如果数字摄影机获取一图像并将PIP发送至主控制器,指示该指示器在图像中而它实际为噪声时,完成操作。替换背景图像有效的防止了数字摄影机在以后的PIP中错误的识别指示器。随后,DSP84等待下一个用于处理的图像的接收。
在步骤126,如果没有捕捉到用于背景图像替换的图像,DSP84调用copyICur程序(步骤130)。在该程序中,当前获得的图像被拷入存储器,并用于更新背景图像从而形成表示当前获取的图像与背景图像之间不同的差别图像。
CopyICur程序执行完成之后,调用片断指示器程序(步骤132)以确定指示器是否在所需的图像中,如果在,则判断指示器相对于触摸表面60的位置,以及指示器是与触摸表面60接触还是悬于其上。该片断指示器程序132还可改变将要检测的光条件。片断指示器程序132之后,DSP84调用填充PIP程序(步骤134),将指示器和光条件信息置入一PIP中,用于传输到主控制器54。然后,DSP84等待下一用于处理的图像的接收。
图7示出在片断指示器程序132执行过程中DSP84执行的步骤。如图所示,当DSP84执行片断指示器程序132时,DSP84调用寻找指示器程序以判断指示器是否在所需的图像中,如果是,则确定指示器在当前获得的图像中的位置(步骤140)。当寻找指示器程序140完成时,DSP84调用更新背景程序以更新背景图像,从而处理光条件的改变(步骤142)。
在更新背景程序执行中,DSP84利用下面等式连续更新背景图像Bn+1(i,j)=(1-a)Bn(i,j)+aI(i,j) (0.6)其中,Bn+1为新的背景图像;Bn为当前背景图像;I为当前获取的图像;i,j为被更新的背景图像像素的行和列坐标;和a是0和1之间的数,用于指示从当前获取的图像I中获取的程度。a的值越大,背景图像更新的越快。
更新背景程序142执行后,利用DSP84计算当前获取的图像和背景图像之间的亮度差。向主控制器54发送信息从而使主控制器判断数字摄影机63是否需要重新曝光。如果光条件发生急剧的变化(即,环境照明被打开或关闭),则需要。当数字摄影机需要重新曝光时,主控制器54向数字摄影机63发送一命令PIP,指示数字摄影机获取用于曝光调节的图像。
图8示出DSP84在寻找指示器程序140执行过程中执行的步骤。如图所示,当DSP84执行寻找指示器程序140时,DSP84分别清除指示器位置和指示器尖端参数x和z(步骤150)。从而建立一垂直亮度柱状图(步骤152)。在这个阶段,形成表示当前图像和背景图像之间差别的差别图像,该差别图像中的像素亮度由列总计。这样,形成一640×1向量,表示在640×20差别图像中各列的总和。这样,640×1向量中的第一元素表示640×20差别图像的第一列中的20个像素的总和,640×1向量中的第二元素表示640×20差别图像的第二列中的20个像素的总和等等。该操作过程的其它特点可从2000.7在SPIE电子成像期刊中公开的,由V.Cheng等著写的文章题目为“智能摄影机应用基于DSP的人类检测和寻迹”中得出。
在步骤152中创建垂直亮度柱状图之后,通过在垂直亮度柱状图中寻找具有大于噪声极值的最高亮度的列,可以确定指示器位置参数x(步骤154)。该列用作将被处理的指定区域(ROI)的中心,该ROI的宽度等于垂直亮度柱状图形成的顶峰的基础(见图10)。如果没有列具有大于噪声极值的亮度,则假设没有指示器在所获取的图像中。
当确定指示器位置参数x时,DSP84分析ROI以判断指示器尖端所处的像素行,并判断该行是表示触摸表面接触还是悬浮(步骤156)。特别的,该DSP84在ROI中创建一二进制表征码,从而如图12所示,白色像素表示指示器,黑色像素表示背景。从该表征码,可以很容易的计算出指示器的中心线和指示器的尖端位置z。
在填充PIP程序134中,DSP84使用片断指示器程序132执行过程中获得的指示器和光条件信息,并创建一PIP以将所需的图像简化为一小组数据,从而提供带宽经济。该PIP采用六(6)字信息包的形式,信息包中各字为十六(16)位。该PIP通常采用以下形式

该PIP的头部部分通常为十六(16)位,包括一目标/源区域、一数据类型区域、一图像帧编号区域、一序列编号区域和一信息包编号区域。该目标/源区域识别PIP的目的地和PIP的来源。如果PIP由主控制器54产生,则目的地应该为一单个的数字摄影机63或所有的数字摄影机。该数据类型指示该PIP是与指示器信息相关还是与其它信息如状态和判断信息相关。该图像帧编号区域存储一编号,从而使主控制器54顺序处理各数字摄影机63输出的图像。序列编号区域存储该PIP与其它PIP相关的编号。信息包编号区域存储识别信息包的编号。
PIP的数据部分通常为六十四(64)位,包括一指示器ID区域、一指示器位置参数区域、一指示器尖端参数区域、一接触状态区域和一指示器品质因素区域。该指示器ID区域存储一指示器的标识符,可以实现对多个指示器的寻迹。指示器位置参数区域存储DSP84计算的x值。指示器尖端参数区域存储DSP84计算的z值。接触状态区域存储一指示指示器处于与触摸表面60接触、没有接触或可能接触的值。指示器品质因素区域存储一关于检测到的指示器是真实指示器的可能性的统计值。
PIP的校验和部分用于确保PIP传输的完整性。如果PIP校验和错误很少发生,则表示校验和错误的PIP可由目的装置忽略。
不与指示器信息相关的状态PIP具有不同于上述说明的PIP的形式。对这种PIP,数据部分包括一指令类型区域、一指令编码区域和一数据区域。该指令类型区域识别指令类型是将要执行的指令还是一状态请求。该指令编码区域存储实际的指令或状态请求标识符。该数据区域存储根据指令类型而变化的数据。状态PIP的例子包括帧头部PIP、命令PIP和错误信息PIP。
帧头部PIP通常包括指示器PIP的数目,这些指示器PIP与具有当前图像统计量的当前获得的图像相符,这些统计量为例如当前获得图像和前一图像之间的亮度变化。主控制器54发出的命令PIP可命令数字摄影机调节其设定中的一个或多个,例如曝光,或捕捉用作新的背景图像的图像。一错误PIP将一个错误条件从数字摄影机63传给主控制器54,以便存储在一错误记录中。
各数字摄影机63响应于它的DSP84产生的各时钟信号,处理它以上述方式获取的各图像。当主控制器54巡检数字摄影机63时,DSP84创建的PIP只送至主控制器54。
当主控制器54巡检数字摄影机63时,向数字摄影机63提供帧同步脉冲以初始化DSP创建的PIP的传输。当接收到帧同步脉冲时,各DSP84通过数据总线将PIP传送到主控制器54中。通过串行端口96接收传送至主控制器54的PIP,并将其自动缓冲至DSP90。
当DSP90已经巡检完数字摄影机63并已经从各数字摄影机63中接收到包括指示器信息的PIP后,DSP90利用三角测量处理PIP,以判断指示器相对于触摸表面60的(x,y)坐标位置。特别的,利用三角测量处理从一对数字摄影机63得到的PIP。
图11示出需要两个角φcam1和φcam2来三角测量指示器相对于触摸屏60的位置(x0,y0)。各数字摄影机63产生的PIP包括一标识指示器中心线或顶端的编号θ(见图12)。当主控制器54从数字摄影机63接收到一PIP时,主控制器利用下面的等式,使用表示指示器中心线或顶端的编号以及数字摄影机的视野来计算角度φcam。tanφcam=2(xa)tanFOV21-(2xa-1)tan2FOV2........(0.7)]]>
其中,x为表示指示器中心线或顶端的编号;a为在离数字摄影机一定距离的地方,该数字摄影机的视野(FOV)所包围的总长度。
计算的角度φcam等于延伸超过产生该PIP的数字摄影机63的触摸表面60的规定外边缘的视野边界与从数字摄影机的光轴延伸并和所获取图像内的指示器相交的直线之间的夹角。最佳的,视野的边界为在视野范围内离开触摸表面60的规定外边缘(即x轴)一定量延伸。但是,在大多数情况下,各数字摄影机63的角度偏移δcam的扫描彼此不同且未知。
一旦主控制器54计算出角度φcam,则主控制器54利用摄影机偏移校准过程中确定的偏移角度δcam来调节角度φcam。利用这两个可用角度和调节后的角度φcam,主控制器54利用三角测量使用角度φcam来确定指示器相对于触摸表面60的位置。
在本实施例中,由于触摸屏52包括四个数字摄影机63,因此可使用六对数字摄影机进行三角测量。下面说明各对数字摄影机63怎样通过三角测量确定指示器位置。
为了利用从沿触摸屏52的左侧的数字摄影机63接收到的PIP确定指示器位置,使用下面的等式来确定上部和下部数字摄影机的给定角度为φ0和φ1时指示器位置的(x0,y0)坐标x0=hw×1tan(φ0)+tan(φ1).......(0.8)]]>y0=tan(φ0)tan(φ0)+tan(φ1)........(0.9)]]>其中h为触摸屏52的高度,即从数字摄影机焦点到焦点的垂直距离;
w为触摸屏52的宽度,即从数字摄影机焦点到焦点的水平距离;φi为利用数字摄影机i和等式(0.7)测量的相对于水平的角度。
对沿触摸屏52的右侧的数字摄影机63来说,利用下面的等式来确定上部和下部数字摄影机的给定角度为φ2和φ3时指示器位置的(x0,y0)坐标x0=1-hw×1tan(φ2)+tan(φ3)......(0.10)]]>y0=1-tan(φ2)tan(φ2)+tan(φ3)......(0.11)]]>当用角度φ2和φ3分别替换角度φ1和φ2代入等式(0.8)时,两个等式(0.8)和(0.10)之间的相似度,即等式(0.10)=1-等式(0.8)将变得很明显。等式(0.9)和(0.11)以相似的方式相关。
为了利用触摸屏52的底部的数字摄影机63确定指示器位置,利用下面的等式来确定底部左侧数字摄影机和底部右侧数字摄影机的给定角度为φ0和φ3时指示器位置的(x0,y0)坐标x0=tan(φ3)tan(φ0)+tan(φ3).......(0.12)]]>y0=wh×tan(φ3)tan(φ0)+tan(φ3)×tan(φ0)......(0.13)]]>=wh×x0×tan(φ0)]]>为了利用触摸屏52的顶部的数字摄影机63确定指示器位置,利用下面的等式来确定顶部左侧数字摄影机和顶部右侧数字摄影机的给定角度为φ1和φ2时指示器位置的(x0,y0)坐标x0=tan(φ2)tan(φ1)+tan(φ2).......(0.14)]]>y0=1-wh×tan(φ2)tan(φ1)+tan(φ2)×tan(φ1)......(0.15)]]>=1-wh×x0×tan(φ1)]]>当用角度φ1和φ2分别替换角度φ0和φ3代入等式(0.12)时,两个等式(0.12)和(0.14)之间的相似度,即等式(0.14)=等式(0.12)将变得很明显。当用角度φ1和φ2分别替换φ0和φ3代入等式(0.13)时,两个等式(0.13)和(0.15)具有如下关系等式(0.15)=1-等式(0.13)。
为了利用从底部左侧到顶部右侧的对角线上的数字摄影机63确定指示器位置,利用下面的等式来确定底部左侧数字摄影机和顶部右侧数字摄影机的给定角度为φ0和φ2时指示器位置的(x0,y0)坐标x0=hw-tan(φ2)tan(φ0)-tan(φ2).......(0.16)]]>y0=1-wh-tan(φ2)tan(φ0)-tan(φ2)×tan(φ0).......(0.17)]]>为了利用从底部右侧到顶部左侧的对角线上的数字摄影机63确定指示器位置,利用下面的等式来确定底部右侧数字摄影机和顶部左侧数字摄影机的给定角度为φ1和φ3时指示器位置的(x0,y0)坐标x0=hw-tan(φ3)tan(φ1)-tan(φ3)......(0.18)]]>y0=1-1-wh-tan(φ3)tan(φ1)-tan(φ3)×tan(φ1).....(0.19)]]>当用角度φ1和φ3分别替换φ0和φ2代入等式(0.16)时,两个等式(0.16)和(0.18)之间的相似度,即等式(0.18)=等式(0.16)将变得很明显。当用角度φ1和φ3分别替换φ0和φ2代入等式(0.17)时,两个等式(0.17)和(0.19)具有如下关系等式(0.19)=1-等式(0.17)。
上述等式产生尺度
之间的坐标x0和y0。因此,任何适当的坐标尺度可以通过将x0和y0分别乘以最大X和最大Y值来得到。
在本实施例中,DSP90利用三角测量计算除对角线对外各数字摄影机对的指示器位置。然后将产生的指示器位置平均化,且产生的指示器位置坐标排队等候通过串行端口98和串行线驱动器94传输到个人计算机56。
通过三角测量获得的指示器的(x,y)位置,利用表面检测校准期间计算出的系数A-E,可利用等式(0.1)确定对应于(x,y)位置的z坐标。计算该z坐标,并将该z坐标与PIP中的z参数相比,从而提供指示器是悬于触摸表面60上还是与触摸表面实际接触的指示。
如果需要,如图13所示,DSP90可以计算指示器速率v和角度。通过检查在连续的PIP中指示器的z位置(或x截距)的变化和获知摄影机帧率,可以计算出指示器的速率。例如,如果摄影机帧率为每秒200帧且每帧z位置变化为1像素行,则指示器速率为每秒200像素。
由于PIP包括中心线的像素行0和19的x截距,因此可以确定指示器的角度。由于已知x距离(x截距之间的差)和y距离(像素行的数目),因此所有计算指示器角度的所需信息都可得到。
如果需要,当指示器处于离触摸表面60一定距离范围内时,可使用Kalman滤波器(本质上为一递归最小二乘方方法)以有效的“跟踪”指示器。为了实现上述跟踪,需要定义滤波器中使用的一系统等式或模式。由于主控制器54可提供指示器的位置z和速率v,因此可以使用下面的描述z=z0+vtv=v当滤波器需要知道怎样处理速率时,同样由于z和v可测量,需要这些等式中的第二个。定义状态向量为[zv]T为了使系统在两个连续时间n和n+1中的状态相关,写入作为矩阵差别等式的系统等式zvn+1=1dt01zvn+σzσv]]>或矩阵符号,x^n+1=Ax^n+σ]]>这里,dt表示连续时间阶段之间的时间间隔。而且引入的RHS是“处理噪声”的短语。它完全是正式的,是部分Kalman滤波方法。还需要指定怎样在操作中引入测量。这可通过矩阵等式表示zn=Hxn+w其中zn为位置和速率的测量,H为一“测量矩阵”,它为一恒等矩阵,xn为状态向量,w为测量噪声。实质上,可假设测量为状态向量的噪声版本。还需要定义与w相关的协方差矩阵。如果z的测量误差为0.5像素,则协方差矩阵为R=(0.5)21001]]>处理上面引入的噪声需要相似矩阵Q,但由于它在某种程度是任意的,因此可将其作为滤波器的一调谐参数。例如,矩阵Q为恒等矩阵与一阶或小于一阶的因子相乘。通过上述的设定,有足够的信息开始滤波操作。第一步(预测)为x^k+1(-)=Ax^k(+)]]>Pk(-)=APk-1(+)AT+Qk-1
这里(-)符号表示还没有进行测量,而(+)表示已经进行测量(但此时(+)指前一步骤)。而且,矩阵P的矩阵等式预测了协方差矩阵。下一步骤为滤波器增益计算Kk=Pk(-)HkT[HkPk(-)HkT+Rk]-1]]>一旦测量完成,则可更新状态估算及其协方差x^k(+)=x^k(-)+Kk[zk-Hkxk(-)]]]>Pk(+)=[Pk-1(-)+HkTRk-1Hk]-1]]>状态x的估算可用于确定是否发生与触摸表面的接触。注意矩阵H和R都随时间为恒定,只有矩阵K和P变化(事实上,P接近于一常数矩阵)。进一步的简化在于不包括控制过程。
利用一系列表示指示器正以恒定速率接近触摸表面60的测量结果,执行Kalman滤波器的Matlab模拟。图15和16示出当时间步长dt为0.1秒、测量精度为0.5像素时的该模拟。圈状标记表示数据,线表示Kalman滤波器的状态估算。很明显,状态估算非常符合数据。
第二Matlab模拟的执行考虑到指示器的垂直(z)和水平(x)的运动。该模拟基本上是将两个相似的Kalman滤波器以“并行”方式一起操作。除了需要考虑的变量的数目加倍外,公式几乎完全一样。图17a-17d示出模拟的结果,并表现出指示器以恒定速率和以缓慢变化的x位置(即人手的不稳定)向触摸表面60的运动。
虽然前述触摸系统50包括一将图像显示到触摸屏的投影器,但本领域的技术人员应理解这不是必须的。触摸屏52可为透明或半透明,并被放在一显示单元上,从而使显示单元上的显示可通过触摸屏幕可视。而且,触摸屏也不需要为包围有框架的矩形层。触摸屏实际上可为在两个或多个数字摄影机的重叠视野范围内的任何表面。
而且,虽然触摸系统50包括一与数字摄影机分离的主控制器,但如果需要,可将数字摄影机中的一个改制成同时具有摄影机和主控制器的功能,并对其他数字摄影机巡检PIP。此时,可作为主控制器的数字摄影机最好包括一比其它数字摄影机更快的DSP84。
另外,虽然所述的表面检测程序为确定等式(0.1)中使用的系数A-E,从而计算指示器在相对于触摸屏的给定点(x,y)的z坐标,在表面检测程序中,可对主控制器54编程来计算对应触摸表面的唯一(x,y)区域的z坐标,并将该z坐标存储在一查找表(LUT)中。此时,当指示器在数字摄影机捕捉的图像中出现且指示器相对于触摸表面的(x,y)位置被确定时,可通过将LUT中对应于指示器所处的(x,y)区域的z坐标和指示器尖端所处的图像传感器和透镜组件的像素行比较,来确定指示器是否与触摸表面接触。
如上所述,对各数字摄影机,主控制器54计算或查找触摸表面的z坐标,并对该z坐标与指示器尖端位置z比较,从而确定指示器是否与触摸表面真实接触。但是,本领域技术人员应该知道数字摄影机中的DSP84可以包括图像处理软件以判断指示器是否与触摸表面真实接触。该图像处理可与主控制器指示器接触判断一起或替代它执行。
虽然上面说明了本发明最佳实施例,但本领域技术人员可在不脱离权利要求限定的精神和范围的情况下,对本发明进行变化和修改。
权利要求
1.一种基于摄影机的触摸系统,包括至少两个摄影机,它们与一无源触摸表面相联系,且具有包围所述触摸表面的视野重叠区域,所述至少两个摄影机从不同位置获取所述触摸表面的图像,并产生图像数据;和一处理器,接收并处理由所述至少两个摄影机产生的图像数据,从而当在所述至少两个摄影机获得的图像中捕捉到所述指示器时,可以确定指示器相对于所述触摸表面的位置。
2.如权利要求1所述的触摸系统,其中所述至少两个摄影机为具有通常沿所述触摸表面的平面看去的视野的数字摄影机。
3.如权利要求2所述的触摸系统,其中各数字摄影机产生的图像数据包括指示器中心线x和指示器尖端位置z。
4.如权利要求3所述的触摸系统,其中所述各数字摄影机包括一具有可选择像素行的像素阵列,在所述图像数据产生过程中,使用所述可选择像素行中的像素的像素亮度。
5.如权利要求4所述的触摸系统,其中在所述图形数据产生过程中,使用所述可选择像素行范围内的指定区域中的像素的像素亮度。
6.如权利要求5所述的触摸系统,其中所述各数字摄影机将所述图像数据形成信息包,将其传输到所述处理器以提供经济带宽。
7.如权利要求6所述的触摸系统,其中各数字摄影机包括一CMOS图像传感器和一数字信号处理器,所述数字信号处理器接收图像传感器输出的图像,并执行寻找指示器程序,以判断指示器是否在所述数字摄影机获得的各图像中,以及所述指示器的中心线是否也如此。
8.如权利要求7所述的触摸系统,其中在所述寻找指示器程序中,所述数字信号处理器建立一垂直亮度柱状图,该柱状图包括表示所获取图像和背景图像之间差别的像素亮度的列,所述垂直亮度柱状图的列具有大于极限值的最大像素亮度,用于定义所述指定区域的中心,所述指定区域的宽度由所述垂直亮度柱状图的列定义,这些列位于定义所述指定区域中心的所述列的相对侧,且具有大于所述极限值的像素亮度。
9.如权利要求8所述的触摸系统,其中各数字摄影机的数字信号处理器分析所述指定区域中的像素,以确定指示器尖端所处的像素行并确定所述指示器尖端位置z。
10.如权利要求9所述的触摸系统,其中各数字摄影机的数字信号处理器创建一所述指定区域中的表征码,白色像素表示所述指示器,黑色像素表示背景,从而可计算所述中心线x和指示器尖端位置。
11.如权利要求10所述的触摸系统,其中各数字摄影机的数字信号处理器还执行一更新背景图像程序,从而在获取各图像后更新背景图像。
12.如权利要求11所述的触摸系统,其中在所述更新背景图像程序中,各数字摄影机的数字信号处理器利用等式Bn+1(i,j)=(1-a)Bn(i,j)+aI(i,j)其中Bn+1为新的背景图像;Bn为当前背景图像;I为当前获取的图像;i,j为被更新的背景图像像素的行和列坐标和a是0和1之间的数,用于指示从当前获取图像I中获取的程度。
13.如权利要求12所述的触摸系统,其中各数字摄影机的数字信号处理器还确定各获取图像和背景图像之间的差别以检测变化的光条件。
14.如权利要求13所述的触摸系统,其中各数字摄影机将光条件信息传输给所述处理器,所述处理器利用所述光条件信息调节各数字摄影机的曝光。
15.如权利要求14所述的触摸系统,其中各数字摄影机的数字信号处理器还执行一创建信息包程序,将所述图像数据和光条件信息加入所述信息包。
16.如权利要求3所述的触摸系统,其中对于从各数字摄影机接收到的图像数据,所述处理器利用下面等式计算角度φcamtanφcam=2(xa)tanFOV21-(2xa-1)tan2FOV2]]>其中,x为表示指示器中心线或顶端的编号;a为在离数字摄影机一定距离的地方,该数字摄影机的视野(FOV)所包围的总长度;所述处理器利用三角测量根据计算出的角度确定该指示器相对于所述触摸表面的位置。
17.如权利要求16所述的触摸系统,其中考虑所述指示器位置确定之前的数字摄影机偏移,调节所述计算的角度。
18.如权利要求17所述的触摸系统,其中在数字摄影机校准程序执行中,确定所述数字摄影机偏移。
19.如权利要求17所述的触摸系统,其中包括至少三个摄影机,所述处理器利用三角测量确定对于各对数字摄影机的指示器位置,并对确定的指示器位置平均化。
20.如权利要求19所述的触摸系统,其中所述处理器还执行触摸表面确定程序以计算各数字摄影机所观察的触摸表面的方向,从而确定指示器何时与所述触摸表面接触,和所述指示器何时悬于所述触摸表面上。
21.如权利要求20所述的触摸系统,其中当所述指示器在所述数字摄影机的视野内向所述触摸表面移动时,所述处理器还计算指示器的速率。
22.如权利要求20所述的触摸系统,其中所述处理器对所述数字摄影机视野范围内的指示器寻迹。
23.如权利要求21所述的触摸系统,其中所述处理器利用至少一个Kalman滤波器对所述指示器寻迹。
24.如权利要求19所述的触摸系统,其中还包括一与所述处理器连接的计算机,所述计算机从所述处理器接收所述指示器的位置。
25.一种基于摄影机的触摸系统,包括一通常为矩形的无源触摸表面,利用指示器接触该表面;一安装在所述触摸表面的各角附近的数字摄影机,所述数字摄影机具有包围所述触摸表面的重叠视野,所述数字摄影机获取所述触摸表面的图像,当在所述数字摄影机获取的图像中捕获到所述指示器时,产生包括指示器的中心线x和指示器尖端位置z的图像数据;和一处理器,接收并处理所述数字摄影机产生的图像数据,以判断所述指示器相对于所述触摸表面的位置,和所述指示器是否与所述触摸表面接触。
26.如权利要求25所述的触摸系统,其中所述各数字摄影机包括一具有可选择像素行的像素阵列,在图像数据产生过程中,使用所述可选择像素行中的像素的像素亮度。
27.如权利要求26所述的触摸系统,其中在图形数据产生过程中,使用所述可选择像素行范围内的指定区域中的像素的像素亮度。
28.如权利要求27所述的触摸系统,其中所述各数字摄影机包括一CMOS图像传感器和一数字信号处理器,所述数字信号处理器接收从所述图像传感器输出的图像,并执行寻找指示器程序,以判断指示器是否在所述数字摄影机获得的各图像中,以及所述指示器的中心线是否也如此。
29.如权利要求28所述的触摸系统,其中在所述寻找指示器程序中,各数字摄影机的所述数字信号处理器建立一垂直亮度柱状图,该柱状图包括表示所获取图像和背景图像之间差别的像素亮度的列,所述垂直亮度柱状图的列具有大于极限值的最大像素亮度,用于定义所述指定区域的中心,所述指定区域的宽度由所述垂直亮度柱状图的列定义,这些列位于定义所述指定区域的中心的列的相对侧,且具有大于极限值的像素亮度。
30.如权利要求29所述的触摸系统,其中各数字摄影机的数字信号处理器分析所述指定区域中的像素,以确定指示器尖端所处的像素行并确定所述指示器尖端位置z。
31.如权利要求30所述的触摸系统,其中各数字摄影机的数字信号处理器在所述指定区域中创建一表征码,白色像素表示所述指示器,黑色像素表示背景,从而可计算所述中心线x和指示器尖端位置。
32.如权利要求31所述的触摸系统,其中各数字摄影机的数字信号处理器还执行一更新背景图像程序,从而在获取各图像后更新背景图像。
33.如权利要求32所述的触摸系统,其中在所述更新背景图像程序中,各数字摄影机的数字信号处理器利用等式Bn+1(i,j)=(1-a)Bn(i,j)+aI(i,j)其中Bn+1为新的背景图像;Bn为当前背景图像;I为当前获取的图像;i,j为被更新的背景图像像素的行和列坐标;和a是0和1之间的数,用于指示从当前获取图像I中获取的程度。
34.如权利要求33所述的触摸系统,其中各数字摄影机的数字信号处理器还确定各获取图像和背景图像之间的差别以检测变化的光条件。
35.如权利要求34所述的触摸系统,其中各数字摄影机将光条件信息传输给所述处理器,所述处理器利用所述光条件信息调节各数字摄影机的曝光。
36.如权利要求35所述的触摸系统,其中各数字摄影机的数字信号处理器还执行一创建信息包程序,将所述图像数据和光条件信息加入所述信息包,以传输给所述处理器。
37.如权利要求26所述的触摸系统,其中对于从各数字摄影机接收到的图像数据,所述处理器利用下面等式计算角度φcamtanφcam=2(xa)tanFOV21-(2xa-1)tan2FOV2]]>其中,x为表示指示器中心线或顶端的编号;a为在离数字摄影机一定距离的地方,该数字摄影机的视野(FOV)所包围的总长度;所述处理器利用三角测量根据计算出的角度确定该指示器相对于所述触摸表面的位置。
38.如权利要求37所述的触摸系统,其中考虑所述指示器位置确定之前的数字摄影机偏移,调节所述计算的角度。
39.如权利要求37所述的触摸系统,其中所述处理器还执行触摸表面确定程序以计算各数字摄影机所观察的触摸表面的方向,从而确定指示器何时与所述触摸表面接触,和所述指示器何时悬于所述触摸表面上。
40.如权利要求39所述的触摸系统,其中当所述指示器在所述数字摄影机的视野内向所述触摸表面移动时,所述处理器还计算指示器的速率。
41.如权利要求40所述的触摸系统,其中所述处理器对所述数字摄影机视野范围内的指示器寻迹。
42.如权利要求41所述的触摸系统,其中所述处理器利用至少一个Kalman滤波器对所述指示器寻迹。
43.如权利要求26所述的触摸系统,其中所述触摸表面由一框架包围,其中各所述数字摄影机安装在位于与框架相连接的触摸表面角部的框架组件上,各数字摄影机被定向为使其视野向下且基本沿所述触摸表面的平面。
44.如权利要求26所述的触摸系统,其中还包括一与所述处理器连接的计算机,所述计算机从所述处理器接收指示器的位置,并利用该指示器位置信息更新执行的应用程序。
45.如权利要求44所述的触摸系统,其中计算机显示信息显示在触摸表面上。
46.一种检测指示器相对于触摸表面的位置的方法,包括以下步骤利用具有重叠视野的摄影机从不同位置获取所述触摸表面的图像,并产生图像数据;和处理所述图像数据,以检测所述获取的图像中是否出现指示器,和判断所述指示器相对于所述触摸表面的位置。
47.如权利要求46所述的方法,其中在所述处理步骤中,利用三角测量确定所述指示器相对于触摸表面的位置。
48.如权利要求47所述的方法,其中在所述处理步骤中,处理所述图像以确定指示器何时与所述触摸表面接触,和所述指示器何时悬于所述触摸表面上。
49.如权利要求48所述的方法,其中所述处理步骤还包括当指示器接近触摸表面时对指示器寻迹的步骤。
全文摘要
一种基于摄影机的触摸系统(50),包括一无源触摸表面(60)和至少两个摄影机(63),它们与该触摸表面相联系。该至少两个摄影机(63)具有包围所述触摸表面的视野重叠区域(FOV)。所述至少两个摄影机从不同位置获取所述触摸表面的图像,并产生图像数据。一处理器(54)接收并处理由所述至少两个摄影机产生的图像数据,从而当在所述至少两个照相机获得的图像中捕捉到所述指示器时,确定指示器相对于所述触摸表面的位置。可以确定指示器与触摸表面接触和指示器悬于触摸表面上。
文档编号G06T7/00GK1440539SQ01812360
公开日2003年9月3日 申请日期2001年7月5日 优先权日2000年7月5日
发明者杰拉尔德·莫里森, 戴维·霍姆格伦 申请人:智能技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1