0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PVT++:通用的端对端预测性跟踪框架

智能感知与物联网技术研究所 来源:未知 2023-07-30 22:30 次阅读

本文提出通用的端对端预测性跟踪框架 PVT++,旨在解决目标跟踪的部署时的延迟问题。多种预训练跟踪器在 PVT++ 框架下训练后“在线”跟踪效果大幅提高,某些情况下甚至取得了与“离线”设定相当的效果。6d836960-2ee5-11ee-815d-dac502259ad0.png▲ PVT++

引言

单目标跟踪(SOT)是计算机视觉领域研究已久的问题。给定视频第一帧目标的初始位置与尺度,目标跟踪算法需要在后续的每一帧确定初始目标的位置与尺度。将这类视觉方法部署在机器人上可以实现监测、跟随、自定位以及避障等智能应用。大多数目标跟踪算法的研究与评估都基于“离线”假设,具体而言,算法按照(离线)视频的帧号逐帧处理,得出的结果与对应帧相比以进行准确率/成功率计算。

然而,这一假设在机器人部署中通常是难以满足的,因为算法本的延迟在机器人硬件上不可忽视,当算法完成当前帧时,世界已经发生了变化,导致跟踪器输出的结果与实际世界的目标当前状态不匹配。换言之,如图二(a)所示,由于算法的延迟总存在(即使算法达到实时帧率),输出的结果“过时”是不可避免的。

这一思想起源于 ECCV2020 “Towards Streaming Perception”。

由于机载算力受限,平台/相机运动剧烈,我们发现这一问题在无人机跟踪中尤为严重,如图一所示,相比“离线”评估,考虑算法延迟的“在线”评估可能使得其表现大幅下降。

6d9222ca-2ee5-11ee-815d-dac502259ad0.png

▲ 图一. “离线”评估与“在线”评估中各个跟踪器的表现以及 PVT++ 在“在线”跟踪中的效果。灰色图标代表离线评估,蓝色图标代表相同方法在线评估,红色图标代表相同方法使用 PVT++ 转换为预测性跟踪器。

如图二(b)所示,为解决这一问题,预测性跟踪器需要提前预测世界未来的状态,以弥补算法延迟导致的滞后性。

这一理论详见 ECCV2020 “Towards Streaming Perception” 以及我们过往的工作 “Predictive Visual Tracking(PVT)”。

而与以往的在跟踪器后使用卡尔曼滤波的方法不同,在本文中,我们从跟踪器能提供的视觉特征出发,研发了端对端的预测性目标跟踪框架(PVT++)。我们的 PVT++ 有效利用了预训练跟踪器可提供的视觉特征并可从数据中学习目标运动的规律,进而做出更准确的运动预测。6dd9a0f0-2ee5-11ee-815d-dac502259ad0.png

▲ 图二.(a)常规的跟踪器有延迟,所以结果总是滞后的。(b)预测性跟踪提前预测世界的状态,弥补延迟带来的滞后性。(c)与基于卡尔曼滤波的方法不同,我们的 PVT++ 有效利用了跟踪器自带的视觉特征并可从数据中学习运动的规律,进而做出更准确的预测。

PVT++ 是一个通用的可学习框架,能适用不同类型的跟踪器,如图一所示,在某些场景下,使用 PVT++ 后甚至能取得与“离线”评估相当的“在线”结果。

贡献

  1. 我们研发了端对端的预测性目标跟踪框架 PVT++,该通用框架适用于不同类型的跟踪器并能普遍带来大幅效果提升。
  2. 为实现“从数据中发现目标运动的规律”,我们提出了相对运动因子,有效解决了 PVT++ 的泛化问题。
  3. 为引入跟踪器已有的视觉特征实现稳定预测,我们设计了辅助分支联合训练机制,不仅有效利用了跟踪器的视觉知识而且节省了计算资源。
  4. 除了 PVT++ 方法,我们还提出了能够进一步量化跟踪器性能的的新型评估指标e-LAE,该指标不仅实现了考虑延迟的评估,而且可以区分实时的跟踪器。

方法介绍

为了将整个问题用严谨的数学公式成体系地定义出来,我们花了很多时间反复打磨 PVT++ 的方法部分叙述,然而不可避免符号偏多结构也比较复杂(被 reviewer 们多次吐槽...),读起来有些晦涩难懂容易 lost,在此仅提供一些我 intuitive 的想法,以方便读者能够更快理解文章的核心思想。

6e225ad4-2ee5-11ee-815d-dac502259ad0.png

▲ 图三.(a)PVT++ 宏观框架与(b)e-LAE 评估指标

3.1 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)。我们正在进一步检查所有结果,最终确认后也会将评估的原始结果开源。

3.2 PVT++

