模型247.97m

GitHub - SysCV/pcan: Prototypical Cross-Attention Networks for Multiple Object Tracking and Segmentation, NeurIPS 2021 Spotlight

本文是对我们 NeurIPS 2021 接收的 spotlight 文章 Prototypical Cross-Attention Networks for Multiple Object Tracking and Segmentation - PCAN 的介绍,同时也分享一下我们对自动驾驶场景中高效快速地进行时序建模和多物体追踪分割的思考。

此外,深度学习模型的训练和评估离不开大型数据集的支撑,欢迎大家关注由 ETH Zurich & UC Berkeley 推出的学术界最大规模的自动驾驶多目标跟踪和分割(MOTS)数据集 - BDD100K Tracking and Segmentation(BDD100K,Overview - EvalAI)。

BDD Tracking Segmentation 数据集的规模是 KITTI-MOTS 的 6 倍(3,0817 vs 5,027 training images, 480K vs 26K instance masks),标注物体数量是 KITTI 的近 20 倍,并覆盖白天、夜间、 雨雪等更为丰富真实的自动驾驶场景。

▲ Prediction results of PCAN on BDD100K - Day

▲ Prediction results of PCAN on BDD100K - Night

论文地址:

https://arxiv.org/abs/2106.11958

项目主页及视频资源:

https://www.vis.xyz/pub/pcan/

开源代码及模型:

https://github.com/SysCV/pcan

Bilibili视频:

https://www.bilibili.com/video/BV1Rb4y1i7zS?spm_id_from=333.999.0.0

引言

1.1 背景

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

1.2 问题

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

另一方面,时间维度包含关于场景的丰富信息,同一物体的不同时间下多个角度的视图可以提高预测的物体分割、定位和类别的质量。然而,高效地利用历史信息(memory information)仍然是一个挑战。

虽然基于注意力机制的时序建模方法(包含 Self-Attention, Non-local Attention 和 Transformer 等)已应用于视频处理,但它们通常直接对高分辨率的深度特征图进行操作。长时间序列上的密集的像素级注意力操作会产生对长度的二次复杂性(quadratic complexity),进一步带来巨大的计算负担和 GPU 内存消耗(例如 VisTR 等),也极大地限制了它们的实际应用。

1.3 成果

PCAN 提出了一种简单高效地利用视频时序信息的机制,通过对目标物体及过去帧的外观特征做高斯混合建模,得到数量较少且低秩(sparse and low-rank)的 representative mixture prototypes(可以理解为多个不同的 cluster centers),实现了对历史信息(memory bank)的压缩。

这一操作在降低 attention 运算复杂度和内存需求的同时, 也提高了视频物体分割的质量和追踪的稳定性。PCAN 包括帧级(frame-level module)和实例级(instance-level module)两个模块的 prototypical cross-attention,前者重构过去帧的深度特征并将其与当前帧对齐,而后者聚焦于视频中的被追踪物体。

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

方法概述

2.1 PCAN的结构框架

PCAN 首先将历史信息(memory bank)中的高分辨率()特征压缩到帧级和实例级的原型(prototypes)中,然后通过 prototypical cross-attention 操作,从由 prototypes 组成的 space-time memory bank 中去提取和利用过去帧中包含的丰富的 appearance,texture and shape information 等等。

Traditional cross-attention in space-time:

Prototypical cross-attention in space-time:

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

▲ PCAN Framework- Overview

2.2 Frame-level PCAN

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

▲ Reconstruct frame feature based on prototypes and current frame.

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

▲ Overview of our frame-level prototypical cross-attention

2.3 Instance-level PCAN

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

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

▲ Updating instance prototypes with time

▲ Our instance-level prototypical attention with foreground and background prototypes and temporal propagation.

实验

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

▲ Comparison on the BDD100K segmentation tracking validation set.

▲ Comparison on the Youtube-VIS validation set.

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

▲ Effect of long-term temporal information and prototypes clustering

Prototypical Cross-Attention Visualization

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

▲ Instance cross-attention maps visualization for the car specified by the red dotted bounding.

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

▲ Prototypical instance cross-attention maps for the pedestrian in the red dotted bounding box.

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

▲ Frame-level prototypical cross-attention maps of random frame prototypes for visualization.

BDD100k Instance Segmentation Tracking 竞赛 

▲ BDD100K Competition

BDD100K Dataset:

https://www.bdd100k.com/

BDD100K Tracking & Segmentation Learderboard:

https://eval.ai/web/challenges/challenge-page/1295/overview

最后也欢迎大家关注正在进行的 BDD100K Instance Segmentation Tracking 竞赛。如果大家觉得文章内容有帮助,欢迎大家转发,关注我们的工作,star 开源的代码!

