Happy · 2021年01月20日

XNect|单RGB相机实时多人3D动作捕捉

首发:AIWalker
作者:BrainX

image.png
image.png

图1:实际测试效果

论文提供一种基于RGB视频的实时多人运动捕捉,该方法分为三个阶段:在第一个阶段,通过卷积神经网络估计每个人的2D和3D姿态特征,该部分设计了一个快速的网络结构SelecSLS;在第二个阶段,通过全连接的神经网络将遮挡部分2D姿态和3D姿态特征推理成完整的3D姿态;在第三个阶段,应用时空骨架模型拟合每个人预测的2D和3D姿态,目的是为了进一步协调2D和3D姿态和加强时间一致性,最终以关节角度信息返回整个骨骼姿态。

论文地址:https://gvv.mpi-inf.mpg.de/pr...

1. 背景介绍

在视觉计算及其相关领域中,光学人体动作捕捉技术是当今世界最重要的技术之一。例如,它被广泛使用在视觉特效中动画虚拟人物和人类。它是许多人机接口的关键组成部分,也是生物医学的核心运动分析。近年来,计算机图形学与计算机视觉研究人员开发了新的动作捕捉算法。

这些算法不需要特殊的服装,密集的相机阵列,演播室录音,或者标记。只需要几个校准的摄像机来捕捉穿着日常服装的户外人群,从一个单色图像得到三维人体姿势,打开了虚拟现实和增强现实应用的大门。但是仍然存在极具挑战性问题,比如深度模糊,遮挡,和外观和场景的多样性。

更重要的是,大多数方法会因为遮挡导致失败,或者只研究单个人。最近的一些方法侧重于自我中心设置。由外向内设置的单人跟踪(非自我中心)是已经受到严格的约束;因此多人跟踪变得异常困难,由于多重遮挡,挑战身体部分人员分配,计算上要求更高。这为许多应用程序(如游戏)带来了实际障碍以及社交VR/AR。

2. 相关工作

接下来重点讨论相关的2D和3D人体姿态估计,数据集和神经网络架构。

多人2D姿态估计:多人二维姿态估计方法可分为自顶向下(top-down)和自底向上(bottom-up)两种。top-down的方法先进行目标检测(人),再对每个检测到的人进行单人的关键点检测(单人姿态估计);bottom-up方法先检测所有人的关键点,然后再对关键点进行分组关联。一般来说,top-down方法精度更高,而bottom-up方法速度更快。

单人3D姿态估计: 单人3D姿态估计以前是通过使用物理先验的生成方法进行的,或者半自动综合分析拟合参数体模型。最近的一些方法在网络中集成了3D身体模型,并使用2D和3D姿势的混合训练从单个图像中预测三维姿态和形状。其他方法优化人体模型或模板来适应2D姿势和轮廓。

多人3D姿态估计:  本文的方法是自底向上的,不会对每个人进行多次检测。自底向上的方法使用固定数量的特征映射来预测场景中所有个体的2D和3D姿势,并且为每个个体进行编码。3D编码将每个肢体和躯干视为不同的物体,并对特征中的每个“物体”的3D姿势进行编码映射到与“对象”的2D关节对应的像素位置。因此,该编码可以处理部分个人之间的遮挡通过不同的身体部位。

3D姿态数据集: MarCOnI、Panopticon、MuCo-3DHP等3D姿态数据集。

卷积网络设计: ResNet、Inception 和ResNext 等等变种;本文提出的CNN架构背后的关键是使用选择性的远距离和近距离合并连接,而不是DenseNet的密集连接模式。这使得网络速度明显快ResNet-50 同时保持相同的精度水平,避免精度和网络复杂度之间的平衡,消除内存瓶颈。

3. 整体方法

image.png

整体方法的大概的计算分为三个阶段,前两个阶段分别为每帧局部(每个身体关节)和全局(所有身体关节)推理,第三个阶段执行时序推理:第一个阶段为使用新的SelecSLS网络架构可见的身体关节推断2D姿态和中间3D姿态编码。每个关节的三维位姿编码仅考虑运动序列中的局部上下文。第二个阶段是一个紧凑的全连接网络为每个被检测到的人(并行运行),并通过利用全局上下文重建完整的3D姿势,包括被遮挡的关节。第三阶段提供了时序的稳定性,相对于摄像机的定位,以及通过运动学骨架拟合的关节角度参数。

4. 姿态估计

