点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
作者:孙培泽(源:知乎)编辑:CV_Autobot
https://zhuanlan.zhihu.com/p/542266820
目标跟踪领域主要可分成以下四项子任务:单目标跟踪(SOT),视频目标分割(VOS),多目标跟踪(MOT),多目标跟踪与分割(MOTS)。由于不同子任务在定义与设定上的差异,绝大多数现有跟踪算法都是被设计用来解决单一或者部分子任务的,缺乏向其他任务的拓展能力。显然,他们的长期割裂状态对于跟踪领域的发展并不友好。我们提出了一种目标跟踪任务的大统一模型Unicorn,该模型只需一套网络结构、一套模型参数即可同时完成四种跟踪任务。Unicorn首次实现了目标跟踪网络结构与学习范式的大一统,在不同跟踪任务上使用完全相同的输入、骨干网络、特征嵌入、以及预测头部。Unicorn在来自四种跟踪任务的8个富有挑战性的数据集(LaSOT, TrackingNet, MOT17, BDD100K, DAVIS-16, DAVIS-17, MOTS, BDD100K MOTS)上取得了优异的表现,在多个数据集上刷新了State-of-The-Art。
1. Motivation
目标跟踪是计算机视觉中的基本任务之一,其旨在建立帧之间的像素级或实例级对应关系,并通常以box或mask的形式输出轨迹。根据不同的应用场景,目标跟踪问题主要分成了四个独立的子任务:SOT、MOT、VOS和MOTS。这导致大多数跟踪方法都是仅针对其中一个或部分子任务而设计的,每个领域的各自发展导致了长期的方法隔离和数据隔离,这种分裂的局面带来了以下缺点:
跟踪器可能过拟合特定子任务的特性,缺乏向其他任务的泛化能力。
独立的模型设计导致冗余的参数。例如,基于深度学习的跟踪器通常采用类似的backbone结构,但独立的跟踪模块设计理念阻碍了潜在的参数复用的可能。
本质上无论是SOT/VOS还是MOT/MOTS都是时序空间上特征的关联,区别只是instance的数量。那么很自然地要问一个问题:是否所有的主流追踪任务都可以用一个统一的模型来解决呢?尽管目前已经有一些工作(例如SiamMask、TraDes等)尝试用一个网络同时完成SOT&VOS或者MOT&MOTS,但是SOT与MOT之间始终难以统一。我们发现,阻碍SOT与MOT统一的主要障碍有以下三点:
被跟踪物体的特性不同。MOT 通常要跟踪几十甚至几百个特定类别的实例。SOT 需要跟踪参考帧中给定的一个目标,无论目标属于哪个类别。
需要的对应关系不同。SOT 需要将目标与背景区分开来。MOT 需要将当前检测到的对象与之前的轨迹相匹配。
模型的输入不同。大多数 SOT 方法为了节省计算量并过滤潜在的干扰物,都是以一个小的搜索区域作为输入。然而,MOT算法为了将实例尽可能全地检测到,通常以高分辨率的全图作为输入。
Unicorn提出了两个核心设计:目标先验(target prior)和像素级对应关系(pixel-wise correspondence)来攻克以上挑战。具体来说:
目标先验作为检测头的一个额外输入,是在四个任务之间切换的开关。对于 SOT&VOS,目标先验是通过传播(propagation)得到的目标图,使预测头部能够专注于跟踪的目标。对于 MOT&MOTS,通过将目标先验设置为零,预测头部可以自然地退化成常规的特定类别的检测头部。
像素级对应关系是参考帧和当前帧的所有点对之间的相似度。SOT 对应关系和MOT对应关系都可以看作是像素级对应关系的子集。
借助目标先验和精确的的像素级对应关系,SOT可以不再依赖搜索区域,从而和MOT一样接收全图作为输入。
2. Unicorn
Unicorn的整体结构主要包含三个组成部分(1)统一的输入和骨干网络(2)统一的特征嵌入(Unified Embedding)(3)统一的预测头部(Unified Head)。
目标跟踪的核心任务之一是在视频帧之间建立准确的对应关系。具体来说:
对于SOT&VOS,像素级对应关系(pixel-wise correspondence)将用户指定的目标从参考帧(通常是第一帧)传播到第 t 帧,为最终的框或掩码预测提供强大的先验信息。对于 MOT&MOTS,实例级对应关系(instance-level correspondence)将第 t 帧上检测到的实例与参考帧(通常是第 t-1 帧)上的现有轨迹相关联。像素级对应关系是参考帧 reference frame embedding(HW x C) 和当前帧current frame embedding (HW x C) 的两两点乘(HW x HW) 。同时,由于instance embedding是在frame embedding上从实例所在位置处提取得到的,因此实例级对应关系可以看作是像素级对应关系的子矩阵!即四种跟踪任务可以共享统一的Embedding!
Embedding的训练loss应该同时适用于四种跟踪任务的需要:
对于SOT&VOS来说,虽然帧间的像素级对应关系没有现成的标签,但是可以通过监督传播后的target map来提供监督信号,即target map在目标所在区域的值等于1,其他区域的值为0。
对于MOT&MOTS来说,实例级对应关系可通过标准的对比学习范式得到,对于参考帧和当前帧上的实例,属于同一ID的为正样本,其余的为负样本。
为了实现目标跟踪的大一统,另一个重要且具有挑战性的问题是如何为四种跟踪任务设计一个统一的预测头部。具体来说,MOT需要检测特定类别的目标,而SOT 需要检测参考帧中给定的任何类别的目标。为了弥补这一差异,Unicorn 为检测头部引入了一个额外的输入,称为目标先验(target prior),无需任何进一步修改,Unicorn 就可以通过这个统一的头部检测四项任务所需的各种目标。
如图所示,通过传播得到的当前帧目标图的估计可以提供关于要跟踪目标状态的强先验信息,这启发我们在检测 SOT&VOS 的目标时将其作为目标先验。同时,在处理 MOT&MOTS 时,我们可以简单地将目标先验设置为零。
训练:整个训练过程分为两个阶段:SOT-MOT联合训练和VOS-MOTS联合训练。在第一阶段,使用来自 SOT&MOT 的数据对网络进行端到端优化。在第二阶段,固定其他参数,添加掩码分支,并使用来自 VOS&MOTS 的数据对网路进行优化。
测试:在测试阶段,对于 SOT&VOS,参考目标图只需在第一帧生成一次,并在后续帧中保持固定。Unicorn 直接挑选置信度最高的框或掩码作为最终的跟踪结果,无需像余弦窗那样对超参数敏感的后处理。此外,Unicorn 在每一帧上只需要运行一次骨干网络和计算一次对应关系,当有N个要跟踪的目标时,只需运行轻量级预测头N 次,而不是将整个网络运行N次 ,具有更高的效率。对于 MOT&MOTS,Unicorn 检测给定类别的所有目标并同时输出相应的实例嵌入。在BDD100K 和 MOT17上,数据关联分别采用的是基于Embedding和运动模型的匹配策略。
我们在来自四项跟踪任务的8个数据集上对Unicorn进行了评测。
Unicorn在两个大规模SOT数据集LaSOT和TrackingNet上均做到了state-of-the-art,Success指标相比于之前最优的方法STARK分别提升了1.4%和1.0%。
在MOT17数据集上,Unicorn在MOTA,IDF1,HOTA三项重要跟踪指标上均做到了state-of-the-art。
在BDD100K数据集上,Unicorn在mMOTA,mIDF1两项关键跟踪指标上均大幅领先之前效果最好的方法QDTrack,mMOTA和mIDF1两项指标分别有4.6%和3.2%的提升。
在DAVIS16和DAVIS17数据集上,第一帧无需精确的mask标注、仅使用box初始化,Unicorn仍取得了不错的成绩。在DAVIS16-17上,Unicorn相比于同样使用box初始化的SiamMask来说,J&F指标有17.6%和12.8%的提升!此外,尽管只利用box初始化,Unicorn的甚至也能和一些用mask初始化的方法(UniTrack,RANet等)相媲美。
在MOTS Challenge数据集上,Unicorn在sMOTSA和IDF1两项重要跟踪指标上大幅领先于之前的方法,例如PointTrackV2、TrackFormer等。
在BDD100K MOTS数据集上,相比之前效果最好的PCAN,Unicorn在mMOTSA和mMOTSP两项指标上分别有2.2%和1.0%的提升。
Unicorn首次统一了四项目标跟踪任务的网络结构与学习范式,用一套统一的结构和参数在8个富有挑战性的数据集上取得了亮眼的表现。我们希望Unicorn能够为整个追踪领域带来一些启发,朝着通用视觉模型这一目标迈出扎实的一步。
【自动驾驶之心】全栈技术交流群
自动驾驶之心是国内首个自动驾驶开发者社区,聚焦目标检测、语义分割、关键点检测、车道线、目标跟踪、3D感知、多传感器融合、SLAM、高精地图、规划控制、AI模型部署落地等方向;
加入我们:自动驾驶之心技术交流群汇总!
自动驾驶之心【知识星球】
想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D感知、多传感器融合、目标跟踪)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!
整理不易,请点赞和在看