阅读笔记-Multiple People Tracking by Lifted Multicut and Person Re-identification
Multiple People Tracking by Lifted Multicut and Person Re-identification
主要工作
-
将MCLMP融入到多目标跟踪领域
MCLMP(Minimum Cost Lifted Multicut Problem)——最小花费改进多边切割问题,之前这类方法主要用在经典的图像分割领域,以像素点或者像素块作为图节点,为节点之间的每条边分配去切断惩罚(边权重,有正有负),在一定的约束条件下对节点间多余的边进行切割(切断图像块与图像块之间的联系,剩余聚合的图像块便可以看作一个具有相同语义的区域)以最小化惩罚,然后得到聚类结果。这类方法最重要的是通过一些合理的节点连接权重的度量函数,衡量节点之间的关系,然后便是利用一些启发式的算法对图进行切割优化。
应用到多目标跟踪领域,作者将图的每个节点等效成视频帧中的每个检测到的目标,同一帧中的目标之间可以彼此相连(这里相连的原因是作者对检测得到的bbox没有进行NMS会有一些重复的框),然后对前后相差$\delta_t$帧的目标也进行连接(通过中心点距离或者bbox或者外观相似的阈值条件确定),此时的连接都是regular edges,另外还有一点就是通过additional edges去连接部分外观度量特别相似,然后帧间隔大于$\delta_t$的目标。边的连接权重或者切断惩罚通过下面的向量计算式得到:
$$
\begin{array}{c}
c_e=\log \frac{1-p_e}{pe}=-<\theta_{\gamma}, f^{(e)}> \
f^{(e)} \leftarrow \left( f_{st}, f_{dm}, f_{reID}, f_{st}^2,f_{st} \dot \ f_{dm} \dots, \xi_{min}^2\right), \ f^{(e)} \in \cal{R}^{14}
\end{array}
$$
其中:- $\theta_{\gamma}$为可学习的映射参数(文中在训练跟踪视频的时候使用了一个Logistic Regression来预测这个参数)
- $f_{st}$代表检测框中心点和高相似度:$f_{s t}=\frac{\sqrt{\left(x_{v}-x_{w}\right)^{2}+\left(y_{v}-y_{w}\right)^{2}}}{\bar{h}}$
- $f_{dm}$代表两个目标的关键点集合匹配度(感觉有点儿像交并比),但又不完全是(图1是第一篇用这种DeepMatching的论文:Multiperson tracking by multicuts and deep matching)
- $f_{reID}$代表融合目标关键点特征的目标相似度(by StackNetPose),具体怎么融合看主要工作2
- $\xi_{min}$表示两个目标检测置信度中,较小的那个置信度。
图1 Deep Matching 示意图
-
提出融合人体外观和人体姿态的深度评估网络
作者提出了融合深度外观和人体关键点的评估网络名为:StackNetPose。具体做法为,先通过单独的人体关键点检测网络,得到各个关键点(每个行人图像14个points)的响应图(宽高与原图一致),然后融合成7张单通道的heatmap,两张行人图像得到14个heatmap(如下图中绿色部分),之后将这些heatmap与两张行人图像的RGB通道堆叠得到一个拥有20个通道输入的特征图,最后通过一个分类网络评估行人图像之间的相似度。
MCLMP问题建模及约束解释
最小花费改进多边切割问题的定义或者用法如第一节所述,下面以一个简单得了例子来表述如何构建一个MCLMP模型。这是一个简单的双向图模型,每条边旁边的数字代表切掉这条表对应的花费或者收益,实线连接的边表示连接(joint),虚线连接的边表示剪掉(cut)。
问题建模
MCLMP的规划模型如下:
-
目标函数
$$
\min {x \in{0,1} E^{\prime}} \sum{e \in E^{\prime}} c_{e} x_{e}
$$其中$E’$表示图中所有的边(包括剪掉和连接的,包括regular edges 和 additional edges,additional edges是自己设置的),$c_e$表示$e$这条边剪掉所带来的花费,比如上图中$V_1,V_6$两个节点的弧形连接边,如果将这个边cut,那么将会花费5。$x_e$表示边的连接状态,$x_e=1$表示这条边被cut,$x_e=0$表示这条边是joint。因此对于一个都是joint关系的图,总体的花费都为0,需要cut掉一些产生收益的负权边(如上图的-1,-0.5的这些边)来进一步减少花费。
-
约束条件
约束1:
$$
\forall Y \in \operatorname{cycles}(G), \ \ \forall e \in Y: x_{e} \leq \sum_{e^{\prime} \in Y \backslash{e}} x_{e^{\prime}}
$$直观表述:对任意一个循环连接(cut的虚线边也算作连接,也存在循环连接),循环圈中的每条边的连接状态值,小于等于剩余边连接状态值的之和。通俗解释,一个循环连接,要么就全都是joint的,此时所有的$x_e=0$,有$0 \le 0$,约束成立;要么就要有两条及以上的边是cut的,此时对被cut的边有$1 \le 1+k$,$k$为循环连接中cut边数量-2, $k \ge 0$。
约束2:
$$
\forall v w \in E^{\prime} \backslash E , \ \ \forall P \in v w \text {-paths(G) }: x_{v w} \leq \sum_{e \in P} x_{e}
$$直观表述:对任意一条additional edges,其任意一条可行的regular edges组成的path(状态为0才能称之为path),path中所有连接边的状态值之和应该大于additional edges直接连接的状态值。通俗解释:任意一条additional edges(比如图3中的V1——V6边)状态为joint的前提是存在一个同样为joint的连接通路,这个通路可以是:V1——V2——V3——V6,也可以是:V1——V2——V5——V6,也可以两个都存在。
约束3:
$$
\forall v w \in E^{\prime} \backslash E , \ \ \forall C \in v w-\operatorname{cuts}(G): 1-x_{v w} \leq \sum_{e \in C}\left(1-x_{e}\right)
$$通俗表述:对任意一条additional edges(比如图3中的V1——V6边)状态为cut的前提是所有V1——V6的连接通路均不存在一些状态为cut的边,这些通路包括:V1——V2——V3——V6,也可以是:V1——V2——V5——V6,V1——V4——V5——V6,都要有cut边。
图例解释:
- 不满足约束(1)
假设优化剪边后的图连接关系如上,此时对于V1——V2——V5——V4——V1循环,边$x_{12}=1$,而其余的边$x_{e^{'}}=0$,因此对于约束(1)$x_{12}=1 \nleq 0$不满足,不是问题的可行解。
- 不满足约束(2)
假设优化剪边后的图连接关系如上,此时因为存在V1——V4——V5——V6的path, 所以additional edges $x_{16}$应该为joint状态。
-
不满足约束(3)
假设优化剪边后的图连接关系如上,此时因为任何一条从V1——V6的通路都带有cut状态的边,因此additional edges $x_{16}$应该为cut状态。
最后放上正确优化后的图结构:
此时的多边切割划分为为(-1 + -1 + -1 + -1 = -4),相比原来的花费0,确实更小了。
相关文献:
Multi-Person Tracking by Multicut and Deep Matching
Multiple People Tracking by Lifted Multicut and Person Re-identification
An Efficient Fusion Move Algorithm for the Minimum Cost Lifted Multicut Problem