驾驭白夜场景、刷新多个SOTA,苏黎世联邦理工用高效时序建模提升多目标追踪与分割

简介: 驾驭白夜场景、刷新多个SOTA,苏黎世联邦理工用高效时序建模提升多目标追踪与分割
研究者分享了他们对自动驾驶场景中高效快速进行时序建模和多物体追踪分割的思考。


本文是对苏黎世联邦理工、香港科技大学和快手科技的论文《Prototypical Cross-Attention Networks for Multiple Object Tracking and Segmentation- PCAN》的解读,该论文被 NeurIPS 2021 接收为 spotlight。



深度学习模型的训练和评估离不开大型数据集的支撑。本文提出的原型交叉注意力网络( Prototypical Cross-Attention Network, PCAN)是基于苏黎世联邦理工和 UC 伯克利推出的学术界最大规模的自动驾驶多目标跟踪和分割(MOTS)数据集 - BDD100K Tracking and Segmentation。其中,BDD Tracking Segmentation 数据集的规模是 KITTI-MOTS 的 6 倍(3,0817 vs 5,027 训练图像、480K vs 26K 实例掩码),标注物体数量是 KITTI 的近 20 倍,并覆盖白天、夜间、 雨雪等更为丰富真实的自动驾驶场景。

研究者展示了在 BDD100K - Day 数据集上 PCAN 的车辆预测结果(白天场景)。

以及 BDD100K-Night 数据集上 PCAN 的预测结果(夜晚场景)。


引言

多目标跟踪和分割(MOTS),是自动驾驶和视频分析等许多实际应用中的一个重要问题。该任务需要将视频中给定的类别的所有物体进行检测、分类、跟踪和像素级分割。在自动驾驶场景中,复杂的路况、市区内密集且相似的车辆和行人、以及对低功耗低延时(low computation & low memory cost & onlin)的预测需求又给这一任务带来了新的挑战。由于引入了大规模数据集,如 BDD100K、KITTI 等作为深度学习模型训练和测试基准,对 MOTS/VIS 的研究兴趣正迅速增长。

MOTS 的大部分 online 方法(MaskTrack R-CNN、SipMask 等)主要遵循基于检测的跟踪范式(tracking-by-detection paradigm)。首先在单张图片内检测和分割对象,然后是帧之间的关联。尽管这些方法已取得较好的结果,但在对时序建模上仅限于物体关联阶段,并且仅在两个相邻帧之间。

另一方面,时间维度包含关于场景的丰富信息,同一物体的不同时间下多个角度的视图可以提高预测的物体分割、定位和类别的质量。然而,高效地利用历史信息(memory information)仍然是一个挑战。虽然基于注意力机制的时序建模方法(包含 Self-Attention, Non-local Attention 和 Transformer 等)已应用于视频处理,但它们通常直接对高分辨率的深度特征图进行操作。长时间序列上的密集的像素级注意力操作会产生对长度的二次复杂性(quadratic complexity),进一步带来巨大的计算负担和 GPU 内存消耗(例如 VisTR 等),也极大地限制了它们的实际应用。

PCAN 提出了一种简单高效地利用视频时序信息的机制, 通过对目标物体及过去帧的外观特征做高斯混合建模,得到数量较少且低秩(sparse and low-rank)的表征混合原型(可以理解为多个不同的 cluster centers), 实现了对历史信息(memory bank)的压缩。这一操作在降低注意力运算复杂度和内存需求的同时, 也提高了视频物体分割的质量和追踪的稳定性。PCAN 包括帧级(frame-level module)和实例级(instance-level module)两个模块的原型交叉注意力(prototypical cross-attention),前者重构过去帧的深度特征并将其与当前帧对齐,而后者聚焦于视频中的被追踪物体。

为了增强对物体外观随时间变化的鲁棒性,PCAN 通过对比学习(contrastive learning)的机制分别使用 foreground/positive 和 background/negative prototypes(前景和背景原型)来进一步表示每个对象实例,并且将这些原型以在线方式传播更新(online updating)。由于每个实例或帧的原型数量有限,PCAN 在视频中具有时间线性复杂度的高效地执行远程特征聚合和传播。

方法概述

PCAN 的结构框架

PCAN 首先将历史信息(memory bank)中的高分辨率特征压缩到帧级和实例级的原型(prototypes)中,然后通过原型交叉注意力(prototypical cross-attention)操作,从由原型组成的 space-time memory bank 中去提取和利用过去帧中包含的丰富的外观、纹理和共享信息等。

空间 - 时间中的传统交叉注意力公式:



空间 - 时间中的原型交叉注意力公式:


Memory bank 中 prototypes 的数量 ,这有效地避免了对整个高分辨率的历史特征做逐像素密集的 attention 操作。PCAN 采用高斯混合模型(Gaussian Mixture Models, GMM)来进行无监督特征聚类,并选取 EM(Expectation-Maximization)迭代算法的得到的高斯分布拟合聚类中心作为 prototypes。其中,每个像素特征点到 prototype 中心的距离定义为更为详细的公式讲解请参考原论文:

PCAN 框架概览图如下:


Frame-level PCAN

对于 memory bank 中的帧特征,研究者首先进行基于 GMM 的聚类(高斯分布拟合)以获得 key 和 value prototypes,并根据当前帧的产生的 key 根据 cross-attention weights 将其低秩重建。


基于原型和当前帧重建帧特征。

重建的特征不仅与当前帧对齐,还通过有限数量的高斯分布拟合去除了特征中冗余信息 (noise reduced),在保持像素点特征空间差异的同时,相似点间的内部差异得到进一步缩小。随后,重建特征与当前帧特征做加权融合,产生的新时序特征用于后续 MOTS 中的分类,检测,分割和追踪等多个子任务。

