/ Nweon / 0浏览

苹果AR/VR专利介绍一种用于手指方向触碰的检测方法



映维网Nweon
2024年09月03日

)今天的电子设备为用户提供了一系列与周围世界交互的方式。用户与数字信息交互的一种常用方式是通过触控屏界面。触控屏界面允许用户使用手指、触笔或其他物体与显示表面进行交互,而触控传感器识别被触碰的区域并向用户提供响应。

随着混合现实环境的兴起,用户经常通过额外的方式提供输入。然而,这一般不包括传统上用于检测来自用户的触控的触控传感器。

苹果
认为,将任何物理表面增强为触控屏将允许用户、计算系统和真实表面之间的直观交互。所以在名为“Finger orientation touch detection”的专利申请中,这家公司就介绍了一种用于手指方向触碰的检测方法。

在一个实施例中,可以通过将用户的意图结合到确定触控表面中来改善交互体验。根据一个或多个实施例,手指方向可以用于确定用户的意图。例如,用户手指指向的方向指示用户将在真实表面上触控的位置。另外,用户可能不会用他或她的手指遮挡表面上的目标区域。

在一个实施例中,基于包括手指和目标表面的深度图像来确定触控状态。在一个或多个实施例中,深度图像可以由深度摄像头捕获,或者可以从其他类型的图像(例如RGB图像)获得。

可以在深度图像中确定指尖位置和手指方向。另外,指尖位置和手指方向可以相对于公共坐标系来确定。可以通过确定深度图像中的手位置并基于手位置和指尖位置确定手指方向来确定手指方向。

在一个实施例中,手指的方向可以是3D空间中的矢量,例如源自手指上的关节。可以从图像中识别目标表面,并且可以基于所确定的手指方向和指尖位置来识别深度图像中的目标区域。另外,可以确定目标区域的几何特性(例如姿势)。

一旦确定了手指位置和方向,就可以基于指尖位置在深度图像中确定指尖区域。可以基于所估计的几何特性来处理指尖区域的深度信息。在一个实施例中,指尖区域可以包括在手指指向的方向上从指尖延伸的区域。触控状态可以基于指尖区域的处理后的深度信息来确定。触控状态可以基于目标表面上的预期触控区域来确定。目标区域可以在2D图像坐标系中与手指方向相交。

在一个实施例中,触控区域可以包括数字信息,并且检测到的触控可以基于相关联的数字信息触发事件。在一个或多个实施例中,可以例如使用头戴式设备来确定与手指相关联的用户的注视方向。目标区域的位置可以进一步基于注视方向以及手指方向。

图1以框图的形式示出了能够使用视觉手段提供触控检测的系统。

电子设备100可以包括用于基于视觉的触控检测的其他组件,例如一个或更多个摄像头105和/或其他传感器,例如深度传感器110。在一个实施例中,一个或更多个摄像头105中的每一个可以是传统的RGB摄像头、深度摄像头等。在一个实施例中,电子设备100可以允许用户与
CG
R环境交互。

触控模块135可以估计触控对象和目标表面之间是否已经发生了触控。触控模块135可以确定触控对象(例如手指或指尖)与目标表面之间已经进行接触的可能性。触控模块135可以例如通过获得触控对象和目标表面的深度信息来确定触控事件何时发生。

例如,触控模块135可以从摄像头105、深度传感器110或其他传感器接收或获得深度信息。另外,触控模块135可以根据其他数据来确定触控信息。触控模块135然后可以基于信号和估计来确定触控事件已经发生。

在一个实施例中,触控模块135可以估计触控对象与目标表面之间的距离。根据一个实施例,原始触控数据可以基于例如所确定的触控对象与目标表面之间的测量距离来指示触控已经发生的可能性。

例如,可以基于用于确定触控的预定或动态确定的阈值估计值来确定触控已经发生。另外,可以相对于目标表面来确定触控状态。在一个实施例中,在公共坐标系中确定目标表面的姿势和触控对象的姿势可以允许触控模块135确定触控对象与目标表面和/或环境中的其他组件之间的相对距离。

