第一个目标跟踪:2021CVPR-TransT:基于Transformer的视觉跟踪

下载源码地址:GitHub – chenxin – dlut/TransT:Transformer Tracking

1、  运行准备(Windows PowerShell 终端)

1.1 激活虚拟环境:

conda activate transt

然后配置项目代码路径:

$env:PYTHONPATH = "D:\TransT\TransT-main;" + $env:PYTHONPATH,

把TransT项目根目录添加到系统Python检索路径,否则代码会找不到项目内部模块、报导入错误。仅Windows PowerShell使

  1. 模型评测命令(测试跟踪效果)

先导入项目文件所在位置cd D:\TransT\TransT-main再执行

python pysot_toolkit/test.py --dataset OTB100 --name transt

此步骤是为了切换工作目录到TransT项目主文件夹,运行评测脚本,指定使用OTB100数据集测试,加载transt标准版模型。补充说明:执行前必须提前完整下载OTB100数据集并放到项目指定路径,否则直接报错;脚本会自动遍历视频、用TransT跟踪目标,输出成功率、精确率等量化指标。

1.2 模型训练命令

cd ltr

python run_training.py transt transt

此步骤目的是进入项目内ltr训练文件夹,执行训练脚本,训练TransT跟踪网络。需要补充说明的是运行前需要提前下载好训练数据集:LaSOT、GOT10k、TrackingNet、COCO,缺少数据集会无法启动训练。

2、 TransT跟踪算法和feartrack的跟踪算法视频效果对比

2.1 输出视频效果对比

下面时视频输出结果大致不能判断出哪个算法好,图一为TransT结果图,图三feartrack输出结果。

                   图一         TransT结果图                                 图三            feartrack输出结果

2.2  关键结论信息对比

所以通过数据分析更为准确的知道这两种跟踪算法的优缺点,其中TransT采用ResNet50骨干网络搭配Transformer全局注意力结构,采用固定初始模板跟踪机制;模型文件大小92MB,硬件实测推理速度53FPS。与之对照的FeatTrack算法以ResNet骨干网络结合轻量化注意力模块、动态模板更新策略构建,模型体积25MB,基础推理速度约25FPS,如下表所示,我在对比看看。

在统一视频序列、完全一致初始化框[163, 53, 45, 174]、相同硬件环境下,肉眼观测两段算法输出跟踪视频直观差异较小,二者具备工程替换可行性,需通过定量指标开展标准化对比实验。

表1-1 关键结论对比图

指标

Feartrack

TransT

速度

~25 FPS

53 Fps

架构

ResNet+注意力+动态更新

ResNet50+Transformer

模板

动态更新

固定

模型大小

25MB

92MB

2.3 IoU、CLE、推理速度、时序分段稳定性等对比

根据上表内容暂时也不能看出哪个好,所以我现在来对比其他信息。对于无偏对照条件下,我将对比融合逐帧IoU、中心定位误差CLE、推理速度、时序分段稳定性、跟踪一致性多维度数据完成综合评估,判断算法最优,完整分析如下:

综合全部量化指标与可视化结果,FeatTrack综合性能优于TransT。FeatTrack在跟踪精度、极限误差抑制、有效跟踪帧占比、实时推理速度四项核心维度具备显著优势;仅在视频末尾长时序跟踪区间,TransT凭借固定模板无累积漂移的特性小幅反超,整体工程落地实用性弱于FeatTrack,如下图表格所示的详细信息。

表1-2  评价指标对比表

评价指标

Feartrack

TransT

性能判定

平均IoU(数值越高,匹配精度越高)

0.2282

0.2116

FearTrack提升7.8%,性能更优

平均CLE像素误差(数值越低,定位越准)

47.45px

47.68px

FearTrack定位误差略低,小幅领先

最大CLE极限误差(数值越低,极端场景漂移越小)

125.11px

128.21px

FearTrack降低2.4%,鲁棒性更强

IoU>0.5,有效跟踪帧占比

8.6%

5.7%

FearTrack有效跟踪帧数为TransT的1.5倍

IoU>0.7高精度跟踪帧占比

2.3%

0.6%

FearTrack高精度跟踪优势显著

平均推理帧率

20-30

11.8

FearTrack实时性具备碾压级优势

从整体匹配精度来看,FeatTrack全局平均IoU高于TransT7.8%,平均中心定位误差小幅领先,基础定位能力更突出;二者有效跟踪区间差距显著:能够稳定匹配目标(IoU>0.5)的帧占比上,FeatTrack远超TransT,超高精度跟踪(IoU>0.7)帧占比达到后者近 4 倍,说明TransT更易出现跟踪框偏移、目标匹配失效问题。

针对目标快速运动、短时遮挡等极端工况,采用最大CLE指标衡量极限漂移程度:FeatTrack极限定位误差更小,极端场景下跟踪框脱离目标的概率更低,短时遮挡工况抗干扰鲁棒性更强。

将视频序列按目标运动、遮挡工况划分为三段,判断时序分段的稳定性,分区间IoU均值对比折线图结果如下所示。

图1-1 IOU均值对比图