给定一个尺寸为 图像 , 估计3D姿态 ,其中 表示场景中人的个数。 表示 身体关节的根(骨盆)相对三维坐标。接下来在下面详细介绍。

4.1 阶段一预测

第一阶段使用核心网络CNN提取特征,该网络为分成两个独立分支的网络2D姿态预测和3D姿态编码,如图2所示。核心网络输出特征图大小为 , 2D和3D分支网络的输出特征图大小为 。3D分支网络利用了2D分支网络提取的特征。接下来详细介绍两个网络分支和阶段一的训练过程。

4.1.1 2D分支:2D位姿预测和部位关联

2D姿态预测为2D热图 ,每个热图代表每个像素的置信度,使用部分亲和场 来编码身体关节所有权,使用单位向量场从关节指向其运动学父关节,并跨越各自肢体的宽度。对于输入图像,这些部分关联字段可用于检测个人在场的场景和可见的身体关节,并以将可见关节与个体联系起来。如果一个人的颈部关节(假设在大多数情况下是可见的)没有被检测到,将从随后的阶段中完全抛弃了未检测到的个体。对于 个检测到的个体,该阶段以绝对图像坐标 输出二维身体关节位置。进一步,从热图最大值中得到了每个身体部位的检测置信度 。

4.1.2 3D分支:预测中间3D位姿编码

image.png

image.png

4.1.3 训练过程

第一阶段的网络是多重训练的阶段。首先,在MPII和LSP单人2D数据集上,对核心网络和2D姿态分支网络进行训练,然后使用这些权重作为初始值,最后在MS-COCO数据集上训练多人2D姿态估计。随后添加3D姿态分支,并分别在MS-COCO和MuCo-3DHP数据集上训练两个分支。发现在引入3D分支前,先对多人二维姿态数据进行预训练很重要。

4.2 阶段二预测

image.png
如图3:2D姿态和3D编码合并

阶段二采用全连接网络预测每个个体的相对根结点的3D姿态 ,在阶段一的输出作为输入,将2D关节位置的预测 转化为相对于颈关节的表示方法。对于每个个体 中每个关节点位置,可以提取 形式的3D姿态编码向量 ,输入到阶段二的 是关键点坐标 ,关节点检测置信度 和特征向量 的合并状态。如果节点处于不可见状态,那么就采用零向量代替(如图3)。阶段二采用5层全连接层将 转化成3D姿态 。(如图5)

image.png

如图5:全连接层

4.2.1 训练过程

第二阶段的网络在MuCo-3DHP数据集上训练。第一阶段提取了2D姿态和3D姿态编码,然后对于每个被检测到的个体,使用真实标签的3D姿态为监督对象 。当有不同有严重的遮挡时,姿态预测可能与真实标签截然不同,可以使用smooth-L1损失函数减轻这些异常值的影响。

5. 动作捕捉:阶段三

在第一阶段和第二阶段之后,得到每个个体的每帧相对于根节点的姿态估计。然而,没有估计人的大小或离相机的距离,人的身份是不跨帧跟踪,和重建不是根据关节角度。为了弥补这一点,随着时间推断和跟踪人的外貌,可选地平面几何推断绝对高度,并在时空运动学姿态拟合方法中,融合带有时序平滑和关节点限制的二维和三维的姿态预测。

5.1 身份跟踪和重新识别

为了区分在不同帧下估计的姿态,扩展了之前的姿态符号,在方括号中包含时间指标。到目前为止,每帧2D和3D姿势已经被估计为当前和过去的帧。因此需要一种快速的方法来维护被检测到的人在帧之间的身份,并在完全遮挡一段时间后重新识别出来。为此,在当前时间步长 分配人员检测之间的通信, 为当前时刻的姿态信息。利用上半身区域的HSV颜色直方图对人的外观进行建模和跟踪,将色调和饱和度通道离散为每个30个箱子,并确定外观 作为包含肢体关节点的 类概率。这种描述方式可以有效地计算和模拟宽松和紧身的服装,但在着装相似的人中可能会出现颜色模糊。

为了能够稳健地匹配人体,可以将当前检测分配给之前已识别的身份,而不仅仅是基于外观相似度 ,而且基于2D姿态相似度 和3D姿态相似度 ,在异常情况下设置一个阈值来检测遮挡、人员离开视场和新人员进入视场。这意味着 的数量可以改变。人在消失后保持一定的帧数,以允许在瞬间遮挡(如被跟踪的受试者经过一个遮挡器后造成的遮挡)后重新识别。每30秒更新一次已知对象的外观直方图,来应对不同光照导致的外观变化。

