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保证每个关节点最多属于一个类别;
- 公式2保证若关节点$d$和$d’$属于同一个人,则它们都没有被抑制;
- 公式3保证若关节点$d$和$d’$属于同一个人,关节点$d’$和$d’‘$属于同一个人,则关节点$d$和$d’‘$也属于同一个人;
- 公式4保证$z_{dd’cc’}=x_{dc}x_{d’c’}y_{dd’}$成立。
对于任意$(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\%$的下界,就终止搜索。