驾驭白夜场景、刷新多个SOTA,高效提升多目标追踪与分割
来源:机器之心
本文是对苏黎世联邦理工、香港科技大学和快手科技的论文《Prototypical Cross-Attention Networks for Multiple Object Tracking and Segmentation- PCAN》的解读,该论文被 NeurIPS 2021 接收为 spotlight。
论文地址:https://arxiv.org/pdf/2106.11958.pdf
项目主页:https://www.vis.xyz/pub/pcan/
GitHub 地址:https://github.com/SysCV/pcan
知乎原文:https://zhuanlan.zhihu.com/p/445457150
B 站地址:https://www.bilibili.com/video/BV1Rb4y1i7zS?spm_id_from=333.999.0.0
深度学习模型的训练和评估离不开大型数据集的支撑。本文提出的原型交叉注意力网络( 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 实例分割追踪竞赛
BDD100K Dataset 地址:https://www.bdd100k.com/
BDD100K Tracking & Segmentation 排行榜:https://eval.ai/web/challenges/challenge-page/1295/overview
参考链接
Non-local Neural Networks: https://arxiv.org/abs/1711.07971
EMANet: Expectation-Maximization Attention Networks for Semantic Segmentation
KITTI MOTS: MOTS: Multi-Object Tracking and Segmentation
Space-Time Memory Networks: https://arxiv.org/abs/1904.0060
推荐阅读
【重磅】斯坦福李飞飞《注意力与Transformer》总结,84页ppt开放下载!
仅需12层网络,在ImageNet上准确率达到80.7%!普林斯顿大学最新提出ParNet!
MobileViT: 一种更小,更快,高精度的轻量级Transformer端侧网络架构(附代码实现)
【移动端最强架构】LCNet吊打现有主流轻量型网络(附代码实现)
基于Attention机制的轻量级网络架构以及代码实现
深度学习中的轻量级网络架构总结与代码实现
一文详解Inception家族的前世今生(从InceptionV1-V4、Xception)附全部代码实现
华为2012实验室诺亚方舟实验室招聘视觉感知算法实习生
欢迎大家加入DLer-计算机视觉&Transformer群!
大家好,这是计算机视觉&Transformer论文分享群里,群里会第一时间发布最新的Transformer前沿论文解读及交流分享会,主要设计方向有:图像分类、Transformer、目标检测、目标跟踪、点云与语义分割、GAN、超分辨率、视频超分、人脸检测与识别、动作行为与时空运动、模型压缩和量化剪枝、迁移学习、人体姿态估计等内容。
进群请备注:研究方向+学校/公司+昵称(如Transformer+上交+小明)
驾驭白夜场景、刷新多个SOTA,高效提升多目标追踪与分割相关推荐
- 白夜:一文看懂AI项目流程及边缘设备开发
在<AI未来星球>内部群中,白夜从AI项目开发及边缘设备开发的角度,深入浅出的分享了,AI项目开发中的各种感受,以及工作中使用过的一些边缘设备的开发经验. PS:不同嘉宾分享中涉及的相关代 ...
- 上古卷轴5json文件修改_【白夜谈】我做了一款失败的《社长卷轴》Mod
文/Kong 题图 / CaesarZX 白夜谈是编辑的自留地,聊一些比较个人的内容. 但是对于我来说,这个栏目总是一个特别的苦差.因为我实在没有太多表达观点的欲望,所以我和负责白夜谈的跳跳老师商量, ...
- MYSQL学习笔记-(白夜黑羽)
MYSQL学习笔记-(白夜黑羽) SQL配置的前期工作 1.mysql在Linux上的安装 前提条件在centos的root用户下安装 由于centos的yum仓库源默认为mariaDB,所以需重新配 ...
- 绘画工具研究笔记(不定期更新)-1月13日加入史明克24色专业水彩和白夜水彩...
绘画工具研究笔记(不定期更新)-1月13日加入史明克24色专业水彩和白夜水彩 绘画工具研究笔记(不定期更新)-1月13日加入史明克24色专业水彩和白夜水彩 纳兰尔雅的日记 posted on 2014 ...
- 比MAE更强,FAIR新方法MaskFeat用HOG刷新多个SOTA
来源:机器之心 本文约1700字,建议阅读5分钟 mask-and-predict 的方法可能会成为计算机视觉领域的新流派. 自监督预训练在自然语言处理方面取得了惊人的成功,其基本思路中包含着掩码预测 ...
- 城市级三维建筑白膜场景技术方案
前置场景 数据整备:建筑数量4506510,数据具有[高程]字段和[高度]字段. 方案:将建筑面数据->几何修复->将高程转为带Z值的3D要素->基于高度数据对建筑实体进行拉伸-&g ...
- 不碰数据,又要建模?中国版FICO如何驾驭无数据场景 | 算力隐私专栏
算力说 FICO征信体系的强大不言而喻,身怀绝技,吸引圈内各派竞相学习.然FICO缘何成为行业标杆,国内又为什么没有自己的"FICO"?当中数据与隐私计算技术扮演什么角色? 本期算 ...
- 樱道,空蝉,雨空,夏恋,雨道,彩月,幻昼,惊梦,白夜。这些纯音乐
有空听听看 转载于:https://www.cnblogs.com/yihr/p/7356594.html
- web--拉灯泡切换黑天与白夜的精美动画
功能: 进入界面会出现一个灯泡(下面有可以自由飘动也可以自由拉动的绳子),鼠标左键按住不松开可以拉动绳子,松开变化亮起,同时有拉响的清脆声响,把它放在web作业的设计里面绝对是非常非常不错的加分点! ...
最新文章
- Hinton新论文:如何在神经网络中表示“部分-整体层次结构”?
- vs2010 静态使用 opencv 2.46 库
- [Unity热更新]04.卸载方式
- 毕业论文摘要的书写方法和技巧
- SAP Spartacus ng serve 之后,localhost 4200 会后面自动添上 electronics-spa 吗?
- Codeforces Round #556 (Div. 1Div. 2)
- LeetCode 第 24 场双周赛(326/1898,前17.2%)
- oracle出现EOF,ora-03113: 通道出现EOF
- bochs运行xp_bochs安卓最新版下载
- java国际软件工程师_JAVA国际软件工程师--学生选课系统
- qiniuLive 连麦流程介绍
- Approaching ANXIETY DISORDER
- 《软件工程之美》打卡第六周,春招我借这份PDF的复习思路
- ppt太大无法上传怎么压缩变小?
- Unity 3D官方教程——Adventure Game学习记录
- java 跳过 SSL
- 【优化求解】基于自适应模拟退火粒子群优化算法求解单目标优化问题matlab代码
- Win10 Version 1803 四月更新正式版 ISO 镜像下载
- DataSource health check failed
- 哔哩哔哩漫画-下载地址分析
热门文章
- 通过几个Hello World感受.NET Core全新的开发体验
- 验证码识别,发票编号识别(转)
- 25%的游戏通过Steam支持Linux系统
- JSON 列转行的一小段无用代码
- myeclipse设置
- 计算机网络中的拓扑结构教案,计算机网络拓扑结构教案
- AI的使用场景破冰开拓商业服务
- TypeError: Input 'b' of 'MatMul' Op has type float32 that does not match type int32 of argument 'a'.
- 分词verterbi算法实现NLP分词,作者写的经验博客很丰富,需要重点读
- pycharm打开报错python已经停止工作