DeepPose - human pose estimation via deep nerual networks 论文解读

paper title: deepPose: human pose estimation via deep nerual networks
paper link: https://arxiv.org/pdf/1312.4659.pdf
oral or demo video:-
project:http://densepose.org
github:https://github.com/mitmul/deeppose
conf & anthor: CVPR14, J. Alexander Toshev, Christian Szegedy (Google)
arXiv submit v1: 2013.12 google citation:1117(2019.07.12)

姿态估计系列:

  • DeepPose - human pose estimation via deep nerual networks
  • Efficient Object Localization Using Convolutional Networks
  • Convolutional Pose Machines
  • Human Pose Estimation with Iterative Error Feedback
  • Hourglass Network - stacked hourglass network for human pose estimation
  • OpenPose - Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
  • RMPE: Regional Multi-person Pose Estimation
  • Pose flow: Efficient Online Pose Tracking
  • CrowdPose: Efficient Crowded Scenes Pose Estimation and A New Benchmark

主要内容
这篇文章使用深度神经网络构建了一个级联的回归网络来实现人体姿态估计。文章将人体姿态估计看作是一个人体关节的回归问题,文章认为这样做有两个好处:(1)深度神经网络有着捕获全局上下文信息的能力,每一个关节的回归器都用到整张图片的信息;(2)是这种表示方相对于图模型的方法要更简单,不需要设计人体部分(part)的特征表示或者检测器,也不需要设计人体关节之间的拓扑模型和交互。

网络结构
文章将人体的关节表示为向量:
P = { . . . , C i , . . . } , i ∈ { 1 , . . . , K } C = ( x , y ) P=\{...,C^i,...\},i\in\{1,...,K\} \\ C=(x,y) P={...,Ci,...},i{1,...,K}C=(x,y)
上面的坐标是关节在图像上的的像素坐标,然后对关节坐标做一个归一化的操作,对于在一个bounding box里的关节,归一化之后的坐标为:
C _ n o r m = ( ( x − c e n t e r x ) / w i d t h , ( y − c e n t e r y ) / h e i g h t ) C\_norm=((x-center_x)/width,(y-center_y)/height) C_norm=((xcenterx)/width,(ycentery)/height)
c e n t e r x , c e n t e r y center_x,center_y centerx,centery分别是bounding box的中心, w i d t h , h e i g h t width,height width,height分别是宽和高。这里的bounding box可以是整张图像;也可以是图像的一部分,后面在级联网络中的关节点位置的refine的时候会用到图像的一部分作为网络的输入。
文章使用Alexnet作为基本的网络结构,输入为220x200x3的图像,输出为2K个回归坐标值。

基本网络结构如下:
DeepPose - human pose estimation via deep nerual networks 论文解读_第1张图片

文章提到由于输入的是整张图片,因此网络学到的关节点位置是在一个比较粗的尺度上的,无法捕获一些细节信息,得到的关节位置会不够准确。因此设计了级联的网络结构,在后续级联的网络中,通过前面预测得到的关节位置,将以该位置为中心的一个sub-image作为后面网络的输入,这样网络只关注相关关节所在的图像部分,可以得到更高的关节回归精度。后面的级联网络可以看做是对前面网络的关节位置校正。

损失函数:
损失函数采用的是 L 2 L_2 L2损失:
L o s s = ∑ i = 1 K ( ∣ ∣ C i x − C ^ i x ∣ ∣ 2 + ∣ ∣ C i y − C ^ i y ∣ ∣ 2 ) Loss=\sum_{i=1}^{K}(||C_i^x-\hat{C}_i^x||_2+||C_i^y-\hat{C}_i^y||_2) Loss=i=1K(CixC^ix2+CiyC^iy2)

论文结果:
检测的人体关节点数目:FLIC-10 upper joints, LSP-14 joints
数据集:(1)Frames Labeled In Cinema,(2)Leeds Sports Dataset
评价指标:

  • Percentage of Correct Parts(PCP): 在PCP中认为一个 骨骼(limb)被检测到的标准是,骨骼的两个关节点的位置与真实关节点的位置的距离小于骨骼的长度的一半。
  • Percentage of Detected Joints(PDJ): 在PDJ中认为一个关节被检测到的标准是,关节的位置与真实位置的距离小于躯干对角点的长度(如left shoulder到right hip的距离)的一个比例值。

相比其他方法,检测准确率更高,平均PCP为0.61;并且cross-dataset泛化较好。

你可能感兴趣的:(Human,Pose,Estimation)