基于张量秩一分解的多目标跟踪方法
读‘X. Shi, H.Ling, J.Xing, W.Hu, Multi-target Tracking by Rank-1 Tensor Approximation[J],CVPR,2014’笔记
这篇文章利用了张量的秩一分解建模了多目标跟踪中的data association问题。
首先我们了解下张量的基本知识
张量
张量是向量的推广,阶张量表示为
,每一个元素表示为
.
张量的n模积:张量与矩阵
的n模积表示为
,得到的是新的张量
.

显然,当张量与向量进行n模积时,新的张量的阶数就减少一阶。
秩一张量:如果一个K阶张量能够表示成K个向量的外积,那么该向量称为秩一张量,即

张量的近似秩一分解:对于K阶张量,寻找K个单位向量
和尺度因子
,使重构误差

最小,则称之为张量近似秩一分解。
令,那么上述最小化问题转化为

因为都是单位向量,所以
,于是
.
那么等价于

这里表示点乘.
所以张量的近似秩一分解问题就转化为下面的最大化问题

Multi-Dimensioanl Assignment (MDA)
那么张量和多目标跟踪有毫子关系呢?我们先来看看多维数据关联的目标式

这里面呢其实是用来给不同的轨迹标号的,
表示第一帧中的第
个目标在该轨迹上。
将轨迹线表示成下面的形式更容易理解

就表示前后两帧中目标的关联,
。
考虑到关联匹配中都是非负变量,我们将(2)式写成类似于(1)式的形式

这里的是对两帧之间的关联进行的重新编号,如下图所示。

所以(3)式和(1)式的不同点就在于约束条件的不同,张量的秩一分解中要求是单位向量,而(3)式中要求得到的满足对应的关联矩阵的每行每列的
单位范数。
文中给出了一种单位范数约束的张量近似迭代算法,如下

并且给出了算法的收敛性证明,我觉得这点很重要~


而(3)式中要求的是行列分别单位化,所以这里对算法进行稍微的修改,在每一次更新后对
所对应的矩阵进行行列的
单位化,下面给出了具体算法,其实能发现算法5和算法4除了归一化方式不一样,其他都一毛一样。

这里





基于张量近似的多目标跟踪算法
在实际应用中,对视频进行分批处理,当然批之间存在部分时间重叠,每一批使用算法5得到轨迹段,然后通过重复的点实现轨迹段的串接,形成更长的轨迹。

张量的构建
算法已经有了,现在问题就是张量的构建问题了,其元素项
表示由连续的两帧轨迹假设组成的全局关联假设所对应的能量。
文中给了两种组织形式,分别类似于两帧匹配问题和网络流优化问题。
如果将轨迹的全局能量表示成局部两帧关联的能量之和,那么求解问题就转化为求解K个两帧匹配问题的最优解

其中表示第i帧中目标的个数。
如果将轨迹的全局能量表示成局部两帧关联的能量之积,那么求解问题就和网络流的优化形式相似。

关联假设的产生
实际应用中相邻帧之间的目标往往距离较近的才可能存在关联关系,所以为了降低张量的大小,可以对关联加上区域约束,即目标仅可能与一定范围内的下帧中目标产生关联。
对于目标的遮挡、进入和离开问题,论文中引入了虚拟目标的概念。虚拟目标没有实际的物理意义例如位置、表观等,其作用是将孤立的目标引导出去,避免干扰存在真实关联的目标。对每一帧中每个目标的检测,都在相邻帧中设置一个对应的虚拟目标。
算法的初始和终止
三种初始方案:
所有的局部关联
均等
权值初始化,按照关联的强度赋予不同的权重
决策初始化,先用匈牙利算法进行两帧关联,然后对结果进行扰动(这里要保证
, 0-1将使算法陷入静态点)
初始化之后必须行列规范化
两种终止方案:
满足最大迭代次数
相邻迭代能量变化微小
后续处理:
因为最终输出要求是0-1值,所以要对近似张量分解得到的结果进行二值处理,这个时候可以采用匈牙利算法寻找使全局轨迹概率最大的轨迹。
分析与总结
论文的主要创新点在于将MDA(multi-dimensional association)问题放到了张量的近似秩一分解的框架中,通过对张量的分解来获得相邻帧之间的关联关系。
由于标准的张量秩一分解中基向量要求规范化的,而在MDA问题中的约束是对应的关联矩阵行列都是
规范化的,所以论文中给出了一种迭代算法,并通过证明算法每一步都能够使目标函数上升推断出算法是收敛的(单调有界)。
接下来我们来看一看该模型是怎么包括MTT中待解决的几个要素的。
观测变量与状态变量。该模型直接使用的是观测变量,也就是说仅仅是将检测到的变量进行MDA,并不能保证跟踪结果的光滑等特性
动态模型。这部分内容主要包括运动的惯性问题,体现在张量的构建中,论文中给出的
体现了这部分内容

其中

其中分别表示该轨迹上k,k+1帧目标的速度矢量,显然第一项表示速度方向差异,第二项表示速度大小差异。
表观模型。显然相邻帧中同一目标应该是变化缓慢的,(4)式中
则表示的是表观相似性。

其中第一项计算的是直方图的交,第二项刻画的关联目标的面积大小相似性。
遮挡
轨迹开始与终止
论文中仅仅在两帧关联时添加了一个虚拟节点,用来处理遮挡、轨迹开始和轨迹终止。
个人觉得这里处理的太粗糙,没有考虑到目标被遮挡程度的问题,也没有说明什么情况下认为是漏检,什么情况下是轨迹终止,更重要的是没有说明什么情况下认为是轨迹的开始,因为不能保证第t帧结束的轨迹与第t+1帧的虚拟目标和第t+1帧新进入的目标谁的关联性更大。
Note. 论文中的算法可以并行处理。且算法中将的行列
规范化松弛成
规范化进行软决策,能够减少引入关联误差的风险。