5.2 相对骨长和绝对高度的计算

身体各部分之间的相对长度是一个尺度不变的属性,在第二阶段很容易估计 。为了增加鲁棒性,可以对将骨骼长度 进行归一化作为 中连接关节之间的距离。将像素坐标的相对姿态估计转换为以厘米为单位的绝对3D坐标是一项困难的任务,因为它需要已知位置和比例的参考对象和人的身高信息。

5.3 运动骨架拟合

image.png

image.png
image.png

6. 结果

6.1 系统特点及应用

首先系统提供了有效和准确的3D动作捕捉,为实时角色动画和其他交互式CG应用做好了准备,尽管只使用单一的RGB视频源,但仍然可以与基于深度的解决方案竞争。

实时性能:实时系统使用标准的网络摄像头作为输入帧,处理512×320像素分辨率的输入帧。对于有10个人的场景,系统运行在桌面上有一个支持3.5 GHz的Intel Xeon E5和Nvidia GTX 1080Ti处理速度在每秒30帧以上。

6.2 在单人3D姿态数据集上的性能

在MPI-INF-3DHP数据集上,通过三个评价指标:正确关键点的3D百分比3DPCK(越高越好),曲线下面积AUC(越高越高),平均3D关节点误差MJPE(越小越好)。

6.3 多人3D位姿数据集的性能

在MuPoTS-3D monocular multi-person benchmark数据集上定量评价了该方法的精度

6.4 网络结构评估

SelectSLS网络与ResNet-50的对比

6.5 信道稀疏三维姿态编码评价

channel-sparse监督编码,这样只能在局部进行运动学上下文的解释,比channel-dense表现得更好。

6.6 骨骼拟合的评估(第三阶段)

尽管第三阶段的定量精度略有下降,但它在位姿估计的质量和时间稳定性方面产生了显著改善,并提高了末端执行器的精度。由此产生的时间平滑的关节角估计可以用于交互式图形应用程序。

7. 讨论和未来工作

本文方法是第一个采用RGB相机对多人场景进行实时三维运动捕捉。尽管如此,它有一定的局限性,将在今后的工作中加以解决。

与其他方法一样,本文方法的准确性是还不能与多视图捕获算法的精度相比。在该算法系统中,失败的案例可能来自于每个组成部分。如果是二维姿态估计可能是不正确的或部分关联是不正确的,那么三维的姿态估计也会不正确。此外,由于我们需要颈部可见才能成功地识别一个人,颈部被遮挡的情况会导致患者无法被检测到。

本文算法成功地捕捉了被遮挡的对象的姿态,即使在人与人之间出现相互遮挡的情况。然而,这种方法仍然不能可靠地捕捉到非常密切的交互,比如拥抱。结合运动约束可以进一步改善位姿的稳定性,增加时序稳定性,从而能够捕获人与其他物体的细粒度交互。

在某些情况下,个别姿势在几帧中有更高的误差,例如,强烈相互遮挡。然而,本文方法设法从中恢复姿态。在严重的自遮挡和相互遮挡情况下,拟合阶段可能存在误差,会使相机相对定位不稳定。不过重建的准确性和稳定性适合许多实时应用程序。

本文的算法速度很快,但相对简单的身份追踪器可能会交换人们的身份尤其是出现遮挡,较大的外观变化,和相似的服装外观。需要更复杂的时空跟踪解决这一问题。与所有基于学习的姿态估计方法一样,姿态估计精度退化不同于训练阶段。为了解决这个问题,需要扩展该的算法,使它可以在无监督或用半监督的方式处理未标记的多人视频。

8. 结论

与之前的方法不同,本文方法采用单个GPU可以达到实时的效果,以25 - 30帧/秒的帧率,并且输出骨骼关节角度和相对相机人的位置,这可以可用于控制虚拟环境中的动画角色,而且本文方法在遮挡情况下,仍然能够预测完整的身体姿态。

image.png

- END -

推荐阅读

本文章著作权归作者所有,任何形式的转载都请注明出处。更多动态滤波,图像质量,超分辨相关请关注我的专栏深度学习从入门到精通
推荐阅读
关注数
6196
内容数
191
夯实深度学习知识基础, 涵盖动态滤波,超分辨,轻量级框架等
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息