无论算法的速度有多快,其延迟总存在,故而我们设计了端对端预测性跟踪框架弥补延迟。如图三(a)所示,PVT++ 的结构非常直观简单,跟踪器模块即普通的已有的(基于深度学习的)跟踪算法,预测器接受跟踪器输出的历史运动 跟踪器的历史视觉特征 以及预设的落后帧数 作为输入,输出未来帧的目标位置。

PVT++ 的结构看上去虽然简单直观,但使用离线数据训练这一套框架使之协助在线无人机跟踪并非易事,其独道之处在于以下三点:

相对运动因子:我们发现训练 PVT++ 会遇到一个核心问题,训练集与测试集的域差距。试想,如果用于训练 PVT++ 的数据来自 VID,LaSOT,GOT10k 这些目标运动尺度较小,方向速度较规律的数据集,PVT++ 自然会尝试拟合这些运动规律而难以泛化到目标运动更复杂,尺度更大的无人机跟踪场景。为了解决这一问题,我们将 PVT++ 的训练目标改为学习/拟合特殊设计的相对运动因子,即原文公式(4):

6e6484fe-2ee5-11ee-815d-dac502259ad0.png

这里 可以简单理解为过去几帧的平均速度,在左侧的公式中,我们可以先假设目标是匀速运动的,即未来帧的相对位置变化正比于未来帧的时间间隔和平均速度,此后我们的神经网络只需要在这一假设上做出调整即为未来的真实运动。这一设计也就使得预测器需要学习的东西是“相对于匀速运动假设的偏差值”,即相对运动因子,而非绝对的运动值。

我们发现这一预测目标在大多数时候与目标的绝对运动是无关的,故而训练出的网络也就不易拟合训练集中的绝对运动,有着更好的泛化性。这一设计是 PVT++ 能 work 的核心原因。预测器输出的相对运动会用于后续设计与真值的 L1 损失作为训练损失函数。

轻量化预测器结构:另一个问题是,预测器本身必须足够轻量才能避免预测模块引入额外的延迟,否则会导致整个系统失效。为此,我们设计了轻量有效的网络架构,包含 encoder - interaction - decoder 三部分,并能兼容运动轨迹信息与视觉特征,具体如图四,其中大多数网络层都可以有着非常小的通道数以实现极低的延迟(详见原文表 3)。此外,我们预测器的设计也最大程度上复用了跟踪器能提供的视觉特征,因此节省了提取视觉特征所需要的计算资源。6e75b170-2ee5-11ee-815d-dac502259ad0.png▲ 图四. PVT++ 中预测器的轻量化网络架构。 如何有效利用跟踪器已有的视觉特征:最后,为了使轻量的预测器做出稳健的预测,我们设计了一系列训练策略使得参数量很少的预测器有效利用(较大型)预训练跟踪器的能提供的鲁棒视觉表征。具体而言,我们发现以下两点设计尤为重要:
  1. 辅助分支:预测器的视觉分支(图四(b))需要当前的相对运动信息作为监督信号(图四的虚线框部分)才能用于预测未来的运动。详见原文 5.3 节。
  2. 联合训练:在训练 PVT++ 时,跟踪器模块需要在早期的训练 epoch 中以较小的学习率联合预测器一起训练,进而使视觉特征既适用跟踪器做定位,又适合预测器做预测。详见附录 B 中的训练设定与我们的开源代码。

更多关于方法的细节介绍欢迎大家参考我们的原文(p.s.,我们的附录 B 提供了一个符号表辅助阅读...)

实验部分

全文的实验设计包括 e-LAE 的评估(原文图五)与 PVT++ 的效果、分析两部分,在这里着重介绍 PVT++ 有关的实验。

4.1 设置

为了公平比较基线跟踪器,PVT++ 采用与他们训练相同的 LaSOT+GOT10k+VID 作为训练集(均为视频)(实际上仅用 VID 也可以取得较好效果,详见附录 L)。具体而言,我们直接加载了跟踪器原作者提供的模型参数作为我们的跟踪器模块,再使用离线数据训练 PVT++。 评估时我们使用了四个无人机跟踪权威数据集 DTB70,UAVDT,UAV20 L 以及 UAV123,广泛验证了 PVT++ 的泛化性。

4.2 整体效果

6e820d1c-2ee5-11ee-815d-dac502259ad0.png

▲ 表一

PVT++ 的整体效果如表一所示,我们共将四个跟踪器转化为了预测性跟踪器,在四个无人机跟踪数据集中,PVT++ 能起到广泛而显著的效果。可以发现 PVT++ 在某些场景下能达到超过 60% 的提升,甚至与跟踪器的离线效果相当。另外我们也发现并不是所有的情况下视觉信息都是有效可靠的,例如在 DTB70 中,仅用 PVT++ 的 motion 分支也可以起到一定的效果。

4.3 消融实验

