Simple Baselines for Human Pose Estimation and Tracking

介绍

微软神作,pose track 的新base line 

比ICCV Pose track 冠军在mAP上高15个点,在MOTA上高6个点

姿态估计

一个简单的ResNet 结构

  • 三个卷积层+BN+ReLU
  • 中间一个1*1的卷积层产生pose的heatmap
  • 后面接了3个反卷积和卷积交替的网络获得高分辨率的heatmat
  • 使用Mean Squared Error(MSE) loss, 目标的heatmat 是通过在目标位置附近使用一个2D高斯分布。

对比另外两种主流获取关键点heatmap 的架构:

左边的是Hourglass框架:

Newell, A., Yang, K., Deng, J.: Stacked hourglass networks for human pose estimation. In: European Conference on Computer Vision, Springer (2016) 483-499

右边的是Cascaded pyramid network(CPN), COCO2017 关键点挑战的领先方案:

Chen, Y., Wang, Z., Peng, Y., Zhang, Z., Yu, G., Sun, J.: Cascaded pyramid network for multi-person pose estimation. arXiv preprint arXiv:1711.07319 (2017)

论文中,作者指出这三种框架中,本文所提更简洁,从结果来看,本文方法虽然简单,但是结果棒棒的。作者没有指明为嘛他们的简单网络实现姿态估计的效果更好。结果对比如下图所示

姿态跟踪

问题描述:

前一帧检测结果以及ID已经确定:P_{k-1} = {p_i},p_i=(joints_i,id_i)

当前帧的检测结果已经有了,确定当前帧的ID:P_k = {p_j},p_j=(joints_j,id_j=None)

论文里首先分析了ICCV'17 PoseTrack 挑战冠军是怎么做的:

Girdhar, R., Gkioxari, G., Torresani, L., Paluri, M., Tran, D.: Detect-and-track:Efficient pose estimation in videos. arXiv preprint arXiv:1712.09184 (2017)

  • 首先对每一帧用Mask-RCNN估计人体姿态
  • 然后在帧间进行在线的跟踪,使用的是一个贪婪的二分匹配算法:
  1. 对于前一帧和当前帧的结果进行相似计算s(p_i,p_j)
  2. s(p_i,p_j)进行排序,选择相似度最高一对p_i,p_jp_j继承p_i的ID,然后这两个结果从集合中剔除
  3. 在剩下的集合元素中继续找相似度最高的匹配,重复2,直到没有了
  4. 在当前帧的结果中,如果还有剩余没有匹配的,就各自发一个新的ID

本文参考这种做法,但在细节上又两点不同:

  • 本文的人体框有两种来源,一种是当前帧的检测结果(Mask-RCNN),另外一种的上一帧的结果,通过光流wrap到当前帧的,如下图所示,右边图中,黑色框的当前帧检测结果,蓝色的是上一帧wrap过来的。这样做是为了弥补当前帧检测漏检问题。

给定上一帧的结果P_{k-1} =\{p_i\},p_i=(joints_i,id_i),以及两帧间的光流F(I_{k-1},I_k),估计上一帧的目标在当前帧的结果\hat{P}_k = \{\hat{p}_j\},\hat p_j=(\hat{joints}_j,\hat{id}_j):

  1. 通过光流把上一帧的关节点wrap到当前帧
  2. 用一个适当扩大的边界框包含该目标在当前帧的关键点

  • 另外是两个框的相似计算,提出使用一个基于流的姿态相似度量指标

首先介绍两种可以参考的相似度度量:

  1. 使用边界框的IOU去定义s(p_i,p_j),会在目标快速运动时产生问题,IOU比较低
  2. 一个更细粒的度量是姿态相似,姿态相似计算两个人体之间同一关节的距离 , One Keypoint Similarity(OKS),这方法的问题在于人的姿态是会变化的和前面的IOU相似

从上面的warp结果,我们得到了帧k目标p_i在帧l的目标\hat{p_i},显然这个通过光流wrap得到的\hat{p_i}蕴含了该目标在当前帧应有的位置以及样子

给定帧k的一系列目标P_k = \{p_i\},和帧l的一系列目标P_l = \{p_j\},基于流的姿态相似度度量定义为:

S_{Flow}(P_k,P_l) = OKS(\hat{P}_k,P_l)

由于遮挡问题,相邻两帧的wrap并不能很好的解决由于遮挡产生的丢失问题,因此需要通过多相隔帧进行wrap。

最后的算法流程图

结果:

COCO-Pose Estimation:达到顶尖,提升不多

Pose-Track - Pose Estimation: 达到顶尖,高10个点,刷新了baseline

Pose-Track - Pose Track: 达到顶尖,比baseline高6个点

重点看这个warp对于结果的影响从结果上看,通过wrap虽然不能改善精度,但是召回提升还是特别明显的,在不同的检测框架下均有5到6个点的提升

猜你喜欢

转载自blog.csdn.net/qq_25379821/article/details/84662188