查看
增强用户交互表示
(
在名为“Smartinteractivityforscannedobjectsusingaffordanceregions”的专利申请中,
在一个实施例中,可以扫描真实世界对象,并创建可由虚拟角色交互的虚拟对象。为每个对象类型创建3D规范对象表示,并且使用对象-用户交互注释创建功能区域。这可以包括扫描和获取目标现实世界对象的实例特定3D表示,将映射函数从特定于实例的对象应用到规范表示。
通常,如果在用户和物理对象之间检测到物理接触或交互,则为物理对象确定对象类型。从对象类型中,可以获得以对象为中心的功能区域,例如基于对象-用户交互注释。
以对象为中心的功能区域可以包括对象类型的通用版本的形状的表示,其中所述表示指示对象表面的各个部分可能是与用户接触点的可能性。
例如,杯子的一般表示可以与一个以对象为中心的功能区相关联,所述功能区指示在用户交互期间杯子的特定部分是与用户接触点的可能性。举例来说,如果对象是一个杯子,用户伸手与杯柄接触的可能性可能性高于杯身。
可以通过在特定用户交互的特定对象类型的对象之间执行对应映射来生成对象类型的可用区域。在一个实施例中,可以基于一组用于特定对象类型和用户交互类型的训练数据来执行对应映射。
对于每个用户交互,可以获得对象的几何表示和用户的几何表示。然后,可以为几何表示的每个部分分配一个接触值。对应映射可能包括确定对象类型的一般形状的接触可能性。
在一个实施例中,可以获得特定对象的几何表示。例如,可以在物理环境中执行扫描以确定物理对象的三维几何表示。然后,可以将与通用对象类型相关联的以对象为中心的功能区域应用于特定对象的几何表示,以获得特定于实例的功能区域。
特定于实例的功能区域可以表示可以发生特定操作的区域,因而可以是特定于操作的区域。接下来,可以使用实例特定的功能区域来呈现与虚拟对象的表示交互的用户的表示。
例如,在用户拿着杯子的情况下,可以呈现用户的Avatar表示,使得用户的Avatar通过杯身拿着杯子的表示,而不是以不自然或意外的方式拿着杯子的表示,例如拿着杯身的侧面。
图1示出提供使用功能区域的物理对象的表示。
从105开始,物理环境中的对象标识为潜在的用户交互。在所示的示例中,系统130可以包括一个或多个传感器135,其可以将杯子140检测为环境中的物理对象。杯子140可以检测为物理环境中的对象,或者说检测为可能是用户交互主体的物理对象。
在110,系统检测与所述对象的用户交互。如图所示,系统130检测用户的手145和杯子140之间的交互。这可以基于从传感器135收集的深度信息来确定所述接触,并且使用手部追踪或其它技术。可以在确认在用户和环境中的物理对象之间发生接触事件时检测到用户交互,或者可以在触摸即将发生时检测到用户交互。
在115,系统获得用于在对象类型进行用户交互的以对象为中心的功能区域。功能区域可以特定于特定分类的对象类型。以对象为中心的功能区域可以指示在对象类型的通用表示的各个区域发生接触的可能性。
例如,杯子150的三维表示可以包括以对象为中心的功能区域155,其中这个区域指示与受用户接触影响的特定可能性相关联的通用对象的几何部分。这样,第一以对象为中心的功能区域155可以指示在用户交互期间最可能与用户接触的杯子150的手柄的一部分。类似地,第二以对象为中心的功能区域160可以指示杯子150的手柄的另一部分。
如图168所示,当使用者喝水时,杯子边缘可能会接触到使用者的嘴。如果在110处检测到的用户交互与拿着杯子喝水的用户相关联,则功能区域可以指示杯柄周围的部分最有可能与用户接触相关联。
类似地,如果在110检测到的用户交互是基于从洗碗机中取出杯子或以其他方式存储干净的杯子,则功能区域可能不同。所以,在115获得的以对象为中心的功能区域可以特定于所述对象类型,例如特定杯子140的通用表示150,并且在115获得的以对象为中心的功能区域可以特定于所述对象类型和所述交互类型的组合。
在一个实施例中,杯子150的三维表示可以是三维表示,其中三维表示的至少一些区域与代表用户接触可能性的值相关联。值得注意的是,杯子150的三维表示与一般杯子相关联,而不是特定于实际识别的杯子140。
在120,将以对象为中心的功能区域应用于所标识对象的表示,以获得特定于实例的功能区域。如示例所示,得到了具体杯子175的三维表示。系统可以获得特定杯子的几何表示。例如,当识别对象时,可以在105获得特定杯子的三维表示。系统130可以使用一个或多个传感器135执行扫描。
流程图在125结束,其中向用户呈现所定义对象125的表示的交互。在一个实施例中,可将用于特定对象的实例特定功能区域提供给图像处理管道,以用于生成执行与物理对象交互的用户的虚拟表示,亦即Avatar。
因此,系统可以生成杯子180的虚拟表示,而它由用户185的虚拟表示所持有。换句话说,可以向远程设备用户提供所述功能区域和/或所得到的图像数据,以生成所述用户手持所述杯子140的手145的Avatar。
通过这种方式,当渲染用户的Avatar时,它与杯子的交互会显得非常逼真,因为杯子的表示是基于用户拿着的现实世界的杯子。所以,所呈现的交互可以向位于远程的第二用户提供额外的情景信息。
图2示出使用功能区域呈现物理对象的表示。
在205,系统为潜在的用户交互检测对象。例如,可以通过对象检测技术、对环境的三维扫描等来检测环境中的对象。另外,可以预先注册环境中的对象,使得系统知道对象的特征。
在210,系统为所述对象识别对象类型。根据一个或多个实施例,可以确定在205检测到的特定对象的对象类型。
在220,获得所述物理对象的通用几何表示。所述几何表示可以是与所述物理对象的对象类型相对应的预定几何表示。例如,对象类型可以包括对其预先确定几何表示的对象的分类。通用几何表示可以例如从本地存储或从远程来源获得,
参考上面的图1,在场景中检测到的特定杯子140可以具有独特的形状。然而,一般几何表示与对象的分类有关,而不是与特定对象本身有关。因此,如果杯子140归类为“咖啡杯”,则“咖啡杯”的一般几何形状看起来像一个圆柱形的马克杯,如几何形状150所示。几何表示可以是对象的几何形状的任何表示。
在225,确定对象的用户交互。在230,获得以对象为中心的功能区域。在一个实施例中,以对象为中心的功能区域可以与物理对象的一般表示上可能接触点的分布相关联。
在235,将以对象为中心的功能区域应用于特定物理对象的几何形状,以获得特定实例的功能区域。在240,获得物理对象的几何形状,例如物理对象的网格表示。
在245,在230获得的以对象为中心的功能区域与在240获得的特定于物理对象的几何表示之间执行对应映射。将以对象为中心的功能区域应用于物理对象的几何形状后,可以确定特定于实例的功能区域。
在250,与所检测对象的表示进行交互的用户表示按照实例特定的功能区域呈现。这样,可以呈现用户的Avatar表示与用户在物理环境中与之交互的特定对象的虚拟版本交互。根据一个实施例,可以将实例特定的功能区域传递给图像处理管道,并在呈现用户的Avatar表示时考虑所述区域,从而以逼真的方式呈现与特定对象的虚拟版本交互的Avatar表示。
图3显示了用于获取与特定对象的多个用户交互的可用区域。
从305开始,系统检测对象以进行潜在的用户交互。在310,系统为所述对象识别对象类型。在315,获得所述物理对象的通用几何表示。在320,确定第一用户交互类型。
在330,获得以对象为中心的功能区域。一个对象类型可能与不同交互类型的多个功能区域相关联。以行李箱作为示例,如果用户交互包括携带行李,则可以为交互识别第一个以对象为中心的功能区域,并表明围绕行李箱的把手进行接触的可能性更大。相比之下,如果用户交互包括拖拽行李,则所述操作的功能区域可能表明沿行李箱拖杆进行用户交互的可能性更大。
在335,可以将以对象为中心的功能区域应用于特定物理对象的几何形状。在340,与所述物理对象的所述表示进行交互的用户表示是基于实例特定的功能区域呈现。这样,可以呈现用户的Avatar表示与特定对象的虚拟版本交互。
在345,确定是否检测到任何潜在的用户交互。附加的潜在用户交互可以包括用户和物理对象之间的第二接触类型。例如,如果对象是一个杯子,则第一交互类型包括手持杯子的用户,第二交互类型包括将杯子举到嘴边喝水的用户。
在350,确定额外用户交互的交互类型。在355,获得用于所述对象类型的附加用户交互类型的功能区域。在335,其系统将所述附加功能区域应用于所述特定对象的几何形状。
在340,获得可用于呈现用户交互表示的更新功能区域,直到在345没有检测到额外的用户交互。这时流程图300结束。
图4示出生成用于所述交互的对象类型的三维表示和功能区域。
为了生成通用的三维表示,可以获得持有不同类型马克杯的用户的各种图像的一组训练数据。因此,可以捕获用户的手404A与杯子402A交互的数据。
类似地,可以捕获与杯子402B交互的用户的手404B的数据,并且可以捕获与杯子402C交互的用户的手404C的数据。用户手404A、404B和404C可能属于同一人,或可能属于不同的人。值得注意的是,马克杯402A、402B和402C对应的对象具有相似的识别特征,但形状不同。
可以分析每一组捕获的数据,以确定特定对象的三维表示和基于用户交互的三维表示的接触点分布。因此,表示406A对应于马克杯402A的特定几何形状。同样,表示406B对应于马克杯402B的特定几何形状,表示406C对应于马克杯402C的特定几何形状。
另外,可以根据训练数据为每个几何表示确定一组接触点。通常,可以比较关于用户的已知几何数据和关于物理对象的已知几何数据,以识别与用户接触的物理对象的区域。如图所示,表示406A与接触点408A相关联。类似地,表示406B与接触点40813相关联,表示406C与接触点408C相关联。
值得注意的是,不同形状的杯子接触点不同。例如,马克杯402A与如图408A所示的两个不同的接触区域相关联,而马克杯402C与如图408C所示的指向手柄顶部的一个简单的连续接触点相关联。接触点的不同分布可能是该对象类型的不同具体对象的形状、大小、重量分布等不同特性的结果,而相关特性会导致用户以不同的方式与物理对象进行接触。
转到图5,所示的流程图500显示了用于在用户的手占用时使用手势识别以触发动作的技术。
从505开始,获得特定对象类型的训练数据。训练数据可以特定于特定的用户交互类型,并包括传感器数据捕获用户与物理对象交互的特征。例如,所采集的数据可以包括图像数据、深度数据、位置数据等。
训练数据可以包括训练数据中特定物理对象的一组三维表示,以及用于物理对象表示的一组接触点或与用户接触相关的其他数据。通常,确定物理对象的几何形状和接触点之间的相关性。
在510,获得物理对象的几何表示,例如网格表示。可以通过对所述对象执行扫描或合成所述传感器数据来获得所述几何表示。
在515,可以获得与所述用户交互相对应的用户的三维表示。在520,为对象的几何表示的每个部分分配了一个接触值。在525,在特定对象类型的对象之间执行对应映射。
在530,系统为对象类型和用户交互生成以对象为中心的功能区域。以对象为中心的功能区域可以包括跨对象类型的通用表示的接触可能性的分布。结果是以对象为中心的功能区域,指示在用户交互期间通用表示410的特定部分是接触点的可能性。在训练数据特定于特定交互类型的情况下,以对象为中心的功能区域412可以指示通用表示410的特定部分是特定用户交互期间的接触点的可能性。
如535所示,可以根据对应映射为通用几何表示的每个面分配与似然相对应的接触分数。例如,对象类型的通用网格表示的特定面可能与网格区域与用户接触的可能性相关联。接触分数可以包括,例如,平均或以其他方式考虑与来自训练数据的对象类型的对象的部分相关联的接触值。因此,功能区域可能与对象类型的一般三维表示相关联。
ApplePatent|Smartinteractivityforscannedobjectsusingaffordanceregions
名为“Smartinteractivityforscannedobjectsusingaffordanceregions”的苹果专利申请最初在2023年6月提交,并在日前由美国专利商标局公布。
需要注意的是,一般来说,美国专利申请接收审查后,自申请日或优先权日起18个月自动公布或根据申请人要求在申请日起18个月内进行公开。注意,专利申请公开不代表专利获批。在专利申请后,美国专利商标局需要进行实际审查,时间可能在1年至3年不等。