【论文笔记】人体姿态估计网络 Pose Proposal Networks

1. 摘要翻译

我们提出了一种新颖的方法来实时检测未知数量的清晰的二维人体姿势。为了解耦从CNN的激活映射中解析像素级别的身体检测的运行时复杂度,我们的方法,称之为Pose Proposal Networks,使用了一种当前最佳的“只拍一次”物体检测范式,这种方法在一个自底向上的姿态检测场景中使用了网格级别的图片激活映射。身体部分和四肢的检测直接通过single-shot CNN进行。这种方法从概率上重新设计了自底向上的贪心解析步骤,以考虑全局上下文。实验结果又双叒叕吊打当前世界最佳。

2. 创新点分析

  1. 不采用像素级别的激活映射提取,而采用网格级别(grid-wise)
  2. 结合YOLO3和OpenPose两个算法,将openpose中训练置信度点和关联域的过程用YOLO3的目标检测替代,加快了速度

3. 研究现状

目前姿态检测有两种主要方法:

  1. 自顶向下的方法:先检测出所有人体实例,然后对每个检测对象应用姿态估计器。
  2. 自底向上的方法:首先检测人体组成部分,然后拼接成人体实例

5. 网络描述和算法描述

  1. 将图片尺寸压缩到CNN的输入尺寸
  2. 运行CNN的前向推导算法获取人物个体和部分和四肢检测的候选区域。
  3. 对这些区域进行非最大值抑制
  4. 将合并后的候选区域解析成单个人物,并生成姿态信息

5.1 PPNs(完成步骤2,3)

灵感同样来自于YOLO。
将图片分割为H * W个区域,每个区域分配一个候选区域检测集合

  1. 首先定义B相关集合
    {Bik} k∈K
    i ∈ G = {1, . . . , H × W}.
    K = {0, 1, . . . , K} 表示检测目标集合的下标,0号表示人物的总体特征
    Bik由以下式子得到

    下面对公式进行一些解释:
    p(R|k,i) 表示i号区域监测肢体部位k的概率。如果k的真实中心落在i号区域中,就认为i区域是检测k部位的。
    p(I|R,k,i) 表示第i个区域预测第k个BoundingBox的预测BoundingBox与真实BoundingBox之间的IOU(交面积)
    (Oix,k,Oiy,k) 表示边界框相对于网格边界的中心点,而且是归一化过的(所以在0-1之间)
    (Wik,Hik) 表示被图片长宽归一化后的边界框的长宽
  2. 接下来定义C相关集合
    相反的,对于每一个位于位置x的检测区域i, CNN也会产生一个四肢检测结果的集合。
    在这里插入图片描述
    其中,L是能被检测到的肢体。
    在这里插入图片描述
    C集合由以上式子得到,表示K1, K2的连接是肢体的概率
    ΔX表示肢体向量,作者定义肢体的活动范围不能超过以x为中心的W‘和H’范围区域
    在这里插入图片描述
  3. 最后,得到一个很厉害的loss函数
    【论文笔记】人体姿态估计网络 Pose Proposal Networks_第1张图片

5.2 Pose proposal generation(姿态信息生成 步骤4)

本篇文章将要介绍两种能够实时生成一致匹配的松弛方法:

  1. 选择最少的边数生成姿态的最小生成树骨架,其中的点和边将表示为合并的检测目标候选区域子集和四肢检测的结果。这样就不用一整幅图,只需要一颗以人物本体为根的树就可以了。
  2. 这个问题被进一步简化成为一系列二分图匹配子问题,而且相邻节点的匹配是独立决定的。
    总体思路和基础论文是相同的。

置信度问题

在这里插入图片描述
这两个概率都在B的定义里描述过了
其中n属于N = {1,2,3,4,…,N},N表示每个检测目标的合并候选区域数目
而四肢的置信度
那从k1号肢体的n1号区域 到 k2号肢体的n2号区域 的 有向连接,其置信度可以表示为:
在这里插入图片描述

6 咱们直接结尾好吧?

和CMU的基础论文相比,这篇论文想直接给差评orz
没有网络结构也没有代码,用一个神奇的CNN就把所有点置信度和关联域算出来了,一脸怀疑…
但是将图片分成格子而不是像素的思路是很棒的,这样就不用限制输入的分辨率问题了

你可能感兴趣的:(论文笔记)