检测跟踪分割网络笔记相关推荐

  1. 缺陷检测中的分类、检测与分割网络

    缺陷检测中的分类.检测与分割网络 前言 1. 分类网络 2. 检测网络 3. 分割网络 前言 根据缺陷检测的三个阶段其方法大致可以分为三类分别是分类网络.检测网络.分割网络. 1. 分类网络 由于CN ...

  2. 智能手机背面玻璃的缺陷检测,分割网络的应用

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 这是一篇关于手机玻璃表面缺陷检测的文章,由浙江大学发表.主要创新点在成像系统部分,大家可以借鉴参考.而 ...

  3. Transformer在3D点云中的应用综述(检测/跟踪/分割/降噪/补全)

    1 摘要 Transformer 一直是自然语言处理 (NLP) 和计算机视觉 (CV) 的核心.NLP 和 CV 的巨大成功激发了研究者对 Transformer 在点云处理中的使用的探索.但是,T ...

  4. 大盘点 | 基于深度学习的点云分割网络及点云分割数据集

    编辑 | 深蓝前沿 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 后台回复[数据集下载]获取计算机视觉近30种数据集! 引言 点云分割是根据空间.几何和纹理 ...

  5. 检测、分割用什么轻量级网络呢?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 由于深度学习的关系,计算机视觉领域发展迅速,各大榜单精度刷的很高, ...

  6. 轻量级肝脏与肝脏瘤2.5D分割网络阅读笔记

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨李响 来源丨GiantPandaCV 文章目录 1 前言 2 方法概述 2.1 Inceptio ...

  7. CVPR 2020几篇论文内容点评:目标检测跟踪,人脸表情识别,姿态估计,实例分割等

    CVPR 2020几篇论文内容点评:目标检测跟踪,人脸表情识别,姿态估计,实例分割等 CVPR 2020中选论文放榜后,最新开源项目合集也来了. 本届CPVR共接收6656篇论文,中选1470篇,&q ...

  8. 推荐几篇开源论文,包含人脸、目标检测跟踪、分割、去噪、超分辨率等

    本文推荐本周值得关注的已开源论文,包含图像超分辨率.利用疼痛类型之间的域迁移来识别马的疼痛表情的研究.人脸检测识别.图像去噪.分割.手写文本行分割.妆容迁移与卸妆.伪装物体检测等共计 12 篇. 其中 ...

  9. IIAI CVPR 2019 跟踪、检测、分割论文荐读

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自起源人工智能研究院. 撰稿:Fahad Khan,孙国磊,廖胜才,卢宪凯 导语 CVPR (Conference on Computer Vi ...

最新文章

  1. 第二阶段第八次spring会议
  2. mysql 并发锁表_MySQL锁表的用法,防止并发情况下的重复数据
  3. 英语笔记-20151209
  4. java单双引号的区别
  5. jenkins 持续集成, 使用sbt多项目同时package
  6. 【clickhouse】使用waterdrop将Hive中的数据导入ClickHouse
  7. Tomcat详解(二)——tomcat安装与配置
  8. VS编译器中QT版本问题不正确解决方法-Please assign a Qt installation in ‘Qt Project Settings‘.
  9. 《那些年啊,那些事——一个程序员的奋斗史》一
  10. 安卓一键清理内存_雨点清理app下载-雨点清理手机版v1.0
  11. 追寻上古文明毕业季研学营
  12. 关于《Robust outlier detection based on the changing rate of directed density ratio》的阅读笔记
  13. 读书有益——》小朋友的诗(六)
  14. 2021 百度网盘网页版 倍速播放技巧(亲测有效)
  15. 微软上海招 Principal Manager!
  16. @slf4j日志格式配置
  17. 在 Android 中使用 Google Play 游戏服务登录出现12501 报错
  18. uniapp ios app离线打包 - 配置
  19. Camel-学习笔记(一)
  20. AIGC困局与Web3破圈之道

热门文章

  1. python3 aes 报错 ValueError: Incorrect AES key length (95 bytes)的解决方案
  2. OpenVAS 开放式漏洞评估系统--安装及说明
  3. linux shell 指定端口 杀进程 结束进程
  4. php的memcache和memcached扩展区别
  5. Linux 下关于网络的几个命令
  6. Linux C编程--进程介绍7--综合应用实例
  7. Android--手势触控屏幕控制/GestureDetector
  8. 你知道什么是AVL树吗?
  9. Java中方法和工作内存的关系_JMM中工作内存和主内存的关系
  10. android系统动态切换输入法,一种动态切换Android系统输入法的弹出模式的方法与流程...