frame-level 原型交叉注意力概览图。

Instance-level PCAN

对于 MOTS 中感兴趣追踪的物体,研究者进一步根据初始的 mask 和 bounding box 对物体做前后背景的区分,前景(黄色区域)建模为 positive instance prototypes,背景建模(蓝色区域)为 negative prototypes。这些 instance specific 的 prototypes 随着时间不断更新,更新机制采用滑动平均来更新,类似于 LSTM 中的 hidden state。

在第帧时,这些 positive 和 negative 的 prototypes 分别产生不同的 attention maps,从中也能看出不同 prototype 的关注代表区域。最后将初始的物体 mask、产生的 instance attention map、以及融合时序新的 frame feature concat 在一起,通过一个简单的分割 FCN 网络得到最终的 mask 预测。

随时间更新实例原型。

具有前景和背景原型、时序传播的实例级原型注意力。

实验

PCAN 作为一个 online method 在两个最大规模的 MOTS 数据集 BDD100K 和 Youtube-VIS 上都取得了领先性能。

BDD100K 分割追踪验证集上的比较结果。

Youtube-VIS 验证集上的比较结果。

PCAN 在 Youtube-VIS 的性能随着 memory tube length 和 prototype 数量的变化,从中可看出长时序建模和在一定范围内增多 prototype 数量的带来的性能改善。

长期时序信息和原型聚类的影响。

原型交叉注意力可视化

【Instance-level】对红色虚线框中的汽车的 instance attention 可视化。研究者选择前四个前景 / 背景原型作为示例,其中每个都专注于特定的汽车子区域,例如第一个 prototype 关注于车头的位置,并且这一 attention 分布随着时间的推移具有隐式无监督一致性。

由红色点边界框定的汽车实例交叉注意力

对红色虚线框中的行人的 instance attention 可视化:


红色点边界框定的行人原型实例交叉注意力地图。

【Frame-level】对整张图 frame-level 的可视化,其中随机选择了 8 个 frame prototypes 并在图像上显示了它们的注意力分布。显然,每个 frame prototype 都学会对应图像的一些语义概念,涵盖前景和背景区域,例如人、滑板、雨伞和网球拍等等,这些都是通过无监督聚类所学习到的。

可视化随机帧原型的 frame-level 原型交叉注意力地图。

BDD100k 实例分割追踪竞赛



参考链接

  1. Non-local Neural Networks: https://arxiv.org/abs/1711.07971 
  2. EMANet: Expectation-Maximization Attention Networks for Semantic Segmentation
  3. KITTI MOTS: MOTS: Multi-Object Tracking and Segmentation
  4. Space-Time Memory Networks: https://arxiv.org/abs/1904.0060 


相关文章
|
传感器
多传感器感知原理解读 | BEVFusion解读(二)
多传感器感知原理解读 | BEVFusion解读(二)
965 0
|
5月前
|
人工智能 JSON 开发工具
解决提示词痛点:用AI智能体自动检测矛盾、优化格式的完整方案
本文介绍了一种基于用户意图的提示词优化系统,利用多智能体架构实现自动化优化,提升少样本学习场景下的提示词质量与模型匹配度。系统通过专用智能体协同工作,识别并修复逻辑矛盾、格式不清及示例不一致等问题,结合Pydantic结构化数据模型与OpenAI评估框架,实现高效、可扩展的提示词优化流程。该方案显著减少了人工干预,增强了系统效率与输出一致性,适用于复杂研究任务与深度AI应用。
654 0
解决提示词痛点:用AI智能体自动检测矛盾、优化格式的完整方案
|
10月前
|
Swift
DeepSeek开源Janus-Pro多模态理解生成模型,魔搭社区推理、微调最佳实践
Janus-Pro是DeepSeek最新开源的多模态模型,是一种新颖的自回归框架,统一了多模态理解和生成。
1011 19
DeepSeek开源Janus-Pro多模态理解生成模型,魔搭社区推理、微调最佳实践
|
机器学习/深度学习
python-随机森林后筛选最重要变量,模型准确率、随机森林混淆矩阵结果、基尼系数排序图
python-随机森林后筛选最重要变量,模型准确率、随机森林混淆矩阵结果、基尼系数排序图
|
IDE 网络安全 开发工具
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。
5879 0
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
|
自然语言处理 Docker 容器
ElasticSearch 实现分词全文检索 - ES、Kibana、IK分词器安装
ElasticSearch 实现分词全文检索 - ES、Kibana、IK分词器安装
299 0
|
Docker 容器
29-Docker-常用命令详解-docker history/diff
29-Docker-常用命令详解-docker history/diff
|
设计模式 开发者 Python
Python中循环依赖问题及其解决方案
循环依赖是 Python 开发中需要特别注意的问题。通过重新设计模块结构、延迟导入、依赖注入、利用 Python 的动态特性以及代码重构等方法,可以有效地解决循环依赖问题。这些策略不仅有助于提高代码的可维护性和可读性,还能避免潜在的运行时错误。在实际开发中,开发者应该根据具体情况选择合适的解决方案。
|
编解码 自动驾驶 计算机视觉
首篇基于Occupancy的单目3D模型 | 让单目3D也搭上最前沿列车
首篇基于Occupancy的单目3D模型 | 让单目3D也搭上最前沿列车
326 1
|
算法 计算机视觉
如何判断点在多边形内部:OpenCV--cv2.pointPolygonTest()方法详解
如何判断点在多边形内部:OpenCV--cv2.pointPolygonTest()方法详解