Command Palette
Search for a command to run...
DeepPose:基于深度神经网络的人体姿态估计
DeepPose:基于深度神经网络的人体姿态估计
Alexander Toshev Christian Szegedy
摘要
我们提出了一种基于深度神经网络(DNN)的人体姿态估计方法。姿态估计被形式化为一个基于DNN的回归问题,目标是预测身体关节位置。我们提出了一种级联的DNN回归器,从而获得高精度的姿态估计。该方法具有整体推理姿态的优势,并且其简单而强大的形式化利用了深度学习的最新进展。我们在四个包含多样化真实世界图像的学术基准上进行了详细的实证分析,取得了最先进或更优的性能。
一句话总结
Google 研究人员提出 DeepPose,一种人体姿态估计方法,将该任务形式化为基于身体关节的回归问题,并使用级联的深度神经网络回归器,从而在四个具有挑战性的现实世界基准上实现整体推理和达到最先进水平甚至更优的准确率。
关键贡献
- 人体姿态估计被形式化为基于 DNN 的回归任务,直接从全图回归关节坐标,实现整体推理。
- 级联的 DNN 回归器使用更高分辨率的子图像迭代优化初始估计,提高关节定位精度。
- 在四个学术基准测试中,该方法取得最先进水平或更优的性能,并且跨数据集评估展现了良好的泛化能力。
引言
人体姿态估计涉及在图像中定位身体关节,这项任务因遮挡、小关节以及需要上下文推理而变得复杂。此前基于部件的模型推理效率高,但依赖局部检测器,仅能捕捉身体部件之间有限的交互,限制了在复杂场景中的准确率。整体方法试图克服这些局限,但在真实世界中的性能一直不佳。作者引入了一种深度神经网络,将姿态估计形式化为直接从全图回归关节坐标的任务,使模型能够在没有显式部件检测器或模型拓扑的情况下捕捉全局上下文。随后,一个此类基于 DNN 的回归器级联利用更高分辨率的子图像对预测进行细化。该方法在多个基准测试上达到最先进水平,并展现出强大的跨数据集泛化能力。
方法
作者将姿态估计问题视为回归任务,训练一个函数 ψ(x;θ)∈R2k,该函数将图像 x 映射为归一化的姿态向量,其中 θ 表示模型参数。为处理姿态尺寸的变化,关节坐标根据包围人体的边界框 b 进行归一化,该边界框由中心 bc、宽度 bw 和高度 bh 定义。归一化过程将关节坐标 yi 转换为:
N(yi;b)=(1/bw001/bh)(yi−bc)
通过将逆归一化应用于网络输出,可以恢复出在绝对图像坐标下的姿态预测。
该方法的核心是一个基于 Krizhevsky 等人架构的卷积深度神经网络 (DNN)。该网络由七层组成,包括五个卷积层、局部响应归一化层、池化层以及两个全连接层。卷积层和全连接层包含可学习参数,并使用修正线性单元作为非线性激活函数。网络接受固定尺寸为 220×220 像素的输入,并输出 2k 个关节坐标。
有关基于 DNN 的姿态回归及后续细化阶段的示意图,请参考框架图。
流水线的初始阶段利用全图上下文估计粗略的姿态。网络参数通过最小化预测姿态向量与真实归一化姿态向量之间的 L2 距离来优化。考虑到参数量大而数据集相对较小,为防止过拟合,作者采用了数据增强技术,包括随机图像裁剪、左右翻转以及 Dropout 正则化。
虽然初始回归利用了全局上下文,但固定的输入分辨率限制了网络捕获细节的能力,而这些细节对于精确的关节定位是必要的。为解决此问题,作者提出了一个姿态回归器级联。在第一阶段,估计初始姿态。在后续阶段 s≥2 中,训练额外的 DNN 回归器,以预测关节位置从前一阶段到真实位置的偏移量。每个后续阶段都会在前一阶段预测的关节位置附近裁剪子图像,从而聚焦于相关的图像部分。这使得回归器可以处理更高分辨率的输入,并在更精细的尺度上学习特征,最终优化姿态估计。
在训练级联阶段时,作者将每个阶段的训练条件建立在上一阶段模型的基础上。并非仅依赖前一阶段的实际预测,他们通过生成模拟预测来增强训练数据。具体做法是,使用二维正态分布随机偏移真实关节位置,该正态分布的均值和方差由训练数据中观察到的偏移量得出。然后,在此增强数据集上,使用 L2 损失优化每个阶段的网络参数。
实验
在 FLIC 和 LSP 数据集上,使用 PCP 和 PDJ 指标评估肢体和关节检测的准确率。实验验证了基于 DNN 的级联模型始终优于先前的方法,尤其在像小腿这样具有挑战性的肢体上,并且细化阶段显著提高了高精度定位的性能。该方法在不同数据集间泛化良好,能够处理多样的姿态、遮挡和外观,级联结构会修正初始的粗略估计。
在 LSP 数据集上,DeepPose 的级联逐步优化关节预测,其中第一个细化阶段带来了最大的提升。最终模型在最先进准确率方面拔得头筹,在所有肢体组别中均超越所有比较方法,在腿部关节上优势尤为明显。该方法能应对体育图像中具有挑战性的姿态变化,展现出强大的泛化能力。仅增加一个细化阶段,平均 PCP 便从 0.54(单阶段)提升至 0.60,几乎追平最终级联的 0.61,表明大部分高精度增益发生在增加一个额外阶段之后。DeepPose-st3 的平均 PCP 最高,达到 0.61,优于最接近的竞争者 Johnson 等人 (0.58),优势在小腿上 (0.71 vs. 0.66) 和大腿上 (0.77 vs. 0.75) 最为明显。尽管 Tian 等人采用了更宽松的 PCP 定义,但 DeepPose-st2 和 st3 在使用标准且更严格的度量时,其报告的平均值 (0.56) 仍被超越,突显了该方法的有效性。
在 Image Parse 数据集上,DeepPose 达到了最先进的准确率,平均 PCP 为 0.69,超越所有比较方法。除了上臂(与先前最佳结果持平)外,该方法在所有四个具有挑战性的肢体上均处于领先地位。提升最大的是腿部,尤其是小腿,这突显了强大的跨数据集泛化能力。在所有方法中,DeepPose 的上臂得分与最高分持平 (0.80),并在下臂 (0.75)、大腿 (0.71) 和小腿 (0.50) 上取得了最高准确率。小腿估计得分达 0.50,显著高于次佳结果 0.46,尤为突出。
在 LSP 和 Image Parse 数据集上,利用逐步优化关节预测的细化阶段级联对 DeepPose 进行了评估。第一个额外阶段带来了最大的精度提升,最终模型在两个数据集上均取得最先进的结果,在腿部关节上的表现尤为强劲。跨数据集泛化能力鲁棒,该方法在小腿等挑战性肢体上始终优于先前的方法。