Advertisement

Learning a Neural Solver for Multiple Object Tracking 论文简读

阅读量:

前言

  1. 该研究开发出一种依托图神经网络实现的离散多目标跟踪方案。
  2. 本研究提出的方法能够实现同步完成不同帧之间检测成本计算和匹配操作。
  3. 该方法的表现已超越Tracktor在SOTA(State of the Art)领域中的表现。

贡献

  1. 开发了一种新型多目标跟踪解决方案,并将其构建于信息传递网络之上。该系统通过同步实现了特征特性学习与结果预测任务。
  2. 创造了一个创新性的时空感知机制,并从灵感中汲取于经典的多目标跟踪图公式化框架。
  3. 通过实验验证表明,在多个公开基准测试中该方法均展现了显著优越的性能。

跟踪流程

  1. 图构建:基于视频中目标检测的结果集合构建一个图结构,在该图中每个节点代表一次目标检测结果而每条边则代表两 detections 之间的关联关系。
  2. 特征编码:通过卷积神经网络在边界框图像上提取外观特征嵌入并初始化各节点(node)的空间位置信息。
  3. 神经信息传递:在整个图中依次完成信息传播过程从直观上看在每次迭代过程中每个 node 将其观察到的空间位置信息通过相连 edges 分享给相邻 node 而每个 edge 又会将自身空间位置变化相关的几何特征向量传递给对应的 node 从而实现节点与 edge 的共同更新其携带的信息逐渐融合了全局图结构中的高阶语义关系。
  4. 模型预测:通过所学模型对最终各 edge 的几何嵌入进行预测以得到各 frame 下物体运动轨迹的基本参数随后按照一定的规则将连续值量化为离散的目标跟踪路径。

