本文提出通用的端对端预测性跟踪框架 PVT++,旨在解决目标跟踪的部署时的延迟问题。多种预训练跟踪器在 PVT++ 框架下训练后“在线”跟踪效果大幅提高,某些情况下甚至取得了与“离线”设定相当的效果。
然而,这一假设在机器人部署中通常是难以满足的,因为算法本身的延迟在机器人硬件上不可忽视,当算法完成当前帧时,世界已经发生了变化,导致跟踪器输出的结果与实际世界的目标当前状态不匹配。换言之,如图二(a)所示,由于算法的延迟总存在(即使算法达到实时帧率),输出的结果“过时”是不可避免的。
这一思想起源于 ECCV2020 “Towards Streaming Perception”。
由于机载算力受限,平台/相机运动剧烈,我们发现这一问题在无人机跟踪中尤为严重,如图一所示,相比“离线”评估,考虑算法延迟的“在线”评估可能使得其表现大幅下降。
▲ 图一. “离线”评估与“在线”评估中各个跟踪器的表现以及 PVT++ 在“在线”跟踪中的效果。灰色图标代表离线评估,蓝色图标代表相同方法在线评估,红色图标代表相同方法使用 PVT++ 转换为预测性跟踪器。
如图二(b)所示,为解决这一问题,预测性跟踪器需要提前预测世界未来的状态,以弥补算法延迟导致的滞后性。
这一理论详见 ECCV2020 “Towards Streaming Perception” 以及我们过往的工作 “Predictive Visual Tracking(PVT)”。
而与以往的在跟踪器后使用卡尔曼滤波的方法不同,在本文中,我们从跟踪器能提供的视觉特征出发,研发了端对端的预测性目标跟踪框架(PVT++)。我们的 PVT++ 有效利用了预训练跟踪器可提供的视觉特征并可从数据中学习目标运动的规律,进而做出更准确的运动预测。▲ 图二.(a)常规的跟踪器有延迟,所以结果总是滞后的。(b)预测性跟踪提前预测世界的状态,弥补延迟带来的滞后性。(c)与基于卡尔曼滤波的方法不同,我们的 PVT++ 有效利用了跟踪器自带的视觉特征并可从数据中学习运动的规律,进而做出更准确的预测。
PVT++ 是一个通用的可学习框架,能适用不同类型的跟踪器,如图一所示,在某些场景下,使用 PVT++ 后甚至能取得与“离线”评估相当的“在线”结果。
除了 PVT++ 方法,我们还提出了能够进一步量化跟踪器性能的的新型评估指标 e-LAE,该指标不仅实现了考虑延迟的评估,而且可以区分实时的跟踪器。
与“离线”设定不同,“在线”跟踪(LAE)依照算法实际部署的情况设计,具体而言,其遵循以下两条原则:1. 运行时,方法只能处理“最新”的一帧,而非连续的每一帧。如图三的时间轴所示,假设世界时间轴为 ,当算法处理第 帧结束时的世界时间位于 后一点(这里看图中上方的算法时间戳 ),那么此时的“最新”帧为第二帧,算法的下一帧输入即为第 2 帧,同理,算法的再下一输入帧为第 5 帧,可以发现这样第 1,3,4 帧由于算法延迟被跳过。2. 评估时,选取跟踪器在对应帧的世界时刻能给出的“最新”的结果进行评估。如图三所示(这里看图中下方的算法时间戳 ),假设我们要评估第 1 帧的结果,在世界位于第 1 帧时,算法其实并没有处理完第一帧,故而只能使用“最新”的第 帧的输出结果进行评估。
类似的评估方式最早被提出于 ECCV2020 “Towards Streaming Perception”,在以前的研究 PVT 中,我们针对跟踪算法做了上述调整。
然而,这样的评估方式有一个缺陷,假设算法速度快于世界帧率(例如图三下方的算法时间戳),无论算法有多快,评估时的算法滞后永远是一帧。换言之,假设有两个精度一样的跟踪器 A 与 B,A 的速度 > B > 世界帧率,那么这样的评估指标得到的 A,B 的结果是一样的,这样以来,LAE 便无法将实时跟踪器的速度纳入评估中,无法对实时跟踪器进行有效比较。 为此,我们设计了扩展版 LAE(e-LAE)。e-LAE 并不要求算法“立刻”给出当前帧的最新结果,而是允许一个一帧内的延迟阈值 ,评估第 帧时,只需给出 时的最新结果即可。可以想象到当 从 0 逐渐增大到 1 时,实时跟踪器会慢慢从“在线”结果变为“离线”结果(实际结果从小变大),而跟踪器越快(延迟越小),其对应的临界 也就越小。 利用这一点,我们使用 的 精度 −精度 曲线下面积表示结果。这样再次考虑之前的例子,A 的速度快,它便能在 较小时变为数值更大的“离线”结果,这样的曲线下面积也就大于跟踪器 B,e-LAE 便能成功区分两个精度一样速度不同的实时跟踪器了。 基于 e-LAE,我们在机器人平台 AGX Xavier 上进行了众多跟踪器详尽的实验,涉及 17 个跟踪器,三个数据集,详见原文图五,e-LAE 可以区分一些精度接近而速度有一些差距的实时跟踪器,如 HiFT 与 SiamAPN++(原文 Remark 2)。我们正在进一步检查所有结果,最终确认后也会将评估的原始结果开源。
轻量化预测器结构:另一个问题是,预测器本身必须足够轻量才能避免预测模块引入额外的延迟,否则会导致整个系统失效。为此,我们设计了轻量有效的网络架构,包含 encoder - interaction - decoder 三部分,并能兼容运动轨迹信息与视觉特征,具体如图四,其中大多数网络层都可以有着非常小的通道数以实现极低的延迟(详见原文表 3)。此外,我们预测器的设计也最大程度上复用了跟踪器能提供的视觉特征,因此节省了提取视觉特征所需要的计算资源。
联合训练:在训练 PVT++ 时,跟踪器模块需要在早期的训练 epoch 中以较小的学习率联合预测器一起训练,进而使视觉特征既适用跟踪器做定位,又适合预测器做预测。详见附录 B 中的训练设定与我们的开源代码。
训练策略有些复杂,特别是联合训练时跟踪器模块在早期 epoch 用较小学习率微调这一些细节我们尝试了很多次实验才发现。
原文标题:PVT++:通用的端对端预测性跟踪框架
文章出处:【微信公众号:智能感知与物联网技术研究所】欢迎添加关注!文章转载请注明出处。
全部0条评论
快来发表一下你的评论吧 !