【MOT】GHOST: Simple Cues Lead to a Strong Multi-Object Tracker
GHOST: Simple Cues Lead to a Strong Multi-Object Tracker
论文地址:https://arxiv.org/abs/2206.04656
代码:暂未开源
1、动机
reID模型在MOT表现不佳的原因:
- (i)reID 模型需要考虑在不同时间范围内预期的不同挑战,即,虽然在附近的帧中,对象的外观变化最小,但在较长的时间间隔中更多预计会发生严重变化,例如,由(部分)遮挡【在不同时间的外观特征不一致,特别是遮挡导致外观特征明显变化】
- (ii)reID性能在 MOT 序列中往往不一致,因为它们的图像统计数据不同【在不同数据集上训练得到的reID不通用(不够鲁棒)】
2、方法
提出一种将reID与简单的线性运动模型加权的MOT方法: GHOST:Good Old Hungarian Simple Tracker
具体贡献:
- 提供了关键的设计选择(见下文外观模型部分),可以显着提高用于 MOT 任务的 reID 模型的性能。
- 分析了在哪些潜在情况下外观是不够的,以及何时可以通过运动来支持。
- 在四个数据集实现SOTA
track管理方法
o_i=(f_i, p_i)
表示某时刻的某track,其中f_i
表示embedding,p_i
表示box位置。
轨迹库T最多保存50帧轨迹
外观模型
model:ResNet50+FC(+BN+classify head)
train:Market-1501数据集
设计选择(design choice):
(i)以不同的方式处理活动和非活动轨迹;
图2是距离分布直方图,图2(a)展示了活动轨迹和非活动轨迹在外观距离上的差异,表明活动轨迹的外观特征总体差异较小,连续帧间几乎没有变化;但不活动轨迹(遮挡)在连续帧间易出现外观特征变化较大的情况并且导致错误匹配(浅蓝色区域)
- 外观距离代价函数【余弦距离d(·)】:
第t帧活动轨迹j
与检测框i
关联时外观距离为
d_i,j = d(f_i, f_jt-1)
非活动轨迹k
与检测框i
关联时外观距离为前Nk
帧得embedding与检测i
的embedding的距离的平均值,即
【本人总结】外观距离可以用多种方式来计算:
(1)one embedding:采用上一帧的embedding来计算(最简单的形式)
(2)embedding bank:每个track保存一个embedding库,计算库中embedding与检测框embedding的最小值作为关联距离【deepsort】
(3)EMA embedding:采用EMA(指数移动平均)不断更新embedding,匹配时用EMA平均的embedding来计算距离【JDE、FairMOT】
(4)EMA bank:既采用EMA计算平均embedding,又保存在库中,计算时取最小的【GIAOTracker】
(5)MA embedding:用MA(移动平均)不断更新embedding【Tracktor】
(6)MA distacnce:每一帧embedding计算的距离的MA【本文】
(7)Mode embedding:保存一个embedding库,取每个维度上的众数作为计算用的embedding【本文附录】
(8)Median embedding:保存一个embedding库,取每个维度上的中位数作为计算用的embedding【本文附录】
(ii)增加动态域自适应(On-the-fly Domain Adaptation)
应该是属于person re-identification领域的概念。
作者在引言部分提到不同数据集的数据分布不一致导致re-ID模型不够鲁棒,因此采用BN的方法来学习数据分布
运动模型
平均线性运动(取Nk帧位置计算平均速度)
运动权重设置为0.5(作者在附录中说不同数据集、不同情况下权重不一样,具体情况具体分析)
关联方式
在匹配时采用一次匈牙利匹配,对活动轨迹和非活动轨迹设置不同的阈值,如图2(b)所示
3、实验:
作者发现:
- 动态场景下(相机运动):在长期和短期关联方面,外观表现优于运动,因为相机运动导致运动难以估计
- 静态场景下(固定相机):在长期关联方面运动表现优于外观,在遮挡情况下外观表现极差
附录中提到:外观经常被用来处理运动无法解决的长期关联,而运动通常用于短期。
其他实验详见原文,作者做了巨多实验。
个人总结:
验证了活跃track和非活跃track外观特征的差异,因此采用不同方式计算。
创新点在于提出一种新的外观距离计算方式,并且进行实验验证;动态域自适应我不了解,不好评价,应该是从其他领域借鉴过来的,反映到MOT上就是不同数据集分布不一致,re-ID模型不够鲁棒;其他就没什么了,实验工作量挺大。
附录
- A、BDD100K实验
- B、对正文部分实验的分析,主要是对遮挡程度、遮挡时间
- C、对动态域自适应的深入分析
- D、对外观距离做了个小总结及实验【写的不错】
- E、运动权重分析,面向数据集分析
- F、对平均速度计算用的帧数做分析,面向数据集分析
- G、track寿命分析(max_age)
- H、自适应阈值分析及算法
- I、距离分布计算,应该是实验设置细节
- J、相似MOT方法比较(主要是将track进行分类的),提到ByteTrack、DeepSORT、HCC等
- K、作者认为ByteTrack在不同数据集上调参,甚至更改基线模型(引入额外的re-ID模型),对其普遍性表示质疑。【看戏】
- L、对每个模块的耗时进行计算,在Quadra P6000 GPU上速度10FPS
- M、效果可视化
【MOT】GHOST: Simple Cues Lead to a Strong Multi-Object Tracker相关推荐
- 【MOT】多目标跟踪通用流程方法总结
从整体框架分类: TBD(Tracking-by-Detecton),或者DBT(Detection-based-Tracking),具体来说首先使用物体检测器检测目标,然后,利用运动.位置.外观线索 ...
- 【BZOJ3489】A simple rmq problem kd-tree
[BZOJ3489]A simple rmq problem Description 因为是OJ上的题,就简单点好了.给出一个长度为n的序列,给出M个询问:在[l,r]之间找到一个在这个区间里只出现过 ...
- 论文阅读 【CVPR-2022】 A Simple Multi-Modality Transfer Learning Baseline for Sign Language Translation
论文阅读 [CVPR-2022] A Simple Multi-Modality Transfer Learning Baseline for Sign Language Translation st ...
- 【译】A Fully Spiking Hybrid Neural Network for Energy-Efficient Object Detection
文章目录 [译]A Fully Spiking Hybrid Neural Network for Energy-Efficient Object Detection 1 Abstract 2 Int ...
- 【MOT】多目标追踪学习笔记之MOTR
1.前言 由于transformer的成功,现已经在多目标跟踪领域(MOTR)广泛应用,例如TransTrack和TrackFormer,但这两个工作严格来说不能算作端到端的模型,而MOTR的出现弥补 ...
- 【MOT】C-BIoU:Hard to Track Objects with Irregular Motions and Similar Appearances?
Hard to Track Objects with Irregular Motions and Similar Appearances? Make It Easier by Buffering th ...
- 【mysql】gh-ost使用说明
gh-ost使用说明 下载安装 源码地址:https://github.com/github/gh-ost 安装包下载地址:https://github.com/github/gh-ost/relea ...
- 【转】GHOST XP﹢WIN7装双系统图解教程
http://blog.163.com/js4461751@126/blog/static/23655888201002410833963/GHOST XP﹢WIN7装双系统图解教程 技术文档 201 ...
- 【VxWorks】ghost系统备份与恢复
工作中需要对多个机器进行VxWorks安装,简要记录下VxWorks的备份与恢复过程. 一 VxWorks系统备份 1. 制作DOS启动盘,工具USBoot170.exe,过程如下(我的U盘为USB ...
最新文章
- 搭架SSH服务器学习笔记
- 用官方2012版本131兆,一共有四个自带软件
- RouterOS V2.9.27 固定IP双电信分流教程(详)
- LeetCode 1089. 复写零
- cadence PCB板级设计
- 网站运营需要注意什么?
- 由方位角和长度如何确定坐标 已知第一个点的坐标
- videojs 动态加载视频
- vim 配置文件 (未完待续)
- KB4484127 更新导致ACCESS数据库查询报 Query '' is corrupt 异常解决方案
- 银行票据+票据池相关的项目讲解
- 建模专题1:石墨烯-氧化石墨烯及各种纳米材料体系的构建方法
- python 爬取贝壳网小区名称_利用python爬取贝壳网租房信息,python爬虫接单网, 最近准备换房子,...
- X360吉他英雄4鼓套装 1 TB硬盘入手
- 语文默写的决斗(YZOJ-1069)
- 前端导出多页pdf 带目录 页眉 页脚及页码
- Elasticsearch 响应数据压缩功能详解
- CornerNet论文笔记
- 奶爸日记4 - 海边看轮船玩滑梯
- FIRST集和FOLLOW集的计算