首页 > 其他分享 >SMILETrack——ByteTrack与外观特征的融合实现高效的多目标跟踪方法

SMILETrack——ByteTrack与外观特征的融合实现高效的多目标跟踪方法

时间:2024-04-03 12:30:21浏览次数:25  
标签:外观 置信度 -- ByteTrack SLM SMILETrack 跟踪 模型

概述

ByteTrack在多目标跟踪领域取得了显著成就,但依赖运动信息(IoU)进行关联的机制存在局限性。为了弥补这一不足,SMILETrack提出一种集成了外观特征的最先进的多目标跟踪(SoTA)模型。
在多目标跟踪的两大类别中,单独检测与嵌入模型(SDE)和联合检测与嵌入模型(JDE)各有优势与挑战。SDE方法依赖于独立的检测器,并通过关联每一帧的检测结果来实现跟踪,这种方法因其允许对检测和跟踪模型进行独立优化而通常更为精确。然而,使用独立模型也带来了实时性方面的挑战。相反,JDE方法通过在单一模型中同时进行检测和跟踪,理论上能够提供实时估计,但这种方法由于竞争性学习的存在,往往会导致准确性的下降。SMILETrack模型属于SDE类别,它继承了ByteTrack仅使用运动信息的关联策略,并进一步引入了基于注意力机制的外观特征提取器,这一改进在MOT17和MOT20数据集上取得了SoTA的成果。

SMILETrack的主要贡献可以归纳为以下几点:

  1. 引入了相似性学习模块(SLM),这是一种外观特征提取器,它利用注意力机制明确区分检测到的个体,从而提高了跟踪的准确性。
  2. 针对ByteTrack在鲁棒性方面的不足,我们提出了相似性匹配级联(SMC),这是一种结合了外观信息和运动信息的关联策略,旨在增强模型的鲁棒性。
  3. 设计了一种门函数来调节外观和运动信息的权重,使得模型在面对遮挡和运动模糊时能够进行更为鲁棒的关联。

论文地址: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时,准确性有所提高。采用这两种方法的模型在消融方面达到了最高的精度,证明了该方法的优越性。

标签:外观,置信度,--,ByteTrack,SLM,SMILETrack,跟踪,模型
From: https://blog.csdn.net/matt45m/article/details/137256710

相关文章

  • ByteTrack多目标跟踪——yolox_model代码详解
    文章目录yolox_modelYOLOPAFPNYOLOXHeadmodel损失计算初步筛选SimOTA求解附:网络结构ClsheadCls_convsCls_predsRegheadReg_convsReg_predsObjheadObj_predsyolox_modelyolox_model主要包括以下几个文件:yolox.py、yolo_pafpn.py以及yolo_head.pytrain时......
  • 设计模式DP-外观模式
    #include<stdio.h>#include<string.h>#include<stdlib.h>//定义子系统AtypedefstructsubsystemA{ void(*operationA)(structsubsystemA*subsystem);}SubsystemA;//定义子系统BtypedefstructsubsystemB{ void(*operationB)(structsubsystem......
  • 为什么阿波罗机器人(Apollo)是外观最帅的机器人 ?
    资料:https://www.youtube.com/watch?v=3CdwPGC9nyk答案很简单,那就是这个公司单独找了一个外观设计团队,单独设计的外观。看来啥事情要想搞的好,那就得多花钱。......
  • 每日一练:LeeCode-38、外观数列【字符串】
    给定一个正整数n,输出外观数列的第n项。「外观数列」是一个整数序列,从数字1开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1)="1"countAndSay(n)是对countAndSay(n-1)的描述,然后转换成另一个数字字符串。......
  • 11_外观模式
    外观模式是一种结构型设计模式,它提供了一个统一的接口,用于访问子系统中的一组接口。外观模式通过将客户端与子系统之间的复杂依赖关系解耦,简化了客户端的使用。外观模式有三个主要角色:外观(Facade):提供了一个统一的接口,用于访问子系统中的一组接口。外观封装了子系统的复杂性,简......
  • 外观模式(facade pattern)
    外观模式(facadepattern) 外观模式(FacadePattern),也叫门面模式,外观模式的原始定义是:为子系统中的一组接口提供统一的接口。它定义了一个更高级别的接口,使子系统更易于使用。外观模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模......
  • 外观模式
    外观模式: 优点: 1.对客户端屏蔽了子系统组件,减少了客户端所需要处理的对象数目,并使子系统使用起来更加容易,通过引入外观模式客户端代码将变得很简单,与之关联的对象也很少 2.它实现了子系统域客户端之间的松耦合关系,这使得子系统的变化不会影响到调用它的客户端,只需要调整......
  • iPhone 16外观设计图曝光:重回iPhone X时代
    爆料人MajinBu在社交平台上曝光了iPhone16系列标准版设计图,有设计师依据设计图绘制了iPhone16渲染图。iPhone16最大变化是回归了iPhoneX时代的竖排双摄设计风格,提供了多彩配色,两颗摄像头分别是主摄和超广角。业内人士指出,iPhone16和iPhone16Plus之所以采用竖排双摄,是为......
  • 软件体系结构与设计模式之装饰模式和外观模式
    一.单选题(共4题)(单选题)某公司欲开发一个图形控件库,要求可以在该图形控件库中方便地增加新的控件,而且可以动态地改变控件的外观或给控件增加新的行为,如可以为控件增加复杂的立体边框、增加控件的鼠标拖拽行为等。针对上述需求,使用()模式来进行设计最合适。A.适配器(Adap......
  • 外观模式
    实验12:外观模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解外观模式的动机,掌握该模式的结构;2、能够利用外观模式解决实际问题。[实验任务]:计算机开启在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法,如内存(......