Cross View Fusion for 3D Human Pose Estimation(用于三维人类姿势估计的跨视图融合
摘要
我们提出了一种方法,通过在我们的模型中加入多视角的几何先验,从多视角图像中恢复绝对的三维人体姿势。它由两个独立的步骤组成。(1)估计多视角图像中的二维姿势;2)从多视角二维姿势中恢复三维姿势。首先,我们在CNN中引入了一个跨视图融合方案来联合估计多视图的二维姿势。因此,每个视图的二维姿态估计已经从其他视图中受益。其次,我们提出了一个递归的图像结构模型,从多视图的二维姿势中恢复三维姿势。它以可承受的计算成本逐步提高了三维姿态的准确性。我们在两个公共数据集H36M和Total Capture上测试了我们的方法。这两个数据集的平均每关节位置误差为26毫米和29毫米,明显优于先进的技术(26毫米对52毫米,29毫米对35毫米)。
1、简介
由于深度神经网络的引入,三维姿态估计的任务已经取得了重大进展。大多数努力[16, 13, 33, 17, 23, 19, 29, 28, 6]都致力于从单眼图像中估计相对三维姿势。估计的姿势是以骨盆关节为中心的,因此不知道它们在环境中的绝对位置(世界坐标系)。
在本文中,我们解决了从多个相机中估计世界坐标系中的绝对三维姿势的问题[1, 15, 4, 18, 3, 20]。大多数工作都遵循先估计二维姿态,然后从中恢复三维姿态的管道。然而,后一步通常取决于第一步的性能,不幸的是,在实践中,特别是当图像中出现遮挡或运动模糊时,第一步往往有很大的误差。这给最终的三维估计带来了巨大的挑战。
另一方面,使用图像结构模型(PSM)[14, 18, 3]进行三维姿势估计,可以通过考虑其空间依赖性来减轻不准确的二维关节的影响。它通过一个N×N×N的网格对根关节周围的空间进行离散,并将每个关节分配到N3个仓(假设)中的一个。它共同最小化了估计的三维姿势和二维姿势之间的投影误差,以及关节的空间配置和其先验结构的差异。然而,空间离散化会造成很大的量化误差。例如,当人类周围的空间大小为2000mm,N为32时,量化误差高达30mm。我们可以通过增加N来减少误差,但推理成本也增加到O(N6),这通常是难以解决的。
图1. 用于二维姿态估计的跨视角融合。图像首先被送入一个CNN以获得初始热图。然后,每个视图的热图通过融合层与其他视图的热图进行融合。整个网络是端到端的学习。
我们的工作旨在解决上述挑战。首先,我们通过使用基于CNN的方法从多个视图中联合估计获得更准确的2D姿势。它优雅地解决了为二维姿态热图融合寻找不同视图之间的对应位置的挑战。如图1所示,我们通过一个融合神经网络来实现这一想法。融合网络可以以端到端的方式与任何基于CNN的二维姿势估计器集成,而不需要中间的监督。
其次,我们提出了递归图像结构模型(RPSM),以从估计的多视角二维姿势热图中恢复三维姿势。与PSM不同的是,RPSM直接将空间离散成大量的bin,以控制量化误差,RPSM使用少量的bin将每个关节位置周围的空间递归离散成更细的网格(在前一次迭代中估计)。因此,估计的三维姿态被一步步细化 逐步细化。由于每一步中的N通常都很小,所以推理速度在单次迭代中是非常快的。在我们的实验中,与PSM相比,RPSM至少减少了50%的误差,而推理时间几乎没有增加。
对于H36M数据集[11]上的二维姿势估计,所有关节的平均检测率从89%提高到96%。对于最具挑战性的 "手腕 "关节来说,这种改进是非常明显的。对于三维姿势估计,将PSM改为RPSM后,平均误差从77毫米大幅降低到26毫米。即使与平均误差为52毫米的最先进的方法相比,我们的方法也将误差减半。我们在Total Capture数据集[27]上进一步评估我们的方法,以验证其泛化能力。它仍然优于最先进的方法[26]。
2、相关工作
我们首先回顾了多视角三维姿态估计的相关工作,并讨论它们与我们的工作有什么不同。然后我们讨论了一些关于特征融合的技术。
多视角三维姿态估计许多方法[15, 10, 4, 18, 3, 19, 20]被提出用于多视角姿态估计。他们首先定义一个以简单基元表示的身体模型,然后优化模型参数,使身体模型的投影与图像特征相一致。这些方法在使用的图像特征和优化算法方面有所不同。
我们专注于象形结构模型(PSM),它被广泛用于物体检测[8, 9],为物体部分之间的空间依赖性建模。这种技术也被用于二维[32, 5, 1]和三维[4, 18]姿态估计,其中部件是身体关节或肢体。在[1]中,Amin等人首先用PSM估计了多视图设置中的二维姿势,然后通过直接三角测量获得三维姿势。后来Burenius等人[4]和Pavlakos等人[18]将PSM扩展到多视图的三维人体姿势估计。例如,在[18]中,他们首先为每个视图独立估计二维姿势,然后用PSM恢复三维姿势。我们的工作与[18]不同,我们将PSM扩展到一个递归版本,即RPSM,它可以有效地一步步完善3D姿势估计。此外,他们[18]没有像我们这样进行跨视角的特征融合。
图2. 外极几何:一个图像点YPu背投到由摄像机Cu和YPu定义的三维射线上。这条线在摄像机Cv中被成像为I。投射到YPu的三维点P必须位于这条射线上,因此P在摄像机Cv中的图像必须位于I上。
多图像特征融合 融合不同来源的特征是计算机视觉文献中的一种常见做法。例如,在[34]中,Zhu等人提出根据光流将相邻帧(视频序列中)的特征扭曲到当前帧,以便稳健地检测物体。Ding等人[7]提出聚合多尺度特征,这对大物体和小物体都能达到更好的分割精度。Amin等人[1]提出通过探索多视角图像之间的几何关系来估计2D姿势。它与我们的工作不同的是,它没有融合其他视图的特征来获得更好的二维热图。相反,他们使用多视图的三维几何关系来从 "不完美 "的热图中选择联合位置。在[12]中,多视图的一致性被用作监督的来源来训练姿势估计网络。据我们所知,以前没有任何工作融合多视图特征以获得更好的二维姿势热图,因为在不同的视图中寻找相应的特征是一项具有挑战性的工作,这也是我们这项工作的主要贡献之一。
3、二维姿态估计的跨视图融合
我们的二维姿态估计器将多视图图像作为输入,分别为每个视图生成初始姿态热图,然后融合不同视图的热图,使每个视图的热图从其他视图中获益。这个过程是在一个CNN中完成的,可以进行端到端的训练。图1显示了双视图融合的管道。将其扩展到多视图是微不足道的,每个视图的热图与所有其他视图的热图相融合。我们融合方法的核心是找到一对视图之间的对应特征。
假设在三维空间中有一个点P。见图2。它在视图u和v中的投影分别是
Y
P
u
ε
Z
u
Y_{P}^{u}\ \varepsilon \ Z^u
YPu ε Zu和
Y
P
v
ε
Z
v
Y_{P}^{v}\ \varepsilon \ Z^v
YPv ε Zv,其中
Z
u
Z^u
Zu和
Z
v
Z^v
Zv分别表示两个视图中的所有像素位置。视图u和v的热图是
F
u
=
{
x
1
u
,
.
.
.
,
x
∣
Z
u
∣
u
}
F^u\ =\ \left\{ x_{1}^{u},\ ...\ ,\ x_{|Z^u|}^{u} \right\}
Fu = {x1u, ... , x∣Zu∣u}和
F
v
=
{
x
1
v
,
.
.
.
,
x
∣
Z
v
∣
v
}
F^v\ =\ \left\{ x_{1}^{v},\ ...\ ,\ x_{|Z^v|}^{v} \right\}
Fv = {x1v, ... , x∣Zv∣v}融合视图u中的特征,例如
x
i
u
x_{i}^{u}
xiu,与
F
v
F^v
Fv中的特征的核心思想是建立两个视图之间的对应关系
其中
ω
j
,
i
\omega _{j,i}
ωj,i是一个待定的标量。理想情况下,对于一个特定的i,只有一个
ω
j
,
i
\omega _{j,i}
ωj,i应该是正的,而其余的都是零。具体来说,当视图u中的像素i和视图v中的像素j对应于同一个三维点时,ωj,i是正的。
假设我们只知道
Y
P
u
Y_{P}^{u}
YPu,我们如何在不同视角的图像中找到相应的点
Y
P
v
Y_{P}^{v}
YPv呢?我们知道
Y
P
v
Y_{P}^{v}
YPv保证位于表极线
l
l
l 上。但由于我们不知道P的深度,这意味着它可能在
C
u
C_u
Cu和
Y
P
u
Y_{P}^{u}
YPu定义的线上移动,我们无法确定
Y
P
v
Y_{P}^{v}
YPv在
l
l
l 上的确切位置。这种模糊性给跨视图融合带来了挑战。
我们的解决方案是将
x
i
u
x_{i}^{u}
xiu与
l
l
l 线上的所有特征融合在一起。这乍听起来很残酷,但实际上很优雅。由于融合发生在热图层,理想情况下,
x
j
v
x_{j}^{v}
xjv在
Y
P
v
Y_{P}^{v}
YPv(青色点)处应该有较大的响应,而在表极线I上的其他位置则为零。这意味着线上的非对应位置对融合没有贡献或贡献很小。因此,融合表极线上的所有像素是一个简单而有效的解决方案。
3.1、实施
特征融合规则(公式(1))可以解释为在姿势热图的每个通道上施加一个全连接层,其中ω是可学习参数。图3说明了这个想法。特征图的不同通道,对应于不同的关节,共享相同的权重,因为跨视图关系不取决于关节类型,而只取决于摄像机视图中的像素位置。将特征融合视为一个神经网络层,可以对权重进行端到端的学习。
图3. 一个通道的双视角特征融合。顶部的网格表示视图A的特征图。视图A中的每个位置都通过一个权重矩阵与视图B中的所有像素相连。对于位于上极线上的位置,其权重大多为正值(黄色单元格中的数字)。视图A中的不同位置具有不同的权重,因为它们对应于不同的表极线。
我们研究了两种方法来训练该网络。在第一种方法中,如果相应的位置偏离了表极线,我们在训练过程中将正的权重剪切为零。负的权重被允许用来代表压制关系。在第二种方法中,我们允许网络从训练数据中自由学习权重。这两种方法的最终二维姿态估计结果也是相似的。所以我们使用第二种方法进行训练,因为它比较简单。
3.2. 局限性和解决方案
学习到的融合权重隐含地编码了极点几何的信息,它取决于相机的配置。因此,在一个特定的相机配置上训练的模型不能直接应用于另一个不同的配置。
我们提出了一种方法,使我们的模型在没有任何注释的情况下自动适应新的环境。我们采用了以前的工作[21]中的半监督训练方法。首先,我们在现有的数据集上训练一个单视图二维姿势估计器[31],如MPII,它有地面真实姿势注释。然后,我们将训练好的模型应用于新环境中多个相机拍摄的图像,并收获一组姿势作为伪标签。由于对某些图像的估计可能是不准确的,我们建议使用多视图一致性来过滤不正确的标签。我们按照[21]的做法,保留在不同视图中一致的标签。在训练跨视图融合网络时,我们不对过滤后的关节点实施监督。我们将在实验部分评估这种方法。
4、 用于多视角三维姿态估计的RPSM
我们用M个随机变量
j
=
{
J
1
,
J
2
,
.
.
.
,
J
M
}
j\ =\ \left\{ J_1,\ J_2,...\ ,J_M \right\}
j = {J1, J2,... ,JM}来表示人体的图形模型,其中每个变量对应一个身体关节。每个变量
J
i
J_i
Ji定义了一个状态向量
J
i
=
[
x
i
,
y
i
,
z
i
]
J_i\ =\ \left[ x_i,\ y_i,\ z_i \right]
Ji = [xi, yi, zi],作为身体关节在世界坐标系中的三维位置,并从一个离散的状态空间中获取其值。见图4。两个变量之间的边表示它们的条件依赖性,可以解释为一个物理约束。
图4. 我们实验中使用的人体图形模型。有17个变量和16条边。
4.1. 图形结构模型
给定一个三维姿势
J
J
J和多视角二维姿势热图
F
F
F的配置,后验成为[3]
其中
Z
(
F
)
Z\left( \mathcal{F} \right)
Z(F)是分区函数,
ε
\varepsilon
ε是图边,如图4所示。单项势能函数
ϕ
i
c
o
n
f
(
J
i
,
F
)
\phi _{i}^{conf}\left( J_i,\ \mathcal{F} \right)
ϕiconf(Ji, F)是根据先前估计的多视角二维姿势热图
F
\mathcal{F}
F计算的。成对势能函数
ψ
lim
b
(
J
m
,
J
n
)
\psi ^{\lim b}\left( J_m,\ J_n \right)
ψlimb(Jm, Jn)编码关节之间的肢体长度约束。
离散状态空间 我们首先使用在所有视图中检测到的二维位置对根关节的三维位置进行三角定位。然后,三维姿势的状态空间被限制在以根部关节为中心的三维边界体积内。体的边缘长度s被设定为2000mm。体积被一个N×N×N的网格
G
\mathcal{G}
G离散化。所有身体关节共享相同的状态空间
G
\mathcal{G}
G,由N3个离散位置(bins)组成。
单项潜能 每个身体联合假设,即网格
G
\mathcal{G}
G中的一个仓,都由其在世界坐标系中的三维位置定义。我们使用相机参数将其投射到所有相机视图的像素坐标系中,并从
F
\mathcal{F}
F 中获得相应的联合置信度。我们计算所有相机视图的平均置信度,作为该假设的单项势。
成对潜力 离线时,对于边缘集
ε
\varepsilon
ε中的每一对关节
(
J
m
,
J
n
)
\left( J_m,\ J_n \right)
(Jm, Jn),我们计算训练集上的平均距离
l
m
,
n
∼
l_{m,n}^{\sim}
lm,n∼作为肢体长度先验。在推理过程中,成对潜能被定义为
其中
l
m
,
n
l_{m,n}
lm,n是
J
m
J_m
Jm和
J
n
J_n
Jn之间的距离。成对项倾向于具有合理肢体长度的三维姿势。在我们的实验中,被设定为150毫米。
推理 最后一步是在离散状态空间上最大化后验(公式(2))。由于该图是无环的,它可以通过动态编程进行优化,并保证全局最优。其计算复杂度为O(N6)级。
图5. 递归象形结构模型的说明。假设我们在上一次迭代中分别为两个关节Jm和Jn估计了粗略的位置Lm和Ln。然后我们将两个关节周围的空间划分为更细的网格,并估计更精确的位置。
4.2. 递归象形结构模型
PSM模型存在着由空间离散化引起的巨大量化误差。例如,当我们像以前的工作那样设定N=32时,量化误差高达30mm(即
s
32
×
2
\frac{s}{32\times 2}
32×2s,s=2000是边界体积的边长)。增加N可以减少量化误差,但计算时间很快变得难以解决。例如,如果N=64,推理速度将慢数
64
=
(
64
32
)
6
64=\left( \frac{64}{32} \right) ^6
64=(3264)6倍。
与其在一次迭代中使用一个大的N,我们建议通过一个多阶段的过程递归地完善关节位置,并在每个阶段使用一个小的N。在第一阶段(t = 0),我们使用粗网格(N = 16)离散化三角根关节周围的三维边界体积空间,并使用PSM方法获得初始三维姿势估计
L
=
(
L
1
,
.
.
.
,
L
M
)
L\ =\ \left( L_1,...,L_M \right)
L = (L1,...,LM)
在接下来的阶段(t≥1),对于每个关节
J
i
J_i
Ji,我们将其当前位置
L
i
L_i
Li周围的空间离散为2×2×2的网格
G
(
i
)
G^{\left( i \right)}
G(i)。这里的空间离散化与PSM有两方面的不同。首先,不同的关节有自己的网格,但在PSM中,所有的关节共享同一个网格。见图5对这个想法的说明。第二,边界体积的边缘长度随着迭代而减少:
s
t
=
s
t
−
1
N
s_t=\frac{s_{t-1}}{N}
st=Nst−1 。这就是为什么与前一阶段相比,网格变得更细的主要原因。
我们不是独立地细化每个关节,而是同时细化所有的关节,考虑它们的空间关系。回顾一下,我们知道网格的中心位置、大小和仓位数。因此,我们可以计算出网格中每个仓的位置,并以此计算出单项和成对的潜力。值得注意的是,成对电位应该在飞行中计算,因为它取决于先前估计的位置。然而,由于我们将N设定为一个小数字(在我们的实验中是两个),所以这种计算是很快的。
4.3. 与束状调整[25]的关系
捆绑调整[25]也是完善三维重建的一个流行工具。RPSM在两个方面与它不同。首先,由于它们独特的空间探索方式,它们会达到不同的局部最优。捆绑式调整以增量方式探索,而RPSM则以分而治之的方式探索。第二,在捆绑调整中通过有限差分计算梯度是不稳定的,因为热图的大部分条目是零。
5、 数据集和指标
H36M数据集[11] 我们使用一个跨主体的评估方案,其中主体1,5,6,7,8用于训练,9,11用于测试。我们为所有受试者训练一个单一的融合模型,因为他们的相机参数是相似的。在一些实验中(将明确说明),我们还使用MPII数据集[2]来增加训练数据。由于这个数据集只有单眼图像,我们不在这些图像上训练融合层。
Total Capture数据集[27] 我们还在Total Capture数据集上评估了我们的方法,以验证其对其他数据集的普遍适用性。按照以前的工作[27],训练集由 “ROM1,2,3”、“Walking1,3”、“Freestyle1,2”、“Acting1,2”、"Running1 "组成,对象为1、2和3。测试集由 “自由式3(FS3)”、"表演3(A3)和 "步行2(W2)"组成,测试对象为1、2、3、4和5。我们在实验中使用四台摄像机(1、3、5、7)的数据。我们不使用IMU传感器。在这个实验中,我们不使用MPII数据集进行训练。训练网络的超参数与H36M数据集上的参数保持一致。
衡量标准 二维姿态估计的准确性是由联合检测率(JDR)来衡量的。如果估计的位置和真实位置之间的距离小于一个阈值,我们就认为这个关节被成功检测到。如[2]所述,该阈值被设定为头部尺寸的一半。JDR是成功检测到的关节的百分比。
三维姿势估计的准确性是由地面实况三维姿势
y
=
[
p
1
3
,
.
.
.
,
p
M
3
]
y=\left[ p_{1}^{3},...,p_{M}^{3} \right]
y=[p13,...,pM3]和估计的三维姿势
y
−
=
[
p
1
3
−
,
.
.
.
,
p
M
3
−
]
\overset{-}{y}=\left[ \overset{-}{p_{1}^{3}},...,\overset{-}{p_{M}^{3}} \right]
y−=[p13−,...,pM3−]之间的平均每关节位置误差(MPJPE)来衡量的。
M
P
J
P
E
=
1
M
∑
i
=
1
M
∣
∣
p
i
3
−
p
i
3
−
∣
∣
2
MPJPE=\frac{1}{M}\sum\limits_{i=1}^M{||p_{i}^{3}-\overset{-}{p_{i}^{3}}||_2}
MPJPE=M1i=1∑M∣∣pi3−pi3−∣∣2.我们不将估计的三维姿态与地面实况对齐。这在[16, 24]中被称为协议1
6. 二维姿态估计的实验
6.1.实施细节
我们采用文献[31]中提出的网络作为我们的基础网络,并使用ResNet-152作为其骨干,该网络在ImageNet分类数据集中进行了预训练。输入图像的大小为320×320,热图的分辨率为80×80。我们使用热图作为回归目标,并在特征融合前后对所有视图执行l2损失。我们对该网络进行了30次的训练。其他的超参数,如学习率和衰减策略与[31]中保持一致。使用较新的网络结构[22]可以生成更好的二维姿势。
表1. 该表显示了在H36M数据集上的二维姿势估计精度。"+MPII "表示我们在 "H36M+MPII "上训练。由于篇幅限制,我们显示了六个重要关节的JDR(%)。
表2. 该表显示了在H36M上使用不同的数据集进行训练时的三维姿势估计误差MPJPE(毫米)。"+MPII "表示我们使用组合数据集 "H36M+MPII "进行训练。三维姿态是通过直接三角测量获得的。
图6. 我们方法的热图样本。"Detected Heatmap "表示它是从当前视图的图像中提取的。"Warped Heatmap "是由其他三个视图的Warped Heatmap相加得到的。我们将 "Warped Heatmap "和 "Detected Heatmap "进行融合,得到 “Fused Heatmap”。对于具有挑战性的图像,"Detected Heatmap "可能是不正确的。但是,来自其他(更容易的)视图的 "Warped Heatmap "大部分是正确的。融合多视图热图可以提高热图质量。