DeepCut:多人姿态估计的联合子集划分与标注.

本文提出了一种自底向上的多人姿态估计方法DeepCut,把估计图像中未知数量的人体姿态看作一个优化问题。首先从图像中提取关节点候选集合$D$,并将其划分到$C$个关节类别中。定义三元组$(x,y,z)$:

\[x \in \{0,1\}^{D\times C},y \in \{0,1\}^{\begin{pmatrix}D \\ 2\end{pmatrix}},z \in \{0,1\}^{\begin{pmatrix}D \\ 2\end{pmatrix}\times C^2}\]

其中$x_{dc} = 1$表示关节点$d$属于类别$c$,$y_{dd’}=1$表示关节点$d$和$d’$属于同一个人,$z_{dd’cc’}=x_{dc}x_{d’c’}y_{dd’}$是一个辅助变量。

为了将二值标签$(x,y,z)$约束为多个人的关节姿态,引入以下线性不等式。

  1. 公式1保证每个关节点最多属于一个类别;
  2. 公式2保证若关节点$d$和$d’$属于同一个人,则它们都没有被抑制;
  3. 公式3保证若关节点$d$和$d’$属于同一个人,关节点$d’$和$d’‘$属于同一个人,则关节点$d$和$d’‘$也属于同一个人;
  4. 公式4保证$z_{dd’cc’}=x_{dc}x_{d’c’}y_{dd’}$成立。
\[\begin{aligned} \forall d \in D, \forall cc^{\prime} \in\begin{pmatrix}C \\ 2\end{pmatrix}:\quad & x_{d c}+x_{d c^{\prime}} \leq 1 \qquad \qquad (1) \\ \forall d d^{\prime} \in\begin{pmatrix}D \\ 2\end{pmatrix}:\quad & y_{d d^{\prime}} \leq \sum_{c \in C} x_{d c} \\ & y_{d d^{\prime}} \leq \sum_{c \in C} x_{d^{\prime} c} \qquad\qquad (2) \\ \forall d d^{\prime}d^{\prime \prime} \in\begin{pmatrix}D \\ 3\end{pmatrix}:\quad & y_{d d^{\prime}}+y_{d^{\prime} d^{\prime \prime}} -1 \leq y_{d d^{\prime \prime}} \qquad (3)\\ \forall d d^{\prime} \in\begin{pmatrix}D \\ 2\end{pmatrix}, \forall c c^{\prime} \in C^2:\quad & x_{d c}+x_{d^{\prime} c^{\prime}}+y_{d d^{\prime}}-2 \leq z_{d d^{\prime} c c^{\prime}} \\ & z_{d d^{\prime} c c^{\prime}} \leq x_{d c} \\ & z_{d d^{\prime} c c^{\prime}} \leq x_{d^{\prime} c^{\prime}} \\ & z_{d d^{\prime} c c^{\prime}} \leq y_{d d^{\prime}} \qquad \qquad (4) \end{aligned}\]

对于任意$(d,c) \in D\times C$,估计关节点$d$属于类别$c$的概率为$p_{dc}\in [0,1]$。对于任意\(dd' \in \begin{pmatrix}D \\ 2\end{pmatrix},cc' \in C^2\),估计关节点$d,d’$属于同一个人的概率为$p_{dd’cc’}\in (0,1)$。

子集划分和标记问题可以被建模为一个整数线性规划(integer linear program, ILP)问题:

\[\begin{aligned} & \min _{(x, y, z) \in X_{D C}}\langle\alpha, x\rangle+\langle\beta, z\rangle, \\ & \alpha_{d c}:=\log \frac{1-p_{d c}}{p_{d c}} \\ & \beta_{d d^{\prime} c c^{\prime}}:=\log \frac{1-p_{d d^{\prime} c c^{\prime}}}{p_{d d^{\prime} c c^{\prime}}} \\ &\langle\alpha, x\rangle:=\sum_{d \in D} \sum_{c \in C} \alpha_{d c} x_{d c} \\ &\langle\beta, z\rangle:=\sum_{d d^{\prime} \in\left(\begin{array}{c} D \\ 2 \end{array}\right)} \sum_{c, c^{\prime} \in C} \beta_{d d^{\prime} c c^{\prime}} z_{d d^{\prime} c c^{\prime}} \end{aligned}\]

为了获得ILP的可行解,使用最先进的ILP求解器Gurobi从(平凡的)无约束问题开始,求解目标的一系列松弛。一旦找到整数可行解,就通过广度优先搜索来识别是否违反不等式(1)-(5),如果有的话,将它们添加到约束池中,并重新求解紧松弛。一旦找到了满足所有不等式的整数解,以及证明最优性差距低于$1\%$的下界,就终止搜索。