Towards Frame Rate Agnostic Multi-object Tracking—迈向帧率无关的多目标跟踪
Towards Frame Rate Agnostic Multi-object Tracking—迈向帧率无关的多目标跟踪
发表在IJCV 2023年
作者:Weitao Feng, Lei Bai, Yongqiang Yao, Fengwei Yu & Wanli Ouyang
研究目标:多目标跟踪的帧率无关性研究
IJCV 在计算机视觉领域的影响力非常大,其 影响因子(Impact Factor)通常较高,是很多计算机视觉研究人员和学者首选的期刊之一。期刊的影响因子在学术界反映了它的引用和学术影响力,通常是 A 类期刊。(和CVPR相当了)
这里是杭电的一个刚认识的朋友推荐的,学习的目标是结合论文理论了解一下复杂的关联场景是如何建立的。
背景知识—帧率与多目标跟踪的关系
帧率反映了图像序列中图像更新的速度或频率,影响目标跟踪系统对运动目标的感知和跟踪能力。
- 帧率高:在高帧率场景中,每秒钟捕获更多的图像帧,相邻的帧之间差距小,运动信息更加细腻和连续,跟踪系统能够更精确地捕捉到目标在空间和时间上的变化。
在高帧率场景下,运动线索更加可靠,但可能会面临计算量过大的问题。
- 帧率低:在低帧率场景中,视频每秒钟的帧数较少,相邻帧之间的时间间隔较长。此时,目标的运动可能在帧与帧之间跨越较大的距离,运动信息会变得不那么连续或容易丢失。此时,外观线索(如目标的颜色、形状、纹理等)变得更加重要,因为外观特征相对稳定,可以帮助跟踪系统弥补运动信息的不足。
低帧率下:虽然外观线索较为稳定,但缺乏运动线索时,目标跟踪可能会因为 目标外观变化或快速运动而出现跟踪丢失的情况。
- 多目标跟踪 (MOT) 领域的研究大多假设输入的视频流具有固定的采样帧率,即视频中每秒钟的图像帧数保持不变,系统在设计和实现时大多是基于这一假设进行优化的。这种假设虽然在传统的视频和图像处理任务中是常见的,但随着多种帧率场景(如动态视频流、不同帧率的视频源等)逐渐成为现实,现有的 MOT 方法可能无法很好地应对帧率变化带来的挑战。
摘要整理与总结
-
目前的MOT研究仍然局限于输入流的固定采样帧率。 根据经验当输入帧速率发生变化时,所有最新最先进的跟踪器的准确性都会急剧下降。
-
本文的研究工作主要是:将注意力转向帧率不可知 MOT (FraMOT) 问题上去了。在本文中,我们提出了一种具有定期训练方案(FAPS:具有周期性训练方案的帧率无关多目标跟踪框架(FAPS))的帧率不可知 MOT 框架,以首次解决 FraMOT 问题。
-
提出了一个帧速率不可知关联模块(FAAM老师推荐重点学习的部分),它可以推断和编码帧速率信息,以帮助跨多帧速率输入进行身份匹配,从而提高学习模型在 FraMOT 中处理复杂运动外观关系的能力。
-
提出定期训练方案,通过跟踪模式匹配和融合来反映训练中的所有后处理步骤
-
-
尝试在
已知帧率
和未知帧率
两种不同模式
下解决新的挑战,旨在处理更复杂的情况。
在MOT17/20 dataset (FraMOT version) 版本上进行实验验证的。
介绍与相关工作
多目标跟踪算法仍然存在不完善的地方主要因为:处理具有固定帧速率的视频。 现在先进的追踪器帧率的变化表现的是很不稳定的。
图 1 最近最先进的跟踪器在多帧速率设置下的性能。 当帧速率降低时,MOTA 和 HOTA 分数都会急剧下降。 与以前的方法相比,我们提出的方法具有更好的处理帧速率变化的能力。
跟踪器对帧率的信息相当的敏感了,那么我们该如何去解决这一个问题呢?
尽管为每个帧速率训练和部署单独的跟踪器是可行的,但这种简单的解决方案既不方便也不高效,因为对于大型系统来说,为每个应用程序和帧速率开发、选择和部署最佳跟踪器既费力又昂贵。
引出了研究的问题:因此有必要提出能够像人类一样理解不同帧速率视频的跟踪器。 这些跟踪器应该是通用的、统一的并且与帧速率无关。
- 直接的方式是在具有多种不同帧率的数据集上训练经典设计的模型(即帧率不可知训练)。 然而,由于以下两个挑战,这种普通设计效果不佳。
- 首先,运动-外观关系的最佳匹配规则在不同的输入帧速率下是不同的。
空间距离较大,具有相似外观的两个检测在较高帧速率视频中可能不太可能被判断为同一对象,但在较低帧速率视频中更有可能被判断为同一对象。
- 其次,传统帧对关联训练方案中涉及多帧率数据导致训练和推理之间存在较大差距。
训练阶段未包含但在推理阶段应用的后处理步骤将改变检测到的对象位置,导致训练阶段关联网络的输入数据与推理阶段不同。这些变化在正常(更高)帧率下较小,因此在传统的训练方案中可以忽略不计。然而,在低帧率下这些变化被放大,并且在多帧率训练中不可忽视。
- 提出了一个带有周期性训练方案(FAPS)的帧率无关MOT框架,它主要包含了两种技术来进行实现的。
- 对于第一个挑战,提出了一个统一的帧速率不可知关联模块(FAAM)来处理各种帧速率设置。
对于测试期间确切帧率未知的情况,我们提出使用帧间最佳匹配距离向量(IBDV)来推断帧率信息
-
设计了一个周期性训练方案(PTS),通过跟踪模式匹配和融合来增强帧率无关训练。在开始训练之前,我们通过在包含所有后处理步骤的真实推理流程上运行先前的模型检查点来采样跟踪模式。跟踪模式记录了我们在训练期间模拟推理阶段环境所需的所有信息(即位置、运动预测和缓存的特征)。我们假设在短时间内,跟踪器的这些模式变化可以忽略不计,因此我们将整个训练过程划分为几个训练周期,并在周期之间只更新模式。在训练过程中,不匹配这些模式的实例将被丢弃,因为它们可能不会出现在推理时间,从而减少了帧率无关训练的难度。剩余的实例将与记录的模式融合,以减少输入方差,并转化为关联特征。通过所提出的方法,我们成功提高了跟踪器的准确性,特别是在较低帧率设置下。
文章的贡献
文章主要提出了下面的四种贡献。
-
我们首次提出帧速率不可知多对象跟踪(FraMOT)问题,其目标是学习一个统一的模型来跟踪帧速率不可知的视频中的对象。 与经典的MOT相比,FraMOT更加智能,对于大型视觉系统也更加实用。
-
我们提出了一个具有定期训练方案(FAPS)的帧速率不可知 MOT 框架,这是第一个帧速率不可知 MOT 基线,尝试使用单个统一模型有效处理各种输入帧速率,以便在工业场景中实现更稳健的 MOT 跟踪器。
-
我们提出了一个帧速率不可知关联模块(FAAM),利用给定或推断的帧速率线索来帮助身份匹配,从而形成更智能的跟踪器。
-
我们提出了一种用于帧率无关 MOT 模型训练的定期训练方案(PTS),提供推理环境的模拟,从而减少数据关联的训练与推理差距。
对于背景知识的介绍和相关工作的一些内容并不作为重点的部分,因此在这里进行省略。主要是介绍训练和评估的一些方式。
Frame Rate Agnostic MOT Frameworkwith a Periodic Training Scheme
之后介绍的内容就是论文的核心方法部分了,首先介绍的是与帧率无关的带有周期性训练的框架。
确保即使在 低帧率设置下,在 训练阶段所采用的 非参数后处理步骤 也不会导致 训练和推理阶段之间的差距扩大。这样可以保证在实际应用中,无论帧率如何变化,模型在 推理阶段的表现不会逊色于在训练阶段的表现。
介绍了我们提出的带有周期性训练方案(FAPS)的帧率无关MOT框架,该框架专门设计用于解决前述目标并克服FraMOT相关的挑战。
概述
这里提出的与带有周期性训练(FAPS)帧率无关的关联框架,主要有一下的三个部分组成。(该框架中有三个不同的模块)
- 联合提取器模块(JEM)
- 关联模块(AM)
- 轨迹管理模块(TM)
-
JEM 从原始图像生成检测结果和相应的外观特征嵌入。
-
AM 将新的检测结果与现有轨迹关联起来。
-
TM决定所有轨迹的起始和终止,使它们
更加平滑
并处理它们的状态。
The core module of the proposed framework is the Asso-
ciation Module 核心还是提出的关联模块。
我们设计了一个新的帧速率不可知关联模块,具有编码帧速率信息的机制,提供处理各种帧速率的复杂运动外观关系的能力。同时,该框架使用所提出的定期训练方案(PTS)1进行训练,该方案考虑了所有后处理步骤,提供了推理阶段环境的模拟,从而减少了训练和推理之间数据关联的差距。
图二说明:框架中有多个训练周期,每个周期包含两个阶段.跟踪模式生成和模块训练。(tracking patterns generation and module training.)在跟踪模式生成中,我们使用之前的 MOT 模型生成跟踪模式.然后这些跟踪模式将用于模块训练,提供有关测试环境的简要信息。 “JEM”、“AM”和“TM”分别是联合提取模块、关联模块和目标管理的缩写
训练管道遵循所提出的PTS,包含多个训练周期,每个周期包含两个阶段,即跟踪模式生成阶段和模块训练阶段
-
具体来说,在跟踪模式生成阶段,使用上一周期的模型进行前向传递,并生成跟踪模式。
-
模块训练阶段,关联模型采用JEM的输出和跟踪模式作为输入,生成关联特征,使用所提出的帧率无关关联模块(FAAM)预测关联分数,并受到相应关联真值信号的监督。
- 在训练期间,不是直接将输入数据传递给FAAM,我们设计了一个关联特征生成模块,通过模式匹配和融合利用生成的跟踪模式调整关联特征。然后,调整后的关联特征将通过FAAM
- FAAM网络利用帧率信息推断出帧率感知注意力,并增强关联预测。在推理过程中,将使用上一周期的模型检查点。关联模型仅将JEM的输出作为输入,不再需要跟踪模式,并且移除了模式匹配和融合步骤。推理管道与跟踪模式生成管道相同。
Periodic Training Scheme(带有周期性的训练方案)
FraMOT 给我们带来的挑战之一是不同的视频帧速率扩大了帧对关联训练和实际推理运行时间之间的差距。
最直接的解决方案是将这些推理阶段后处理过程添加到训练阶段,这很难实现,因为大多数这些过程不能向后传播.
为了解决这个问题,我们建议通过考虑关联网络中的跟踪模式(详见后面单独的介绍讲解)来反映训练期间的推理时间后处理步骤,该网络是通过周期性的训练方案生成的。
跟踪模式是一些可以反映推理时间模式的记录,这取决于跟踪器的后处理步骤
在本文中我们将跟踪模式定义为:
P t = { ( p l o c i , p pred i , p apr i , p l v l i ) } ,其中 i = 1 , 2 , … , N t P_{t}=\left\{\left(p_{l o c_{i}}, p_{\text {pred }_{i}}, p_{\text {apr }_{i}}, p_{l v l_{i}}\right)\right\} \text { ,其中 } i=1,2, \ldots, N_{t} Pt={(ploci,ppred i,papr i,plvli)} ,其中 i=1,2,…,Nt
-
包括每帧中每个跟踪目标的位置(由
p loc i p_{\text {loc }_{i}} ploc i
表示) -
基于前一轨迹的Kalman滤波器预测的运动(由
p pred i p_{\text {pred }_{i}} ppred i
表示)
- 推理时保存的外观特征嵌入(由
p a p r i p_{a p r_{i}} papri
表示)
- 以及两阶段关联策略的级别索引(由
p l v l i p_{l v l_{i}} plvli
表示)
如果跟踪器有精心设计的遮挡管理,还可以包括其他模式,如轨迹片段的遮挡状态。周期性训练方案的目标是以周期性的方式生成这些跟踪模式
考虑到在短暂的训练周期内,推理阶段的跟踪行为不会发生显著变化。如图2所示,我们设置了多个训练周期,并在每个**周期开始前重新采样跟踪模式。在新周期的跟踪模式生成阶段,我们利用前一阶段经过训练的检查点来构建 MOT 跟踪器,对完整的训练视频进行跟踪,并生成将在亲和力特征生成管道中使用的跟踪模式 (对于关联特征的部分后面在进行详细的介绍。)
-
然后我们使用训练数据和跟踪模式训练所有模型。 训练期结束后,我们将更新检查点以生成下一期的跟踪模式
-
对于第一个周期,我们使用预训练的联合提取器和基于IoU的手工关联模块来生成模式,而不是使用随机初始化的检查点。例如,在本文中,我们使用带有外观嵌入分支的预训练YOLOX检测框架。作为JEM,线性组合空间距离和外观相似度作为AM,以及常用的匈牙利算法和带有阈值策略的Kalman滤波器用于目标启动和终止作为TM。
在后期,我们使用提出的帧速率不可知关联模块(FAAM),并且 JEM 和 TM 的架构保持不变。
整体流程
下面论文中给出了整体周期性训练的一个流程。先给出流程图中的一些符号定义的含义。
L ( X , P t ; N t ) 是整体损失 L\left(X, P_{t} ; N_{t}\right) \text { 是整体损失 } L(X,Pt;Nt) 是整体损失
是总体损失,结合了 JEM 的检测损失和 id 损失以及 AM 的关联损失。 λE和λA是学习率,可以根据实际需要进行调整。 在我们的实现中,λE 设置为 0,λA 设置为 1。
Frame Rate Agnostic Association(帧速率不可知关联)
这一部分对应讲解帧速率不可知的关联模块部分。
关联模型(AM)采用JEM生成的检测结果及其对应的外观特征嵌入,以及PTS提供的跟踪模式(仅限训练)作为输入,并生成由真实标签监督的关联分数。如图所示,AM有两个部分,即关联特征生成模块和帧率无关关联模块。
Affinity Feature Generation(关联特征生成)
先解读训练解读。
训练阶段 给定帧对 T 和 T + ι,其中 ι 不是常数(即,采样间隔不固定)。
JEM生成检测结果:
D T = { B T , i ∣ i = 1 , 2 , … , N T } , D T + ι = { B T + ι , i ∣ i = 1 , 2 , … , N T + ι } D_{T}=\left\{B_{T, i} \mid i=1,2, \ldots, N_{T}\right\}, \quad D_{T+\iota}=\left\{B_{T+\iota, i} \mid i=1,2, \ldots, N_{T+\iota}\right\} DT={BT,i∣i=1,2,…,NT},DT+ι={BT+ι,i∣i=1,2,…,NT+ι}
以及JEM生成的相应的外观特征:
A T = { f T , i ∣ i = 1 , 2 , … , N T } , A T + ι = { f T + ι , i ∣ i = 1 , 2 , … , N T + ι } , A_{T}=\left\{f_{T, i} \mid i=1,2, \ldots, N_{T}\right\}, \quad A_{T+\iota}=\left\{f_{T+\iota, i} \mid i=1,2, \ldots, N_{T+\iota}\right\}, AT={fT,i∣i=1,2,…,NT},AT+ι={fT+ι,i∣i=1,2,…,NT+ι},
- NT:表示帧T的建议数量 .
- B T i :包含帧T中建议i的边界框和置信度分数。
- f T,i :表示帧T中建议i的外观特征向量。
同时,我们有来自帧T的跟踪模式,表示为:
P T = { p j ∣ j = 1 , 2 , … , N p T } P_{T}=\left\{p_{j} \mid j=1,2, \ldots, N_{p_{T}}\right\} PT={pj∣j=1,2,…,NpT}
p j = { p l o c j , p pred j , p apr j , p l v l j } p_{j}=\left\{p_{l o c_{j}}, p_{\text {pred }_{j}}, p_{\text {apr }_{j}}, p_{l v l_{j}}\right\} pj={plocj,ppred j,papr j,plvlj}
然后,我们构建了一个模式匹配和模式融合管道,以模拟推理阶段的跟踪环境,用于帧率无关训练。
只有与某个Pj
匹配的检测才会被选为训练,否则它们将被丢弃,因为它们不会出现在推理阶段(例如,被过滤掉).
这里对应了第一次的一个匹配过程,即:之前的跟踪模式pj和不同的帧率检测出的检测框根据最大iou进行一次匹配(个人感觉用最小iou距离也是可以的。)
在这项工作中,我们定义一个 BT,i 与同一帧的模式 p j 匹配当且仅当 p j 在所有可用模式中与 BT,i 具有最大的交集(IoU),并且它们的 IoU (IoU(BT ,i , ploc j )) 大于阈值(例如,我们工作中使用的 0.7)。 然后将匹配的实例与跟踪模式融合,并生成
D T ′ = { B T , i + p pred j ∣ p j ∈ P T ∧ B T , i ∈ D T ∧ p j 与 B T , i 匹配 } ∪ { p loc j + p pred j , ∣ p j ∈ P T ∧ p j 未匹配 } D_{T}^{\prime}=\left\{B_{T, i}+p_{\text {pred }_{j}} \mid p_{j} \in P_{T} \wedge B_{T, i} \in D_{T} \wedge p_{j}\right. 与 B_{T, i} 匹配 \} \cup\left\{p_{\text {loc }_{j}}+p_{\text {pred }}^{j}, ~ \mid p_{j} \in P_{T} \wedge p_{j}\right. 未匹配 \} DT′={BT,i+ppred j∣pj∈PT∧BT,i∈DT∧pj与BT,i匹配}∪{ploc j+ppred j, ∣pj∈PT∧pj未匹配}
D T’ 对应的外观特征记为 A T’ ,则 B i’∈ D T i’ 对应的嵌入 f i’ ∈ A T’
匹配和融合后,D T’、A T’ 和 DT+ι、AT+ι 用于计算关联网络的一些亲和特征。我们包括三个距离测量和一个环境变量作为亲和特征,表示为
Z T , T + ι = { D ( B i ′ , B T + ι , j ) , IoU ( B i ′ , B T + ι , j ) , f i ′ ⋅ f T + ι , j ∣ f i ′ ∣ ⋅ ∣ f T + ι , j ∣ , level i ∣ ∀ B i ′ ∈ D T ′ , B T + ι , j ∈ D T + ι } . \begin{array}{c} Z_{T, T+\iota}=\left\{D\left(B_{i}^{\prime}, B_{T+\iota, j}\right), \operatorname{IoU}\left(B_{i}^{\prime}, B_{T+\iota, j}\right), \frac{f_{i}^{\prime} \cdot f_{T+\iota, j}}{\left|f_{i}^{\prime}\right| \cdot\left|f_{T+\iota, j}\right|}, \operatorname{level}_{i} \mid \forall B_{i}^{\prime} \in D_{T}^{\prime}, B_{T+\iota, j}\right. \\ \left.\in D_{T+\iota}\right\} . \end{array} ZT,T+ι={D(Bi′,BT+ι,j),IoU(Bi′,BT+ι,j),∣fi′∣⋅∣fT+ι,j∣fi′⋅fT+ι,j,leveli∣∀Bi′∈DT′,BT+ι,j∈DT+ι}.
D ( ⋅ ) 表示归一化的欧几里得距离, level i 是两阶段关联中 B i ′ 出现的匹配级别索引 p l v l j 。 D(\cdot) \text { 表示归一化的欧几里得距离, } \operatorname{level}_{i} \text { 是两阶段关联中 } B_{i}^{\prime} \text { 出现的匹配级别索引 } p_{l vl_{j}} \text { 。 } D(⋅) 表示归一化的欧几里得距离, leveli 是两阶段关联中 Bi′ 出现的匹配级别索引 plvlj 。
在解读推理的部分。
推理阶段: 在推理过程中,不需要将跟踪模式与前一帧的观测结果匹配。匹配的主要目标是模仿推理时的环境,包括后处理。然而,在实际的推理阶段,这种匹配是不必要的。因此,生成关联特征的过程变得更简单,因为可以直接使用跟踪模式:
假如你在当前帧中强制参考前一帧的观测结果来调整模型的行为,这可能会对训练过程施加不必要的约束,但实际上在推理阶段模型可能无法获取前一帧的真实观测结果(如数据丢失或帧跳跃)。这种强制匹配可能使模型在推理阶段的表现不稳定。
Z T , T + ι = { D ( p l o c i + p pred i , B T + ι , j ) , IoU ( p l o c i + p pred i , B T + ι , j ) , p a p r i ⋅ f T + ι , j ∣ p apr i ∣ ⋅ ∣ f T + ι , j ∣ level i ∣ ∀ p i ∈ P T , B T + ι , j ∈ D T + ι } \begin{array}{c} Z_{T, T+\iota}=\left\{D\left(p_{l o c_{i}}+p_{\text {pred }_{i}}, B_{T+\iota, j}\right), \operatorname{IoU}\left(p_{l o c_{i}}+p_{\text {pred }_{i}}, B_{T+\iota, j}\right), \left.\frac{p_{a p r_{i}} \cdot f_{T+\iota, j}}{\mid p_{\text {apr }}^{i}}|\cdot| f_{T+\iota, j} \right\rvert\,\right. \\ \left.\operatorname{level}_{i} \mid \forall p_{i} \in P_{T}, B_{T+\iota, j} \in D_{T+\iota}\right\} \end{array} ZT,T+ι={D(ploci+ppred i,BT+ι,j),IoU(ploci+ppred i,BT+ι,j),∣papr ipapri⋅fT+ι,j∣⋅∣fT+ι,j leveli∣∀pi∈PT,BT+ι,j∈DT+ι}
以上就是关联特征生成模块的第一个部分,用来生成Affinity Feature(相似性特征:代价矩阵:亲和力矩阵)关联特征Z的计算方式的细节说明。
Frame Rate Agnostic Association Module(与帧率无关的关联模块)
下面在介绍整个模式的第二个部分,即为FAAM:帧速率不可知的关联模块(通过之前生成的亲和力特征进行进一步的关联操作。)
然后将亲和特征 ZT,T+ι(形式为 Ns × Da,Ns 是样本量
,Da 是每个样本的维度
)输入到 4 层
神经网络 Naff
中,并转换为更具判别性的特征 faff
(在 形状为Ns×16Da),如图所示。
在另一个分支上生成帧速率感知注意力
- 帧速率线索首先由帧速率编码器编码为帧速率嵌入 σ
- 然后将嵌入池化为Ns×32Da的形状,然后是3层帧率子网络Natt,最后将通道大小减小到与特征分支相同。(该分支的输出用 fatt 表示(形式为 Ns ×16Da))
关联模块的最终输出预测为:将Faff 和 Fatt两个向量做下面的运算方式。
C T , T + ι = ∑ i f i a f f ⋅ exp ( f i a t t ) ∑ j exp ( f j a t t ) C_{T, T+\iota}=\sum_{i} \frac{f_{i}^{a f f} \cdot \exp \left(f_{i}^{a t t}\right)}{\sum_{j} \exp \left(f_{j}^{a t t}\right)} CT,T+ι=i∑∑jexp(fjatt)fiaff⋅exp(fiatt)
其中 f a f f i 表示 f a f f 的第 i 个元素, f a t t 表示 f a t t 的第 j 个元素。 \text { 其中 } f_{a f f_{i}} \text { 表示 } f_{a f f} \text { 的第 } i \text { 个元素, } f_{a t t} \text { 表示 } f_{a t t} \text { 的第 } j \text { 个元素。 } 其中 faffi 表示 faff 的第 i 个元素, fatt 表示 fatt 的第 j 个元素。
最后,我们对预测CT T+l,应用二元交叉熵损失 Lassoc 于相同身份的标签为1,不同身份的标签为0。特别地,假检测和真检测的标签为0(它们不是同一身份);两个假检测的配对将从训练中移除(无法判断它们是否是同一背景区域)
L = L d e t + α L i d + β L a s s o c L=L_{d e t}+\alpha L_{i d}+\beta L_{a s s o c} L=Ldet+αLid+βLassoc
其中 Ldet 和 Lid 是联合提取器的检测损失和ID损失。
Frame Rate Encoder(补充帧率编码器)
在部署阶段帧速率可以是已知的,也可以是未知的。 因此,相应地引入了两种帧率编码器。
- 已知帧速率。
- 未知帧速率。
对于已知的帧速率,我们只需使用给定帧速率的余弦嵌入。 具体地,帧率嵌入的第i个元素:
σ i = cos ( i ⋅ s ⋅ F D σ ) \sigma_{i}=\cos \left(\frac{i \cdot s \cdot F}{D_{\sigma}}\right) σi=cos(Dσi⋅s⋅F)
其中 F是帧率数字, S 是常数缩放因子, Dσ是嵌入维度。
帧间最佳匹配距离向量(IBDV)
对于未知的帧率,我们提出使用帧间最佳匹配距离向量(IBDV)
对于未知的帧速率,我们建议利用帧间最佳匹配距离向量(IBDV)作为帧速率指标。 具体来说,IBDV 描述了两个帧中实例之间的归一化距离的分布(如果实例最佳匹配)。
这个分布大致编码了帧率信息,因为最佳匹配距离在帧率降低时会增加。如下图所示。
我们首先通过某些预定义的标准找到最佳匹配对象对,例如,通过最小化空间距离或外观特征距离,然后将这些对的所有归一化距离值放入一个向量中。为了保持其维度不变,我们将向量中的值进行排序,并通过线性插值将它们插值到固定形状。
选择最小化空间距离总和的对作为我们的最佳匹配对:
σ = interp ( sort { D ( B i ′ , B T + ι , j ) , i = 1 , 2 , … , N ′ } ) \sigma=\operatorname{interp}\left(\operatorname{sort}\left\{D\left(B_{i}^{\prime}, B_{T+\iota, j}\right), i=1,2, \ldots, N^{\prime}\right\}\right) σ=interp(sort{D(Bi′,BT+ι,j),i=1,2,…,N′})