【Occlusion-Aware Networks for 3D Human Pose Estimation in Video】论文翻译


摘要

  遮挡是单眼视频中3D人体姿势估计的一个关键问题。为了解决这个问题,我们引入了一个闭塞感知的深度学习框架。通过采用关键点的二维置信度热图和光流一致性约束,我们过滤掉了被遮挡的关键点的不可靠的估计。当闭塞发生时,我们有不完整的二维关键点,并将其送入我们的二维和三维时间卷积网络(二维和三维TCN),强制执行时间平滑性以产生完整的三维姿势。通过使用不完整的二维关键点,而不是完整但不正确的关键点,我们的网络受被遮挡的关键点的易错估计的影响较小。训练闭塞感知的3D TCN需要有闭塞标签的3D姿势和2D姿势的配对。由于没有这样的数据集,我们引入了一个 "圆柱体人模型 "来估计身体部位在三维空间中的位置。通过在不同视角下将模型投射到二维平面上,我们获得并标记了闭塞的关键点,为我们提供了大量的训练数据。此外,我们使用这个模型来创建一个姿势正则化约束,倾向于将不可靠的关键点的二维估计进行遮挡。我们的方法在人类3.6M和HumanEva-I数据集上的表现优于最先进的方法。

一、简介

  从单眼视频中估计三维人体姿势在许多应用中都很重要,如动画生成、活动识别、人机交互等。最近自上而下的姿势估计方法已经取得了很好的效果[29, 13, 27, 6, 21, 28, 36]。一般来说,这些方法检测每张图像中的单个人,估计每个人边界框内的二维姿态,最后将二维姿态转换成三维姿态。由于人类是有关节的物体,许多关节或关键点,如手腕、肘部和脚部的关节或关键点,可能由于遮挡而不可见,如图1中第二行所示。这些方法总是预测属于一个人的所有关键点的二维位置,即使其中一些不可见或被遮挡。这是有风险的,因为这样一来,三维姿势的估计就容易出错。
在这里插入图片描述

图1. 使用闭塞意识(第四行)或不使用闭塞意识(第三行)的三维姿势估计结果的比较。二维姿势估计结果显示在第二行,被遮挡和未被遮挡的人体关节分别被标记为绿色和白色(最好以彩色方式查看)。

  研究人员已经表明,遮挡是单一图像中人的姿势估计错误的主要来源[25, 24, 39, 23],最先进的方法[34, 42, 8]仍然受到影响。已经有人尝试从图像中估计关键点或身体部位的闭塞可能性[32, 11],惩罚闭塞的关键点[1],或推断多个三维姿势[44, 18]。对于视频输入,为了解决这个问题,利用了时间信息[16, 13, 17, 29]。然而,它们都是基于一个假设,即闭塞只发生在几个独立的帧中。不幸的是,在实际情况下,闭塞可能在多个帧中持续发生。因此,如图1中第三行所示,仅仅通过做无闭塞意识的时间卷积就很难纠正错误,因为他们不知道哪些关键点可能是不可靠的,而对所有关键点一视同仁。

  在本文中,我们的目标是从单一视频中估计三维人体姿势。我们引入了一个闭塞感知的深度学习框架,包括三个网络,以明确处理闭塞的关键点,如图2所示。第一个网络以热图(置信度图)的形式逐帧独立输出人的每个边界框的关键点的估计2D位置。这些地图与光流相结合,以评估预测的关键点是否被遮挡住了。现有的基于时间的方法[13, 17, 29]使用所有的关键点,尽管其中一些关键点由于闭塞而不准确。相比之下,我们过滤掉闭塞的关键点,然后将可能不完整的二维关键点送入我们的第二和第三网络,这两个网络都是时间卷积网络(分别为二维和三维TCN),以执行时间上的平滑度。

  由于我们的3D TCN将可能不完整的2D关键点作为输入,在训练过程中我们需要一对3D姿势和带有遮挡标签的2D姿势。然而,在大多数三维人类数据集中,没有可用的闭塞标签。因此,我们引入了一个 “圆柱体人模型”,使我们能够在不同的视角下将三维人的姿势投射到虚拟的二维平面。因此,我们可以获得并标记被人本身遮挡的关键点,提供大量的训练数据。

  由于三维联合的基础事实有限,最近的一些方法通过采用三维到二维的投影损失,利用二维姿势数据来训练他们的三维姿势网络[26, 29]。然而,这些方法在计算损失时简单地忽略了被遮挡的关键点,导致可能出现错误的解决方案,因为这些关键点可能被估计为未被遮挡,与遮挡的基础实况标签相矛盾。
在这里插入图片描述

图2. 我们的方法的框架,最好是彩色的。

  因此,在我们的 "圆柱人模型 "的帮助下,我们引入了一个姿势正则化术语来惩罚这种违规行为。 我们的整个框架可以以半监督的方式进行端到端的训练。图1中的第四行显示了我们的方法在长期二维遮挡情况下的有效性;被遮挡的手臂可以被正确估计。作为总结,我们的贡献如下。

  • 我们引入了一个具有明确遮挡处理的三维姿势估计框架。
  • 我们提出了一个新颖的 “圆柱体模型”,用于自动增加成对的三维姿势和被遮挡的二维姿势的数据,并用于被遮挡的关键点的姿势正则化。
  • 我们引入了一个完全集成的二维姿态和三维姿态估计的框架,可以以半监督的方式进行端到端的训练。

二、 相关工作

  近年来,虽然基于深度学习的二维人体姿态估计方法有了很大的进展[38, 37, 25, 40, 4, 3],但三维姿态估计仍然具有挑战性,主要是因为遮挡和深度模糊。一些方法使用相机阵列系统(一组RGB和深度传感器)来跟踪准确的三维人体运动[9, 15]。由于对野生视频的姿势估计有很高的要求,最近的许多方法都集中在单眼RGB相机拍摄的数据上[2, 45]。

  从单一图像中获得准确可靠的三维关节是难以实现的[17, 13, 29]。最近,时间信息被用来提供可靠的三维估计。Lee等人[17]使用LSTM来学习三维人体姿势估计的关节相互依赖性。Hossain等人[13]使用一个RNN模型来执行运动平滑性。然而,他们假设高帧率和慢动作,这限制了该方法在野生视频中的有效性。Pavllo等人[29]提出了一种时间卷积方法,从二维关键点序列中生成三维姿势。然而,他们要求对每一帧的所有二维关键点进行估计,并假定预测误差在时间上是不连续的和独立的,这在大多数闭塞情况下是不成立的。Charles等人[5]也检测了被遮挡的关键点,并将其移除进行时间传播;然而,我们采用了TCN来实现比他们的光流方法更大的时间感知场。

  由于具有三维关节实况的人体姿势数据集很少,为了避免过度拟合,一些方法采用了半监督的方法,通常将估计的三维关节投射到二维图像空间,并将结果与二维实况进行比较,以计算损失[26, 29]。这样就可以使用没有三维关节实况的二维数据集进行训练。然而,这些方法都没有考虑到缺失(遮挡)的关键点,导致其网络学习不准确。少数方法通过对空间配置进行正则化处理[8, 7],或进行对抗性数据增强以提高闭塞情况下的检测精度[30]来解决闭塞问题。不幸的是,这些都没有利用时间信息,使得预测不稳定。

  与现有的基于时间的方法[26, 13, 29]不同,我们的时间卷积网络明确地排除了闭塞的、因而不可靠的关键点预测。此外,我们引入了一个新的 "圆柱体人模型 "来生成具有明确闭塞标签的虚拟三维关节和二维关键点对,这对于训练我们的网络至关重要。此外,我们设计了一个姿势正则化方案,在损失函数中加入闭塞约束,而不是忽略闭塞的关键点。

三、识别遮挡的三维姿势估计

  图2显示了我们框架的概况。给定一个输入视频,我们对每一帧应用人体检测器,如Mask RCNN[12],将每个检测到的人体边界框归一到一个固定的大小,同时保持宽度/高度的比例,并将其送入我们的第一个网络,一个堆叠的沙漏网络[25],它以热图(或置信图)的形式估计2D关键点。随后,我们的第二个网络(2D TCN)提高了估计的2D关键点的准确性,并将其进一步送入我们的第三个网络(3D TCN)以获得最终的3D姿态。我们的框架是端到端的,用于训练和测试。

  如果输入视频中有多个人物,我们采用PoseFlow跟踪器[41]来避免身份转移。我们假设场景不是太拥挤,这样追踪器就不容易造成身份转换。在拥挤的场景中以各种姿势跟踪多人是一个复杂的问题,这超出了本文的范围。

3.1. 二维姿态估计

  给定一个包含人的边界框,我们的第一个网络输出一组热图,表示为 { M i ∼ } \left\{ \overset{\thicksim}{M_i} \right\} {Mi},其中 i ∈ [ 1 , K ] i\in \left[ 1,K \right] i[1,K] K K K是预定义关键点的数量。该网络逐帧地处理边界框,并使用以下损失进行训练。 L 2 D S = ∑ i = 1 K ∥ M i − M i ∼ ∥ 2 2                    ( 1 ) L_{2D}^{S}=\sum_{i=1}^K{\lVert M_i-\overset{\thicksim}{M_i} \rVert}_{2}^{2}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \left( 1 \right) L2DS=i=1KMiMi22                  (1)其中 M i M_i Mi是关键点 i i i 的地面真实热图,对于被遮挡的关键点定义为全部为零,对于未被遮挡的关键点定义为高斯平滑度的单峰,如[25]。在输出层中使用了一个sigmoid函数来强制热图中的每个值在[0,1]的范围内。这些值代表了关键点估计的信心分数。
在这里插入图片描述

图3. 在二维TCN(中间)和三维TCN(右边)中填补被遮挡的关键点的最终三维结果的比较。左图显示的是最初不完整的二维估计。我们在第二列和第三列中突出了估算结果不同的关节点,以便清楚地显示出来。

  对于每个热图 M i ∼ \overset{\thicksim}{M_i} Mi,我们选择置信度为 C i C_i Ci的峰值响应点 p i ∼ \overset{\thicksim}{p_i} pi作为第个 i i i 关键点的候选人。我们的方法预计会对闭塞的关键点产生低的 C i C_i Ci。为了进一步提高闭塞估计,我们对 P i ∼ \overset{\thicksim}{P_i} Pi应用光流(例如,[33]),并将光流矢量记录为 o i ∼ \overset{\thicksim}{o_i} oi。我们的第一个网络也处理下一帧,关键点 i i i 在相邻帧中的位置差被定义为 d i → \overrightarrow{d_i} di o i ∼ \overset{\thicksim}{o_i} oi d i → \overrightarrow{d_i} di 之间的差异被进一步用来衡量 p i ∼ \overset{\thicksim}{p_i} pi的可靠性。因此, p i ∼ \overset{\thicksim}{p_i} pi的最终可信度得分被定义为。 C i ∗ = C i exp ⁡ ( − ∥ o i → − d i → ∥ 2 2 2 σ 2 )          ( 2 ) C_{i}^{*}=C_i\exp \left( -\frac{\lVert \overset{\rightarrow}{o_i}-\overset{\rightarrow}{d_i} \rVert _{2}^{2}}{2\sigma ^2} \right) \ \ \ \ \ \ \ \ \left( 2 \right) Ci=Ciexp 2σ2oidi22         (2)其中 σ \sigma σ 是一个标准差,在我们的例子中被固定为0.1。如果 C i ∗ C_{i}^{*} Ci小于阈值 b b b ,则 p i ∼ \overset{\thicksim}{p_i} pi被标记为一个闭塞的关键点。

  为了利用时间上的平滑性,我们将所有二维关键点的坐标连接起来,形成一个 2 K 2K 2K长的矢量 X ∽ \overset{\backsim}{X} X,并将时间窗口中的所有这些矢量送入一个二维扩展时间卷积网络( 2 D   T C N 2D\ TCN 2D TCN), f ( ⋅ ) f\left( \cdot \right) f()。与[29]不同的是,我们通过将矢量中的值和地面真值都设置为零来移除被遮挡的关键点。 2 D   T C N 2D\ TCN 2D TCN的损失被表述为。 L 2 D T = ∥ C b T ( f ( C b T X ∼ ) − X ) ∥ 2 2          ( 3 ) L_{2D}^{T}=\lVert C_{b}^{T}\left( f\left( C_{b}^{T}\overset{\thicksim}{X} \right) -X \right) \rVert _{2}^{2}\ \ \ \ \ \ \ \ \left( 3 \right) L2DT=CbT(f(CbTX)X)22        (3)其中, X X X是串联的地面真相关键点坐标向量, C b C_b Cb是根据阈值b计算的二值化置信度分数向量,表示关键点的可靠性标签。

  请注意,在我们的方法中,我们并不打算完成 2 D   T C N 2D\ TCN 2D TCN中缺失的关键点。我们在表2中的实验表明,将缺失(遮挡)的关键点的预测留给 3 D   T C N 3D\ TCN 3D TCN,可以提供更好的性能。原因是三维的时间平滑性比二维的时间平滑性更稳定,因为二维的时间平滑性可能会出现失真。图3显示了一个例子。我们看到,在 2 D   T C N 2D\ TCN 2D TCN中填补缺失的关键点可能会导致关键点的定位不准确,而 2 D   T C N 2D\ TCN 2D TCN会产生更精确的估计。

3.2. 三维姿态估计

  在获得了时间上平滑但可能不完整的二维关键点后,我们将它们送入 3 D   T C N 3D\ TCN 3D TCN,它输出所有关键点的估计三维联合坐标,表示为 { p i ∼ = ( x i ∼   , y i ∼   , z i ∼ ) } \left\{ \overset{\thicksim}{p_i}=\left( \overset{\thicksim}{x_i}\ ,\overset{\thicksim}{y_i}\ ,\overset{\thicksim}{z_i} \right) \right\} {pi=(xi ,yi ,zi)},包括那些在早期阶段被预测为遮挡的关键点。

  当三维联合地面实况可用时,我们的 3 D   T C N 3D\ TCN 3D TCN采用了基于三维联合的MSE损失表示 L M S E = ∑ i ∥ P i ∼ − P i ∥ 2 2        ( 4 ) L_{MSE}=\sum_i{\lVert \overset{\thicksim}{P_i}-P_i \rVert _{2}^{2}}\ \ \ \ \ \ \left( 4 \right) LMSE=iPiPi22      (4)其中 P i P_i Pi是三维关节的真实情况, P i ∼ \overset{\thicksim}{P_i} Pi是由 3 D   T C N 3D\ TCN 3D TCN预测的相应的三维关节。当三维真实情况不可用时,我们假设正交投影,将结果投射回二维,并计算出损失为。 L p r o j = ∑ i v i ∥ p i − p i ∼ ∥ 2 2        ( 5 ) L_{proj}=\sum_i{v_i\lVert p_i-\overset{\thicksim}{p_i} \rVert _{2}^{2}}\ \ \ \ \ \ \left( 5 \right) Lproj=ivipipi22      (5)其中 p i = ( x i ,   y i ) p_i=\left( x_i,\ y_i \right) pi=(xi, yi)是一个二维关键点的真实情况, p ∼ i = ( x ∼ i ,   y ∼ i ) \overset{\thicksim}{p}_i=\left( \overset{\thicksim}{x}_i,\ \overset{\thicksim}{y}_i \right) pi=(xi, yi)是一个由相应的三维关节投影产生的关键点。 v i ∈ { 0 , 1 } v_i\in \left\{ 0,1 \right\} vi{0,1}是关键点i的闭塞标签。

  此外,我们还增加了一个对称性约束,限制一个人的左右两部分的骨长相同,其定义为
L S y m = ∑ ( i ,   j ) ∈ E ( ∥ P i ∼ − P j ∼ ∥ 2 − ∥ P i ^ ∼ − P j ^ ∼ ∥ 2 ) 2 L_{Sym}=\sum{_{\left( i,\ j \right) \in E}\left( \lVert \overset{\thicksim}{P_i}-\overset{\thicksim}{P_j} \rVert _2-\lVert \overset{\thicksim}{P_{\hat{i}}}-\overset{\thicksim}{P_{\hat{j}}} \rVert _2 \right)}^2 LSym=(i, j)E(PiPj2Pi^Pj^2)2其中, E E E是形成骨头的所有相邻关键点的集合, i ^ \hat{i} i^ 表示关键点 i i i 的对称部分的索引。

  由于人体关节有多个约束条件,在整个三维姿势空间中只有部分姿势在人体测量上是有效的。与[43,7]类似,我们也采用了对抗性学习的概念。一个判别器被训练来评估估计的三维关节的正确性,通过最小化一个损失函数,即
L d i s = − ∑ j ( u j log ⁡ q j + ( 1 − u j ) log ⁡ ( 1 − q j ) ) L_{dis}=-\sum{_j\left( u_j\log q_j+\left( 1-u_j \right) \log \left( 1-q_j \right) \right)} Ldis=j(ujlogqj+(1uj)log(1qj)) 其中 j j j 是一个三维姿势的索引, u j u_j uj 对于地面真实和生成的三维姿势分别为1和0, q j ∈ [ 0 , 1 ] q_j\in \left[ 0,1 \right] qj[0,1]是判别器网络的输出。那么,三维姿态估计模块的损失定义为: L 3 D = ζ ∑ i ∥ P i − P i ∼ ∥ 2 2 + ( 1 − ζ ) ∑ i v i ∥ p i − p i ∼ ∥ 2 2 + α L S y m + β L D i s         ( 6 ) L_{3D}=\zeta \sum_i{\lVert P_i-\overset{\thicksim}{P_i} \rVert _{2}^{2}}+\left( 1-\zeta \right) \sum_i{v_i\lVert p_i-\overset{\thicksim}{p_i} \rVert _{2}^{2}+\alpha L_{Sym}+\beta L_{Dis}}\ \ \ \ \ \ \ \left( 6 \right) L3D=ζiPiPi22+(1ζ)ivipipi22+αLSym+βLDis       (6)其中 ζ ∈ { 0 , 1 } \zeta\in \left\{ 0,1 \right\} ζ{0,1}表示是否有三维地面真相, α \alpha α β \beta β是加权系数,用于平衡对称损失 L S y m L_{Sym} LSym和判别损失 L D i s L_{Dis} LDis的影响,在我们的实验中固定为0.2和0.1。

四、圆筒人模型

  训练 3 D   T C N 3D\ TCN 3D TCN需要成对的3D联合基础事实和带有闭塞标签的2D关键点。然而,现有的三维人体姿势数据集(如[14,22])没有闭塞标签,而且三维数据的数量有限。因此,我们引入了一个 "圆柱体人模型 "来生成三维数据的咬合标签并进行数据增强。当三维真实数据不可用时,我们还使用该模型对被遮挡的关键点进行姿势规范化。

4.1. 模型的定义

  如图4左侧所示,我们将一个三维人分为十个部分:头部、躯干、两个上臂、两个下臂、两个大腿和两个小腿。考虑到任何三维骨架,无论是来自地面实况还是我们的网络,我们用一个圆柱体来近似这十个部分中每个部分的三维形状。头部的半径被定义为10厘米,每个肢体的半径被定义为5厘米,如图4左侧所标示。圆柱体的高度被定义为定义该部分的关键点之间的距离。躯干的半径没有被预先定义,而是被设定为颈部和肩部之间的距离。这样的近似值在我们的框架中运作良好,并得到了实验的验证。
在这里插入图片描述

图4. 用于闭塞推理的 "圆柱体人模型 "的插图。详见正文。

  在我们的模型中,每个圆柱体由 C i j = { r i j   ,   P i   ,   P j } C_{ij}=\left\{ r_{ij}\ ,\ P_i\ ,\ P_j \right\} Cij={rij , Pi , Pj}构成,其中 r i j r_{ij} rij是半径, P i P_i Pi, P j P_j Pj是定义圆柱体顶部和底部中心的三维关节点,如图4中间所示。
  为了计算一个点 P P P是否被 C i j C_{ij} Cij遮挡,我们首先假设正交投影,将它们映射到二维空间。圆柱体的垂直截面 A B C D ABCD ABCD映射到矩形 A ′ B ′ C ′ D ′ A'B'C'D' ABCD,如图4中间所示。由于 r i j r_{ij} rij相对于圆柱体的高度来说是很小的,也就是一根骨头的长度,所以当投影到二维平面时,我们只检查 P P P是否被 A B C D ABCD ABCD所遮挡。如果投影的 P P P不在二维空间的矩形 A ′ B ′ C ′ D ′ A'B'C'D' ABCD内,则不被遮挡。否则,我们计算平面ABCD在三维空间中的法线为 n i j → = P j P j → × P j A → \overrightarrow{n_{ij}}=\overrightarrow{P_jP_j}\times \overrightarrow{P_jA} nij =PjPj ×PjA 。注意, − n i j → -\overrightarrow{n_{ij}} nij 也是法线向量。我们选择指向摄像机的那个,即z坐标为负。然后,点P的可见度由以下方式计算 V P = ∏ ( i , j ) ∈ E [ ( P − P i ) ⋅ n i j > 0 ]                 ( 7 ) V_P=\prod_{\left( i,j \right) \in E}{\left[ \left( P-P_i \right) \cdot n_{ij}>0 \right]}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \left( 7 \right) VP=(i,j)E[(PPi)nij>0]               (7)其中, E E E是所有相邻关键点组成的骨架的集合, [ ⋅ ] \left[ \cdot \right] []表示艾弗森括号,如果命题为真,返回1,否则返回0。为了保证可微调,我们使用sigmoid函数来近似这个操作。在图4右侧所示的例子中,如果视角来自人的背后,关键点P将被身体圆柱体的 O O O点遮挡住。
  其他的人体模型如SMPL[19]可以提供更详细的人体形状表示,但它需要额外的计算成本来检查闭塞情况。基于圆柱体的近似方法适用于我们的任务。

4.2. 姿势数据的增强

  现有的三维数据集提供了人体关节的三维坐标和不同视角下的二维图像。为了提供闭塞的基本事实,我们首先使用上述模型将三维骨架扩展为 “圆柱体人”。根据提供的摄像机参数,我们可以估计出当前摄像机在世界坐标中的视角。因此,我们可以用公式7预测相应图像中每个关键点的可见度。

  虽然上述过程为训练我们的 3 D   T C N 3D\ TCN 3D TCN创造了一些数据,但由于拍摄的图像数量有限,这些数据仍然不够。因此,我们在三维数据集中创建了一组围绕人类的虚拟摄像机来增加我们的训练数据。我们将三维骨架的基础事实相对于身体中心进行归一化处理,因此我们可以忽略摄像机的平移,只考虑旋转操作。围绕x轴和z轴的旋转角度被限制在0.2π,采样步长为0.02π,以避免将人颠倒过来。围绕y轴的旋转是在[-π,π]内随机选择的。因此,我们为每个样本生成100个虚拟视图角度,并使用公式7来估计每个关键点的闭塞情况,以产生带有闭塞标签的3D姿势和2D姿势对。由于我们的圆筒人模型只计算自我闭塞,为了进一步包括物体间的闭塞情况,我们随机掩盖了一些关键点,假设它们被一些虚拟闭塞者所闭塞。这些额外的数据显然提高了我们训练集的多样性。

4.3. 姿势规则化

  在我们的框架中,在将关键点送入我们的 3 D   T C N 3D\ TCN 3D TCN之前,被遮挡的关键点被过滤掉了。这意味着我们从其他可靠的关键点中估计缺失的三维关节点。然而,在三维空间中有许多可能的路径可以填补丢失的关键点。一个例子显示在图5的第二行。当然,当三维联合地表信息可用时,我们可以用它们来训练 3 D   T C N 3D\ TCN 3D TCN来估计正确的路径。然而,如前所述,我们并不总是有三维联合地面实况。因此,我们引入了一个姿势正则化的约束。

  给定一个估计的三维姿势,我们首先建立它的 “圆柱人模型”,然后用公式7计算二维空间中每个估计的关键点 p i ∼ \overset{\thicksim}{p_i} pi的可见性标签 v i ∼ ∈ { 0 , 1 } \overset{\thicksim}{v_i}\in \left\{ 0,1 \right\} vi{0,1}。如果一个缺失的关键点被遮挡,我们对其检测失败或不可靠有一个合理的解释。如果它没有被遮挡,那么它被二维关键点估计器遗漏的可能性就比较小,应该被惩罚为。 L r e g = ( 1 − ζ ) ∑ i ∈ O c c v i ∼         ( 8 ) L_{reg}=\left( 1-\zeta \right) \sum_{i\in Occ}{\overset{\thicksim}{v_i}}\ \ \ \ \ \ \ \left( 8 \right) Lreg=(1ζ)iOccvi       (8)其中Occ是不可靠的关键点的集合,由第3.1节中的方法预测。有了这个正则化项,我们更愿意找到一个不可靠的关键点被遮挡的三维姿势配置。图5中显示了一个例子。在第120帧和第190帧中,人的左手腕被遮挡住了,因此被等式归类为不可靠的关键点。2. 在没有姿势正则化约束的情况下,左手腕的估计位置没有被遮挡,如图5中第二行所示。在加入我们提出的正则化约束后,该框架将不可靠的关键点推至闭塞状态,产生正确的结果,如图5最后一行所示。
在这里插入图片描述

图5. 姿势正则化的有效性实例。第二行显示了没有正则化项的错误三维估计。第三行显示,约束条件解决了错误。

  我们的整个系统是通过最小化损失来进行端到端的训练。 L = L 2 D + w 1 L 3 D + w 2 L r e g                ( 9 ) L=L_{2D}+w_1L_{3D}+w_2L_{reg}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \left( 9 \right) L=L2D+w1L3D+w2Lreg              (9) 其中 w 1 w_1 w1 w 2 w_2 w2是加权因子,并分别固定为1.0和0.1

五、 实验

5.1. 实验设置

  数据集。两个广泛使用的人类姿势估计数据集,Human3.6M[14]和HumanEva-I[31],被用于性能评估。

  Human3.6M是一个大型的三维人体姿势数据集。它有360万张图片,包括11个演员在进行日常活动,其中7个演员有注释。三维地面实况由Mocap系统提供,内在和外在的相机参数是已知的。与以前的工作[13, 29, 27, 43]类似,我们使用主体1、5、6、7、8进行训练,主体9和11进行评估。

  HumanEva-I是一个相对较小的数据集。按照典型的协议[21, 13, 29],我们使用相同的数据划分,为所有三个动作(步行、慢跑、拳击)训练一个模型,并使用剩余的数据进行测试。

  评价协议。我们在实验中使用两种常见的评价协议。协议#1指的是平均每关节位置误差(MPJPE),即地面实况和预测关键点之间的毫米数。协议2,通常称为P-MPJPE,指的是在预测的关键点和地面实况之间应用对齐后的相同误差。
在这里插入图片描述

图6. 我们的时间卷积网络结构的说明。CONV和T CONV代表卷积和转置卷积操作。S、C和D分别代表步长、通道和扩张率。所有区块的核大小都设置为5。

5.2. 实施细节

  我们采用Mask-RCNN[12]进行人体检测,并使用ResNet-101骨架。堆叠沙漏网络[25]被用作二维姿势检测器结构,并以COCO数据集上预训练的权重进行初始化。
  我们对两个TCN使用相同的网络结构,每个网络都有两个卷积块(C块)和两个转置的卷积块(T块),如图所示。6. 短连接被用来纳入不同的时间尺度和扩张。除了最后一个卷积层的输出通道,二维TCN和三维TCN的结构是相同的。用于检查三维姿态验证的判别器由三个一维卷积层和一个全连接层组成,输出最终的判别分数。
  我们使用亚当优化器,前100,000次迭代的学习率为0.001,另外30,000次迭代的学习率为0.0001。我们使用128的批处理量,并如第4.2节所述,进行随机数据扩充。

5.3. 超参数敏感度分析

  在我们的框架中有两个重要的超参数:我们的TCN的序列长度和可靠关键点的阈值。我们在Human3.6M数据集、协议#1和#2上测试性能以进行比较。这些模型在不同的设置下被测试,结果见图7和表1。
在这里插入图片描述

图7. 在不同的超参数设置下,使用协议#1和#2的估计误差(单位:毫米)。

在这里插入图片描述

表1. 基于协议1和2下对人3.6M的估计误差的超参数敏感性测试。

在这里插入图片描述

表2. 不同组件的有效性。3D TCN, 2D TCN, 遮挡意识, 对称性约束, 对抗性学习, 姿势规范化, 数据增强。我们在人类3.6M协议#1(P #1)和协议#2(P #2)的基础上进行了评估。

  我们发现,在每个协议下,图7中的误差面都有一个明显的谷底。谷地周围的曲率很小,甚至表1中的第二和第三最佳设置仍然超过了最先进的结果,表明我们的方法对这些超参数不敏感。误差随着序列长度的增加而下降,直到256。这意味着更多的时间信息将有利于姿态估计,但时间上较远的姿态可能不会提供很多有用的信息,而且序列边界的过长重复填充可能不利于性能。此外,误差在阈值0.3左右达到谷底。太小的阈值削弱了对不可靠关键点的抑制效果,更多的错误关键点将被用于后面的TCN模块中;太大的阈值导致过度的信息去除,为所有关键点的估计留下很少的有用信息。在后面的实验中,我们将序列长度固定为128,阈值为0.3。
在这里插入图片描述

表3. 使用MPJPE对Human3.6M的估计姿势和地面实况进行的定量评估,以毫米为单位,在协议#1下,没有在后处理中应用刚性对齐或转换。最好的是黑体字,第二好的是下划线。

在这里插入图片描述

表4. 使用P-MPJPE在协议2下对Human3.6M的估计姿势和地面实况进行的定量评估,单位为毫米。在后处理中使用Procrustes对准地面实况。最好的是黑体字,第二好的是下划线。

5.4. 消融研究

  为了评估我们框架中每个组件的有效性,我们在Human3.6M数据集上进行了几次消融实验,结果见表2。3D TCN "基线方法是将完整的二维估计关键点,无论是否被遮挡,都直接送入3D TCN进行最终的三维姿态估计。然后,我们逐渐启用更多的模块,包括2D TCN、闭塞感知、姿势正则化和数据增强。需要注意的是,闭塞感知并不像其他模块那样是一个单独的模块,而是被整合到二维关键点估计、二维TCN和三维TCN模块中。

  从表2可以看出,我们所有的模块都对最终的性能有明显的贡献。最大的改进来自于我们的闭塞感知模块。这验证了我们的假设,即使用不完整的二维关键点而不是完整但不正确的关键点有利于估计的准确性。在协议#1和#2下,添加姿势正则化分别减少了约1.5毫米和1.3毫米的误差,这表明缺失关键点的闭塞约束是有帮助的。我们的虚拟视角数据增强方案增加了我们训练库的多样性,在协议1号和2号下分别进一步减少了约1.9毫米和1.3毫米的误差。

5.5. 定量结果

  我们在两个公共数据集上评估我们的整个系统,并与最先进的方法进行比较。表3和表4分别显示了在协议1和2下对Human3.6M的结果。在协议#1和#2下,我们的方法比以前的最佳结果[29]平均高出4毫米,这大约是8.3%和10.1%的错误减少率,而Pavllo等人[29]与最先进的方法相比,错误减少了大约9.8%和3.2%。请注意,在表4中,虽然Yang等人[43]在五个动作中的误差较低,但他们的结果是不稳定的,导致总体误差比我们的高得多。值得注意的是,3∼4毫米的改进是一个平均性能;在H3.6M数据集中误差最大的前10K个关节中,我们的闭塞感知模块将平均误差从713毫米显著降低到382毫米。这些实验表明,通过使用我们的闭塞感知框架,我们可以更好地处理闭塞的人体关节,并从其他有把握的关节中恢复它们。

  我们还在HumanEva-I[31]数据集上评估了我们的方法,结果显示在表5。我们的方法优于最先进的[29]9.5%,考虑到这个相对较小的数据集上的性能几乎是饱和的,这是一个坚实的改进。
在这里插入图片描述

图8. 来自我们整个框架以及禁用闭塞感知模块的结果实例。
在这里插入图片描述
表5. 根据协议2对HumanEva-I数据集的评估。图例:(*)使用额外的深度注释进行序数监督。最好的是黑体字,第二好的是下划线。

5.6. 定性结果

  我们在图8中展示了一些示例结果。当遮挡发生时,关键点的二维估计往往是不正确的,例如第一行中第118和140帧的左臂和腿,以及第82和107帧的右臂。如果没有闭塞感知模块,这种错误的关键点检测会和其他可靠的关键点一样被处理,从而导致可能出现错误的三维姿势估计,如第二行所示。然而,我们的方法删除了这些不可靠的二维关键点,如第三行所示,只使用可靠的关键点来产生更准确和稳定的三维估计结果,如第四行所示。
