微软AR/VR专利介绍基于自中心图像进行关节旋转和定位的技术
基于自中心图像进行关节旋转和定位
(映维网Nweon 2024年08月07日)自中心图像通常是由用户佩戴的自中心摄像头拍摄。自中心摄像头是一种安装在用户身上并朝向用户身体至少一部分的摄像头。通常,这样的摄像头是朝下的,并安装在头戴式显示器之中,从而以自中心角度捕获视觉信息。
从自中心图像获得一个人的关节的旋转和/或位置对于各种任务都非常有用,包括远程呈现、手势识别、Avatar动画等等。
在日前由美国专利商标局公布的一份专利申请中,微软就介绍了一种基于自中心图像进行关节旋转和定位的技术。
图2示出处理自中心图像,以预测图像中所描绘的人的关节信息。自中心摄像头设置包括两个摄像头,目标是提供一对立体图像202。两个摄像头都向下。
捕获并接收一对立体图像202,然后将其输入训练模型204。所述模型由一个神经网络组成。图4示出了在各种示例中训练神经网络的方法。
训练模型204的输出包括关节旋转和/或3D关节位置的预测分布。输出分布或分布用于确定一般人的三维模型的参数值。在各种实施例中,用户206的3D模型是经过调整的参数化人体模型,使得参数化人体模型的参数通过训练模型204输出的关节旋转和/或3D位置上的分布来定义。
参数化人体模型是一个人的模型,其中人的关节参数化并能够调整。例如,参数化人体模型是一个人的3D模型,其中每个关节都能够定位和/或旋转,其中关节的旋转和/或位置决定了运动学树中其他关节的旋转和/或位置,而关节将受到真人的关节旋转和/或位置的影响。
另外,在各种示例中,训练模型204输出一个或多个统计度量,描述关节旋转和/或3D关节位置的预测分布。在一个示例中,统计度量是平均值和标准偏差。统计测量包括至少一种不确定度或不确定度的测量,例如每个关节旋转不确定度208。
在各种示例中,所训练的模型输出多个每个关节的不确定性值。额外的不确定性来源于训练模型204的输出统计度量,例如每个顶点的不确定性210。
例如,考虑这样一种情况:用户在自中心摄像头的视场内外移动手部。手势定义为特定的手部动作,并设计为触发后续操作。
如图2所示,在与姿势、手部关节或手部顶点相关的不确定性测量大于阈值不确定性的示例中,预测的手势将不会触发后续操作。相反,如果不确定性的度量小于阈值不确定性,则预测的手势将触发后续操作。因此,在各种例子中由训练模型204输出的统计度量对下游处理是有用的。
图3A是预测关节旋转的分布和/或关节位置的分布的方法流程图。从至少一个自中心摄像头接收至少一个仅描绘人体一部分的图像300。将接收到的图像输入到训练模型302中,其中图1和图2提供了包含训练模型的方法的示例。
所述训练模型302包括神经网络,神经网络在人体至少一个关节的关节旋转和/或3D位置输出预测分布。这种预测分布可用于下游加工304。
图3B示出预测人体姿势的方法流程图。接收来自至少一个自中心摄像头的至少一个图像306。所述至少一个图被输入到训练模型308中,所述至少一个图像输入到训练的神经网络310中。
所训练的神经网络310训练为输出至少一个预测关节的预测费雪参数,其中所述费雪参数是定义费雪分布的参数。
另外,使用参数化人体模型314,通过从预测关节旋转矩阵回归3D关节位置来计算至少一个预测关节的3D关节位置。所以,经过训练的模型308输出至少一个预测关节的3D关节位置分布。在不同的例子中,只输出在关节旋转的分布。在各种示例中,只输出三维关节位置的分布。
经过训练的模型308预测的身体姿态输出,在各种示例中包括一个或多个:D关节位置的分布;关节旋转的分布;以及旋转均值。然后,为至少一个预测关节的每个关节定义分布和旋转平均值。
接下来,将输出预测的身体姿势用于下游处理316。
在各种例子中,输出预测的身体姿势包括或与不确定性相关。在各种示例中的输出预测的身体姿势,
图4A和4B是训练神经网络的方法流程图。
在图4A中,访问训练图像数据400,其中训练图像来自自心摄像头图像,并且其中关节旋转和/或3D位置已知。在合成数据的情况下,将一个人的3D模型与一个自中心摄像头模型一起使用。当三维模型的参数值已知时,利用光追或等效技术计算合成的自中心图像。对三维模型和自我中心摄像头模型的众多不同参数值重复过程,以获得大范围的自中心图像。
在经验训练图像的情况下,使用真人穿戴自中心摄像头。为了获得人体关节位置和关节旋转的真实值,可以使用各种选项,例如使用身体佩戴的加速度计或身体关节的其他传感器。
然后使用所访问的训练图像数据执行神经网络的监督训练402。对于每个预测,都有一个从训练示例中已知的相应ground truth值。计算预测值与相应ground truth值之间的误差或损失,并用于确定如何更新神经网络的权值,从而尽量减小误差。
使用损失函数执行监督训练,目的是优化神经网络的权重以最小化损失函数。在如图3B所示的示例中,神经网络训练成预测矩阵费雪分布的费雪参数。
需要强调的是,有一系列损失函数可以选择用于训练神经网络。训练和最小化损失函数,重复进行直到收敛406。在各种示例中,收敛406表示神经网络的权重达到稳定状态且不发生实质性变化。
经过收敛406,储存训练好的模型408。在各种示例中,所训练的模型存储在至少一种计算机可读介质。在各种示例中,训练模型以用于预测任何:关节位置,关节旋转,姿势。
图4B是用于训练神经网络的方法流程图。
访问自中心训练图像,即通过自中心摄像头拍摄的图像,其中人体的关节旋转是已知的404。在不同的例子中,至少一个人的关节旋转已知。可选地,已知人体的至少一个3D关节位置。
每个已知关节的旋转矩阵406表示为三维特殊正交群的随机变量,按照由多个费雪参数定义的矩阵费雪分布进行分布。
然后,通过最小化矩阵费雪负对数似然损失,训练神经网络使用输入训练图像输出多个费雪参数的408个预测值。神经网络经过监督训练,以便最小化基于至少一个预测和已知关节旋转的损失函数。
图5显示了concentration对关节和旋转轴的示例性图表。
图表显示,较高的concentration参数与自由度较低的旋转轴相关。箭头500表示关节旋转的主轴,如图所示,与concentration最高的轴相对应。最高的concentration对应最低的不确定度。
例如,关于z轴的旋转对于真人来说是受限的。在图表中,预测的膝关节z轴关节旋转的concentration高于限制较少的轴。所以,发明描述的训练模型能够在没有显式鼓励的情况下学习每个预测关节的自由度。在这个例子中,经过训练的模型在没有显式鼓励的情况下学习每个预测关节的自由度。
尽管预测的不确定性和/或concentration估计是局部的每个关节,但在各种例子中,通过传播关节的不确定性和/或concentration,通过人体的运动学树,估计可以扩展到整个身体。
在各种示例中,通过将所有预测轴的concentration参数相加来计算预测关节旋转的concentration。
在各种例子中,计算每个顶点的不确定性。在各种示例中,从经过训练的神经网络获得的预测矩阵费雪分布中采样多个参数人体模型网格。然后获,得多个参数人体模型网格的所有样本中每个顶点到样本均值的平均欧几里德距离,并计算每个顶点的标准差。
考虑到这种不确定性考虑了身体的运动树,因为父关节的旋转会影响其子关节的最终位置以及与之对应的顶点,这种不确定性对本文所述的下游处理非常有用。
图6显示了所有预测关节的预测误差与所有预测关节置信度的图表,其中使用矩阵费雪负对数似然和L2损失监督3D关节位置。在这个例子中,神经网络训练来预测每个来自不同输入自中心图像的预测关节旋转上的矩阵费雪分布的费雪参数。
显然,高误差对应于低置信度,反之亦然。这对于下游处理非常有用,因为预测的不确定性与预期的误差一致。例如,与阈值相比,具有更高不确定性的预测关节旋转不用于下游处理任务,因为预测的误差可能很高。
在各种示例中,与阈值相比,具有较低不确定性的预测关节旋转用于下游任务。
相关专利:Microsoft Patent | Joint rotation/location from egocentric image
名为“Joint rotation/location from egocentric image”的微软专利申请最初在2023年2月提交,并在日前由美国专利商标局公布。