根据一个实施例,触控模块135不仅可以确定何时发生了触控,而且可以识别目标表面的触控区域。在一个实施例中,触控模块135可以基于深度信息来确定图像中指尖或其他触控对象与目标表面接触的触控区域。

另外,触控模块135可以基于第一图像数据来确定触控对象在场景中的指向方向。例如,触控模块135可以确定指示手指或触控对象在与目标表面接触时所指向的3D方向的3D射线。例如,可以基于从摄像头105和/或深度传感器110收集的深度信息来确定3D射线。

手指的方位可以用来确定手指的方向。然后,可以基于触控区域和手指方向来估计目标表面上的目标区域。因此,目标表面的目标区域可以不同于目标表面的触控区域。

图2示出了用户265利用电子设备100来检测触控对象(例如用户的手指220)和目标表面235(例如菜单)之间的触控。

在一个实施例中,目标表面235可以包括一个或更多个感兴趣的区域。出于所描绘的示例的目的,感兴趣区域可以包括感兴趣区域240和感兴趣区域255。如图所示,触控对象220可以在触控区域230处与目标表面235进行物理接触。然而,目标区域250可以包括与触控区域230不同的目标表面的部分。另外,目标区域250和触控区域230可以全部或部分重叠,也可以不重叠。

根据一个实施例,可以基于由电子设备100的一个或更多个摄像头105和/或其他深度传感器110捕获的深度信息来确定触控区域230。根据一个实施例,电子设备100可以捕获包括触控对象220和目标表面235的图像和/或其他深度数据,并且可以估计触控对象220与目标表面235之间的距离。

在一个实施例中,摄像头105可以捕获触控对象220和目标表面235的图像数据。然后,电子设备100可以利用触控对象220的模型来确定触控对象在3D空间中的位置。换句话说,通过利用触控对象220的模型,电子设备可以确定指垫在空间中的位置,即使指垫可能由于被手指的顶部和/或手的顶部遮挡而在图像数据中不可见。

根据一个实施例,触控模块可以利用所确定的触控区域230来确定作为用户选择的对象的目标区域250。可以利用触控对象220的方位(例如手指方位)来确定目标区域250。手指定向可以至少部分地由指示手指的指向方向的定向3D射线225来定义。

例如,可以基于确定触控时的手指取向来确定目标区域250。另外,可以部分地基于触控区域230来确定目标区域250。比方说,可以通过基于手指方向225细化触控区域230来确定目标区域250。

通过利用从摄像头105和/或深度传感器110捕获的深度信息,电子设备不仅可以确定在触控对象220和目标表面235之间发生了触控事件,而且可以确定在目标表面上进行接触的位置。

根据一个或多个实施例,可以另外基于用户的注视方向来确定目标区域250。例如,注视矢量260可以由电子设备100来确定。例如,图像数据可以由面向用户的摄像头捕获。用户眼睛的方向可以例如在与电子设备100相关联的坐标系中确定,或者可以在其中利用手指方向225来确定注视矢量260的某个其他坐标系中进行确定。

在一个实施例中,注视方向可以用于细化目标区域。例如,如果用户在与手指方向基本相似的方向上观看,则目标区域可能比注视方向在与手指取向大不相同的方向上更准确。如果注视方向260和手指方向225基本上不同,则可以在注视260的方向上细化目标区域。

图3示出了目标表面和触控对象。在一个实施例中,可以基于触控区域230和手指方向225来确定目标区域250。如上所述,当检测到触控时,可以基于手指方向来确定目标区域。另外,可以通过细化触控区域230来确定目标区域250。换句话说,目标区域250可以被定义为触控区域,然后基于诸如指向方向和凝视方向之类的附加因素来细化。

根据一个实施例,可以基于手指定向225的方向来确定目标区域250。可以基于穿过手指的一个或更多个关节和/或手指220的指尖的3D方向矢量来确定手指方向。可以基于3D射线225穿过目标表面235的空间中的点来确定目标区域250。可以估计表面的几何性质以确定表面相对于电子设备100的深度,从而确定手指方向矢量与目标表面235相交的空间点。

