概述
ByteTrack在多目标跟踪领域取得了显著成就,但依赖运动信息(IoU)进行关联的机制存在局限性。为了弥补这一不足,SMILETrack提出一种集成了外观特征的最先进的多目标跟踪(SoTA)模型。
在多目标跟踪的两大类别中,单独检测与嵌入模型(SDE)和联合检测与嵌入模型(JDE)各有优势与挑战。SDE方法依赖于独立的检测器,并通过关联每一帧的检测结果来实现跟踪,这种方法因其允许对检测和跟踪模型进行独立优化而通常更为精确。然而,使用独立模型也带来了实时性方面的挑战。相反,JDE方法通过在单一模型中同时进行检测和跟踪,理论上能够提供实时估计,但这种方法由于竞争性学习的存在,往往会导致准确性的下降。SMILETrack模型属于SDE类别,它继承了ByteTrack仅使用运动信息的关联策略,并进一步引入了基于注意力机制的外观特征提取器,这一改进在MOT17和MOT20数据集上取得了SoTA的成果。
SMILETrack的主要贡献可以归纳为以下几点:
- 引入了相似性学习模块(SLM),这是一种外观特征提取器,它利用注意力机制明确区分检测到的个体,从而提高了跟踪的准确性。
- 针对ByteTrack在鲁棒性方面的不足,我们提出了相似性匹配级联(SMC),这是一种结合了外观信息和运动信息的关联策略,旨在增强模型的鲁棒性。
- 设计了一种门函数来调节外观和运动信息的权重,使得模型在面对遮挡和运动模糊时能够进行更为鲁棒的关联。
论文地址:https://arxiv.org/abs/2211.08824
源码地址:https://github.com/WWangYuHsiang/SMILEtrack
相关工作
在多目标跟踪中,跟踪过程涉及将前一帧的跟踪结果与当前帧中检测到的物体进行关联。这一过程中,通常利用两类关键信息:基于运动预测的位置信息和物体的外观特征。然而,ByteTrack采用了一种简化的策略,仅依赖运动信息来实现最先进的跟踪性能(SoTA)。这种依赖单一信息源的做法基于一个假设,即如果外观特征未能提供有效信息,它们可能会对跟踪的准确度产生负面影响。在MOT17和MOT20数据集上,ByteTrack通过一个两阶段的关联流程来实现SoTA,首先处理高置信度的检测物体,然后处理低置信度的物体。
然而,本文揭示了ByteTrack在缺乏外观信息时的局限性。研究指出,在MOTChallenge中,由于动作相对简单,仅使用运动信息足以实现高准确度的跟踪。但是,面对复杂动作时,准确度会受到影响。更重要的是,缺少外观特征的支持限制了模型处理身份切换(ID切换)的能力。这表明,在更复杂或动态的场景中,外观特征对于维持跟踪的准确性和鲁棒性是不可或缺的。
算法框架
由于上述原因,SMILETrack结合了ByteTrack和外观特征提取的优点。它通过在使用检测置信度的两阶段关联中考虑到使用Attention的稳健外观信息,实现了高度精确的跟踪。整体情况如下图所示。
SLM
在多目标追踪任务中,对目标的外观特征的处理要求比检测阶段更为严格。高层次的特征对于区分不同类别的对象至关重要,而在追踪过程中,能够区分同一类别内不同个体的低层次特征同样重要。为了满足这一需求,本文提出了一种新颖的外观特征提取器——相似性学习模块(SLM),该模块由图像切片注意(ISA)块构成,能够灵活地提取每个目标个体的特征,从而更有效地进行区分。
SLM采用了一种类似于ShuffleNet的网络机制,该机制通过学习并评估检测到的目标之间的相似度来优化追踪过程。其核心目标是为属于同一实体的个体分配较高的相似度分数,而为不同的个体分配较低的分数。ISA块从SLM中提取出特定于个体的特征,并将这些特征融合至后续的各个融合层中,以形成全面的外观特征表示。通过计算目标间特征的余弦相似度,能够得到用于关联的匹配成本。
这种基于相似度的学习机制不仅提高了追踪算法对个体的区分能力,也为处理复杂场景下的追踪任务提供了一种有效的解决方案。通过这种方式,SLM能够增强追踪系统在面对目标遮挡、姿态变化和光照条件变化等挑战时的鲁棒性。
ISA
ISA块将检测到的物体分成四个切片图像,并提取它们之间的关系与Attention。首先,输入被重新调整为固定大小并输入到ResNet-18。然后将得到的特征图分成四个部分,形成一个切片图像。四个分割的位置被嵌入到线性投影Q、K、V中,并输入到Q-K-V注意力。
Q-K-V注意力模块计算出切片之间的自我注意力和交叉注意力。获得的切片特征最终被结合起来,以获得被检测物体的特征。通过评估与这些基于注意力的可靠特征的相似性,实现了一种能够以高精确度区分同一类别的不同物体的机制。
SMC
SMC使用卡尔曼滤波器将获得的外观信息(SLM)与运动信息(IoU)联系起来。下图显示了整体情况。浅蓝色显示的第一关联和第二关联是ByteTrack中也有的两阶段关联。
首先,检测器将当前帧t的检测结果(BBOX)按照置信度分为三类。首先,置信度低于0.1的检测结果被视为背景或噪音,不用于关联。具有较高置信度的检测被一个阈值thres分割:BBOX按置信度下降的顺序排列,BBOX前半部分的平均置信度为thres。高于此值的BBOX被归为高分BBOX,低于此值的BBOX被归为低分BBOX。
第一阶段。
第一阶段优先考虑高分的BBOXes进行关联:直到第t-1帧的跟踪结果(tracklet)和高分的BBOXes通过外观信息(SLM)和位置信息(IoU)进行关联。这使得只用高质量的信息就能实现可靠的跟踪。
第二阶段。
第1阶段将第2阶段中没有绑定的小轨与低分的BBOX联系起来。然而,这里使用的是一个稍加修改的SLM,即多模板SLM。这样做的原因是为了应对低置信度的检测。
低置信度检测可能是由于闭塞或运动模糊造成的特征提取困难。因此,跟踪小帧方面不只使用一个帧,而是使用几个跟踪的帧。每一帧的BBOX被保留下来作为特征库,并分别输入到低分BBOX和SLM中以获得相似度。相似度的最大值被用来作为最终外观信息的成本。这在本文中被描述为多模板-SLM。
闸门功能
在第一和第二阶段中,都使用了一个门函数进行关联。这是一种控制外观和运动信息的机制。在通常的实践中,外观信息的成本和IoU的成本是同等权重的。下面的公式中,α=0.5。
然而,当两个不同的行人之间的IoU超过了他们的外观特征的相似度,这就产生了一个问题。换句话说,即使外观信息表明他们是不同的个体,如果他们在位置上有很大的重叠,那么IoU就会很高,导致身份转换的问题,将他们与不同的人联系起来。
本文提出了一个门控函数,它拒绝具有高IoU但外观信息相似度低于0.7的匹配。这就减少了不正确的匹配,在这种情况下,不同的外观只要是重叠的就更好。
实验
在实验中,对MOT17数据集的准确性进行了与SoTA模型的比较和消融研究。在消融方面,MOT17训练数据的前半部分用于训练,后半部分用于验证;为了与SoTA模型进行比较,对MOT17、CrowdHuma、ETHZ和Cityperson的组合进行训练。
模型安装与测试
环境安装
conda create --name SMILETrack python==3.10
activate SMILETrack
git clone https://github.com/WWangYuHsiang/SMILEtrack.git
cd SMILEtrack_Official
pip install -r requirements.txt
单个 GPU 训练
python train_aux.py --workers 8 --device 0 --batch-size 4 --data data/mot.yaml --img 1280 1280 --cfg cfg/training/PRB_Series/yolov7-PRB-2PY-e6e-tune-auxpy1.yaml --weights './yolov7-prb-2py-e6e.pt' --name yolov7-prb --hyp data/hyp.scratch.p6.yaml --epochs 100
测试模型
python3 test_track_prb.py --source <dataets_dir/MOT17> --with-reid --benchmark "MOT17" --eval "test" --fp16 --fuse
python3 tools/interpolation.py --txt_path <path_to_track_result>
所提方法的检测器使用一个名为PRB的模型,该模型在COCO数据集上进行了预训练,然后在MOT16和MOT17上进行了微调;SLM在其自身的数据集上进行了训练,该数据集是从MOT17训练集中挑选出来的。无法关联的小轨被删除,多模板-SLM特征库被保留到50帧以上。
与SoTA模型的比较
MOT17测试集的准确度。准确率与SoTA模型进行了比较,如ByteTrack(只使用运动信息)、StrongSORT(是DeepSORT的改进方法)和TransTrack(建立在Transformer上,用于检测和跟踪)。SMILETrack取得了所有方法中最高的准确率,MOTA为81.06,而80.5,是所有方法中准确度最高的。在接下来的消融研究中,这是在准确率最高的设定下进行的测试。
消融
首先是SLM的有效性。我们比较了在关联的每个阶段采用或不采用外观信息(SLM)的准确性。我们也使用普通的SLM来代替第二阶段的多模板SLM。因此,如下表所示,采用SLM的模型只有在置信度较高的第1阶段才有最高的准确率,说明基于置信度的外观信息的使用是合适的。
最后,对门函数和有无多模板-SLM进行了比较。基于一个将运动信息(IoU)和外观信息(SLM)用于阶段1和阶段2的模型,比较了将阶段2改为多模板-SLM或在两个阶段都采用门函数的结果。可以看出,当采用门函数或多模板-SLM时,准确性有所提高。采用这两种方法的模型在消融方面达到了最高的精度,证明了该方法的优越性。