ICCV 2019 | 基于无标签单目视频序列的单帧三维人体姿态估计算法
作者丨王璇
学校丨西安交通大学
研究方向丨人体姿态估计
我们都知道,要训练一个准确的三维人体姿态估计深度神经网络,需要大量有三维标签的数据,越多越好。而在现实生活中,我们很难得到很多有标签数据,而无标签单目视频序列的获取要容易得多。
那么有没有办法利用这些无标签视频序列,来辅助三维人体姿态估计网络的训练呢?针对这一情况,本工作提出了一种针对训练样本较少的情况下三维人体姿态估计的标签自动标注算法,使用完全无标签的视频序列,辅助单目单帧三维人体姿态估计网络的训练。本工作由西安交通大学完成,发表于 ICCV 2019。
背景
从单目图像估计三维人体姿态是计算机视觉中的一个重要课题。近年来,随着深度学习的发展,用深度神经网络解决三维人体姿态估计问题的技术也发展的越发成熟。
然而,基于深度学习的人体姿态估计方法存在着一个较大的局限,即需要大量的有标签数据才能训练出较为准确的三维人体姿态估计网络。而三维标签的获取,要么使用动作捕捉系统,需要特殊的仪器和受限的环境;要么使用人工标注的方法,耗时费力且准确度不高。
针对三维标签难以获得的问题,近年来也提出了一些半监督的解决方案,如使用无标签的多视图数据或二维标注的图像对训练数据进行增广等。然而,多视图数据仍然需要特殊的多相机拍照环境才可获取,而 2D 人体关键点的人工标注也仍然耗时费力。相比之下,无标签单目视频序列的获取就容易得多。
因此,如何仅利用无标签的视频序列来辅助单帧三维人体姿态估计任务呢?针对这一问题,我们提出了一种从无标签的单目人体动作视频序列中自动标注三维标签的算法。
与之前从连续图像序列学习人体姿态的方法不同,在我们的方法中,视频数据仅需在训练期间使用。给定仅使用少量有标签数据进行预训练的基线模型,我们的算法可以使用基于矩阵补全的方法自动从单目视频序列中收集 3D 标签。
在此过程中,除了需要少量的有 3D 标签的数据之外,我们的方法不需要任何人工干预(如 2D 姿态的手动标注或多相机系统的校准),而这些人工干预通常是现有的弱监督方法所必须的。
如在 Human3.6M 和 MPI-INF-3DHP 数据集上的实验所示,我们的方法成功地将预训练的模型进行了微调,使其迁移到了无标签单目视频中所描述的新的动作和主题上。微调后的模型所估计的 3D 人体姿态,比基线模型的准确性提高了约 10%。
框架
本文设计了一种从无标签的单目人体动作视频序列中自动标注三维标签的算法,用以在有标签训练样本较少的情况下,辅助三维人体姿态估计网络的训练。该框架的主要流程如图 1 所示。
首先,使用少量有标签的数据预训练出一个基线模型,使其可以输出可用但不太准确的 3D 人体姿态。然后,优化此基线模型所输出的不准确的三维人体姿态,并将其当作伪标签,用以对基线模型的进一步训练(微调)。
与之前的方法相比,本文中的方法所需要的训练数据仅为无标签的单目视频序列,而单目视频序列的捕获不需要任何特定的设备(如多相机系统),且不受控制环境的限制。此外,使用本方法用视频对数据集进行扩充时,无需人工干预。
▲ 图1. 基于无标签单目视频序列的三维人体姿态估计框架
下面几个小节将从基线模型、轨迹补全(标签优化)和模型微调三个方面详述该框架的工作过程。
基线模型
为了从单目图像重建 3D 人体姿势,通常需要准确的 2D 特征表示。文献 [1] 中所提出的堆叠沙漏网络架构(stacked hourglass network),对于从图像中提取 2D 特征以预测 3D 姿态非常有效。此外,受 [2] 的启发,现有的 2D 人体姿态估计数据集可用于训练 2D 人体姿态检测器,该检测器的特征提取层随后可迁移到 3D 人体姿态估计网络上。
为了直接从单目图像中获取准确的 3D 人体姿态,我们参考了文献 [3] 的工作,该工作中介绍了堆叠沙漏网络的体素形式。基于这种网络架构,可以将在大型 2D 人体姿态数据上训练好的 2D 检测器提取的特征迁移到 3D 沙漏网络中,使得该网络仅需少量带 3D 标签的训练数据,就可以对无标签的视频序列进行合理的估计。
与 [4] 中的网络设置不同,我们的 3D 网络直接从单帧图像中输出 3D 姿态,而无需将 2D 姿态作为中间结果,因此不需要 2D 关键点数据来微调 2D 检测器或训练 3D 网络。图 2 显示了我们网络的架构和初始化网络的整个过程。
▲ 图2. 基线模型的网络架构和初始化过程
轨迹补全
仅通过少量有标签的 3D 数据训练的网络,就可以对无标签的视频序列进行初始预测。这些预测值可以被保存和扩充,用作伪标签,以进行网络的进一步(无监督)训练。但是,由于对 3D 沙漏网络的训练不足,初始预测值会不够精确。由于视频序列中的人体姿态不是刚性的,并且具有低秩和时间平滑等特性,我们可以通过应用于 3D 轨迹的矩阵补全方法来优化初始预测值。
对初始预测值的优化可以看作一个矩阵补全问题。我们在一个视频序列中,可以固定置信度较高的姿态预测值,并利用这些固定值,去补全置信度较低的预测值。我们结合了视频中人体姿态的低秩性和时间平滑性,将该轨迹补全问题建模为以下优化问题:
其中 X 是优化目标,即包含一个视频序列中三维人体姿态的矩阵。最小化 X 的核范数即使视频序列中的人体姿态满足低秩性。D 是一个主对角线的值均为 1、下主对角线均为 -1、其他位置均为 0 的对角矩阵,用以表达时间平滑性约束。E 为错误项。S 代表 3D 姿态的初始预测值,在优化过程中该矩阵内的值是不变的。
为求解上述优化问题,我们使用增广拉格朗日法(ALM)[5]。通过将上式转化为增广拉格朗日形式,可以将该优化问题分为 5 个子问题迭代求解。具体方法为轮番求解各子问题,在更新其中一个变量时固定其他所有变量,从而最终最小化损失函数。每个子问题都可以利用目前已经比较成熟的算法进行求解。
最终,ALM 收敛后,我们将 X 作为优化结果,并在模型的进一步训练(微调)中使用优化的结果作为监督项。
模型微调
在前面的步骤中,我们将无标签视频序列的图像输入初始网络以获得 3D 预测,然后优化并保存这些预测。在进一步的模型微调步骤中,我们将这些优化后的预测值进行增广,以“监督”初始网络的进一步训练。这些操作相当于自动为无标签的视频收集“标签”。
然而,在优化的预测中仍然存在许多错误,且这些错误很可能会误导网络的进一步训练。为了减轻这些错误的影响,我们根据每个预测的置信度对损失函数中的伪监督项进行加权,并对同一视频中同一人的骨骼长一致性添加约束。这一步骤所使用的网络的完整损失函数如下:
其中,
而我们的网络的输出为热图(heatmap),因此可以直接提取预测关节的热图的值作为置信度得分。进而,我们可以利用这些置信度得分对损失函数的伪监督项进行加权。其具体形式为:
其中
上式中的 τ 是一个 0~1 之间的值,被定义为置信度阈值。置信度高于该阈值的项被看作是准确预测,在损失函数中权重为 1。
对于骨骼长度项,我们可以取初始预测中每个视频序列内人体的骨骼长度的中位数,作为网络微调过程中的另一个监督项。在本文中我们选取 11 个较为稳定的骨骼(左右上下臂、左右上下腿、左右胯、头长)作为该项的监督。骨骼长度损失项的具体形式为:
此外,在网络的微调过程中,骨骼长度项的计算需要将网络预测的热图中的坐标值取出,而一般的使用 argmax 操作的取坐标方法又是不可微分的。为了使微调过程中的网络可以回传参数,我们将 argmax 操作替换为 [6] 中所提出的 peak finding 操作,即将以最大得分的粗略位置为中心的立方体内的热图置信度得分的加权总和作为预测的关节坐标。
实验结果
我们在两个大型公开的三维人体姿态估计数据集——Human3.6M (H36M) [7] 和 MPI-INF-3DP (3DHP) [8] 上进行了实验。
对于我们基线网络的 2D 特征提取部分,我们使用了二维人体姿态估计数据集 MPII Human Pose [9] 进行初始化。
对于三维姿态估计部分,我们首先使用数据集的训练集中的一个小子集及其三维标签进行全监督训练,得出初始网络。然后,将训练集中剩下的数据看作无标签的视频序列,使用初始网络对这些序列进行预测。接着,将不准确的预测值进行轨迹补全优化。最后用优化后的三维标签作为监督项,结合骨骼长度项,对网络进行微调。微调后的网络在数据集的测试集上进行测试。
使用的评价指标为 MPJPE(平均关节位置误差)、NMPJPE(骨架归一化后的平均关节位置误差)和 PMPJPE(将骨架进行 Procrustes 对齐后的平均关节位置误差)。轨迹补全和不同数据划分方式下的网络微调结果展示如下。
3D 轨迹补全结果:对于 H36M,我们使用S1进行全监督训练,对S5-8 进行预测和优化;对于 3DHP,我们使用 S1 进行全监督训练,在 S2-8 上进行预测和优化。两数据集优化前后的结果分别如表 1 和表 2 所示。可见轨迹补全过程发挥了作用,误差降低了。另外,结果还表明,使用置信度分数可以选出更准确的预测值和优化值。
▲ 表1. H36M上的预测和优化结果
▲ 表2. 3DHP上的预测和优化结果
以subject划分数据的网络微调结果:我们使用 H36M 的 S1 进行网络初始化,使用无标签的 S5-8 进行网络微调。表 3 展示了这样得出的最终模型在 H36M 测试集每个动作上的效果。可以看出,我们框架的每个组件(轨迹优化、加权监督和骨骼长度监督)都起到了增量的效果。
图 3 是最终模型在 H36M 和 3DHP 上预测结果的可视化,其中绿色骨架为真值,红色骨架为基线网络的预测结果,蓝色骨架为微调后最终模型的预测结果。可见最终结果明显改进,并且更接近真值。
▲ 表3. 在H36M上用S1初始化、S5-8微调的预测结果
以 action 划分数据的网络微调结果:为测试我们的框架将模型迁移到新动作的能力,我们使用训练数据集中一部分动作的有标签数据进行网络初始化、用剩下的动作的无标签视频序列进行模型的微调,并在测试集上对无标签部分的动作进行测试。
我们采用了两种动作划分方式:1)用随机的一半动作作为有标签数据,另一半动作序列作为无标签数据;2)用简单的动作作为有标签数据,困难动作序列作为无标签数据。这两种划分方式在 H36M 上的结果如表 4 和表 5 所示。可见,模型可以成功地从无标签视频序列中学习到新的甚至是更困难的动作,即模型可以成功地被迁移到无标签视频序列中所表达的动作上来。
总结与思考
在本文中,我们介绍了一种用于单目单帧图像 3D 人体姿态估计的框架,可通过自动收集无标签的单目视频的 3D 标签,来提升三维人体姿态估计网络的性能。
大量实验证明了我们框架的有效性,表明它可以成功地帮助网络从无标签的单目视频序列中学习新的 3D 人体姿态。当没有足够的有标签数据、而有许多无标签的单目视频可用时,我们可以使用此框架来训练 3D 人体姿态估计网络。这也是现实生活中最常见的情况,充分说明了本文所提出的框架的应用价值。
参考文献
点击以下标题查看更多往期内容:
让你的论文被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。
📝 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
📬 投稿邮箱:
• 投稿邮箱:hr@paperweekly.site
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。
▽ 点击 | 阅读原文 | 下载论文