传统多目标跟踪算法的数据关联大多都依赖于手工制作的约束来计算不同帧中对象之间的相关性,比如外观、运动、空间接近度、分组等。DAN 多目标跟踪网络则是以一种端到端的方式生成不同帧对象之间的亲和力,以此形成帧间目标的亲和力矩阵,借助亲和力矩阵将当前帧检测到的目标分配到对应的轨迹中。
如上图所示,DAN 网络分为两个部分,特征提取模块和亲和力矩阵计算模块.其中特征提取模块的主要框架来自于 VGG16网络,将 VGG16 网络的全连接层和最后一层都换成了卷积层,与原始 VGG16 网络相比对于目标的特征特征提取效果更明显,并且新网络的输入图像的尺寸要比原 VGG16 网络要更大,因此在特征提取模块的最后任然能够计算出 56X56 的特征图。在 VGG16 框架以后又增加了基层卷积层,使得特征提取网络更深以此提取到更深层次的特征语义信息,最终得到3X3X256 的特征张量,DAN 网络结构如下表所示。网络的输入为当前帧的图像以及当前帧检测出的目标的中心点坐标,网络将提取目标中心点的不同层的特征组合成最后的特征矩阵。
为了确保从后面层采样的特征能够充分考虑到整个目标以及周围的环境,以及有足够的表现力,学习大量的特征图任然是必要的。然而,将所有层的特征都提取出来组合成最后的特征图,这个综合特征图的特征向量会过大且实际用途不大,因此根据实验结果将选出其中的 9 层的特征图用于组成最后的综合特征,并且通过卷积层减少特征向量的维度,这样可以提高特征图的利用效率。这种减少是通过从特征提取器的两个主流分支出来的附加卷积层来操作的,附件的卷积层使用 1x1的卷积内核降低特征向量的维度,下表列出了需要提取特征的图的网络层数,以及附加卷积层的输入和输出维数。附加卷积层将链接来自下表中的九层特征向量,形成检测到的目标的综合特征向量,向量维度为 520。每一帧的最大目标个数最大值为Nm,实验中设定为每一帧最大目标数Nm=80 ,因此最终得到的综合特征矩阵为 Nmx520,若当前帧中所检测得到的目标数不够 80,综合特征矩阵中不够的将用 0 来填充。
从上特征提取模块得到的综合特征矩阵将输入到亲和度矩阵计算模块中,该模块将计算出两帧中各个检测目标的关联度。两帧的综合特征矩阵以目标数为排列组合最终形成 NmxNmx1040 的矩阵,即两帧中的每个目标两两组合。然后将矩阵输入带有 1x1 卷积核的 5 层卷积压缩网络,将矩阵压缩为NmxNm的亲和力矩阵M ,网络的详细结构参见上上表 所示,所得矩阵中的值即为两帧中各个目标之间的亲和度。由于压缩网络所得到的亲和力矩阵无法表示新目标出现核旧目标离开的情况,所以分别给目标矩阵的行和列增加一行,得到维度为Nmx(Nm+1)的矩阵M1与(Nm+1)xNm的矩阵M2, M1中第(Nm+1)列为1 的表示行号所对应的老目标从当前帧中消失,M2 中的第(Nm+1)行中为 1 的表示列好对应的新目标无法与已有路径对应,则是新的跟踪目标。
[1] Sun S J, Akhtar N, Song H S, et al. Deep affinity network for multiple object tracking[J]. IEEE transactions on pattern analysis and machine intelligence, 2019, 43(1): 104-119.