6eecc40e-2ee5-11ee-815d-dac502259ad0.png

这里着重展示一下消融实验表四,如果不预测相对运动因子而是直接用绝对运动的值作为预测目标(和损失函数设计),预测器完全不 work,甚至会引入负面影响。当引入视觉特征以后,辅助分支的监督和联合训练都是必要的,其中联合训练的重要性更大。

4.4 与其他方法对比

6f48e84c-2ee5-11ee-815d-dac502259ad0.png

▲ 表五 如表五,我们尝试了直接在跟踪器后加入卡尔曼滤波(即沿用 ECCV2020 “streaming” 的思想)以及我们之前双滤波(PVT)的方案,并且在审稿人的建议下设计了可学习的基线方法(具体而言,我们将卡尔曼滤波中的噪声项作为可学习参数)。这些方法都没有利用跟踪器已有的视觉特征,所以综合效果差于联合了运动与视觉特征的 PVT++。

4.5 可视化

▲ 图五. PVT++与卡尔曼滤波的可视化对比 在图五中的三个序列中,我们发现卡尔曼滤波预测器很难处理目标平面内旋转以及无人机视角变化的情况,在这些挑战中,引入视觉信息进行目标尺度预测是尤为有效的。 另外本文也进行了更为详尽的实验,如属性分析、与其他运动预测方法(如 NEXT)的对比、PVT++ 作用在最新的基于 transformer 的跟踪器等,欢迎大家参阅我们的附录。

局限性与讨论

PVT++ 的局限性在于两点:
  1. 预测器使用的视觉特征并不总是鲁棒,我们发现在 DTB70 这类目标运动速度很快导致图片模糊/目标出视野,但目标运动本身很规律的数据集中其实单靠运动分支就可以起到很好的效果。
  2. 训练策略有些复杂,特别是联合训练时跟踪器模块在早期 epoch 用较小学习率微调这一些细节我们尝试了很多次实验才发现。

e-LAE 的局限性在于可复现性与平台依赖性: 由于这套在线评估系统与算法的实际延迟紧密相关,而延迟又与硬件平台的状态有关,我们发现甚至同一型号的硬件上的同一实验结果也会略有不同(就是说甚至同一台 AGX 放久了好像也会稍微慢一点....)。我们已经尝试在同一硬件上集中多次运行以尽可能降低硬件的不稳定性带来的影响并会将原始结果开源以方便大家复现结果。另外我们也提供了一个“模拟” AGX 硬件的脚本,可以将硬件上统计的延迟时间直接使用(而不是每次都一定要在机器人硬件上运行),详见我们的开源代码。 预测性“在线”目标跟踪依然是一个相当困难的研究问题,可能并不是增大数据量/模型参数量能轻易解决的,仍有着较大的提升空间。现在视觉领域正快速涌现一批批“奇观”,在线延迟也 potentially 有着其他的解决方案值得研究。譬如最近有一篇比较出圈的工作叫 OmniMotion,我们能不能依赖点的 correspondence,考虑从目标上每个 point 的运动规律出发,推理物体 local 到 global 的未来运动?这样也许能实现比 PVT++ 更出彩的效果。 另外将算法延迟问题引入如今大火的一些 foundation model 研究中也是有意思的方向。譬如 SAM 和 DINOv2 的视觉特征是不是比 ImageNet pre-train 的 ResNet 更适合做视觉运动预测?如果是的话又该怎么处理这些超大规模预训练出的视觉特征?或许可以从 TrackAnything 入手研究。


原文标题:PVT++:通用的端对端预测性跟踪框架

文章出处:【微信公众号:智能感知与物联网技术研究所】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2903

    文章

    44253

    浏览量

    371080

原文标题:PVT++:通用的端对端预测性跟踪框架