图4示出了用于估计触控对象和目标表面之间的触控的目标区域的示例技术以及流程图。

在405,电子设备100通过摄像头105从第一视点捕获环境中的触控对象和目标表面的图像数据。

在410,触控模块135确定图像中的指尖区域。如上所述,电子设备100可以访问诸如手指之类的触控对象的模型。模型可以是一般手指或特定手指的模型,并且可以与图像数据和/或深度数据结合使用以确定指尖所在的环境中的位置。

在415,触控模块135基于所确定的指尖区域来估计表面的几何性质。

在420,触控模块135基于几何特性处理指尖区域的表面深度信息。可以例如相对于目标表面、相对于电子设备等来确定触控对象的姿势。另外,触控对象的姿势可以例如基于电子设备的坐标系、真实世界坐标系、目标表面的坐标系等来确定。

在425,触控模块135基于深度信息来确定触控状态。根据一个实施例,触控模块135确定图像中指尖与表面接触的触控区域。确定指尖与表面接触的位置可以包括确定手指的姿势。

在430,触控模块135确定图像中指尖与表面接触的触控区域。在一个实施例中,当在425处确定已经发生触控时,触控区域可以确定为目标表面的指尖悬停/触控的部分。

在435,触控模块135基于图像数据确定场景中触控对象的指向方向。如上所述,指向方向可以确定为与手指的指向方向相对应的3D方向射线。在一个或多个实施例中,可以通过识别手指和/或指尖中的关节来确定指向方向(例如,手指方向),从中确定射线。

在425,基于触控区域和指示方向来估计目标区域。可以通过多种方式来确定目标区域。例如,可以基于确定触控时的手指方向220来确定目标区域250。另外,可以部分地基于触控区域230来确定目标区域250。例如,可以通过基于手指方向225细化触控区域230来确定目标区域250。目标区域可以确定为目标表面的在手指定向的方向上从触控区域偏移的部分。

图5以流程图的形式示出了用于基于检测到的触控来触发事件的示例技术。

在505,作出关于是否已经检测到触控的确定。如果未检测到触控,则流程图继续到510,并且触控模块135继续监视触控对象和目标表面以进行触控。

返回到505,如果确定检测到触控,则流程图在515继续,并且触控模块135在目标区域检测感兴趣的对象。

流程图继续到520,其中触控模块135获得与感兴趣对象相关联的数字信息。

流程图在525结束,其中触控模块135基于数字信息触发事件。

图6以流程图的形式示出了用于利用注视方向来检测触控的示例技术。

流程图开始于605,其中触控模块135确定用户在特定坐标系中的注视方向。

流程图继续到610,其中触控模块135将注视方向与来自605的坐标系中的指示方向进行比较。在一个或多个实施例中,注视方向和指向方向可以在不同的坐标系中确定,并且触控模块135可以将多个坐标系转换为单个公共坐标系。

在615,确定注视方向和指向方向是否基本相似。注视方向和指向方向可以基本相似,例如,如果针对指向方向确定的3D射线与针对注视方向确定的射线基本相似。如果注视射线和指向射线之间的差满足预定阈值,则注视方向和指向方向可以基本相似。

如果在615处确定注视方向和指向方向基本相似,则流程图在620处继续,并且触控模块135相对于用户细化更靠近触控区域的目标区域。在一个或多个实施例中,可以基于用户的触控方向来确定目标区域的初始确定。这里,目标区域可以被细化为比触控区域更靠近用户。如果目标区域在用户眼睛上方,则目标区域可能比目标区域的默认确定更远离用户。

返回到615,如果确定注视方向和指向方向基本上不相似,则流程图在625继续,其中触控模块135细化目标区域以相对于用户远离触控区域。换句话说,目标区域可以被细化为比触控区域更远离用户。根据一个或多个实施例,例如,如果目标区域低于用户的眼睛水平,则注视方向和指向方向可以不在基本相似的方向上。


相关专利


Apple Patent | Finger orientation touch detection

名为“Finger orientation touch detection”的苹果专利申请最初在2024年2月提交,并在日前由美国专利商标局公布。