(
映维网Nweon
2024年12月12日
)对于XR而言,低光环境是一个挑战性场景,导致难以从图像中提取手部。针对这个问题,
苹果
提出可以根据亮度情况禁用或启用Hand Matting,亦即从复杂背景中精确分离前景对象,有点类似于抠图。
在一个实施例中,亮度可以通过多种方式确定。例如,可以从物理环境的图像数据确定一个或多个流明值。然后,Hand Matting技术的操作可以根据场景的特征动态改变。例如,如果帧的整体亮度低于临界阈值,则可以禁用Hand Matting。
或者,可以使用用于弱光条件的备选Hand Matting模型,以在低光下执行Hand Matting。
一旦Hand Matting禁用,它可以根据一个或多个亮度指标重新启用。例如,如果确定帧的亮度满足阈值,则可以重新打开Hand Matting。
当禁用Hand Matting时,可以执行替代技术。例如,手部追踪数据可以使用不同的技术来为图像中的手部提供位置数据。例如,手部追踪技术可以为手部的一个或多个点提供三维位置信息,例如关节位置,而所述位置信息可用于在低光下绘制手部周围的几何形状,可以对其施加低alpha值,使得包括手在内的图像数据部分在所得到的合成图像中发光。
另一替代实施例可包括在弱光条件下绘制手的几何形状。手部追踪管道可产生手部网格。网格可以是基于关节位置的手三维几何表示。网格可以基于一般的手部形状,或可以基于用户特定的手部形状。
可以渲染网格,使得在合成图像中呈现手的形状,以提供关于手相对于虚拟内容所处位置的视觉线索。同时,可以渲染特定于用户手的几何形状的用户特定网格,并且可选地,可以使用用户特定纹理渲染,使得渲染的网格看起来像是用户的手。
图1A显示了根据照明条件在混合现实环境中管理Hand Matting的技术流程图。
在105,接收到的图像包含物理环境中的一只手。所述图像数据可以是透视摄像头数据。
在107,接收要混合到物理环境图像数据中的虚拟内容。虚拟内容可以与一个或多个增强现实应用相关联,并且可以配置为在物理环境视图中呈现。
在110,确定图像亮度。图像亮度可以通过多种方式确定。例如,可以从特定图像帧的一个或多个像素确定亮度值。作为另一示例,环境光传感器或其他亮度传感器可提供可用于确定场景亮度的信号。
在115,确定所述亮度值是否小于第一亮度阈值。第一个阈值可以是临界阈值亮度,代表场景的整体亮度不足以使用Hand Matting。
如果确定亮度值小于第一阈值,则在120结束,并且禁用Hand Matting。如果确定所述亮度值不小于第一阈值,则在125确定所述亮度是否小于第二阈值。第二阈值大于第一阈值,但需要额外的信息来确定所得到的信息是否可能失败或不可靠。
换句话说,第二阈值是一个中间阈值,表明当亮度值低于第二阈值时,则应考虑额外的数据。所以,如果确定感兴趣亮度区域不小于第二阈值,则流程在140结束,并且使用Hand Matting图将图像数据与虚拟内容混合。相反,如果确定亮度值小于第二阈值,则流程图继续到130。
在130,得到一个手部边界框。系统可以运行与手部拼接管道分开的手部追踪管道。捕获周围环境的图像数据可用于通过手部追踪管道提取手部特征。可以训练网络来读取传感器数据并生成手部特征。可以将包含边界框的图像数据区域确定为感兴趣区域。
在135,将感兴趣亮度值的区域与第三阈值进行比较。如果确定感兴趣亮度区域小于第三阈值,则流程图在120结束,并且禁用Hand Matting。如果确定感兴趣亮度区域不小于第三个阈值,则流程图在140结束,并且使用Hand Matting将图像数据与虚拟内容混合。
在一个实施例中,Hand Matting用于获得或确定图像数据中的手的属性,然后可用于将来自当前图像帧和/或来自其他图像帧的图像数据与在107获得的虚拟内容混合。
图1B显示根据照明条件管理Hand Matting的替代技术。
类似于上面,105接收包含手的图像数据。在107接收虚拟内容,在110确定图像亮度值。
在115,确定所述亮度值是否小于第一亮度阈值。如果确定亮度不小于阈值,则流程图继续到155。
在155,使用初级模型执行Hand Matting。在一个实施例中,可用多个模型并配置为在不同条件下执行。例如,主Hand Matting模型可以配置为在光线良好的环境中工作。
返回到115,如果确定亮度不小于阈值,则流程图继续到160。在160,可使用另一种Hand Matting模型来生成系数。可选模型可以配置为在低光条件下执行,或者可以提供关于功率和精度的其他权衡。例如,在弱光条件下工作的Hand Matting模型可能需要更多的系统资源才能达到正常照明下的手精确度。
作为另一个例子,替代模型的输出可能比主要的手部抠图模型的质量低。例如,备选Hand Matting模型的输出对于手部轮廓可能不太准确,从而导致由系数定义的手的模版模糊。然后,系数可用于将来自当前图像帧和/或来自其他图像帧的图像数据与在107获得的虚拟内容混合。
图2显示在混合现实环境中生成手的视图。
管道200从收集传感器数据202开始。
手部追踪模块204可以使用来自传感器数据202的用户手部图像数据和/或深度数据来确定手部的特征。这可以包括,例如,关节位置、姿势、深度、位置、方向等等。
所述手部追踪模块204可包括手部追踪网络,所述手部追踪网络训练成估计用户的一只或多只手的物理状态。手部追踪模块204可为视图中的每只手或两只手提供边界框208。可以为传感器数据202的每一帧确定限定框208,或者可以根据环境的照明特性在触发时确定限定框208。
在一个实施例中,手部追踪模块204可以配置为生成手部姿势的几何形状的表示,例如以网格的形式。网格可以是代表手的姿势的一般手部网格,或可以是特定于用户的。
在一个实施例中,可使用手部掩膜模块206来确定手部掩膜210。所述手部掩膜210可以是手和/或手臂的形状或几何形状。可以根据训练为从传感器数据202预测所述掩膜的模型来确定。
合成器220接收从中生成合成图像的图像数据。特别地,传感器数据202可以包括提供环境视图的透视摄像头数据212。所述数据212可以与包含像素的亮度导出的亮度值214相关联。
合成器220可以配置为将虚拟图像数据218混合到透视摄像头数据212中以生成合成帧224。如果激活Hand Matting模块206并提供手部掩膜210,则合成器可以根据Hand Matting模块206将虚拟图像数据218与透视摄像头数据212混合。
Hand Matting可以根据使用各种技术的环境照明来启用和禁用。图3显示了相关状态图。
从302开始,启用Hand Matting。所以,可以生成合成图像,根据由Hand Matting管道提供的手部掩膜将虚拟内容混合到物理环境的视图中。
当Hand Matting开启,可以确定场景亮度值。如上所述,场景亮度值可以通过多种方式确定。例如,亮度值可以从捕获场景的传感器数据帧中的一个或采样像素的亮度导出。如果场景亮度小于临界使能阈值,则状态图过渡到308,其中系统确定为临界低光状态,所以可以关闭Hand Matting或以其他方式禁用。
当系统处于临界低光状态时,可以确定给定帧的场景亮度是否大于临界禁用阈值。当确定场景亮度超过关键禁用阈值时,则状态图300可以切换回302,并启用Hand Matting。
在302,可以将场景亮度与不同于临界阈值的场景亮度启用阈值进行比较。场景亮度启用阈值可能是一个大于临界阈值的亮度值,但在这个阈值下,需要额外的信息来确定由此产生的Hand Matting信息是否可能失败或不可靠。
所以,如果确定场景亮度低于场景亮度阈值,则状态图300过渡到304,并追踪手边界框。在第304块,追踪一个手部边界框。边界框可以对应于图像数据中感兴趣手部区域。根据一个或多个实施例,确定感兴趣手部区域内的亮度值,并且开启Hand Matting。因此在304,系统可以同时确定感兴趣区域亮度值以及场景亮度值。
如果在304确定感兴趣区域亮度低于感兴趣区域使能阈值,则状态图300过渡到306。对于感兴趣区域亮度低于感兴趣区域使能阈值的图像帧,将在不考虑手部掩模的情况下,通过将虚拟内容与透视场景数据混合来生成合成图像。在一个实施例中,可以使用从手部追踪网络获得的手部数据来呈现虚拟手。虚拟手可以渲染为使用边界框的替代方案。
图4显示了基于照明条件管理Hand Matting的可选状态图。
与上述图3类似,从302开始,启用Hand Matting,所以可以生成合成图像,根据由Hand Matting管道提供的手部掩膜将虚拟内容混合到物理环境的视图中。在302,场景亮度可以与场景亮度使能阈值进行比较。如果确定场景亮度低于场景亮度使能阈值,则状态图400过渡到304。
在304,追踪一个手部边界框。在304,如果场景亮度超过场景亮度禁用阈值,则状态图400可以切换回302。这样,可以根据通过Hand Matting生成的手部掩模,将虚拟内容与通过相机数据混合生成合成图像。
如果确定感兴趣区域亮度低于感兴趣区域使能阈值,则状态图400过渡到306,并取消Hand Matting。在确定感兴趣的区域亮度超过感兴趣的区域禁用阈值后,状态图400返回到304,并且打开Hand Matting。
当禁用Hand Matting时,可以执行替代技术。
图5描述了通过在手部周围绘制几何图形来将手部图像与虚拟内容混合。
在105接收包含物理环境中的手的图像数据。在107接收虚拟内容。在110确定图像亮度值。
在115,确定所述亮度值是否小于第一阈值。第一个阈值可以是临界阈值亮度,亦即场景的整体亮度确定为不足以使用Hand Matting。如果确定亮度不小于阈值,则流程图继续到525。在525,执行Hand Matting。然后流程图在530结束,其中图像数据根据Hand Matting图与虚拟内容混合。
返回到115,如果确定亮度值小于阈值,则流程图500继续到535并确定手的位置。根据一个或多个实施例,可以将手的位置确定为代表手的位置的空间中的点或区域。可以根据手部追踪数据来确定手部位置。
如上所述,就图2而言,手部追踪模块可以使用来自传感器数据202的用户手部的图像数据和/或深度数据来确定手部的特征或属性。这可以包括关节位置、姿势、深度、位置、方向等等。用于获取手部追踪数据的手部追踪网络可以不同于用于Hand Matting的模型,并且可以配置为接受不同的输入。
在540,设备根据手的位置绘制几何图形。在545,一个或多个低alpha值分配给几何图形。alpha值分配给要混合到合成帧中的内容,并指示帧的相应部分的透明度水平。
流程图在550结束,其中来自透视摄像头的图像数据与根据绘制的几何图形的虚拟内容混合。换句话说,包含几何图形的帧区域将显示更多物理环境的摄像头图像数据,从而提供了手相对于虚拟内容位置的视觉线索。
相关专利
:
Apple Patent | Hands matting responsive to low light conditions
名为“Hands matting responsive to low light conditions”的苹果专利申请最初在2024年5月提交,并在日前由美国专利商标局公布。