CN117121057A - 基于人类视觉范围的以自我为中心的姿态估计 - Google Patents
基于人类视觉范围的以自我为中心的姿态估计 Download PDFInfo
- Publication number
- CN117121057A CN117121057A CN202280027504.5A CN202280027504A CN117121057A CN 117121057 A CN117121057 A CN 117121057A CN 202280027504 A CN202280027504 A CN 202280027504A CN 117121057 A CN117121057 A CN 117121057A
- Authority
- CN
- China
- Prior art keywords
- pose
- user
- dimensional
- motion
- camera
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000000007 visual effect Effects 0.000 title description 10
- 230000033001 locomotion Effects 0.000 claims abstract description 180
- 238000000034 method Methods 0.000 claims description 96
- 239000013598 vector Substances 0.000 claims description 38
- 230000037237 body shape Effects 0.000 claims description 28
- 230000011218 segmentation Effects 0.000 claims description 19
- 230000004927 fusion Effects 0.000 claims description 16
- 238000013519 translation Methods 0.000 claims description 13
- 230000004807 localization Effects 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 8
- 238000003062 neural network model Methods 0.000 claims description 6
- 238000005259 measurement Methods 0.000 claims description 4
- 210000003128 head Anatomy 0.000 description 115
- 230000015654 memory Effects 0.000 description 48
- 238000004891 communication Methods 0.000 description 17
- 238000012549 training Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 10
- 238000000605 extraction Methods 0.000 description 9
- 238000013527 convolutional neural network Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 8
- 230000003190 augmentative effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 239000002131 composite material Substances 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000004470 vergence movement Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
在一个实施例中,计算系统可以通过用户佩戴的头戴式设备上的摄像头捕获图像,该图像捕获该用户的身体部位。该系统可以基于所捕获的图像,确定对该用户的运动历史进行编码的运动特征。该系统可以在图像中检测与该用户的身体部位相对应的前景像素。该系统可以基于这些前景像素,确定对由摄像头捕获的用户的身体部位进行编码的形状特征。该系统可以基于运动特征和形状特征,确定该用户的三维身体姿态和三维头部姿态。该系统可以基于前景像素和该用户的三维头部姿态,生成姿态体积表示。该系统可以基于该姿态体积表示和该三维身体姿态确定该用户的细化三维身体姿态。
Description
技术领域
本公开总体涉及人机交互技术,具体涉及追踪用户身体姿态。
背景技术
人工现实是在呈现给用户之前已经以某种方式进行了调整的现实形式,该人工现实例如可以包括虚拟现实(virtual reality,VR)、增强现实(augmented reality,AR)、混合现实(mixed reality,MR)、混合现实(hybrid reality)、或它们的某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或与捕获的内容(例如,真实世界的照片)相结合的生成的内容。人工现实内容可以包括视频、音频、触觉反馈、或它们的某种组合,并且以上中的任何均可以在单个通道或多个通道中呈现(例如,为观看者带来三维效果的立体视频)。人工现实可以与应用、产品、附件、服务、或它们的某种组合相关联,这些应用、产品、附件、服务、或它们的某种组合例如用于在人工现实中创建内容,和/或在人工现实中使用(例如,在人工现实中执行活动)。提供人工现实内容的人工现实系统可以在各种平台上实现,这些平台包括连接到主计算机系统的头戴式显示器(head-mounted display,HMD)、独立HMD、移动设备或计算系统、或能够向一位或多位观看者提供人工现实内容的任何其他硬件平台。
目前的AR/VR系统可以使用非光学传感器(例如,磁传感器和惯性传感器)来确定用户的身体姿态。然而,这些传感器可能需要附接到用户的身体,并且可能是侵入性的且不便于用户佩戴。替代地,现有的系统可以使用头戴式自上而下的摄像头(top-down camera)来估计佩戴者的身体姿态。然而,这种自上而下的摄像头可能会突出,并给佩戴着摄像头的用户带来不便。
本公开试图至少部分地解决上述缺点和劣势中的任何或全部。
发明内容
根据本公开的第一方面,提供了一种方法,该方法包括:由计算系统:通过用户佩戴的头戴式设备(headset)上的摄像头捕获一幅或多幅图像,该一幅或多幅图像捕获佩戴着该摄像头的用户的身体部位的至少一部分;基于由该摄像头捕获的该一幅或多幅图像,确定对该用户的身体的运动历史进行编码的多个运动特征;在该一幅或多幅图像中检测与该用户的身体部位的该部分相对应的前景像素;基于该前景像素,确定对由该摄像头捕获的该用户的身体部位的该部分进行编码的多个形状特征;基于该多个运动特征和该多个形状特征,确定该用户的三维身体姿态和三维头部姿态;基于前景像素和该用户的三维头部姿态,生成姿态体积表示;以及基于该姿态体积表示和该三维身体姿态,确定该用户的细化三维身体姿态。
在一些实施例中,该用户的细化三维身体姿态可以是基于对该用户的身体的运动历史进行编码的该多个运动特征来确定的。
在一些实施例中,该摄像头的视场角可以是面向前的,其中,由该摄像头捕获的该一幅或多幅图像可以是鱼眼图像,并且其中,该用户的身体部位的该部分可以包括该用户的手、手臂、脚或腿。
在一些实施例中,该头戴式设备可以佩戴在该用户的头部上,该方法还包括:使用与该头戴式设备相关联的一个或多个IMU来收集IMU数据,其中,该多个运动特征可以是基于该IMU数据和由该摄像头捕获的该一幅或多幅图像来确定的。
在一些实施例中,该方法还可以包括:将该IMU数据和该一幅或多幅图像馈送到即时定位与地图构建(SLAM)模块;以及使用该即时定位与地图构建模块、基于该IMU数据和该一幅或多幅图像,确定一个或多个运动历史表示,其中,该多个运动特征可以是基于该一个或多个运动历史表示来确定的。
在一些实施例中,每个运动历史表示可以包括在预定持续时间内的多个向量,并且其中,该多个向量中的每个向量可以包括与该用户的三维转动、三维平移或高度相关联的参数。
在一些实施例中,该多个运动特征可以是使用运动特征模型来确定的,其中,该运动特征模型可以包括被训练为从运动历史表示中提取运动特征的神经网络模型。
在一些实施例中,该方法还可以包括:将该一幅或多幅图像馈送到前景背景分割模块;以及使用该前景背景分割模块为该一幅或多幅图像的每幅图像确定前景掩模,其中,该前景掩模可以包括与该用户的身体部位的该部分相关联的前景像素,并且其中,该多个形状特征可以是基于该前景像素来确定的。
在一些实施例中,该多个形状特征可以是使用形状特征模型来确定的,其中,该形状特征模型可以包括被训练为从图像的前景掩模中提取形状特征的神经网络模型。
在一些实施例中,该方法还可以包括:平衡该多个运动特征和该多个形状特征的权重;以及基于所平衡的权重,将该多个运动特征和该多个形状特征馈送到融合模块,其中,该用户的三维身体姿态和三维头部姿态是由该融合模块确定的。
在一些实施例中,该姿态体积表示可以与该用户的该三维身体姿态和该三维头部姿态的三维身体形状包络相对应。
在一些实施例中,该姿态体积表示可以是通过将该用户的该前景像素反投影到三维立方体空间中生成的。
在一些实施例中,该前景像素是在保持该三维身体姿态和该三维头部姿态彼此一致的约束下而被反投影到该三维立方体空间的。
在一些实施例中,该方法还可以包括:将该姿态体积表示、该多个运动特征和该一幅或多幅图像的前景像素馈送到三维姿态细化模型,其中,该用户的细化三维身体姿态可以是由该三维姿态细化模型确定的。
在一些实施例中,该三维姿态细化模型可以包括用于从该姿态体积表示中提取特征的三维神经网络,并且其中,从该姿态体积表示中提取的特征可以与该多个运动特征和该三维身体姿态结合。
在一些实施例中,该三维姿态细化模型可以包括细化回归网络,该方法还可以包括:将从该姿态体积表示中提取的、与该多个运动特征和该三维人体姿态结合的特征馈送到该细化回归网络,其中,该用户的细化三维人体姿态可以是由该细化回归网络输出的。
在一些实施例中,该细化三维身体姿态可以是实时确定的,该方法还可以包括:基于该用户的细化三维身体姿态,为该用户生成化身;以及在显示器上显示该化身。
在一些实施例中,该方法还可以包括:基于该用户的细化三维身体姿态生成立体声信号;以及向该用户播放基于该立体声信号的立体声。
根据本公开的第二方面,提供了一种或多种计算机可读非暂态存储介质,该一种或多种计算机可读非暂态存储介质包含软件,该软件在被执行时能够操作以:通过用户佩戴的头戴式设备上的摄像头捕获一幅或多幅图像,该一幅或多幅图像捕获佩戴着该摄像头的用户的身体部位的至少一部分;基于由该摄像头捕获的该一幅或多幅图像,确定对该用户的身体的运动历史进行编码的多个运动特征;在该一幅或多幅图像中检测与该用户的身体部位的该部分相对应的前景像素;基于前景像素确定对由该摄像头捕获的该用户的身体部位的该部分进行编码的多个形状特征;基于该多个运动特征和该多个形状特征,确定该用户的三维身体姿态和三维头部姿态;基于前景像素和该用户的三维头部姿态,生成姿态体积表示;以及基于该姿态体积表示和该三维身体姿态,确定该用户的细化三维身体姿态。
根据本公开的第三方面,提供了一种系统,该系统包括:一种或多种非暂态计算机可读存储介质,该一种或多种非暂态计算机可读存储介质包含指令;以及一个或多个处理器,该一个或多个处理器耦接到该存储介质,并且能够操作地执行该指令以:通过用户佩戴的头戴式设备上的摄像头捕获一幅或多幅图像,该一幅或多幅图像捕获佩戴着该摄像头的用户的身体部位的至少一部分;基于由该摄像头捕获的该一幅或多幅图像,确定对该用户的身体的运动历史进行编码的多个运动特征;在该一幅或多幅图像中检测与该用户的身体部位的该部分相对应的前景像素;基于该前景像素确定对由该摄像头捕获的该用户的身体部位的该部分进行编码的多个形状特征;基于该多个运动特征和该多个形状特征,确定该用户的三维身体姿态和三维头部姿态;基于前景像素和该用户的三维头部姿态,生成姿态体积表示;以及基于该姿态体积表示和该三维身体姿态,确定该用户的细化三维身体姿态。
本文所公开的各个实施例仅是示例,并且本公开的范围不限于这些实施例。特定实施例包括上面公开的实施例中的部件、元件、特征、功能、操作或步骤中的全部、一些,或不包括这些部件、元件、特征、功能、操作或步骤。针对方法、存储介质、系统和计算机程序产品的所附权利要求中特别地披露了根据本发明的实施例,其中,在一个权利要求类别(例如方法)中提到的任何特征也可以主张在另一个权利要求类别(例如系统)中得到保护。所附权利要求书中的从属关系或回引是仅出于形式原因而选择的。但是,由于故意引用任何先前权利要求(特别是多项从属关系)而产生的任何主题也可以被要求保护,使得权利要求及其特征的任何组合被公开,并且可以被要求保护,而不管所附权利要求中所选择的从属关系如何。可以被要求保护的主题不仅包括所附权利要求中阐述的特征的组合,还包括权利要求中的特征的任何其他组合,其中,权利要求中提及的每个特征可以与权利要求中的任何其他特征或其他特征的组合相结合。此外,本文中所描述或所描绘的实施例和特征中的任何实施例和特征可以在单独的权利要求中被要求保护,以及/或者以与本文中所描述或描绘的任何实施例或特征的任何组合方式或以与所附权利要求中的任何特征的任何组合方式被要求保护。
应理解的是,本文被描述为适合于结合到本公开的一个或多个方面或实施例中的任何特征旨在在本公开的任何和所有的方面和实施例具有普遍性。本领域技术人员可以根据本公开的说明书、权利要求书和附图理解本公开的其他方面。上述总体描述和以下具体实施方式仅是示例性和说明性的,而不对权利要求进行限制。
附图说明
图1A示出了具有面向前的摄像头的人工现实系统的示例。
图1B示出了具有面向前的摄像头的增强现实系统的示例。
图2示出了基于人类视觉范围的用户的身体姿态和头部姿态的示例估计结果。
图3A示出了示例系统架构。
图3B示出了细化阶段的示例过程。
图4示出了示例运动历史图像和对应的人体姿态。
图5示出了示例前景图像和对应的姿态体积表示。
图6示出了基于合成人物模型生成的示例训练样本。
图7示出了与地面实况数据和仅运动方法的身体姿态估计结果进行比较的示例身体姿态估计结果。
图8A和图8B示出了基于估计的自我头部姿态和摄像头SLAM在全局坐标系中对估计的自我姿态进行重新定位的示例结果。
图9示出了基于由用户佩戴的摄像头捕获的图像来确定用户的全身姿态的示例方法。
图10示出了示例计算机系统。
具体实施方式
本文所描述的特定实施例涉及使用头部运动数据和可见身体部位图像这两者来估计用户的3D身体姿态和头部姿态的系统和方法。该方法可以包括两个阶段。在第一阶段中,系统可以基于鱼眼图像和用户的头部的惯性测量单元(inertial measurement unit,IMU)数据,来确定3D身体姿态和头部姿态的初始估计结果。在第二阶段中,系统可以基于姿态体积表示来细化第一阶段的估计结果。为了在第一阶段中估计初始3D身体姿态和头部姿态,系统可以使用同时定位与地图构建(simultaneous localization and mapping,SLAM)技术来生成用户的头部姿态的运动历史图像。运动历史图像可以是用户的头部运动数据的2D表示,其包括用于表示用户的头部随时间的转动(例如,如所表示的3×3矩阵)、平移(x,y,z)和(例如,相对于地面的)高度的向量。系统可以将用户的头部运动的IMU数据和HDM摄像头的鱼眼图像馈送到SLAM模块,以生成运动历史图像。然后,系统可以将运动历史图像馈送到运动特征网络,该运动特征网络可以被训练为从运动历史图像中提取运动特征向量。同时,该系统可以将鱼眼图像馈送到前景形状分割网络,该前景形状分割网络可以被训练为以像素级分离图像的前景和背景。前景/背景分割结果可以被馈送到形状特征提取网络,该形状特征提取网络可以被训练为提取前景图像的形状特征向量。然后,该系统可以使用融合网络将运动特征向量和形状特征向量融合在一起,以确定用户的初始3D身体姿态和头部姿态。在融合之前,该系统可以使用平衡器(例如,全连接网络),通过控制两种类型的向量的向量长度来控制这两种类型的向量的权重。
为了细化在第一阶段中确定的初始3D身体姿态和头部姿态,该系统可以将前景像素反投影到3D空间(例如,2m×2m×2m的体积),以生成姿态体积表示(例如,41×41×41的3D矩阵)。姿态体积表示可以清楚地表示当前头部姿态和身体形状估计的3D身体形状包络。在特定实施例中,姿态体积表示可以包括一个或多个特征向量或嵌入3D体积空间中。姿态体积表示可以由神经网络或其他机器学习模型生成。然后,该系统将姿态体积表示馈送到3D卷积神经网络(CNN)以用于特征提取。所提取的特征可以被扁平化(flattened)并与(从运动历史图像中提取的)运动特征和初始3D姿态估计结合,并且随后被馈送到用于3D身体姿态估计的全连接细化回归网络。细化回归网络可以具有类似于融合网络的结构,但可以仅输出身体姿态估计。利用直接捕获用户的身体的3D几何形状的清楚3D表示,该系统可以实现更准确的身体姿态估计。对于训练过程,该系统可以生成合成训练数据。该系统可以首先将骨架重新定位到人物网格模型,以生成动画。然后,该系统可以(例如,在每个人物模型的双眼之间或在眼睛位置处)附接一个或多个虚拟面向前的鱼眼摄像头,并使用动画中的虚拟摄像头姿态和位置历史来生成运动历史图。然后,系统可以用等距鱼眼模型来渲染摄像头视图。因此,该系统提供了高质量数据来训练和验证自我姿态估计模型。
图1A示出了具有控制器106的示例虚拟现实系统100A。在特定实施例中,虚拟现实系统100A可以包括头戴式的头戴式设备104、控制器106和计算系统108。用户102可以佩戴头戴式的头戴式设备104,该头戴式设备可以向用户102显示视觉人工现实内容。头戴式设备104可以包括音频设备,该音频设备可以向用户102提供音频人工现实内容。在特定的实施例中,头戴式设备104可以包括一个或多个摄像头,该一个或多个摄像头可以捕获环境的图像和视频。例如,头戴式设备104可以包括面向前的摄像头105A和105B,以捕获在用户用户102前方的图像,并且可以包括一个或多个面向下方的摄像头(未示出),以捕获用户的身体的图像。头戴式设备104可以包括眼动追踪系统,以确定用户102的辐辏距离(vergencedistance)。头戴式设备104可以被称为头戴式显示器(head-mounted display,HMD)。控制器106可以包括触控板和一个或多个按钮。控制器106可以接收来自用户102的输入,并将这些输入转发到计算系统108。控制器106还可以向用户102提供触觉反馈。计算系统108可以通过有线通信连接或无线通信连接而连接到头戴式设备104和控制器106。计算系统108可以控制头戴式设备104和控制器106向用户102提供虚拟现实内容,并且可以接收来自用户102的输入。计算系统108可以是独立的主计算机系统、与头戴式设备104集成在一起的机载计算机系统、移动设备、或能够向用户102提供人工现实内容并接收来自该用户的输入的任何其他硬件平台。
图1B示出了示例增强现实系统100B。增强现实系统100B可以包括头戴式显示器(HMD)110(例如,AR眼镜)和计算设备120等,该HMD包括框架112、一个或多个显示器114A和114B。显示器114可以是透明的或半透明的,从而允许正佩戴着HMD 110的用户透过显示器114A和114B看到真实世界,并且同时可以向用户显示视觉人工现实内容。HMD 110可以包括音频设备,该音频设备可以向用户提供音频人工现实内容。在特定的实施例中,HMD 110可以包括一个或多个摄像头(例如,117A和117B),该一个或多个摄像头可以捕获周围环境的图像和视频。HMD 110可以包括眼动追踪系统,以追踪正佩戴着HMD 110的用户的辐辏运动。增强现实系统100B还可以包括控制器(未示出),该控制器具有触控板和一个或多个按钮。控制器可以接收来自用户的输入,并将这些输入转发到计算系统120。控制器可以向用户提供触觉反馈。计算系统120可以通过有线连接或无线连接而连接到HMD 110和控制器。计算系统120可以控制HMD 110和控制器向用户提供增强现实内容,并接收来自用户的输入。计算系统120可以是独立的主计算机系统、与HMD 110集成在一起的机载计算机系统、移动设备、或能够向用户提供人工现实内容并且接收来自用户的输入的任何其他硬件平台。
目前的AR/VR系统可以使用非光学传感器(例如,磁传感器和惯性传感器)来确定用户的身体姿态。然而,这些传感器可能需要附接到用户的身体,并且可能是侵入性的且不便于用户佩戴。替代地,现有的系统可以使用头戴式自上而下的摄像头来估计佩戴者的身体姿态。然而,这种自上而下的摄像头可能会突出,并给佩戴着摄像头的用户带来不便。
为了至少部分地解决这些问题,该系统的特定实施例可以使用更自然的人类视觉范围来估计用户的身体姿态。可以在外围视图中看到摄像头佩戴者,并且根据头部姿态,佩戴者可能变得不可见或具有有限的局部视野。对于以用户为中心的可穿戴设备(例如,具有面向前的摄像头的AR/VR眼镜)来说,这可能是真实的视野。该系统可以使用深度学习系统,该深度学习系统利用来自摄像头SLAM的动态特征和身体形状图像这两者来同时计算3D头部姿态、3D身体姿态、人物/背景分离,同时明确地实施跨姿态属性的某种几何一致性。例如,该系统可以使用头部运动数据和可见身体部位图像这两者来估计用户的3D身体姿态和头部姿态。该方法可以包括两个阶段。在第一阶段中,系统可以基于鱼眼图像和用户的头部的惯性测量单元(IMU)数据,来确定3D身体姿态和头部姿态的初始估计结果。在第二阶段中,该系统可以基于姿态体积表示来细化第一阶段的估计结果。
为了在第一阶段中估计初始3D身体姿态和头部姿态,该系统可以使用SLAM(即时定位与地图构建)技术来生成用户的头部姿态的运动历史图像。该系统可以将用户的头部运动的IMU数据和HDM摄像头的鱼眼图像馈送到SLAM模块,以生成运动历史图像。然后,该系统可以将运动历史图像馈送到运动特征网络,该运动特征网络被训练为从运动历史图像中提取运动特征向量。同时,该系统可以将鱼眼图像馈送到前景形状分割网络,该前景形状分割网络被训练为以像素级分离图像的前景和背景。前景/背景分割结果可以被馈送到形状特征提取网络,该形状特征提取网络被训练为提取前景图像的形状特征向量。然后,该系统可以使用融合网络将运动特征向量和形状特征向量融合在一起,以确定用户的初始3D身体姿态和头部姿态。在融合之前,该系统可以使用平衡器(例如,全连接网络),通过控制两种类型的向量的向量的长度来控制这两种类型的向量的权重。为了细化在第一阶段中确定的初始3D身体姿态和头部姿态,该系统可以将前景像素反投影到3D空间(例如,2m×2m×2m的体积),以生成姿态体积表示(例如,41×41×41的3D矩阵)。姿态体积表示可以清楚地表示当前头部姿态和身体形状估计的3D身体形状包络。然后,该系统可以将姿态体积表示馈送到3D CNN以用于特征提取。所提取的特征可以被扁平化并与(从运动历史图像中提取的)运动特征和初始3D姿态估计结合,并且随后可以被馈送到用于3D身体姿态估计的全连接细化回归网络。细化回归网络可以具有类似于融合网络的结构,但仅输出身体姿态估计。利用直接捕获用户的身体的3D几何形状的清楚3D表示,该系统可以实现更准确的身体姿态估计。
在特定实施例中,AV/VR系统可以具有靠近佩戴者面部的摄像头,其视野类似于人眼。在很大程度上,摄像头可能只能在外围视图中看到佩戴者的手和身体的其他一些部位。在很大一部分时间内,摄像头可能根本看不到佩戴者(例如,当佩戴者向上看时)。在特定实施例中,系统可以使用摄像头运动数据和可见身体部位这两者来确定对用户的身体姿态的稳健估计,而与佩戴者对于摄像头的视场角(FOV)是否可见无关。该系统可以使用从摄像头SLAM获得的动态运动信息和偶尔可见的身体部位来估计用户的身体姿态。除了预测用户的身体姿态外,该系统还可以在以自我为中心的视图中计算用户的3D头部姿态和人物背景分割。由于这种头部和身体姿态的联合估计,该系统可以在推理期间保持几何一致性,这可以进一步改善结果并使系统能够使用摄像头SLAM信息将用户的全身姿态重新定位到全局坐标系中。此外,该系统可以允许佩戴者在摄像头的视场角中不可见或部分地可见。通过使用深度学习,该系统可以同时计算用户的3D头部姿态、3D身体姿态、以及人物/背景分离,同时保持跨姿态属性的几何一致性。在特定实施例中,该系统可以利用包括运动捕获数据的现有数据集来训练模型。这些运动捕获数据可以仅捕获身体关节运动,并且可以不包括以自我为中心的视频。该系统可以对虚拟视图以自我为中心的图像和与姿态改变相关联的动态信息进行合成,以生成训练数据。通过使用所合成的数据进行训练,该系统可以在无需收集和注释大量新数据集的情况下稳健地训练。通过使用两阶段过程,该系统可以在运行中实时地估计用户的身体姿态和头部姿态,同时保持高精度。
图2示出了基于人类视觉范围的用户的身体姿态和头部姿态的示例估计结果200。在特定的实施例中,头戴式面向前的鱼眼摄像头可能很少看到佩戴者,并且当佩戴者在外围视图中可见时,可见身体部位可能是有限的。在图2中,第一行示出了身体部位分割结果。第二行示出了运动历史图像。第三行示出了佩戴者的估计身体姿态和头部姿态。第四行示出了佩戴者的身体姿态和头部姿态的地面实况。如图2所示,系统可以有效地且准确地确定佩戴者的身体姿态和头部姿态。在特定实施例中,假定在每个时间实例t处的面向前的头戴式鱼眼摄像头的一系列视频帧{It},该系统可以估计3D自我身体姿态Bt和自我头部姿态Ht。Bt可以是N×3的身体关键点矩阵,Ht可以是2×3的头部方位矩阵。在本公开中,术语“自我身体姿态”可以指摄像头或具有摄像头的头戴式设备的佩戴者的全身姿态(包括身体姿态和头部姿态)。自我身体姿态可以在局部坐标系中定义,在该局部坐标系中,臀围线水平转动,使得其平行于x-z平面,并且臀围线中心可以处于原点处,如图1所示。自我头部姿态可以包括两个向量:面向方向f和头顶指向方向u。一起估计头部姿态和身体姿态允许我们使用摄像头SLAM将身体姿态转换到全局坐标系。该系统可以通过使用高效且准确的深度学习模型进行实时的自我姿态估计。在特定实施例中,该系统可以由具有大约180度的FOV的头戴式面向前的鱼眼摄像头驱动。由于摄像头被激活且类似于人类视觉范围,因此该摄像头可以主要聚焦在佩戴者前方的场景,并且可能通过外围视图而具有佩戴者的身体部位的最小视觉。在这种设置下,仅使用头部运动或可见部位图像的自我姿态估计可能是不可靠的。在特定实施例中,该系统可以利用这两个信息流(例如,IMU数据和鱼眼摄像头视频)并且针对该组合进行高效地优化。
图3A示出了示例系统架构300A。在特定实施例中,系统架构300可以包括两个阶段:初始估计阶段310和细化阶段320。初始估计阶段310可以包括多个分支。在一个分支中,可以使用鱼眼视频302和可选的IMU数据301来提取全局坐标系中的摄像头姿态和位置。系统可以将可选的IMU数据301和鱼眼视频302馈送到SLAM模块311,该SLAM模块可以将摄像头运动和位置转换为:被表示为运动历史图像312的紧凑表示。运动历史图像(例如,312)可以是用户的头部在3D空间中的运动的表示,该运动包括头部的3D转动(例如,由3×3矩阵表示)、头部在3D空间(例如,x、y、z)中的平移以及用户的头部相对于地面的高度。在特定实施例中,运动历史图像可以包括多个向量,该多个向量包括与预定持续时间内的用户的头部3D转动、平移和高度有关的多个参数(例如,13个参数)。因为摄像头被固定在用户的头部,所以摄像头的运动可以对应于用户的头部运动。
在特定实施例中,系统可以将运动历史图像312馈送到运动特征网络313,该运动特征网络可以对运动历史图像312进行处理,以提取与用户的头部运动相关的动态特征。在另一个分支中,系统可以将鱼眼视频馈送到前景形状网络317,该前景形状网络可以提取佩戴者的前景形状。佩戴者的前景形状可以包括用户的落入鱼眼摄像头(该鱼眼摄像头是面向前的)的FOV内的一个或多个身体部位。佩戴者的前景形状可以在前景图像中表示,该前景图像由前景形状分割网络317从鱼眼视频302的图像中(例如,以像素级)分割。系统可以使用分割方法来追踪用户的身体形状,这与基于关键点的方法不同。由于用户的身体的大部分没有落入头戴式摄像头的FOV范围内,因此该系统可能无法确定足够数量的关键点来确定用户的身体姿态。使用分割方法确定的前景身体形状图像可以提供可用于确定用户的身体姿态的空间信息,并且可以提供比传统的基于关键点的方法更多的信息。由于系统追踪身体形状,因此该系统可以更高效且有效地使用可用的图像数据,例如,当手臂在摄像头图像中可见时提供手臂姿态。
然后,系统可以将所提取的前景图像发送到形状特征网络318,该形状特征网络被训练为从前景图像中提取用户的身体形状特征。形状特征网络318可以从前景形状图像中提取形状特征。由运动特征网络313从运动历史图像312中提取的运动特征338和由形状特征网络318从前景形状图像中提取的形状特征可以被馈送到融合模块314。运动特征338可以包括从运动历史图像提取的、与用户的运动历史相关的信息。该系统可以使用平衡器319来平衡由这两个分支输出的动态运动特征和形状特征的权重,并将所平衡的运动特征和形状特征馈送到融合模块314。该系统可以使用从前景图像中提取的身体形状特征作为用户的身体姿态的指示器。该系统基于运动特征和形状特征对最终结果的相对重要性,来动态地平衡运动特征和形状特征的权重。该系统可以通过以下方式来平衡运动特征(其可以被呈现为包括与用户的身体/头部运动相关的参数的向量)和形状特征(其可以由包括与用户的身体形状(例如,包络)相关的参数的向量来表示)的权重:控制这两种类型的向量的长度。当用户移动时,运动数据可能比身体形状图像更可用。然而,形状特征对于确定用户的上半身姿态(例如,手臂姿态)可能更为重要。当运动最小(例如,用户几乎是静止的)时,形状特征对于计算出身体姿态(特别是上半身姿态)可能至关重要。平衡器可以是如下经训练的神经网络:该经训练的神经网络可以基于当前可用的数据来确定哪些特征更重要。当用户使用AR/VR系统时,神经网络可以简单、快速并且消耗更少的功率来实时运行。融合模块314可以输出包括初始身体姿态315和初始头部姿态估计316的自我姿态估计。
图3B示出了细化阶段320的示例过程300B。在特定实施例中,在确定了初始身体/头部姿态估计之后,该系统可以使用细化阶段320来细化初始估计阶段310的初始身体/头部姿态估计结果。该系统可以使用3D姿态细化模型322来基于姿态体积表示321确定用户的细化3D姿态323。该系统可以首先通过将分割的前景掩模(包括前景像素)反投影到3D体积空间中来确定姿态体积。该系统可以使用神经网络或其他机器学习模型来生成表示姿态体积的姿态体积表示。来自SLAM的直接头部姿态可能与整个身体部位无关。在初始估计阶段320中,基于SLAM确定的用户的头部姿态可能需要相对于用户的身体姿态进行定位。第一阶段的网络输出可以是相对于全身部位的头部姿态。该系统可以使用局部系统中估计的头部姿态和SLAM的全局头部姿态数据,将全身姿态传输回全局系统。该系统可以对用户的身体姿态315的初始估计结果和2D前景分割掩模339进行组合,以生成姿态体积表示321。系统可以使用保持身体姿态和头部姿态彼此一致的约束,来生成姿态体积表示321。体积可能不基于关键点,而是根据摄像头取向的。为了生成3D姿态体积表示,系统可以将光线投射到空间中,并将2D身体形状增强到3D空间中。在初始阶段结束时,系统可以具有基于头部姿态和前景分割的身体/头部姿态的初始估计。通过将2D身体形状投影到3D空间中,系统可以具有3D粗略表示,该3D粗略表示示出了身体部位在3D空间中的位置。姿态体积表示321可以通过将前景图像像素反投影到3D立方体(例如,如图5的右栏所示的2m×2m×2m体积)来生成。姿态体积表示321可以是41×41×41的3D矩阵。姿态体积表示321可以清楚地表示当前身体/头部姿态和身体形状估计的3D身体形状包络。然后,该系统可以将姿态体积表示321馈送到3D卷积神经网络331以用于特征提取。所提取的特征可以被扁平化并与从运动历史图像中提取的运动特征和初始3D身体姿态估计315结合。然后,该系统可以将这些所结合的特征馈送到全连接细化回归网络333以用于3D身体姿态估计。细化回归网络333可以具有类似于融合网络314的结构,但可以仅输出身体姿态估计。利用直接捕获用户的身体的3D几何形状的清楚3D姿态体积表示321,该系统可以提供细化3D身体姿态,该细化3D身体姿态是比初始身体姿态估计结果更准确的身体姿态估计。
图4示出了示例运动历史图像和对应的人体姿态。在特定实施例中,运动历史图像可以是对于场景结构不变的表示,并且可以表征在预定持续时间内的转动、平移和高度演变。在图4的第二行中示出了一些示例运动历史图像。在每个时间实例t,系统可以使用来自SLAM的摄像头姿态和位置来计算从先前时间实例t-1的增加的摄像头转动Rt和平移dt。该系统可以将Rt-I3×3结合到运动表示中,其中,I是单位矩阵。该系统可以在每个时间实例t将平移dt转换到摄像头局部系统,从而其对于佩戴者的面向方位是不变的。为了去除未知的缩放因子,该系统可以使用佩戴者的高度估计值来进一步缩放它。经变换和归一化的dt可以表示为基于SLAM,该系统可以使用校准过程,在该校准过程中,佩戴者站立然后下蹲可以用于提取人的身高和地平面的粗略位置。
在特定实施例中,Rt和dt可能不足以区分静态站姿和坐姿。虽然场景背景图像可能有所帮助,但该场景背景图像对于人的身高的较大变化可能是敏感的。例如,孩子站立的视点可能类似于成年人坐着的视点。为了解决此问题,系统可以在运动表示中使用摄像头相对于人的站姿的高度(例如,由gt表示)。该系统可以通过时间聚集运动特征R、d和g,以构建运动历史图像。该系统可以将经扁平化的Rt-I3×3、经缩放的转换向量和经缩放的相对高度c(gt-m)结合,其中,a=15;m=0.5;以及c=0.3。图4示出了具有对应的人体姿态的运动历史图像的示例。运动历史图像可以捕获周期性运动或/和非周期性运动这两者中的姿态变化的动态。系统可以使用深度网络(例如,运动特征网络)来从运动历史图像中提取特征。在特定实施例中,运动历史图像可以包括多个向量,每个向量包括在预定时间周期内的13个参数值。这些参数可以对应于用户的头部随时间的3D转动(例如,如所表示的3×3矩阵)、3D平移(x,y,z)、以及(例如,相对于地面的)高度。在特定实施例中,运动特征网络可以具有用于输入/输出通道的卷积层、卷积核大小、步长(stride)和填充(padding)的参数。对于最大池化层,参数可以是卷积核大小、步长和填充。图4中的运动历史图像只能从头部数据中提取。每个运动历史图像可以由XYZ 3D空间中的表面表示。表面的每个位置可以具有特定参数值(例如,用户头部高度、头部转动、头部平移)。Y维度可以用于不同的参数(例如,13个参数),而X维度可以对应于时间。
在大多数情况下,如果系统使用光学运动流方法,则场景结构可能会影响运动特征的结果。系统可以使用SLAM而不是使用光学运动流方法来确定用户运动,该SLAM比光学运动流方法更稳健。因此,系统可以为相同的运动提供相同的运动特征,而与场景中的环境变化无关。SLAM可以在确定用户的头部姿态的同时提取3D场景。该系统可以基于摄像头姿态的转动和平移来确定用户的头部运动。该系统可以使用用户的头部运动,作为用于确定用户的身体姿态和运动的线索。然而,不同的身体姿态可能与类似的头部姿态或运动相关联。因此,该系统还可以使用摄像头相对于地面水平的高度信息来确定用户的身体姿态。如在本公开的后面部分中所论述的,该系统可以基于IMU数据和由具有180度FOV的面向前的摄像头捕获的图像,来同时确定用户的身体姿态和头部姿态,该FOV是类似于人类的视觉空间。系统可以在保持用户的身体姿态和头部姿态彼此一致的约束下,确定用户的身体/头部姿态。
在特定实施例中,除了使用头部运动数据之外,系统还可以使用佩戴者的前景形状来估计用户的身体姿态。佩戴者的前景形状可以与自我头部姿态和自我身体姿态紧密耦合,并且对于消除上半身姿态的歧义特别有用。为此,系统可以使用不同于现有关键点提取方案的有效方法来提取身体形状。前景身体形状可能是用于解决此问题的更适合的代表。在人类视觉范围内,佩戴者的身体在摄像头的FOV中经常几乎不可见,而且可能很少有可见的关键点。因此,关键点估计可能比整体形状提取更困难。在这样的设置中,与孤立的关键点相比,前景身体形状可以包含关于可能的身体姿态的更多信息。例如,如果只有两只手和手臂的一部分可见,则关键点可能仅给出手的位置,而前景身体形状还可以指示手臂在空间中如何定位。前景形状可以被更高效地计算,并因此可能更适合于实时应用。
在特定实施例中,形状网络可以是全卷积的,因此可以直接使用鱼眼视频作为输入,以生成空间不变估计。作为示例而非限制,形状网络可以包括双线性上采样层。目标分辨率可以为256×256。网络层可以沿着通道维度结合来自不同范围的特征。由于佩戴者的前景可能主要集中在图像的下部,并且手臂经常出现在特定区域,因此分割网络可能是空间变化的。为此,该系统可以压缩两个空间网格:归一化的x和y坐标图,并沿着深度维度将该归一化的x和y坐标图与输入图像结合,以生成256×256×5张量。这些额外的空间图可以帮助在训练和推理期间将摄像头FOV中的人物前景分割的结构和位置的空间先验结合到网络中。空间图不仅可以用来减少错误警告,还可以用来纠正前景中的遗漏检测。在特定实施例中,前景概率图的阈值可以是0.5,以获得最终前景形状表示。然后可以将前景形状传递给小型卷积神经网络以用于特征提取。
在特定实施例中,系统可以融合如下特征来确定稳健的自我姿态估计:(1)由运动特征网络从运动历史图像中提取的动态特征(例如,运动特征)和(2)由形状特征网络提取的形状特征。在特定实施例中,系统可以直接将动态特征和形状特征结合,并通过回归网络处理该结合。在特定实施例中,系统可以使用全连接网络(例如,图3中的平衡器319)来平衡这两组特征,以在执行结合之前,减小形状特征的维度。平衡器可以暗中地平衡多组特征之间的权重。在特定实施例中,形状特征可以是低维的(例如,16维),运动特征可以是长的(例如,512维)。对于较短的输入,系统可能需要连接到其的全连接层中较少的神经元,并因此可能具有较少的用于输出的表决权。该方案还可以具有平滑噪声形状观察结果的效果。一旦完成这些调整,可以将所结合的运动特征与平衡的形状特征馈送到三个全连接网络,以推理姿态向量和两个头部方位向量。
图5示出了示例前景图像(例如,510、530)和对应的姿态体积表示(例如,521A和521B、541A和541B)。在特定实施例中,系统可以使用3D方法来细化初始估计结果,并确定细化全身3D姿态。3D方法可以基于姿态体积表示。考虑到对自我姿态的估计,系统可以通过以下方式来细化它:固定来自初始姿态估计结果的头部姿态估计,并重新估计全身3D姿态。该系统可以使用来自第一阶段的头部/摄像头姿态和前景形状估计,通过在具有预定尺寸(例如,2m×2m×2m体积)的立方体空间中反投影前景像素,来构建3D体积,如图5所示。体积可以离散化成尺寸为41×41×41的3D矩阵。如果立体像素投影到佩戴者前景,则系统可以指定值1,否则指定值0。该体积可以清楚地表示对应于当前头部姿态和身体形状估计的3D身体形状包络。然后,该系统可以将3D姿态体积表示传递到3D CNN以用于特征提取。所得到的特征可以被扁平化并与运动特征、初始3D姿态估计结合,并且随后可以被馈送到全连接网络以用于3D姿态估计。细化回归网络可以具有类似于融合网络的结构,其中,输入还可以包括初始3D关键点估计,输出可以仅是身体姿态估计。该系统可以在体积中覆盖细化3D姿态。利用直接捕获3D几何形状的这种清楚3D表示,该系统可以提供更准确的身体姿态估计。例如,具有前景掩模的前景图像510可以包括佩戴者的右手和手臂511以及左手512。该系统可以将所提取的信息反投影到3D立方体。重建的姿态体积(例如,521A和521B)可以由姿态体积表示520的立方体空间内的阴影区域来表示。细化姿态估计522可以由该组点来表示。作为另一个示例,具有前景掩模的前景图像530可以包括佩戴者的右手532和左手531。该系统可以将所提取的信息反投影到3D立方体。重建的姿态体积(例如,541A和541B)可以由姿态体积表示540中的阴影区域表示。细化姿态估计541可以由该组较暗的点来表示。
在特定实施例中,系统可以首先训练用于初始估计阶段的模型。并且根据对训练数据结果的估计,系统可以随后训练用于细化的第二阶段的模型。在特定实施例中,系统可以使用L1范数来量化身体关键点和头部方位估计中的误差。
Ld=|b-bg|+|h-hg| (1)
其中,b和bg是经扁平化的身体关键点3D坐标及其地面实况,h是头部方位向量(向量f和u的结合),hg是其对应的地面实况。为了提高泛化,该系统还可以包括约束回归结果的结构的若干正则项。这两个头部方位向量是正交的。系统可以使用以下损失函数来最小化L0:
L0=|f·u|+||f|2-1|+||u|2-1| (2)
其中,·是两个向量的内积,|·|是L2范数。由于人体是对称的,且两侧具有基本相等的长度,因此系统可能会实施身体长度对称的约束。设l(i)和l(j)是一对对称骨长,并且一组对称骨为P。系统可以使用以下等式来最小化LS:
Ls=∑(i,j)∈P|li-lj| (3)
系统还可以实施头部姿态、身体姿态和身体形状图的一致性。根据头部姿态,系统可以计算摄像头的局部坐标系。对于等距鱼眼摄像头模型,设(xk,yk),k=1……K是3D身体关键点的2D投影。系统可以使用以下等式来最小化LC:
其中,D是二元身体形状图的距离变换,q是截断阈值(例如,20个像素)。在α、β设置为0.01、γ设置为0.001时,最终损失函数可以为:
L=Ld+αLo+βLS+γLC (5)
值得注意的是,对于细化阶段,与头部向量相关的项可以从损失中移除。在特定实施例中,系统可以反投影3D姿态以估计摄像头视图,并且这应该适合前景估计。例如,如果用户的手在图像中可见,则当系统将这些像素投影到摄像头视图中时,投影应该在图像上并在区域内。
图6示出了基于合成人物模型生成的示例训练样本。在特定实施例中,系统可以使用总共2538个CMU运动捕获序列和混合器来生成合成训练数据,因为捕获一大组同步的头戴式摄像头视频和对应的“匹配的”身体运动捕获数据可能是具有挑战性的。在特定实施例中,序列可以涉及数百个不同的对象,总长度可以大约为10小时。对于每个运动捕获序列,系统可以从190个不同的网格模型中随机选择一个人物网格,以生成合成数据。作为示例而非限制,图6中的第一行示出了合成人物模型的示例。图6的第二行示出了基于合成人物模型生成的示例训练样本。模型可以由基于人类模型生成的合成网格(例如,605、606、607、608、609)来表示。该系统可以在合成模型的头部上附接虚拟摄像头,并且可以细化摄像头FOV的局部坐标系(例如,X方向601、Y方向602和Z方向603)。然后,系统可以改变合成模型(例如,605、606、607、608、609)的身体姿态,并使用虚拟摄像头来捕获佩戴者的身体部位(例如,手臂、手、或/和脚),以生成可用于训练身体姿态估计模型的训练样本。模型的每个身体姿态可以与由图6中的多个点表示的多个关键点(例如,604)相关联。可以使用与特定身体姿态相关联的关键点来准确地描述和表示该身体姿态。用于生成训练样本的身体姿态可以用作训练过程的地面实况。根据合成模型的身体姿态,由虚拟摄像头捕获的图像可以包括不同的身体部位。例如,捕获的图像可以包括佩戴者的手和脚(例如,610、620、630、640、652)或手臂和手(例如,653)。该系统可以在训练期间使用经渲染的人物图像的阿尔法通道中的前景图像。
在特定实施例中,系统可以使用包括多个步骤的合成过程来生成训练数据样本。该系统可以首先将运动捕获数据中的骨架重新定位到人物网格模型,以生成动画。该系统可以在每个人物模型的双眼之间刚性地附接虚拟面向前的鱼眼摄像头。该系统可以使用动画中的虚拟摄像头姿态和位置历史来计算运动历史图。使用此摄像头设置,系统可以用等距鱼眼模型来渲染摄像头视图。经渲染的图像的阿尔法通道可以提供人物的前景掩模。值得注意的是,在此设置中,摄像头的-Z轴和Y轴与两个头部方位向量对齐。总体而言,这可能为推进训练以及验证所提出的自我姿态深度模型提供高质量的数据。最后,由于这些合成的数据对于场景和佩戴者的外表是不变的,因此该系统可以使用这些数据来生成高质量的数据,以训练可泛化的模型。
图7示出了与地面实况数据和仅运动方法的身体姿态估计结果进行比较的示例身体姿态估计结果700。在特定实施例中,系统可以使用身体和头部姿态估计误差来量化自我姿态估计准确度。身体姿态估计误差可以是在归一化坐标系中估计的3D关键点和地面实况关键点之间的平均欧几里得距离。在训练和测试期间,地面实况3D身体姿态可以被归一化为具有约170厘米的身体高度。头部姿态估计误差可以通过两个估计的头部方位与地面实况方向之间的夹角来量化。在特定实施例中,该系统可以提供比其他方法更准确的姿态估计,其他方法包括例如xr自我姿态方法、dp自我姿态方法、仅运动方法、仅形状方法、仅阶段1方法、无高度方法、阶段1-RNN方法、手部图方法等。例如,图7的第一行示出了用于测试本公开中所描述的方法和过程的一组地面实况身体姿态。图7的第二行示出了身体姿态估计结果。图7的第三行示出了仅运动方法的身体姿态估计结果。如图7所示,第二行所示的身体姿态比仅运动方法估计的身体姿态更接近第一行所示的地面实况身体姿态。本公开中所描述的方法和过程可以提供比仅运动方法更准确的身体姿态估计结果。
图8A和图8B示出了基于估计的自我头部姿态和摄像头SLAM在全局坐标系中对估计的自我姿态进行重新定位的示例结果800A和800B。图8A中的示例结果是原始帧率的0.25倍。图8B中的示例结果是原始帧率的0.0625倍。在特定实施例中,两阶段深度学习方法可以利用新的运动历史图像特征和身体形状特征。该系统可以同时估计头部姿态和身体姿态这两者,同时明确地实施几何约束。该系统可以提供更好的性能,可以在使用合成数据源的同时对于摄像头设置的变化更加稳健,从而避免重新收集大量的新数据集。该系统可以实时工作,并为AR和VR中以自我为中心的体验和应用提供实时的身体姿态估计。
在特定实施例中,当用户正佩戴着摄像头(例如,VR/AR头戴式设备)时,系统可以实时确定用户的初始身体/头部姿态、和用户的细化身体/头部姿态。例如,用户可以使用AR/VR头戴式设备用于电话会议。系统可以基于由该系统确定的用户的实时身体/头部姿态来为用户生成化身。系统可以向与佩戴着摄像头的用户通信的其他用户显示该化身。因此,彼此远程交流的用户可以看到彼此的实时身体姿态。作为另一个示例,玩AR/VR游戏的用户可以使用不同的身体姿态或头部姿态与游戏场景交互。系统可以使用AR/VR头戴式设备上的面向前的摄像头来确定用户的身体/头部姿态,而无需使用附接到用户的身体的外部传感器。用户可以使用不同的身体/头部姿态和动作来与虚拟环境中的游戏场景交互。
作为另一个示例,系统可以使用实时确定的用户的身体/头部姿态,来向在虚拟环境中的用户合成逼真的声音效果。系统可以将用户置于3D虚拟环境中。系统可以基于用户相对于虚拟环境中的声源的身体/头部姿态来合成逼真的声音效果。当用户移动他的身体或/和头部时,系统可以基于用户的实时身体/头部姿态向用户重新合成声音。同时,系统可以使用用户的实时身体/头部姿态来控制虚拟环境中的化身,以便于用户获得逼真的AR/VR体验。
在特定实施例中,本公开中所描述的方法、过程和系统可以应用于AR系统或VR系统。作为示例而非限制,VR头戴式设备可以具有安装在其上的一个或多个摄像头。由于VR头戴式设备的尺寸,摄像头可能从使用面突出。安装在VR头戴式设备上的一些摄像头可能面朝前,其中视场角覆盖用户前方的区域。安装在VR头戴式设备上的一些摄像头可能面朝下,其中视场角覆盖用户的身体的前侧。VR头戴式设备的面朝前的摄像头或/和面朝下的摄像头可以捕获用户的身体的一部分(例如,手臂、手、脚、腿、身体躯干等)。由安装在VR头戴式设备上的摄像头捕获的图像可以取决于摄像头到用户的面部的距离、摄像头的面向方向和摄像头的视场角。在特定实施例中,本公开中所描述的方法、过程和系统可以被具体地配置用于VR头戴式设备,该VR头戴式设备具有安装在比AR头戴式设备的摄像头更远离用户的面部的位置处的摄像头。例如,在系统中使用的机器学习模型(例如,CNN网络)可以使用由安装在头戴式设备上的摄像头捕获的样本图像来训练,该摄像头具有大于到用户的面部的预定阈值距离的距离。
作为另一个示例,AR头戴式设备可以具有安装在其上的一个或多个摄像头。由于AR头戴式设备的尺寸(例如,AR头戴式设备可能比VR头戴式设备更薄),安装在AR头戴式设备上的摄像头可能更接近用户的面部。安装在AR头戴式设备上的一些摄像头可能面朝前,其中视场角覆盖用户前方的区域。安装在AR头戴式设备上的一些摄像头可能面朝下,其中视场角覆盖用户的身体的前侧。AR头戴式设备的面朝前摄像头或/和面朝下摄像头可以捕获用户的身体的一部分(例如,手臂、手、脚、腿、身体躯干等)。由安装在AR头戴式设备上的摄像头捕获的图像可以取决于摄像头到用户的面部的距离、摄像头的面向方向和摄像头的视场角。在特定实施例中,本公开中所描述的方法、过程和系统可以被具体地配置用于AR头戴式设备,该AR头戴式设备具有安装在比VR头戴式设备的摄像头更靠近用户的面部的位置处的摄像头。例如,在系统中使用的机器学习模型(例如,CNN网络)可以使用由安装在头戴式设备上的摄像头捕获的样本图像来训练,该摄像头具有小于到用户的面部的预定阈值距离的距离。与VR头戴式设备上安装的摄像头相比,安装在AR头戴式设备上的摄像头可以捕获用户的身体的更大部分,因为摄像头安装在相对更靠近用户的面部的位置(并因此,相对于用户的身体部位(例如,在用户的身体前方的手、手臂、脚、腿等)相对落后)。
图9示出了基于由用户佩戴的摄像头捕获的图像来确定用户的全身姿态的示例方法900。该方法可以在步骤910处开始,其中,计算系统可以通过用户佩戴的头戴式设备上的摄像头捕获一幅或多幅图像,该一幅或多幅图像捕获佩戴着该摄像头的用户的身体部位的至少一部分。在步骤920处,系统可以基于由摄像头捕获的一幅或多幅图像来确定对用户的身体的运动历史进行编码的多个运动特征。在步骤930处,系统可以在一幅或多幅图像中检测对应于用户的身体部位的该部分的前景像素。在步骤940处,系统可以基于前景像素确定对由摄像头捕获的用户的身体部位的该部分进行编码的多个形状特征。在步骤950处,系统可以基于运动特征和形状特征来确定用户的三维身体姿态和三维头部姿态。在步骤960处,系统可以基于前景像素和用户的三维头部姿态来生成姿态体积表示。在步骤970处,系统可以基于姿态体积表示和三维身体姿态来确定用户的细化三维身体姿态。
在特定实施例中,可以基于对用户的身体的运动历史进行编码的运动特征来确定用户的细化三维身体姿态。在特定实施例中,摄像头的视场角可以是面向前的。由摄像头捕获的一幅或多幅图像可以是鱼眼图像。用户的身体部位的该部分可以包括用户的手、手臂、脚或腿。在特定实施例中,头戴式设备可以佩戴在用户的头部上。系统可以使用与头戴式设备相关联的一个或多个IMU来收集IMU数据。可以基于IMU数据和由摄像头捕获的一幅或多幅图像来确定运动特征。在特定实施例中,系统可以将IMU数据和一幅或多幅图像馈送到即时定位与地图构建(SLAM)模块。系统可以使用即时定位与地图构建模块基于IMU数据和一幅或多幅图像来确定一个或多个运动历史表示。可以基于一个或多个运动历史表示来确定运动特征。在特定实施例中,每个运动历史表示可以包括在预定持续时间内的多个向量。该多个向量中的每个向量可以包括与用户的三维转动、三维平移或高度相关联的参数。
在特定实施例中,可以使用运动特征模型来确定运动特征。运动特征模型可以包括被训练为从运动历史表示中提取运动特征的神经网络模型。在特定实施例中,系统可以将一幅或多幅图像馈送到前景背景分割模块。该系统可以使用前景背景分割模块来确定用于一幅或多幅图像的每幅图像的前景掩模。前景掩模可以包括与用户的身体部位的该部分相关联的前景像素。形状特征可以基于前景像素来确定。在特定实施例中,可以使用形状特征模型来确定形状特征。形状特征模型可以包括被训练为从图像的前景掩模中提取形状特征的神经网络模型。
在特定实施例中,系统可以平衡运动特征和形状特征的权重。系统可以将运动特征和形状特征馈送到基于所平衡的权重的融合模块。用户的三维身体姿态和三维头部姿态可以由融合模块确定。在特定实施例中,姿态体积表示可以对应于用户的三维身体姿态和三维头部姿态的三维身体形状包络。在特定实施例中,姿态体积表示可以通过将用户的前景像素反投影到三维立方体空间中来生成。在特定实施例中,前景像素可以在保持三维身体姿态和三维头部姿态彼此一致的约束下被反投影到三维立方体空间。在特定实施例中,系统可以将姿态体积表示、运动特征和一幅或多幅图像的前景像素馈送到三维姿态细化模型。用户的细化三维身体姿态可以由三维姿态细化模型来确定。
在特定实施例中,三维姿态细化模型可以包括用于从姿态体积表示中提取特征的三维神经网络。从姿态体积表示中提取的特征可以与运动特征和三维身体姿态结合。在特定实施例中,三维姿态细化模型可以包括细化回归网络。该系统可以将从姿态体积表示中提取的、与运动特征和三维身体姿态结合的特征馈送到细化回归网络。用户的细化三维身体姿态可以通过细化回归网络输出。在特定实施例中,可以实时确定细化三维身体姿态。系统可以基于用户的细化三维身体姿态为用户生成化身。该系统可以在显示器上显示该化身。在特定实施例中,系统可以基于用户的细化三维身体姿态来生成立体声信号。系统可以向用户播放基于立体声信号的立体声。
在适当的情况下,特定实施例可以重复图9的方法中的一个或多个步骤。尽管本公开将图9的方法中的各特定步骤描述和示出为以特定顺序进行,但是本公开考虑了以任何合适的顺序进行的、图9的方法的任何合适的步骤。此外,尽管本公开描述和示出了用于基于由用户佩戴的摄像头捕获的图像来确定用户的全身姿态的、包括图9的方法的特定步骤的示例方法,本公开考虑了用于基于由用户佩戴的摄像头捕获的图像来确定用户全身姿态的、包括任何适合的步骤的任何合适的方法,在适当的情况下,该方法可以包括图9中的方法的多个步骤中的全部步骤、一些步骤,或者不包括图9的方法的多个步骤中的任何步骤。此外,虽然本公开描述和示出了执行图9的方法的特定步骤的特定部件、设备或系统,但本公开考虑了执行图9的方法的任何合适的步骤的任何合适的部件、设备或系统的任何合适的组合。
在特定实施例中,在线社交网络的多个内容对象中的一个或多个内容对象可以与隐私设置相关联。可以以任何合适的方式存储对象的隐私设置(或“访问设置”),这些方式例如为与该对象相关联、以授权服务器中的索引的方式、另一合适的方式、或它们的任何组合。对象的隐私设置可以指定可以如何使用在线社交网络来访问(例如,查看或共享)对象(或与该对象相关联的特定信息)。在对象的隐私设置允许特定用户访问该对象的情况下,该对象可以被描述为相对于该用户是“可见的”。作为示例而非限制,在线社交网络的用户可以为用户资料页面指定隐私设置,该隐私设置标识可以访问用户资料页面上的工作经验信息的一组用户,从而拒绝其他用户访问该信息。在特定实施例中,隐私设置可以指定不应被允许访问与对象相关联的某些信息的用户的“被阻挡列表”。也就是说,被阻挡列表可以指定对象对其不可见的一个或多个用户或实体。作为示例而非限制,用户可以指定不能访问与用户相关联的相册的一组用户,从而拒绝这些用户访问该相册(同时也可能允许不在该组用户内的某些用户访问该相册)。在特定实施例中,隐私设置可以与特定的社交图谱元素相关联。社交图谱元素(例如,节点或边)的隐私设置可以指定可以如何使用在线社交网络来访问社交图谱元素、与社交图谱元素相关联的信息、或与社交图谱元素相关联的内容对象。作为示例而非限制,与特定照片相对应的特定04号概念节点可以具有如下隐私设置:该隐私设置指定了该照片仅可被照片中标记的用户及其朋友访问。在特定实施例中,隐私设置可以允许用户选择让或不让其动作被社交网络系统记录或与其他系统(例如,第三方系统)共享。在特定实施例中,与对象相关联的隐私设置可以指定允许访问或拒绝访问的任何合适的粒度。作为示例而非限制,可以为以下用户指定访问或拒绝访问:特定用户(例如,仅我、我的室友和我的领导)、在特定疏离度内的用户(例如,朋友或朋友的朋友)、用户群组(例如,游戏俱乐部、我的家人)、用户网络(例如,特定雇主的雇员、特定大学的学生或校友)、所有用户(“公共”)、无用户(“私人”)、第三方系统的用户、特定应用(例如,第三方应用、外部网站)、其他合适的用户或实体或它们的任何组合。尽管本公开描述了以特定方式使用特定隐私设置,但是本公开考虑了以任何合适的方式使用任何合适的隐私设置。
在特定实施例中,一个或多个服务器可以是用于实施隐私设置的授权/隐私服务器。响应于来自用户(或其他实体)的、对存储在数据存储中的特定对象的请求,社交网络系统可以向数据存储库发送对该对象的请求。该请求可以识别与该请求相关联的用户,并且如果授权服务器基于与该对象相关联的隐私设置确定该用户被授权访问该对象,则该请求可以仅被发送给该用户(或用户的客户端系统)。如果请求用户未被授权访问该对象,则授权服务器可以阻止从数据存储库中检索所请求的对象,或者可以阻止将所请求的对象发送给用户。在搜索查询上下文中,如果查询用户被授权访问该对象,则该对象仅可作为搜索结果生成。换句话说,该对象必须具有对查询用户可见的可见性。如果对象具有对用户不可见的可见性,则可以从搜索结果中排除该对象。尽管本公开描述了以特定方式执行隐私设置,但本公开考虑了以任何合适的方式执行隐私设置。
图10示出了示例计算机系统1000。在特定实施例中,一个或多个计算机系统1000执行本文中所描述或示出的一种或多种方法的一个或多个步骤。在特定实施例中,一个或多个计算机系统1000提供本文中所描述或示出的功能。在特定实施例中,在一个或多个计算机系统1000上运行的软件执行本文中所描述或示出的一种或多种方法的一个或多个步骤,或提供本文中所描述或示出的功能。特定实施例包括一个或多个计算机系统1000的一个或多个部分。本文中,在适当的情况下,对计算机系统的引用可以包括计算设备,并且反之亦然。此外,在适当的情况下,对计算机系统的引用可以涵盖一个或多个计算机系统。
本公开考虑了任何合适数量的计算机系统1000。本公开考虑了采用任何合适的物理形式的计算机系统1000。作为示例而非限制,计算机系统1000可以是嵌入式计算机系统、片上系统(system-on-chip,SOC)、单板计算机系统(single-board computer system,SBC)(例如,计算机模块(computer-on-module,COM)或系统模块(system-on-module,SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式自助服务终端(kiosk)、大型机、计算机系统组网、移动电话、个人数字助理(personal digital assistant,PDA)、服务器、平板计算机系统、增强/虚拟现实设备或这些计算机系统中的两者或两者以上的组合。在适当的情况下,计算机系统1000可以包括一个或多个计算机系统1000;计算机系统1000可以是单一的或分布式的;跨多个位置的;跨多台机器的;跨多个数据中心的;或者位于云端(该云端可以包括一个或多个网络中的一个或多个云端组件)中。在适当的情况下,一个或多个计算机系统1000可以在没有大量的空间或时间限制的情况下,执行本文所描述或示出的一种或多种方法中的一个或多个步骤。作为示例而非限制,一个或多个计算机系统1000可以实时地或以批处理模式执行本文所描述或示出的一种或多种方法中的一个或多个步骤。在适当的情况下,一个或多个计算机系统1000可以在不同的时间或在不同的位置执行本文所描述或示出的一种或多种方法种的一个或多个步骤。
在特定实施例中,计算机系统1000包括处理器1002、内存1004、存储器1006、输入/输出(input/output,I/O)接口1008、通信接口1010和总线1012。尽管本公开描述和示出了具有以特定布置的特定数量的特定部件的特定计算机系统,但本公开考虑了具有以任何合适的布置的任何合适数量的任何合适部件的任何合适的计算机系统。
在特定实施例中,处理器1002包括用于执行指令(例如,构成计算机程序的那些指令)的硬件。作为示例而非限制,为了执行指令,处理器1002可以检索(或读取)来自内部寄存器、内部高速缓冲存储器、内存1004或存储器1006的多个指令;解码并执行这些指令;并且随后将一个或多个结果写入到内部寄存器、内部高速缓冲存储器、内存1004或存储器1006。在特定实施例中,处理器1002可以包括用于数据、指令或地址的一个或多个内部高速缓冲存储器。在适当的情况下,本公开考虑了包括任何合适数量的任何合适的内部高速缓冲存储器的处理器1002。作为示例而非限制,处理器1002可以包括一个或多个指令高速缓冲存储器、一个或多个数据高速缓冲存储器、和一个或多个页表缓存(translationlookaside buffer,TLB)。指令高速缓冲存储器中的多个指令可以是内存1004或存储器1006中的多个指令的副本,并且指令高速缓冲存储器可以加速处理器1002对那些指令的检索。数据高速缓冲存储器中的数据可以是内存1004或存储器1006中的数据的副本,以供在处理器1002处执行的指令对其进行操作;在处理器1002处执行的先前指令的结果,用于供处理器1002处执行的后续指令访问、或用于写入内存1004或存储器1006;或者数据高速缓冲存储器中的数据可以是其它合适的数据。数据高速缓冲存储器可以加速处理器1002的读取操作或写入操作。多个TLB可以加速处理器1002的虚拟地址转换。在特定实施例中,处理器1002可以包括用于数据、指令或地址的一个或多个内部寄存器。在适当的情况下,本公开考虑了包括任何合适数量的任何合适的内部寄存器的处理器1002。在适当的情况下,处理器1002可以包括一个或多个算术逻辑单元(arithmetic logic unit,ALU);处理器1002可以是多核处理器、或包括一个或多个处理器1002。尽管本公开描述和示出了特定的处理器,但是本公开考虑了任何合适的处理器。
在特定实施例中,内存1004包括主内存,该主内存用于存储供处理器1002执行的指令或供处理器1002操作的数据。作为示例而非限制,计算机系统1000可以将指令从存储器1006或另一源(诸如另一计算机系统1000)加载到内存1004。然后,处理器1002可以将这些指令从内存1004加载到内部寄存器或内部高速缓冲存储器。为了执行这些指令,处理器1002可以从内部寄存器或内部高速缓冲存储器检索这些指令并对它们进行解码。在执行指令期间或之后,处理器1002可以将一个或多个结果(可以是中间结果或最终结果)写入内部寄存器或内部高速缓冲存储器。然后,处理器1002可以将这些结果中的一个或多个结果写入内存1004。在特定实施例中,处理器1002仅执行一个或多个内部寄存器中或一个或多个内部高速缓冲存储器中的、或内存1004(与存储器1006不同或其他位置)中的指令,且仅对一个或多个内部寄存器或内部高速缓冲存储器中的、或内存1004(与存储器1006不同或其他位置)中的数据进行操作。一条或多条内存总线(每条内存总线可以包括地址总线和数据总线)可以将处理器1002耦接到内存1004。如下所述,总线1012可以包括一条或多条内存总线。在特定实施例中,一个或多个内存管理单元(Memory Management Unit,MMU)位于处理器1002与内存1004之间,并且促进由处理器1002请求的对内存1004的访问。在特定实施例中,内存1004包括随机存取存储器(Random Access Memory,RAM)。在适当的情况下,该RAM是易失性存储器。在适当的情况下,该RAM可以为动态RAM(dynamic RAM,DRAM)或静态RAM(static RAM,SRAM)。此外,在适当的情况下,该RAM可以为单端口或多端口RAM。本公开考虑了任何合适的RAM。在适当的情况下,内存1004可以包括一个或多个内存1004。虽然本公开描述和示出了特定内存,但本公开考虑了任何合适的内存。
在特定实施例中,存储器1006包括用于数据或指令的大容量存储器。作为示例而非限制,存储器1006可以包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器(FloppyDisk Drive,FDD)、闪存、光盘、磁光盘、磁带、或通用串行总线(Universal Serial Bus,USB)驱动器、或这些存储器中的两者或更多者的组合。在适当的情况下,存储器1006可以包括可移动或不可移动(或固定)介质。在适当的情况下,存储器1006可以位于计算机系统1000的内部或外部。在特定实施例中,存储器1006是非易失性固态存储器。在特定实施例中,存储器1006包括只读存储器(Read-Only Memory,ROM)。在适当的情况下,该ROM可以是掩码编程ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Erasable PROM,EPROM)、电可擦除PROM(Electrically Erasable PROM,EEPROM)、电可改写ROM(ElectricallyAlterable ROM,EAROM)或闪存、或这些ROM中的两者或更多者的组合。本公开考虑了采用任何合适的物理形式的大容量存储器1006。在适当的情况下,存储器1006可以包括促进处理器1002和存储器1006之间的通信的一个或多个存储器控制单元。在适当的情况下,存储器1006可以包括一个或多个存储器1006。尽管本公开描述并示出了特定存储器,但本公开考虑了任何合适的存储器。
在特定实施例中,I/O接口1008包括硬件、软件或两者,提供用于计算机系统1000与一个或多个I/O设备之间的通信的一个或多个接口。在适当的情况下,计算机系统1000可以包括这些I/O设备中的一个或多个。这些I/O设备中的一个或多个I/O设备可以实现个人与计算机系统1000之间的通信。作为示例而非限制,I/O设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静物摄像头、手写笔、平板电脑、触摸屏、追踪球、摄像头、另一个合适的I/O设备、或这些I/O设备中的两个或更多个的组合。I/O设备可以包括一个或多个传感器。本公开考虑了任何合适的I/O设备和用于任何合适的I/O设备的任何合适的I/O接口1008。在适当的情况下,I/O接口1008可以包括一个或多个设备或软件驱动器,该一个或多个设备或软件驱动器使处理器1002能够驱动这些I/O设备中的一个或多个I/O设备。在适当的情况下,I/O接口1008可以包括一个或多个I/O接口1008。尽管本公开描述和示出了特定的I/O接口,但本公开考虑了任何合适的I/O接口。
在特定实施例中,通信接口1010包括这样的硬件、软件或这两者:该硬件、软件或这两者为计算机系统1000与一个或多个其他计算机系统1000或与一个或多个网络之间的通信(例如,基于包(packet-based)的通信)提供一个或多个接口。作为示例而非限制,通信接口1010可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(network interface controller,NIC)或网络适配器,或者可以包括用于与无线网络(例如,Wi-Fi网络)进行通信的无线NIC(wireless NIC,WNIC)或无线适配器。本公开考虑了任何合适的网络和用于任何合适的网络的任何合适的通信接口1010。作为示例而非限制,计算机系统1000可以与以下网络进行通信:自组网、个域网(Personal Area Network,PAN)、局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、城域网(Metropolitan Area Network,MAN)或互联网的一个或多个部分、或这些中的两个或更多个的组合。这些网络中的一个或多个网络的一个或多个部分可以是有线或无线的。作为示例,计算机系统1000可以与无线PAN(wireless PAN,WPAN)(例如,蓝牙(BLUETOOTH)WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信系统(Global System forMobile Communications,GSM)网络)、或其他合适的无线网络、或这些网络中的两个或两个以上的组合进行通信。在适当的情况下,计算机系统1000可以包括用于这些网络中的任一者的任何合适的通信接口1010。在适当情况下,通信接口1010可以包括一个或多个通信接口1010。虽然本公开描述和示出了特定通信接口,但本公开考虑了任何合适的通信接口。
在特定实施例中,总线1012包括将计算机系统1000的多个部件彼此耦接的硬件、软件或这两者。作为示例而非限制,总线1012可以包括:加速图形端口(AcceleratedGraphics Port,AGP)或其他图形总线、增强型工业标准体系结构(Enhanced IndustryStandard Architecture,EISA)总线、前端总线(front-side bus,FSB)、超传输(HYPERTRANSPORT,HT)互连、工业标准体系结构(Industry Standard Architecture,ISA)总线、无限带宽(INFINIBAND)互连、低引脚计数(low-pin-count,LPC)总线、内存总线、微通道结构(Micro Channel Architecture,MCA)总线、外围部件互连(Peripheral ComponentInterconnect,PCI)总线、高速外围部件互联(PCI-Express,PCIe)总线、串行高级技术附件(serial advanced technology attachment,SATA)总线、视频电子标准协会局域(VideoElectronics Standards Association local,VLB)总线、或另一合适的总线、或这些总线中的两者或更多者的组合。在适当的情况下,总线1012可以包括一个或多个总线1012。尽管本公开描述和示出了特定的总线,但本公开考虑了任何合适的总线或互连。
在本文中,在适当的情况下,计算机可读非暂态存储介质可以包括:一个或多个基于半导体的集成电路(Integrated Circuit,IC)或其他集成电路(例如现场可编程门阵列(Field-Programmable Gate Array,FPGA)或专用IC(Application-Specific IC,ASIC))、硬盘驱动(Hard Disk Drive,HDD)、混合硬盘驱动(Hybrid Hard Drive,HHD)、光盘、光盘驱动(Optical Disc Drive,ODD)、磁光盘、磁光驱动、软盘、软盘驱动(Floppy Disk Drive,FDD)、磁带、固态驱动(Solid-State Drive,SSD)、RAM驱动、安全数字(SECURE DIGITAL)卡或驱动、任何其他合适的计算机可读非暂态存储介质、或这些中的两个或更多个的任何合适的组合。在适当的情况下,计算机可读非暂态存储介质可以是易失性的、非易失性的、或易失性与非易失性的组合。
在本文中,除非另有明确指示或上下文另有指示,否则“或”是包括性的而非排他性的。因此,在本文中,除非另有明确指示或通过上下文另有指示,否则“A或B”表示“A、B或这两者”。此外,除非另有明确指示或上下文另有指示,否则“和”既是共同的,也是各自的。因此,在本文中,除非另有明确说明或上下文另有说明,否则“A和B”意指“A和B,共同地或单独地”。
本公开的范围涵盖本领域普通技术人员将理解的、对本文中描述或示出的示例实施例的所有改变、替代、变化、变换和修改。本公开的范围不限于本文中描述或示出的示例实施例。此外,尽管本公开将本文的各个实施例描述和示出为包括特定的部件、元件、特征、功能、操作、或步骤,但本领域普通技术人员将理解的是,这些实施例中的任何实施例都可以包括本文中任何地方所描述或示出的部件、元件、特征、功能、操作、或步骤的任何组合或排列。此外,在所附权利要求中对装置或系统、或装置或系统的部件(这些装置、系统、部件适于、被布置为、能够、被配置为、被实现为、可操作地或可使用以执行特定功能)的引用涵盖了该装置、系统、部件(无论该装置、系统、部件或该特定功能是否被激活、开启或解锁),只要该装置、系统或部件是如此适于、被布置为、能够、被配置为、被实现为、可操作地或可使用。此外,虽然本公开将特定实施例描述或示出为提供特定优点,但特定实施例可以提供这些优点中的一些或全部优点,或者可以不提供这些优点。
Claims (20)
1.一种方法,包括:由计算系统:
通过用户佩戴的头戴式设备上的摄像头捕获一幅或多幅图像,所述一幅或多幅图像捕获佩戴着所述摄像头的所述用户的身体部位的至少一部分;
基于由所述摄像头捕获的所述一幅或多幅图像,确定对所述用户的身体的运动历史进行编码的多个运动特征;
在所述一幅或多幅图像中检测与所述用户的身体部位的所述部分相对应的前景像素;
基于所述前景像素,确定对由所述摄像头捕获的所述用户的身体部位的所述部分进行编码的多个形状特征;
基于所述多个运动特征和所述多个形状特征,确定所述用户的三维身体姿态和三维头部姿态;
基于前景像素和所述用户的所述三维头部姿态,生成姿态体积表示;以及
基于所述姿态体积表示和所述三维身体姿态,确定所述用户的细化三维身体姿态。
2.根据权利要求1所述的方法,其中,所述用户的所述细化三维身体姿态是基于对所述用户的身体的所述运动历史进行编码的所述多个运动特征来确定的。
3.根据权利要求1或2所述的方法,其中,所述摄像头的视场角是面向前的,其中,由所述摄像头捕获的所述一幅或多幅图像是鱼眼图像,并且其中,所述用户的身体部位的所述部分包括所述用户的手、手臂、脚或腿。
4.根据前述权利要求中任一项所述的方法,其中,所述头戴式设备佩戴在所述用户的头部上,所述方法还包括:
使用与所述头戴式设备相关联的一个或多个惯性测量单元IMU,来收集IMU数据,其中,所述多个运动特征是基于所述IMU数据和由所述摄像头捕获的所述一幅或多幅图像来确定的。
5.根据权利要求4所述的方法,还包括:
将所述IMU数据和所述一幅或多幅图像馈送到即时定位与地图构建(SLAM)模块;以及
使用所述即时定位与地图构建模块、基于所述IMU数据和所述一幅或多幅图像,确定一个或多个运动历史表示,其中,所述多个运动特征是基于所述一个或多个运动历史表示来确定的。
6.根据权利要求5所述的方法,其中,每个运动历史表示包括在预定持续时间内的多个向量,其中,所述多个向量中的每个向量包括与所述用户的三维转动、三维平移或高度相关联的参数。
7.根据前述权利要求中任一项所述的方法,其中,所述多个运动特征是使用运动特征模型来确定的,并且其中,所述运动特征模型包括被训练为从运动历史表示中提取运动特征的神经网络模型。
8.根据前述权利要求中任一项所述的方法,还包括:
将所述一幅或多幅图像馈送到前景背景分割模块;以及
使用所述前景背景分割模块,为所述一幅或多幅图像的每幅图像确定前景掩模,其中,所述前景掩模包括与所述用户的身体部位的所述部分相关联的所述前景像素,并且其中,所述多个形状特征是基于所述前景像素确定的。
9.根据前述权利要求中任一项所述的方法,其中,所述多个形状特征是使用形状特征模型来确定的,并且其中,所述形状特征模型包括被训练为从图像的前景掩模中提取形状特征的神经网络模型掩模。
10.根据前述权利要求中任一项所述的方法,所述方法还包括:
平衡所述多个运动特征和所述多个形状特征的权重;以及
基于所平衡的所述权重,将所述多个运动特征和所述多个形状特征馈送到融合模块,其中,所述用户的所述三维身体姿态和所述三维头部姿态是由所述融合模块确定的。
11.根据前述权利要求中任一项所述的方法,其中,所述姿态体积表示与所述用户的所述三维身体姿态和所述三维头部姿态的三维身体形状包络相对应。
12.根据前述权利要求中任一项所述的方法,其中,所述姿态体积表示是通过将所述用户的所述前景像素反投影到三维立方体空间中生成的。
13.根据权利要求12所述的方法,其中,所述前景像素是在保持所述三维身体姿态和所述三维头部姿态彼此一致的约束下而被反投影到所述三维立方体空间的。
14.根据前述权利要求中任一项所述的方法,还包括:
将所述姿态体积表示、所述多个运动特征、和所述一幅或多幅图像的所述前景像素馈送到三维姿态细化模型,其中,所述用户的所述细化三维身体姿态是由所述三维姿态细化模型确定的。
15.根据权利要求14所述的方法,其中,所述三维姿态细化模型包括用于从所述姿态体积表示中提取特征的三维神经网络,并且其中,从所述姿态体积表示中提取的所述特征与所述多个运动特征和所述三维身体姿态结合。
16.根据权利要求14或15所述的方法,其中,所述三维姿态细化模型包括细化回归网络,所述方法还包括:
将从所述姿态体积表示中提取的、与所述多个运动特征和所述三维人体姿态结合的所述特征馈送到所述细化回归网络,其中,所述用户的所述细化三维人体姿态是由所述细化回归网络输出的。
17.根据前述权利要求中任一项所述的方法,其中,所述细化三维身体姿态是实时确定的,所述方法还包括:
基于所述用户的所述细化三维身体姿态,为所述用户生成化身;以及
在显示器上显示所述化身。
18.根据前述权利要求中任一项所述的方法,还包括:
基于所述用户的所述细化三维身体姿态,生成立体声信号;以及
向所述用户播放基于所述立体声信号的立体声。
19.一种或多种计算机可读非暂态存储介质,包含软件,所述软件在被执行时能够操作以:
通过用户佩戴的头戴式设备上的摄像头捕获一幅或多幅图像,所述一幅或多幅图像捕获佩戴着所述摄像头的所述用户的身体部位的至少一部分;
基于由所述摄像头捕获的所述一幅或多幅图像,确定对所述用户的身体的运动历史进行编码的多个运动特征;
在所述一幅或多幅图像中检测与所述用户的身体部位的所述部分相对应的前景像素;
基于所述前景像素,确定对由所述摄像头捕获的所述用户的身体部位的所述部分进行编码的多个形状特征;
基于所述多个运动特征和所述多个形状特征,确定所述用户的三维身体姿态和三维头部姿态;
基于前景像素和所述用户的所述三维头部姿态,生成姿态体积表示;以及
基于所述姿态体积表示和所述三维身体姿态,确定所述用户的细化三维身体姿态。
20.一种系统,包括:
一个或多个非暂态计算机可读存储介质,所述一个或多个非暂态计算机可读存储介质包含指令;以及
一个或多个处理器,所述一个或多个处理器耦接到所述存储介质,并且能够操作地执行所述指令以:
通过用户佩戴的头戴式设备上的摄像头捕获一幅或多幅图像,所述一幅或多幅图像捕获佩戴着所述摄像头的所述用户的身体部位的至少一部分;
基于由所述摄像头捕获的所述一幅或多幅图像,确定对所述用户的身体的运动历史进行编码的多个运动特征;
在所述一幅或多幅图像中检测与所述用户的身体部位的所述部分相对应的前景像素;
基于所述前景像素,确定对由所述摄像头捕获的所述用户的身体部位的所述部分进行编码的多个形状特征;
基于所述多个运动特征和所述多个形状特征,确定所述用户的三维身体姿态和三维头部姿态;
基于前景像素和所述用户的所述三维头部姿态,生成姿态体积表示;以及
基于所述姿态体积表示和所述三维身体姿态,确定所述用户的细化三维身体姿态。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/169,012 | 2021-03-31 | ||
US17/475,063 US20220319041A1 (en) | 2021-03-31 | 2021-09-14 | Egocentric pose estimation from human vision span |
US17/475,063 | 2021-09-14 | ||
PCT/US2022/022282 WO2022212325A1 (en) | 2021-03-31 | 2022-03-29 | Egocentric pose estimation from human vision span |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117121057A true CN117121057A (zh) | 2023-11-24 |
Family
ID=88809711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280027504.5A Pending CN117121057A (zh) | 2021-03-31 | 2022-03-29 | 基于人类视觉范围的以自我为中心的姿态估计 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117121057A (zh) |
-
2022
- 2022-03-29 CN CN202280027504.5A patent/CN117121057A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12067673B2 (en) | Systems, methods, and media for generating visualization of physical environment in artificial reality | |
US11010951B1 (en) | Explicit eye model for avatar | |
US11854230B2 (en) | Physical keyboard tracking | |
US11451758B1 (en) | Systems, methods, and media for colorizing grayscale images | |
US11507203B1 (en) | Body pose estimation using self-tracked controllers | |
US11200745B2 (en) | Systems, methods, and media for automatically triggering real-time visualization of physical environment in artificial reality | |
US11288543B1 (en) | Systems and methods for depth refinement using machine learning | |
US11335077B1 (en) | Generating and modifying representations of dynamic objects in an artificial reality environment | |
US11481960B2 (en) | Systems and methods for generating stabilized images of a real environment in artificial reality | |
US20220319041A1 (en) | Egocentric pose estimation from human vision span | |
US12020508B2 (en) | Systems and methods for predicting elbow joint poses | |
CN115661408A (zh) | 在人工现实环境中生成和修改手的表示 | |
Wen et al. | A survey of facial capture for virtual reality | |
CN117121057A (zh) | 基于人类视觉范围的以自我为中心的姿态估计 | |
US11410387B1 (en) | Systems, methods, and media for generating visualization of physical environment in artificial reality | |
TW202240538A (zh) | 基於人類視覺跨度之自我中心姿勢估計 | |
US20240062425A1 (en) | Automatic Colorization of Grayscale Stereo Images | |
US12039668B2 (en) | Digital garment generation | |
US20230245322A1 (en) | Reconstructing A Three-Dimensional Scene | |
US20230343050A1 (en) | Systems and Methods for Providing User Experiences on AR/VR Systems | |
CN118426582A (zh) | 单像素三维视网膜成像 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |