前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ECCV 2022 | VisDB:基于学习的密集人体鲁棒估计

ECCV 2022 | VisDB:基于学习的密集人体鲁棒估计

作者头像
用户1324186
发布2023-02-03 17:06:45
1.5K0
发布2023-02-03 17:06:45
举报
文章被收录于专栏:媒矿工厂媒矿工厂

来源:ECCV 2022 原标题:Learning Visibility for Robust Dense Human Body Estimation 论文作者:Chun-Han Yao, Jimei Yang, Duygu Ceylan, Yi Zhou, Yang Zhou, Ming-Hsuan Yang 论文链接:https://link.springer.com/chapter/10.1007/978-3-031-19769-7_24 内容整理:王彦竣 这项工作,提出了一种预测遮挡与部分人体的方法 VisDB,它对部分观察具有鲁棒性的密集人体估计。分别在 x、y 和 z 轴上对人体关节和顶点的可见性进行显式建模。x 和 y 轴的可见性有助于区分帧外情况,深度轴的可见性对应于遮挡(自遮挡或其他物体遮挡)。作者从密集的 UV 对应中获得可见性的伪标签,并训练神经网络来预测可见性以及 3D 坐标。结果表明,可见性可以用作,解决自遮挡顶点深度排序歧义的附加信号,并将人体模型拟合到预测时的正则化项。对多个 3D 人体数据集的大量实验表明,可见性建模显着提高了人体估计的准确性,尤其是对于部分身体情况。

目录

  • 引言
  • 方法
    • 先导:基于热图的表示
    • Visibility-aware Dense Body
    • 通过可见性解决深度歧义
    • 从 Visible Dense Body 拟合 SMPL 模型
    • 密集的 UV 对应关系应用
    • 模型训练与推理
  • 实验
  • 总结

引言

从单目图像估计 3D 人体姿势和形状是动作重定向、虚拟化身和人类动作识别等各种应用的关键任务。这是一个具有根本挑战性的问题,因为深度模糊和人类外表的复杂性会随着关节、衣服、照明、视角和遮挡而变化。为了通过紧凑的参数表示复杂的 3D 人体,诸如 SMPL 之类的基于模型的方法已在社区中得到广泛使用。然而,SMPL 参数以整体方式表示人体,导致通过直接它们的参数无法灵活适应真实世界图像。更重要的是,当人体在图像中不完全可见时,基于回归的方法往往会失败,例如,被遮挡或在框架外。在这项工作中,作者的目标是学习与输入图像并且对部分身体情况具有鲁棒性的人体估计。

作者没有直接回归 SMPL 参数,而是训练了一个神经网络来预测每个人体关节和网格顶点的三个维度的坐标热图。基于密集热图的表示可以保留图像域中的空间关系并对预测的不确定性进行建模。它被证明可以有效地定位可见关节/顶点,并且可以灵活拟合输入图像。尽管如此,x 轴和 y 轴热图是在图像坐标中定义的,它不能表示图像边界外的身体部位。此外,物体或人体本身的遮挡可能会导致深度轴预测的歧义。在不知道哪些关节/顶点可见的情况下,网络往往会在局部身体图像上产生错误的输出。为了解决这个问题,作者提出了 Visibilityaware Dense Body (VisDB),这是一种通过可见性增强的基于热图的密集表示。具体来说,作者训练一个网络来预测身体部位是否在图像外和是否被遮挡以及每个人体关节和顶点的热图。通过可见性建模,所提出的网络可以学习根据可观察到的线索做出更准确的预测。此外,顶点级遮挡预测可以作为深度排序信号来约束深度预测。最后,通过使用可见性作为 3D 网格预测的置信度,作者证明了 VisDB 是一种强大的中间表示,它允许模型更有效地回归和/或优化 SMPL 参数。下图展示了截断和遮挡的示例,以及使用和不使用可见性建模的密集人体估计。

有/没有可见性建模的密集人体估计

考虑到大多数现有的 3D 人体数据集缺乏密集的可见性注释,作者从密集的 UV 估计中获得伪真实值。给定图像的估计 UV 贴图,通过最小化它们的 UV 坐标的距离来计算像素到顶点的对应关系。每个映射到人像素的顶点都被认为是可见的,反之亦然。这涵盖了截断、自遮挡和其他对象遮挡的情况。本文进一步表明,密集的顶点到像素对应提供了良好的监督信号来定位图像空间中的顶点。由于密集 UV 估计基于对部分身体图像具有鲁棒性的部分分割掩码,因此密集对应损失可以减轻不准确的伪地面真实网格并更好地将输出与人体轮廓对齐。为了证明该方法的有效性,作者对现有技术使用的多个人类数据集进行了广泛的实验。 Human3.6M、3DPW、3DPW-OCC 和 3DOH 数据集的定性和定量结果表明,学习可见性显着提高了密集人体估计的准确性,尤其是在人体被截断或遮挡的图像。

本文的工作的主要贡献是:

  1. 作者提出了 VisDB,这是一种基于热图的人体表示,增强了密集的可见性。作者训练神经网络来预测人体关节和顶点的 3D 坐标及其截断和遮挡标签。从基于图像的密集 UV 估计中获得可见性标签的伪地面实况,这也被用作额外的监督信号,以更好地将我们的预测与输入图像对齐。
  2. 作者展示了密集的可见性预测如何用于鲁棒的人体估计。首先,作者利用遮挡标签来监督顶点深度预测。其次,我们通过使用可见性作为置信度权重来回归和优化 SMPL 参数以适应 VisDB(部分主体)输出。

方法

VisDB方法结构图,其中紫色为可见点,橙色为不可见点

先导:基于热图的表示

给定输入图像,基于热图的先验方法为每个人体关节和网格顶点估计三个一维热图

H=\left\{H^x, H^y, H^z\right\}

。 x 和 y 轴热图

H^x, H^y

在图像空间中定义,z 轴热图

H^z

在深度空间中相对于根关节定义。将关节热图表示为

H_J \in \mathbb{R}^{N_J \times D \times 3}

,将顶点热图表示为

H_V \in \mathbb{R}^{N_V \times D \times 3}

,其中

N_J

是关节数,

N_V

是顶点数,

D

是热图分辨率。热图是根据主干网络提取的图像特征

F \in \mathbb{R}^{c \times h \times w}

预测的,如下所示:

\begin{equation} \begin{aligned} & H^x=f^{1 \mathrm{D}, x}\left(\operatorname{avg}^y\left(f^{\text {up }}(F)\right)\right), \\ & H^y=f^{1 \mathrm{D}, y}\left(\operatorname{avg}^x\left(f^{\text {up }}(F)\right)\right), \\ & \left.H^z=f^{1 \mathrm{D}, z}\left(\psi\left(\operatorname{avg}^{x, y}(F)\right)\right)\right), \end{aligned} \end{equation}

其中

f^{1 \mathrm{D}, i}

是第 i 个轴热图的 1×1 1D 卷积,

\operatorname{avg}^i

是通过平均进行的 i 轴边缘化,

f^{up}

表示通过反卷积进行上采样,而

\psi

是一个 1D 卷积层,之后接reshape.最后,通过分别在离散热图

H_J

H_V

上应用 soft-argmax,可以获得关节

J \in \mathbb{R}^{N_J \times 3}

和顶点

V \in \mathbb{R}^{N_V \times 3}

的连续 3D 坐标。

Visibility-aware Dense Body

基于热图的表示被证明可以有效地估计图像空间中的人体。然而,当人体被遮挡或截断时,它们通常会失败,因为预测是基于空间图像特征并受图像边界的限制。在不知道哪些关节/顶点是不可见的情况下,在整个身体上拟合 SMPL 模型往往会产生错误的输出。为了处理只有部分身体可见的更实际的场景,作者对基于热图的表示进行了以下调整:1)为了增强 x 轴和 y 轴热图,我们预测二进制截断标签

S^x, S^y

,指示关节是否或顶点在图像帧内,2) 对于 z 轴热图,我们预测一个二进制遮挡标签

S^z

,它指定深度方向的可见性。可见性标签的预测方式与热图预测的公式 1 类似:

\begin{equation} \begin{aligned} & S^x=\sigma\left(\operatorname{avg}^x\left(g^{1 \mathrm{D}, x}\left(\operatorname{avg}^y\left(f^{\text {up }}(F)\right)\right)\right)\right), \\ & S^y=\sigma\left(\operatorname{avg}^y\left(g^{1 \mathrm{D}, y}\left(\operatorname{avg}^x\left(f^{\text {up }}(F)\right)\right)\right)\right), \\ & S^z=\sigma\left(\operatorname{avg}^z\left(g^{1 \mathrm{D}, z}\left(\psi\left(\operatorname{avg}^{x, y}(F)\right)\right)\right)\right), \end{aligned} \end{equation}

其中

g^{1 \mathrm{D}}

是类似于

f^{1 \mathrm{D}}

的 1×1 一维卷积层,

\sigma

是 sigmoid 运算。然后连接

\left\{S^x, S^y, S^z\right\}

预测以获得联合可见性

S_J \in \mathbb{R}^{N_J \times 3}

和顶点可见性

S_V \in \mathbb{R}^{N_V \times 3}

。通过将 soft-argmax 运算符应用于预测的一维热图,网络的最终输出变为

\left\{J, V, S_J, S_V\right\}

,称为 Visibility-aware Dense Body (VisDB)。有了可见性信息,网络模型可以学习关注可见的身体部位,并将不可见的部分推向图像边界。实验证明可见性建模显着减少了可见顶点的错误。此外,可见性标签可以看作是坐标预测的置信度,这对于网格正则化以及通过 SMPL 模型拟合进行模型补全至关重要。

将真实的 VisDB 表示为

\left\{J^*, V^*, S_J^*, S_V^*\right\}

,并通过使用以下损失来训练网络。关节位置损失

\mathcal{L}_{\text {joint }}

定义为:

\begin{equation} \mathcal{L}_{\text {joint }}=\left\|J-J^*\right\|_1 \end{equation}

顶点坐标损失

\mathcal{L}_{\text {vert }}

定义为:

\begin{equation} \mathcal{L}_{\text {vert }}=\left\|V-V^*\right\|_1 \end{equation}

作者还使用预定义的回归器

W \in \mathbb{R}^{N_V \times N_J}

对顶点的关节进行回归,并计算回归关节损失

\mathcal{L}_{r-j \text { jint }}

\begin{equation} \mathcal{L}_{r-\text { joint }}=\left\|W V-J^*\right\|_1 \end{equation}

作者将损失应用于网格表面法线和边长作为形状的正则化。法线损失

\mathcal{L}_{\text {norm }}

和边缘损失

\mathcal{L}_{\text {edge }}

为:

\begin{equation} \begin{aligned} \mathcal{L}_{\text {norm }} & =\sum_f \sum_{\left\{v_i, v_j\right\} \subset f}\left|\left\langle\frac{v_i-v_j}{\left\|v_i-v_j\right\|_2}, n_f^*\right\rangle\right|, \\ \mathcal{L}_{\text {edge }} & =\sum_f \sum_{\left\{v_i, v_j\right\} \subset f}\left|\left\|v_i-v_j\right\|_2-\left\|v_i^*-v_j{ }^*\right\|_2\right|, \end{aligned} \end{equation}

其中

f

为网格面,

n_f

f

的单位法向量,

v_i, v_j

分别为顶点i、j的坐标。最后,用二元交叉熵(BCE)定义关节和顶点可见性损失

\mathcal{L}_{v is}

VisDB的预测结构如下图。

VisDB预测结构

通过可见性解决深度歧义

顶点级可见性不仅可以看作是 SMPL 拟合的模型置信度,还可以提供深度排序信息。直观地说,与投影到同一像素的不可见顶点相比,可见顶点的深度值应该更低。作者观察到 VisDB 网络通常可以预测准确的 2D 坐标和可见性,但有时当人体遮挡自身并且姿势在训练数据集中不太常见时,深度预测有时会失败。为了解决自遮挡情况下的深度模糊,作者提出了一种基于顶点可见性的深度排序损失

\mathcal{L}_{\text {depth }}

,如下所示:

\begin{equation} \mathcal{L}_{\text {depth }}=\sum_x \sum_y \operatorname{ReLU}\left(\max _{v \in Q(x, y)} v^z-\min _{\bar{v} \in \bar{Q}(x, y)} \bar{v}^z\right), \end{equation}

其中

Q(x, y)

是投影到离散图像坐标

(x, y)

的顶点集,属于前(遮挡)部分,

Q

包含后(遮挡)部分的顶点。定义可以写成:

\begin{equation} \begin{aligned} & Q(x, y)=\left\{v \mid v \mapsto(x, y) \wedge P(v)=p^*(x, y)\right\} \\ & \bar{Q}(x, y)=\left\{v \mid v \mapsto(x, y) \wedge P(v) \neq p^*(x, y)\right\} \end{aligned} \end{equation}

其中

\longmapsto

表示离散投影,

P(v)

是 DensePose 中定义的顶点 v 的部分标签。通过找到具有最高 z 轴可见性分数

s^z

的顶点来定义前部

p^*(x, y)

为:

\begin{equation} p^*(x, y)=P\left(\underset{v \mapsto(x, y)}{\arg \max } s_v^z\right) . \end{equation}
\mathcal{L}_{\text {depth }}

旨在将自遮挡部分 Q 推到后面,将非遮挡部分 Q 推到前面,其中遮挡信息由 z 轴可见性给出。模型比较 Q 的最大深度(背面)和 Q 的最小深度(正面),因此如果深度排序与遮挡预测不一致,则

\mathcal{L}_{\text {depth }}

将为非零,如果部分不再重叠,则为零。由于这种损失取决于准确的可见性估计,模型只在微调阶段应用它。

从 Visible Dense Body 拟合 SMPL 模型

从 VisDB 预测中,可以获得人体关节和顶点的 3D 坐标和可见性。虽然部分身体输出符合正视图的输入图像,但有时从侧视图看起来不正常或包含粗糙的表面。为了规范身体形状并完成截断部分,作者对可见致密体预测进行模型拟合。给定关节和顶点的坐标和可见性,作者训练一个回归网络来估计 SMPL 姿势

\theta \in \mathbb{R}^{72}

和形状

\beta \in \mathbb{R}^{10}

参数。然后将回归参数输入 SMPL 模型以生成表示为

\operatorname{SMPL}(\theta, \beta) \in \mathbb{R}^{N_V \times 3}

的网格坐标。与从所有关节回归 SMPL 模型而忽略其可见性的现有技术不同,VisDB 表征允许仅拟合可见的部分身体。 SMPL 回归器的训练目标包括 SMPL 参数误差、顶点误差、关节误差和姿态先验分布的负对数似然。 SMPL参数损失

\mathcal{L}_{s m p l}

定义为

\begin{equation} \mathcal{L}_{s m p l}-\left\|O-0^*\right\|_1+\left\|\beta-\beta^*\right\|_1 \end{equation}

其中

\theta^*

\beta^*

是真实姿态和形状参数。 SMPL 顶点损失

\mathcal{L}_{\text {smpl-vert }}

和联合损失

\mathcal{L}_{\text {smpl-joint }}

的定义与等式(4) 和 (5)中类似, 但由能见度

S_V

S_J

加权为:

\begin{equation} \begin{gathered} \mathcal{L}_{\text {smpl-vert }}=S_V \odot\left\|\operatorname{SMPL}(\theta, \beta)-V_c{ }^*\right\|_1, \\ \mathcal{L}_{s m p l-\text { joint }}=S_J \odot\left\|W \operatorname{SMPL}(\theta, \beta)-J_c{ }^*\right\|_1 \end{gathered} \end{equation}

其中⊙表示逐元素乘法,

V_c

是相机空间中顶点和关节的真实根相对坐标。理想情况下,VisDB 网络对清晰可见的关节和顶点做出更有把握的预测。因此,我们将可见性标签视为预测置信度,并使用它们来衡量坐标损失。此外,我们使用高斯混合模型(GMM)作为姿势先验损失:

\begin{equation} \mathcal{L}_{\text {prior }}=-\log \left(\sum_i G_i(\theta)\right) \end{equation}

其中

G_i

是 GMM 的第 i 个分量。

作者观察到,回归的 SMPL 网格大致捕获了人体姿势和形状,但在细节上并不总是与 VisDB 预测一致。因此,作者使用回归参数作为初始化,并提出有效的测试时优化,以针对 VisDB 预测进一步优化 SMPL 参数。作者应用与等式(13)-(15)中类似的损失。除了真实

\left\{V_c{ }^*, J_c{ }^*\right\}

被转换为相机空间中根相对坐标的 VisDB 预测所取代。由于模型通过回归网络初始化 SMPL 参数并使用强监督信号,即 3D 关节和顶点坐标,测试时优化使用 Adam 优化器仅需要大约 100 次迭代即可收敛。在下图中说明了 SMPL 回归和优化的过程。

SMPL 回归和优化

密集的 UV 对应关系应用

大多数现有的 3D 人体数据集不提供关节可见性标签,也没有注释顶点可见性。为了训练 VisDB 网络,作者从拟合的 SMPL 网格和密集的 UV 估计中获得伪标签。对于 x 和 y 轴截断,可以通过将拟合的网格投影到图像平面上来简单地识别截断的关节/顶点。然而遮挡不能仅从输入图像或拟合网格中轻易推断出。为了解决这个问题,作者提出利用输入图像和 SMPL 网格之间的密集 UV 对应关系。密集 UV 估计提供了人体的基于部分的分割掩码以及每个人体像素的连续 UV 坐标,这些坐标对截断和遮挡具有鲁棒性。作者通过应用现成的密集 UV 估计方法来计算每个像素的 UV 坐标。对于每个人体像素

p

,找到对应的网格顶点

v

,其 UV 坐标最接近该像素。像素到顶点的

M_P

和顶点到像素的

M_V

映射可以表示为:

\begin{equation} \begin{aligned} & M_P=\left\{p \rightarrow v \mid v=\operatorname{argmin}_{v^{\prime}}\left\|\mathrm{UV}\left(v^{\prime}\right)-\mathrm{UV}(p)\right\|_2 \forall p\right\} \\ & M_V=\left\{v \rightarrow\left\{p^{\prime}\right\} \mid M_P\left(p^{\prime}\right)=v \forall v\right\} . \end{aligned} \end{equation}

映射到至少一个像素的顶点被标记为可见,否则标为遮挡。

作者利用密集的顶点像素对应作为弱监督,以更好地与人体轮廓对齐。对于每个顶点 v,计算其对应像素的中心 MV (v) 并将 UV 对应损失

\mathcal{L}_{u v}

定义为:

\begin{equation} \mathcal{L}_{u v}=\sum_v s_v^z\left\|v^{x, y}-\sum_{p \in M_V(v)} \frac{p}{\left|M_V(v)\right|}\right\|_1, \end{equation}

其中

v^{x, y}

是顶点

v

的二维投影,

s_v^z

是二进制遮挡标签

s_v^z = 1

表示顶点

v

可见。 UV 对应损失不仅可以减轻不准确的伪真实网格带来的影响,而且可以提高对人体轮廓的可信度,因为它基于分割掩码预测。与基于渲染的损失相比,这种直接的顶点级监督对于 VisDB 训练更有效。所提出的顶点像素对应关系和可见性标记如下图所示。

顶点像素对应关系和可见性标记

模型训练与推理

作者首先在带有网格注释的 3D 数据上训练 VisDB 网络,然后通过添加深度排序和 UV 对应损失在所有训练数据上对其进行微调。回归器网络经过训练,可以根据关节和顶点的估计坐标和可见性来估计 SMPL 参数。在推理过程中,对回归的 SMPL 参数选择性地进行优化,以最好地与 VisDB 预测网格对齐。对于 VisDB 网络主干,使用在 ImageNet 数据集上预训练的 ResNet50 模型。权重由 Adam 优化器更新,Batch 大小为 64。用

N_J=30

个关节和

N_V=6890

个顶点表示人体,热图分辨率

D = 64

。此外,我们使用真实检测框从输入图像中裁剪人类区域并将其调整为 256×256。测试数据如果没有检测框,则由预训练的 Mask R-CNN 模型估计。应用常见的数据增强,例如随机缩放 (±25%)、旋转 (±45°)、水平翻转和颜色抖动 (±20%)。在训练中。考虑到截断和遮挡示例在大多数 3D 人体数据集中很少见,作者随机遮挡掩码和边界框移动 (±25%) 作为额外的增强来增加部分身体数据的比例。

实验

结果表明,可见性学习显着改善了网格和 SMPL 输出。与密集网格方法输出的 SMPL 参数通常会导致更高的误差,作者推测这是由于难以直接回归低维参数造成的。相反,VisDB 是一种强大的中间表示,可提供可见部分身体的密集 3D 信息,使网络能够更准确地回归和优化 SMPL 参数。可视化中观察到 VisDB(网格版)更好地捕捉人体轮廓,但 VisDB(参数版)产生的错误更少,因为真实的网格模型也通过 SMPL 表示进行了规范。

H36M和3DPW的结果

为了强调局部身体图像的鲁棒性,作者进一步评估了两个遮挡数据集:3DPW-OCC 和 3DOH。如下表 所示,与之前的遮挡感知方法相比,VisDB 在两个数据集上产生的错误都较低。

3DOH和3DPW-OCC上的结果

3DPW数据集上的结果可视化与对比

总结

这项工作中,作者解决了从单目图像进行密集人体估计的问题。作者确定了现有基于模型和基于热图的表示对截断或遮挡物体的局限性。作者提出了一种可见性感知密集体表示,VisDB。我们从密集的 UV 对应中获得可见性伪地面实况,并训练网络来预测 3D 坐标以及每个人体关节和顶点的截断和遮挡标签。广泛的实验结果表明,可见性建模可以促进人体估计,并允许从部分身体预测中进行准确的 SMPL 拟合。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 方法
    • 先导:基于热图的表示
      • Visibility-aware Dense Body
        • 通过可见性解决深度歧义
          • 从 Visible Dense Body 拟合 SMPL 模型
            • 密集的 UV 对应关系应用
              • 模型训练与推理
              • 实验
              • 总结
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档