分段性能成因解析:

  1. 前半段(目标外观、尺度持续变化):FeatTrack动态模板更新机制可实时适配目标形变与尺寸缩放;TransT仅依赖初始固定模板,无法适配目标外观动态变化,精度持续落后;
  2. 中段(目标大面积遮挡、严重形变):两类算法抗干扰能力趋近,精度指标基本一致;
  3. 后半段长时序区间:动态模板持续迭代会产生微小误差累积,导致FeatTrack跟踪精度小幅衰减;TransT全程不更新模板,不存在累积漂移问题,在视频末尾长时序场景稳定性小幅提升。

跟踪逻辑一致性在下图平均IoU与平均CLE对比显示出:两种算法逐帧预测框平均IoU达0.7963,证明二者底层特征匹配核心逻辑高度趋同,不会出现完全丢失目标的极端分歧;性能差异仅来源于模板更新策略、特征提取与计算架构的细节设计。

图1-2 平均IoU与平均CLE折线图

综上所示,feartrack优于transT算法,但我们可以针对场景选择更为合适的算法,比如优先选用FeatTrack的应用场景

  1. 目标存在频繁形变、尺度缩放、短时遮挡场景:行人跟踪、车辆追踪、低空无人机目标捕捉;

2、部署平台算力有限,对实时性硬性要求高:笔记本端、边缘嵌入式设备、移动端实时检测系统;

3、中短时序跟踪任务(数百帧以内),动态模板累积漂移风险可忽略,精度优势可充分发挥。

比如优先选用TransT的应用场景

1、超长时序连续跟踪任务(千帧以上),动态模板误差累积会严重影响跟踪效果;

2、科研高精度实验场景,可接受准实时推理速度,侧重长时序稳定跟踪指标;

3、画面内存在大量相似干扰物体,依赖全局注意力区分目标与背景、干扰物的工况。

第二种目标跟踪:SiamFC-PyTorch孪生网络目标跟踪实现

xia'zaxiaxiasiamfc-pytorch:基于 PyTorch 的 Siamese 网络目标跟踪项目 - AtomGit

下载步骤:

1、环境配置

2、下载预训练模型 siamfc_alexnet_e50.pth:

   - Google Drive: https://drive.google.com/file/d/1UdxuBQ1qtisoWYFZxLgMFJ9mJtGVw6n4/view?usp=sharing

   - 百度网盘: https://pan.baidu.com/s/1MTVXylPrSqpqmVD4iBwbpg (密码: wbek)

3. 将模型放入 pretrained/ 目录

4. 运行 python tools/demo.py 测试

本次对比实验选取 SiamFC、FeatTrack 两类典型孪生跟踪算法开展横向对照,严格遵循同一视频序列、同一目标初始框的公平实验约束,通过生成可视化跟踪视频直观量化、定性对比两类算法的跟踪鲁棒性,完整操作流程、实验依据与结论整理如下:

一、实验前置基础说明

(一)SiamFC-PyTorch算法基础运行环境与文件说明

该方案基于 AlexNet 骨干搭建孪生网络跟踪框架,预训练权重文件为siamfc_alexnet_e50.pth;项目内置三套功能脚本,分工明确:

评测脚本tools/test.py:用于数据集批量精度验证,默认读取路径~/data/OTB下的 OTB 基准数据集,可自定义修改数据集路径;

演示脚本tools/demo.py:单视频序列可视化跟踪演示,默认加载序列~/data/OTB/Crossing,支持自定义视频路径;

训练脚本tools/train.py:模型重新训练 / 微调,默认读取~/data/GOT-10k数据集。

项目配套批处理快捷启动脚本,环境部署完成后存在两种启动方式:

① 直接双击run.bat,自动执行跟踪演示并输出带跟踪框的结果视频;

② 若run.bat执行异常,双击env.bat唤起适配环境的命令行终端,手动输入启动可视化跟踪。

python run_demo_video.py

二、FeatTrack 跟踪算法与 SiamFC算法效果对比

FeatTrack 跟踪算法与 SiamFC 采用完全一致的目标初始框坐标完成跟踪初始化,本次实验统一初始框参数为[163, 53, 45, 174](x、y、宽、高像素标准格式),保证两类算法输入条件无偏差。

图二 对比运行信息图

个人通过输出的视频结果发现:如下图二时SiamFC输出结果和图三feartrack输出结果对比,基于同一段测试视频的可视化输出结果观测:SiamFC 仅能在视频前序短时间内稳定匹配目标行人,视频后半段目标发生形变、轻微遮挡后,跟踪框出现严重漂移、目标丢失问题,跟踪稳定性较差;FeatTrack 可实现全程实时稳定跟踪,能够自适应目标尺度变化动态调整跟踪框尺寸,边界贴合度高、定位误差更小,长时序跟踪鲁棒性显著优于 SiamFC。

              图二         SiamFC视频输出                                 图三      feartrack视频输出结果

表1-1 结果对比表

特性

SiamFC

FEARTRACK

精度

一般

更高

速度

更快

较慢

模型大小

9MB

25MB

内存占用

较大

模板更新

固定

动态更新

抗遮挡

总之,经过分析和视频效果对比,feartrack优于上述两种算法。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