文章出处:【微信号:tyutcsplab,微信公众号:智能感知与物联网技术研究所】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于视觉语言模型的导航框架VLMnav

    本文提出了一种将视觉语言模型(VLM)转换为导航策略的具体框架。不依赖于感知、规划和控制之间的分离,而是使用VLM在一步中直接选择动作。惊讶的是,我们发现VLM可以作为一种无需任何微调或导航数据的
    的头像 发表于 11-22 09:42 45次阅读

    InfiniBand网络解决LLM训练瓶颈

    ChatGPT对技术的影响引发了对人工智能未来的预测,尤其是多模态技术的关注。OpenAI推出了具有突破的多模态模型GPT-4,使各个领域取得了显著的发展。 这些AI进步是通过大规模模型训练实现
    的头像 发表于 10-23 11:26 280次阅读
    <b class='flag-5'>端</b>到<b class='flag-5'>端</b>InfiniBand网络解决LLM训练瓶颈

    放大器单输出的区别

    放大器是电子学中的一种重要设备,用于增强信号的幅度。在放大器的设计和应用中,单输出和双输出是两种常见的输出方式。这两种方式各有特点和应用场景。 1. 单输出放大器 1.1 定义 单
    的头像 发表于 10-08 16:36 1017次阅读

    功放和双的区别是什么

    功放和双功放是两种不同的音频放大器设计,它们在结构、性能和应用方面都有各自的特点。以下是对这两种功放的比较: 1. 定义与基本原理 单功放(Single-Ended Amplifier
    的头像 发表于 10-08 16:35 737次阅读

    揭秘动态化跨框架在鸿蒙系统下的高性能解决方案

    作者:京东科技 胡大海 前言 动态化跨框架 (后文统称“ 动态化” ) 是一个由京东金融大前端团队全自主研发的,一份代码,可以在 HarmonyOS、 iOS、Android、Web四运行的跨
    的头像 发表于 10-08 13:46 688次阅读
    揭秘动态化跨<b class='flag-5'>端</b><b class='flag-5'>框架</b>在鸿蒙系统下的高性能解决方案

    测试用例怎么写

    测试方法,旨在验证整个应用程序从前端到后端的流程是否能够按照预期工作。它涉及多个系统组件和接口的交互,确保业务流程的完整和正确。 二、编写测试用例的步骤 需求分析 理解业务流
    的头像 发表于 09-20 10:29 331次阅读

    电阻的电流和电压是如何区分的

    电阻,又称为四测量电阻或凯尔文电阻,是一种特殊的电阻器,主要用于精密测量电路中的电阻值。四电阻的电流和电压的区分对于测量的准确
    的头像 发表于 08-05 10:48 909次阅读

    输入和双输入的区别是什么

    输入和双输入是电子电路设计中的两种不同的输入方式。它们在电路设计、性能和应用方面存在一些关键的区别 单输入 单输入是一种常见的输入方式,它使用单个输入信号来驱动电路。在单
    的头像 发表于 07-31 10:50 2049次阅读

    比较器输入和输出的关系

    比较器是一种电子设备,用于比较两个电压或电流信号的大小。比较器的输入和输出之间的关系是其核心功能之一。 比较器的基本原理 比较器是一种模拟电路,其基本原理是将两个输入信号进行比较,并根据比较结果
    的头像 发表于 07-10 10:39 1805次阅读

    服务测试和客户测试区别在哪

    主要针对服务器的软件进行测试,包括服务器的应用程序、数据库、中间件等。服务测试的目的是确保服务器软件的稳定性、性能、安全和可靠
    的头像 发表于 05-30 15:27 2688次阅读

    ZETA智能✖红牛:助力国际饮料巨头实现生产设备预测维护

    为了更好地实现设备的预测维护,红牛在泰国等地的工厂选择了基于ZETA智能的预测维护方案,实现其工厂设备的监测与管理,提升运营效率。
    的头像 发表于 04-22 10:53 342次阅读
    ZETA<b class='flag-5'>端</b>智能✖红牛:助力国际饮料巨头实现生产设备<b class='flag-5'>预测</b><b class='flag-5'>性</b>维护

    理想汽车自动驾驶模型实现

    理想汽车在感知、跟踪预测、决策和规划等方面都进行了模型化,最终实现了的模型。这种模型不仅完全模型化,还能够虚拟化,即在模拟环境中进行训练和测试。
    发表于 04-12 12:17 412次阅读
    理想汽车自动驾驶<b class='flag-5'>端</b>到<b class='flag-5'>端</b>模型实现

    模型卷入智驾圈 周光:今年上车!

    让AI像人类司机一样开车,今年就能做到。   3月17日,在中国电动汽车百人会汽车新质生产力论坛上,元戎启行CEO周光表示,智能驾驶模型将会成就一位“超级AI司机”,开启物理世界通用
    发表于 03-18 11:17 481次阅读
    <b class='flag-5'>端</b>到<b class='flag-5'>端</b>模型卷入智驾圈 周光:今年上车!

    Sparse4D-v3:稀疏感知的性能优化及拓展

    上限,解决更多的corner case,让系统更加鲁棒。因此,在Sparse4D-v3中,我们主要做了两部分工作,其一是进一步提升模型的检测性能,另一是将Sparse4D拓展为一个跟踪模型,实现多视角视频到目标运动轨迹
    的头像 发表于 01-23 10:20 1261次阅读
    Sparse4D-v3:稀疏感知的性能优化及<b class='flag-5'>端</b>到<b class='flag-5'>端</b>拓展

    什么是通信?

    是指在两个端点(如传感器、控制单元或执行器)之间安全地传输数据的过程,同时在整个通信链中保证数据的完整和可靠。通过建立安全的路径,通信支持关键信息的可靠交换,从而最大限度地减
    的头像 发表于 11-24 11:07 1336次阅读