Learning a Robust Topological Relationship for Online Multiobject Tracking in UAV Scenarios—一种鲁棒拓扑关系的无人机在线多目标跟踪算法2024
目录
自己做完小论文的一些创新点的实验之后,加上最近想明白了一些事情没必要考虑太多当个完美主义者,以后空闲的时间继续去分析作为一个MOT的初学者,对这个方面的理解和论文的一些感悟。从之前自己断笔的情况中走出来。
UAV无人机的跟踪笔者之前跟导师读过一篇,无人机的跟踪和行人的在线跟踪算法上是可以通用的,也是mot的一个重要研究方向。
摘要部分
对摘要部分总结为下面的几个方面:
- 首先第一点先说明了问题。许多现有的多目标跟踪(MOT)方法倾向于单独建模每个目标的特征在视点变化剧烈和遮挡情况下,目标的当前特征与历史特征可能存在显著差异,容易导致目标丢失。
意味着每个目标的视觉特征(如外观、运动等)是独立处理的。这种方法忽略了目标之间可能存在的关系或交互信息。例如,每个目标的特征会被看作是一个独立的实体,不会考虑目标之间的相互影响或者在跟踪过程中可能的相关性通过这个问题自然而然的就能引出图结构或者说拓扑结构的应用场景。
-
为了缓解这些问题,应该将拓扑关系(即由物体形成的几何形状)建模为对单个目标特征的补充,以保持稳定性。本文把框架图和关联图相结合,提出了一种新的MOT框架结构。利用空间和时间的拓扑关系
-
从技术上讲,帧图模型通过建模物体之间的距离和角度来抵抗视角变化,而关联图则利用拓扑特征的跨帧时间一致性来恢复被遮挡的物体
帧图(Frame Graph):
帧图的作用是通过捕捉物体之间的距离和角度关系来对抗视角变化。换句话说,帧图关注的是在一个特定帧内,物体之间的相对位置和姿态。视角变化可能会导致目标在图像中的位置和形状发生改变,而帧图通过建模物体之间的几何关系(如物体的距离和角度),使得跟踪模型能更好地适应这些变化,提高跟踪的鲁棒性。
关联图(Association Graph):
关联图则是利用物体在多个帧之间的拓扑一致性来恢复被遮挡的物体。在视频中,物体可能会被其他物体遮挡,导致在某些帧中无法直接看到目标。关联图通过利用目标在前后帧之间的拓扑一致性(即物体之间的相对关系或排列方式),帮助模型推断并恢复这些被遮挡的目标。
- 总结来说,帧图和关联图结合了不同层次的信息,一个关注物体间的几何关系,另一个关注跨帧的时间一致性,共同提升了多目标跟踪的准确性和鲁棒性。
尤其是在这种UAV的场景中,视角的变换和遮挡的情况会变得更加的严重做遮挡恢复的场景会更多。
引言和背景知识
由于笔者研一下了,看论文背景和引言的部分就不逐一的去看了,而是找一些核心的点去进行总结。
(A)在无人机平台的不规则运动下,候选对象的外观和位置发生了显著变化,从而对正确关联候选对象的轨迹构成了挑战。
b:在遮挡情况下,对象可能会因置信度低而被丢弃,从而导致潜在的对象丢失和相应的IDSw
c:对象之间的几何拓扑(下图中的角度和长度)保持一致,即使绝对对象位置变化很大。这个我感觉做行人跟踪的话这个方面还是比较少的
- ByteTrack 改进了关联策略以考虑低置信度对象,而OUTrack和OMC 直接预测遮挡(这里的之间预测遮挡的思路倒是第一次听说后面可以去看看)
几何形状保持时间一致性。然而,如果对象由于遮挡而被丢弃,则相应的几何形状被破坏。因此,可以通过相邻帧间的拓扑差异来预测目标的遮挡状态,从而进一步恢复目标。
这里也是自己做论文工作中用到的一个核心的知识,也就是使用历史帧中的信息来补偿单帧的信息。
在此基础上,本文提出了一种基于GNN的MOT框架 uni-graph-tracker(UGT)。
利用相对几何量(包括距离和角度)来构建当前对象的全局特征,而不是单独建模对象特征,从而确保相机运动下的稳定性。
它这里的用距离和角度的信息,就比传统的图论文中使用到,iou的指标来进行衡量要有创新性很多。
之前大多数的图关联自己的印象中多数还是利用到了iou距离相关的信息去做的。
论文中说:其中节点表示几何和外观特征,边表示每个对象与其邻居之间的特征相似性。通过消息传递过程,扩大了拓扑关系的感受域,获得了高阶节点特征。这里的思想上感觉是基本上差不多的。
我们可以通过帧间拓扑特征的传播来判断遮挡状态,进而尝试恢复被遮挡的物体。
这里和我师姐做的时空遮挡恢复的感觉是有点差不多的思想的。
- 通过将框架图与历史轨迹集合相结合来建立关联图。在这种情况下,其节点表示当前对象或轨迹的高阶特征,而边表示连接节点之间的相似性度量。和Gmtracker基本上是类似的
经过一个消息传递过程,拓扑特征的传播和融合的时间,和低置信度的遮挡对象可以确定其以前的拓扑结构。
- 文中给出的一个大致的概况和总结节点分类器(NC)被应用到融合的节点特征,并预测遮挡概率。如果概率相对较高,则恢复该对象;否则,它可能是背景噪声,并且丢弃该对象。最后,边缘分类器应用于边缘,并计算连接的当前对象和轨迹的匹配分数。
相关介绍的一些论文就不在整理了,之前很多论文自己都是写过的。
文章的主要贡献
-
与许多单独对每个对象的特征进行建模的方法相比,我们提出了一种新的基于GNN的MOT框架,该框架可以学习时间和空间的拓扑关系,以实现鲁棒的特征建模和准确的关联。
-
为了实现视点变化下的稳定特征,我们通过描述物体之间的几何形状来设计拓扑特征,使其具有不变性和稳定性。
-
为了更准确地确定被遮挡物体的状态,我们利用拓扑特征的时间一致性来预测遮挡概率,并进一步决定是否恢复。
核心方法
首先第一个部分必然是对我们的全局的方法进行一个概括。
UGT的结构如图所示:
整体概况
1)对于当前帧中的对象,几何和外观特征被组合为节点,并且节点之间的相似性确定边缘,构造(a)帧图(初始化)。通过消息传递过程,获得高阶拓扑关系特征(传播)。通过几何特征学习得到的拓扑关系在剧烈的视点变化下仍能保持较好的稳定性。2)每个轨迹与几个最相似的当前对象连接(top-k相似性原则),结合轨迹集和框架图形成(B)关联图。通过消息传递,当前对象和轨迹的特征被融合(组合)。然后,节点代表时间融合的拓扑特征,可以确定遮挡状态,恢复低置信度的遮挡对象;边代表连通检测和轨迹的匹配概率,匹配分数高的视为同一对象,即成功匹配;而其他则视为丢弃的匹配,以蓝色虚线表示(关联)。
由两部分组成:框架图[参见图(a)]和关联图[参见图(B)]
- 框架图:框架图负责在空间上对拓扑要素进行建模。由当前帧对象构造帧图(将几何和外观特征组合为节点,并且节点之间的相似性确定边)然后,进行信息传递过程(传播)以扩大感受野,从而获得高阶拓扑特征。
我自己还没有继续往下面看,这里也就是利用节点特征和几何特征构造图的节点,节点和节点之间的相似性距离构造边,传播的过程就类似GCN的一种聚合操作。
按照这种形式其实就是构造图结构的一个操作。
关联图的目的是估计对象的遮挡状态,并恢复它们。通过融合更新的帧图和轨迹集(其存储历史对象特征)来构造关联图。之后,在关联步骤中,估计每个对象的遮挡概率,并且恢复可能被遮挡的低置信度对象。边缘表示连接检测和轨迹的匹配概率,并且具有高匹配分数的那些被认为是相同的对象。
Frame Graph框架图
There are two main steps for obtaining a frame graph,namely, initialization and propagation
- initialization初始化
- propagation 传播或者说消息传递
Initialization
给定当前帧检测集:D =
{ d i } ∣ i = 1 M , \left.\left\{\mathbf{d}_{i}\right\}\right|_{i=1} ^{M}, {di}∣i=1M,
di由三元组(posi,fi,scorei)表示: 分别表示位置、外观特征和置信度分数
在不规则的摄像机运动下,绝对位置会发生突变。因此,必须考虑相对不变性拓扑。此外,我们利用外观特征来丰富物体的特征表示。
拓扑关系的测量基于角度和距离,并将对象的位置信息作为初始拓扑特征。
我们把框架图Graph F =(V,E)分成两部分
- 拓扑部分Ftpy =(Vtpy,Etpy) 对于Ftpy,每个节点表示检测的拓扑特征
- 外观部分Fapp =(Vapp,Eapp)
对于第i个检测框di,相邻对象的集合被定义为:其中r < 1是常数
N i = { d k ∣ d k ∈ D , dist ( d i , d k ) ≤ r ∗ min ( h 0 , w 0 ) } , \mathcal{N}_{i}=\left\{\mathbf{d}_{k} \mid \mathbf{d}_{k} \in\right.\left.\mathcal{D}, \operatorname{dist}\left(\mathbf{d}_{i}, \mathbf{d}_{k}\right) \leq r * \min \left(h_{0}, w_{0}\right)\right\}, Ni={dk∣dk∈D,dist(di,dk)≤r∗min(h0,w0)},
h0和w0分别是图像的高度和宽度,dist(·)表示欧几里得距离。物体之间的长度和角度能够充分描述物体之间的拓扑关系,并在视角变化的情况下保持良好的一致性。
因此我们构建初始化节点i的特征通过考虑节点与其相邻节点之间的归一化长度、角度和位置,即,
-
∥ means concatenate operation for short
-
L means the angle between three objects 表示三个物体之间的角度
-
ftpy(·)是一个多层感知器(MLP),它将原始张量编码到更高的维度。
在每个节点及其邻居之间建立边,并基于两个连接节点之间的位置和特征相似性初始化边特征,即,ei,j表示连接对象i和对象j的边的特征。
- 其中上标(0)表示初始值。(x j,y j)是边界框的中心点。
- 通过将裁剪的边界框区域输入到Re-ID模块来获得外观特征fi ∈ R512
我们使用由(6)计算的归一化高斯Wasserstein距离Wass(·,·)而不是IoU距离来更好地测量小区域边界框的空间关系[38],这在无人机捕获的图像中很常见。< ·,· >表示余弦相似性,gtpy也是一个MLP
Fapp的构造类似于Ftpy。为了平衡拓扑特征和外观特征的维数,我们使用三层MLP fapp将维数从512降到128,并在Fapp中初始化节点特征
n ~ i ( 0 ) = f a p p ( f i ) . \tilde{\mathbf{n}}_{i}^{(0)}=f_{\mathrm{app}}\left(\mathbf{f}_{i}\right) . n~i(0)=fapp(fi).
至于Fapp中的边缘特征,由于已经包括几何和外观相似性,因此我们采用相同的方法进行初始化。因此,以下等式成立:
最后把这两个图拼接起来,就完成了框架图的初始化过程,公式比较简单解析就不在写了,就是节点和边对应起来,两个图在和一块成框架图即可
Propagation消息传递
构建完图在进行初始化操作之后,在执行第二个大的步骤消息传递,类似GMTRACKER中的交叉图卷积的部分.或者类比GCN
迭代地执行消息传递步骤,以获得关于局部拓扑信息的节点和边的高阶特征,进行L次迭代。
消息首先从边传递到节点(记为v → e),然后从节点传递到边(记为e → v),如图所示。
这个消息传递的流程图确实画的好,a这里就是我们上面提到的初始化的过程,后面第一个的更新是更新边,从n1和n3节点更新e13,第二节点反过来用边在去更新节点,这样多次的迭代让信息去充分的融合.
框架图F的流程图。我们以白色圆圈中的三个相邻玩家(1、2和3)为例。(a)初始化:将几何和外观特征组合为节点,节点之间的相似性确定边。(b)传播:该过程从节点到边的传播(v → e)开始。对于玩家1和2,边特征e1,2由连接的节点n1,n2更新。然后,进行边到节点传播(e → v)。对于玩家1,节点特征n1由相邻边(e1,2,e1,3)和节点(n2,n3)更新。最后,得到更新后的框架图,其中的渐变色表示融合后的特征。传播步骤旨在对更大范围内的拓扑特征进行建模并形成全局空间视图。
- 具体地,两个连接的节点ni、nj的特征通过以下方式与对应的边ei、j的特征融合:
其中,γedge(·)是一个具有LeakyReLU激活函数和层归一化的三层MLP。
从顶点到边主要就是连接和MLP的一些操作步骤.
- 随后,节点ni与相邻边及其关联节点聚合,即,(eij,nj)和(eik,nk)(e → v):
γnode(·)是包括用于消息聚合的MLP和ReLU的复合函数
圆圈中的加号表示: 置换不变且可微的聚集函数。在本文中,softmax聚合用于实现均值的平滑度和最大值的锐度之间的平衡,如下所示:
最后,η()提出的具有可学习因子s的消息范数
上述传播过程也适用于Fapp,从而产生聚合的高阶特征n(L)i,最后,框架图F的最终节点特征ni是n(L)i和n(L)i的级联.
这里自己公式中在没看代码之前,自己感觉对这里的m的具体细节含义还是有点不理解.
Association Graph关联图
关联图可以分成两个步骤:组合和关联.在组合步骤中,将轨迹集和帧图链接。然后,还执行消息传递过程以融合跨帧的信息。在关联步骤中,通过利用拓扑结构的时间一致性,通过确定低置信度检测是否被遮挡来恢复或丢弃低置信度检测。
Combination
首先也是对其中的组合步骤来进行一些信息的说明.
- 在获得更新后的帧图F之后,我们获取当前帧的对象的高阶特征。随后,构造称为关联图A =(V′,E′)的二分图以促进关联步骤。
关联图A的流程图。我们以白色圆圈中的三个相邻玩家(1、2和3)为例。(a)组合:节点由帧图F中的历史轨迹特征fi和当前检测特征ni组成。边由top-k原理构造。然后,通过连接的节点f3和n3更新边e3,3(v → e步骤),并且通过注意机制使用连接的边(e1,3,e2,3,e3,3)和轨迹特征(f1,f2,f3)更新检测节点n3(e → v步骤)。(b)关联:NC估计每个节点的遮挡概率。然后,计算动态阈值以过滤当前检测。然后利用边缘分类器计算连接节点间的匹配概率,形成代价矩阵。
- V′由两个不相交的子集组成:一个子集由来自F的节点组成,而另一个子集由存储的轨迹集组成T,它使用来自历史帧的信息进行更新.
- 为了降低计算复杂度,受[18]的启发,基于V′ det和V′ trk中节点之间的top-k相似性原则建立边集E′,以消除不必要的连接。
为了聚合帧间信息,在两个节点集Vdet和Vtrk之间执行消息传递步骤.类似于框架图,消息首先从节点传播到边(v → e),然后从源节点沿着边传播到目的节点(e → v)
对应图中的b部分来实现的.
- 我们用第i个轨迹fi和第j个检测nj更新边缘ei,j,
其中α(l)i,j表示第l次迭代中附加注意力的权重。
Association
最后的一步就是如果通过关联目标进行遮挡恢复的最关键的一步了.
在传播之后,获得更新的A,并且应该求解概率检测对以进行关联。关联的步骤如图所示。
许多现有的方法采用固定阈值对所有检测进行滤波,而不判断对象的遮挡状态,这可能会丢弃遮挡检测或包含背景噪声.
相比之下,被遮挡对象在一致的遮挡过程中往往表现出明显的拓扑特征,而背景噪声(FP)往往在帧间上下文中呈现不连续的拓扑变化。
这些特征可以反映在关联图中节点的高阶特征中。基于这一观察,我们训练了一个由全连接(FC)层组成的NC神经网络来预测节点对应于被遮挡对象的概率。
因此,当pocc(n′ i)相对较高时,我们应该少依赖检测来恢复被遮挡的物体。相反,当pocc(n′ i)较小时,我们应该使用高置信度检测进行滤波,以抑制FP
读到这个地方之后真的感觉这个创新在这个地方真的是一个很合理的设计步骤,对于遮挡恢复来说是个很高效的提点策略.
其中s(·)是检测分数,τlow是τi和1的下限,称为与陡度相关的动态因子。δ确定上限。默认情况下,τlow = 0.1,1 = 1.2,δ = 0.5。τi称为动态阈值。
在更新V′ det之后,我们将边缘分类器φ应用于e′ i,j,以便计算n′ i和n′ j属于同一对象的概率
其中I(i,j)表示n′ i和n′ j之间是否存在边
训练策略
关联图负责两项任务:1)预测检测样本的遮挡以进行动态过滤。如果一个对象可能被其他对象遮挡,则遮挡概率应接近1,否则接近0。2)计算轨迹和检测样本之间的相似度。
为此,我们采用节点损失LN和边缘损失LE作为上述两个相应任务的监督。
关于最后的图网络的训练部分,自己打算看完代码之后再去进行更进一步的补充.脱离开训练代码去看损失函数和其中的步骤感觉比较空泛,但是核心的两个图的策略设计的还是很有参考价值的.