图构建

  1. 在基于检测的跟踪范式中,给定目标检测集合O={o1,o2,...,on}O={o_1,o_2,..., o_n}作为输入,其中nn表示了视频中所有帧的目标总数,每个节点被表示为oi=(ai,pi,ti)o_i=(a_i,p_i,t_i),其中aia_i表示了边界框里未加工像素,pip_i了检测的2D图像坐标,tit_i表示了帧数。跟踪轨迹被定义为具有时间顺序的目标检测集合Ti={oi1,...,oini}T_i={o_{i_1},..., o_{i_{n_i}}},其中nin_i是形成轨迹ii的检测的数量。多目标跟踪的任务就是找到这样一个跟踪轨迹集合T∗={T1,...,Tm}T_*={T_1,...,T_m}能够最好的解释给定的检测集。
  2. 这个问题被建模成一个无向图G=(V,E)G=(V,E),其中V:={1,...,n}V:={1,...,n},E⊂V×VE\subset V\times V,每一个节点i⊂Vi\subset V代表了一个独立的检测oi⊂Oo_i\subset O。对不同帧的每对检测构建一条边EE,允许恢复有丢失检测的跟踪轨迹(对匹配且不在连续帧上的检测进行插值)。将给定检测集划分为跟踪轨迹的任务能够被视为将图中节点分组为不连续的组分。场景中的每个跟踪轨迹T∗={T1,...,Tm}T_*={T_1,...,T_m}能够被映射到图中的一组节点{i1,...,ini}{i_1,...,i_{n_i}}。
  3. 对图中的每条边引入了一个二元变量,如果某些边连接了属于同一条跟踪轨迹且在同一条跟踪轨迹上是时间连续的节点,那么其标签为1,否则为0。跟踪轨迹也能被表示为边的集合{(i1,i2),...,(ini−1,in)}⊂E{(i_1,i_2),...,(i_{n_i-1}, i_n)}\subset E,对于不同时间戳上的每对节点(i,j)∈E(i,j)\in E,定义二元变量y(i,j)y_{(i,j)}如下:y(i,j):={1∃Tk∈T∗s.t.(i,j)∈Tk0otherwisey_{(i,j)}:=\left{ \right.
    当y(i,j)=1y_{(i,j)}=1的时候边(i,j)(i,j)被视为激活状态。因为每条跟踪轨迹是节点不相交的,即一个节点不会属于超过一个跟踪轨迹,因此y(i,j)=1y_{(i,j)}=1满足两个线性约束,对于每个节点i∈Vi\in V:∑(j,i)∈E s.t. ti>tjy(j,i)≤1\sum_{(j,i)\in E \ s.t. \ t_i>t_j}y_{(j,i)}\leq 1 ∑(i,k)∈E s.t. ti<tky(i,k)≤1\sum_{(i,k)\in E \ s.t. \ t_i<t_k}y_{(i,k)}\leq 1
    这个不等式是流守恒约束的简化版本,强制了每个节点只能与最多一个过去帧的节点以及最多一个未来帧的节点相连。

为了实现图划分的目的, 该论文提出了一种方法用于直接学习预测哪些边会被激活, 即那些边上的二元变量最终取值. 为此, 我们将此问题建模为一个边上的二分类问题, 其标签即为对应的二元变量值yy. 总之, 通过经典的网络流公式化方法将多目标跟踪问题建模为一个完全可学习的任务

特征嵌入

  1. 外观嵌入:通过一个卷积网络NvencN_v{enc}直接从RGB数据中提取特征嵌入。对于每一个检测块aia_i以及对应的图像块aia_i,则通过计算hi(0):=Nvenc(ai)h_i{(0)}:=N_v^{enc}(a_i)获得节点嵌入。
  2. 几何嵌入:不同时间戳ti≠tjt_i\neq t_j的检测oio_i与ojo_j之间,则基于其边界框坐标(xi,yi,hi,wi)(x_i,y_i,h_i,w_i)以及(xj,yj,hj,wj)(x_j,y_j,h_j,w_j),计算相对距离与尺寸:(2(xi−xj)hi+hj,2(yi−yj)hi+hj,log(hi/hj),log(wi/wj))(\frac{2(x_i-x_j)}{h_i+h_j},\frac{2(y_i-y_j)}{h_i+h_j},\log(\frac{h_i}{h_j}), \log(\frac{w_i}{w_j}))随后将此特征向量与时间差tj−tit_j-t_i以及相对外观差值||Nvenc(aj)−Nvenc(ai)||||N_v{enc}(a_j)-N_v{enc}(a_i)||连接起来,并将其输入到神经网络NeencN_e{enc}中以获得初始边嵌入h(i,j)(0)h_{(i,j)}{(0)}。

信息传递步骤

信息传递网络

  1. 让G=(V,E)G=(V,E)表示图,hi(0)h_i^{(0)}表示每个节点i∈Vi\in V的节点嵌入,h(i,j)(0)h_{(i,j)}^{(0)}表示每个边(i,j)∈E(i,j)\in E的边缘嵌入,信息传递网络的目标是在整个图上传播包含在节点和边特征变量的信息。
  2. 信息传递步骤被划分为两个步骤:一个是从节点到边(v→e)(v\rightarrow e),另一个是从边到节点(e→v)(e\rightarrow v),这个更新步骤连续执行一个固定步数LL,对于每一个信息传递步骤l∈{1,...,L}l \in {1,..., L},通常形式的更新如下:(v→e)h(i,j)(l)=Ne([hi(l−1),hj(l−1),h(i,j)(l−1)])(e→v)m(i,j)(l)=Nv([hi(l−1),h(i,j)(l)]) hi(l)=Φ({m(i,j)(l)}j∈Ni)其中NeN_e和NvN_v代表了可学习的函数,[.][.]表示了连接操作,Ni∈VN_i\in V表示了ii的邻域节点,Φ\Phi表示了一个顺序不变的操作,即累加、最大值或者平均值。在LL次信息传递步骤之后,每个节点包含了图中距离LL处的所有节点的信息。因此,LL代表了一个和卷积神经网络中接受域类似的角色,允许嵌入能够捕获检测相邻帧的信息。

时间感知的信息传递

我们将信息传递过程中的边临时嵌入m(i,j)(l)分为两部分:一部分来自前一帧的节点,另一部分来自下一帧的节点。我们分别用N_i^{fut}N_i^{pas}表示与当前节点i相邻的前一帧和下一帧节点。同时,在这一过程中也分别构建了两个不同的多层感知器网络N_v^{fut}N_v^{pas}。在每一个信息传递步骤l中:

  • 对于每个节点i\in V
  • 我们分别从当前时刻t=l-1的状态h_i(t)、当前边状态h_{(i,j)}(t)以及初始状态h_i(0)中提取历史信息,
  • 并基于这些历史信息生成当前边状态m_{(i,j)}^{(l)}
  • 其中初始嵌入h_i(0)被成功整合到计算过程中。
  • 根据当前节点i的身份属性(即其是前一帧还是下一帧相关),我们分别计算对应的临时特征表示:
    • h_{i,pas}(l) = \sum_{j\in N_i^{pas}} m_{(i,j)}^{(l)}
    • h_{i,fut}(l) = \sum_{j\in N_i^{fut}} m_{(i,j)}^{(l)}}

成功获取了过去时间段内节点i的所有邻居节点j的过去时间步长为t的特征嵌入表示h_{i,past}(t)以及未来时间段内节点j的时间步长为t+1的未来时间步长表示h_{i,future}(t+1)。随后我们将提取到的两个特征向量进行融合处理并输入到最后一个多层感知机N_v中以完成信息更新操作从而得到当前时刻节点i的状态表示h_i(t)

跟踪轨迹推理

最后一步的信息传递过程中的边数据被输入至分类网络NeclassN_{e}^{class}中进行处理后,在该网络内部生成了一个二进制变量(即该边是否被激活)。由于NeclassN_{e}^{class}输出的是一个经过sigmoid函数处理后的结果(其输出范围限定在0至1之间),因此我们可以采用简单的四舍五入方法或者通过线性映射的方式直接转换为二进制结果来判断该边是否被激活。

个人看法

本文采用了具有时间感知能力的改进型图神经网络的信息传递机制,在该框架下实现了边捕获能力的显著提升。通过动态调整相邻帧内节点的相关性权重,在判定边是否被激活的过程中,系统可以更加灵活地融合多时序特征数据,并最终完成精准的检测配准过程。

全部评论 (0)

还没有任何评论哟~