在这里插入图片描述

图9. 由(a)多人重叠,(b)检测或跟踪错误,以及 (c)(d)长期严重遮挡引起的失败案例。

5.7. 局限性和未来工作

  尽管我们的框架在公共数据集上的表现优于最先进的方法,但仍有几个未解决的问题,一些失败的例子显示在图9。和其他基于自上而下的人体姿势估计方法一样,我们假设检测和跟踪后的边界盒基本正确。如果包围盒与地面实况偏差太大,我们的姿势估计可能会失败。另外,如果两个或多个人非常接近,我们的方法可能无法区分不同人的关键点。此外,我们的 "圆柱体人模型 "被定义为估计自我遮挡,但不能直接处理其他物体的遮挡问题。最后,我们的方法不能处理长时间的严重遮挡。在这种情况下,几乎没有时间信息可用于恢复严重遮挡的关键点。解决这些问题将是我们未来的工作。

六、结论

  我们提出了一个闭塞感知的框架,用于从输入视频中估计人类的三维姿势。对不可靠的二维关键点估计的抑制降低了累积误差的风险。我们的 "圆柱体人模型 "能够有效地提高我们训练数据的多样性,并使遮挡的关键点正规化。我们的方法将Human3.6M数据集的估计精度提高了约10%,将HumanEva-I数据集的估计精度提高了约9.5%。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 完美剔除和遮挡剔除都是计算机图形学中的优化技术,目的是在场景中只渲染可见的物体,从而提高渲染效率。 完美剔除是指通过检测物体是否在视野内来剔除不需要渲染的物体。这种剔除方式需要使用一系列算法来检测物体是否可见,包括视锥剔除、反向相交剔除等等。完美剔除的优点是可以剔除不必要的渲染,从而提高帧率和性能,但同时也需要较大的计算开销。 遮挡剔除则是在完美剔除的基础上,通过对物体的相互遮挡关系的检测来进一步提高渲染效率。在遮挡剔除中,通常会使用空间划分树等数据结构来优化遮挡关系的计算。遮挡剔除的优点是可以剔除视线被阻挡的物体,从而降低渲染负载,但是需要在每一帧进行遮挡检测,计算复杂度较高。 总的来说,完美剔除和遮挡剔除都是提高渲染效率的有效方法,但具体应用取决于具体的场景和计算需求。 ### 回答2: Perfect culling - occlusion culling,也叫视野遮挡剔除,是计算机图形学中的一项技术,利用算法判断物体是否在视野或视线范围内,决定哪些物体需要渲染,哪些可以被剔除或隐藏,从而加速计算机图形的处理速度和优化渲染。 完美剔除是指完全的剔除,即仅在无需绘制的情况下进行剔除,从而节省系统资源。通过分析场景中的物体和环境,可以减少未被看到的物体的绘制,从而提高帧率和性能。此外,完美剔除还可以消除隐藏物体对深度测试产生的影响,提高渲染质量。 视野遮挡剔除(Occlusion Culling)是一种先进的完美剔除技术,它基于场景的几何形状,通过计算相机的视线路径对场景中的物体进行剔除。通常,OC会对游戏场景进行预处理,并将相机的视锥体与场景的几何体进行比较,从而确定哪些物体可以被遮挡,从而进行动态的渲染。 综上所述,完美剔除-视野遮挡剔除是一种计算机图形学中高效的技术,可以显着提高渲染效率和性能,并使绘制的图形更加真实和准确。它在游戏开发、虚拟现实等领域有着广泛的应用前景。 ### 回答3: 完美的剔除技术——遮挡剔除 完美的剔除技术通常包括两种类型,一种是静态剔除,另一种是动态剔除。 遮挡剔除是一种静态剔除技术,它的基本原理是在场景渲染前,对场景进行逐像素的遮挡分析,找出被遮挡物体,将其剔除掉,只渲染视图内可见的物体,从而达到提高渲染性能的效果。这种技术可以应用于虚拟现实、游戏开发等领域,尤其是对于大规模场景和复杂场景的渲染,遮挡剔除可以显著降低渲染的开销,提高场景的渲染效率。 具体来讲,遮挡剔除通过采用空间分区、视景体裁剪等技术,将场景以及被渲染物体分为多个区域,然后逐个区域对相邻的物体进行深度比较和遮挡分析,找出被遮挡物体,将其剔除掉。如果采用了合适的剔除策略和算法,遮挡剔除可以大幅减少被渲染对象的数量,从而降低了渲染的开销,提高了渲染效率和帧率。 总的来说,遮挡剔除技术在现代计算机图形学中是非常重要的技术之一,它可以有效地提高场景渲染效率,增加场景的视觉真实感和交互性,是图形学领域中不可或缺的技术之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值