单目标跟踪算法及其复现过程---ToMP (CVPR2022, Transforming Model Prediction for Tracking)(三)

CVPR2022--使用Transformer在跟踪框架中当做目标模型预测模块

code paper

ToMP是使用pytracking实现的,而本来pytracking整个项目库的复现是要在STARK之前的,但是由于上次在复现的时候没有系统记录,并且上次复现出现了一些问题,本次主要借着重新验证上次复现的结果,重新从头记录一遍,但是本文不包括环境配置哈哈哈。

摘要:

简要介绍一下,包括部分个人思考

基于优化的跟踪方法通过整合目标模型预测模块已被广泛成功,通过最小化目标函数来提供有效的全局推理。虽然这种归纳偏差整合了有价值的领域知识,但它限制了跟踪网络的表达能力。

这里描述的基于优化的跟踪方法,作者在下文解释中主要针对基于判别相关滤波的跟踪模型,即判别相关滤波方法的目标函数在previous frames 上继承前景背景的知识。在这个过程(学习模型)是包括了有效的全局推理的,但是这里对预测目标模型施加了严重的归纳偏差。归纳偏差是卷积带来的问题,而这些方法使用卷积核(或者说目标模型通常设置为卷积核)那这个时候施加了的严重的归纳偏差也就是从卷积中带来的咯。但是现在也有是使用纯transformer来做跟踪,也就是会完全避免了归纳偏差,但是纯transformer跟踪架构的参数量和计算量也是一个很大的问题。

并且这里的目标模型是通过仅最小化先前帧的目标获得的,因此模型预测的灵活性有限。

因此,在这项工作中,我们提出了一种使用基于 Transformer 的模型预测模块的跟踪器架构。

 这里比较一下区别就是使用transformer架构实现的模型预测器替换原先的模型优化器。

ToMP方法不是最小化目标,而是通过端到端训练学习直接从数据中预测目标模型

这允许模型预测器将目标特定先验集成到预测模型中,以便除了允许将目标与所见背景区分开来的特征之外,它还可以专注于目标的特征特征。(如图:Target State Encoding)

此外,ToMP模型预测器还利用当前的测试帧特征,以及之前的训练特征,以转导方式预测目标模型。(如图:Test Frame Encoding)

两个Encoding都适用于目标定位。

 因此,模型预测器可以利用当前帧信息来预测更合适的目标模型。

最后,ToMP方法不是将目标模型应用于由预训练特征提取器定义的固定特征空间,而是可以利用目标信息为每一帧动态构建更具区分性的特征空间。

Transformers 以很少的归纳偏差捕获全局关系,使其能够学习更强大的目标模型的预测。

我们进一步扩展模型预测器以估计第二组权重,这些权重用于准确的边界框回归。生成的跟踪器依赖于训练和测试帧信息,以便转导地预测所有权重。

我们端到端训练所提出的跟踪器,并通过对多个跟踪数据集进行综合实验来验证其性能。(具体数据见原论文)

复现(测试)

---上次在测试时,出现了跟踪目标框不动的问题,这次用源码试一下,看看是不是我之前改了模型的原因。

下载预训练模型pytracking/MODEL_ZOO.md at master · visionml/pytracking · GitHub

 将下载好的预训练模型放在.\pytracking\networks\中,不需要解压,也不需要去后缀

在运行run_tracker.py脚本之前,在终端输入python -m visdom.server,然后点击网址

PS D:\Desktop\tracking_transformer\pytracking-master> python -m visdom.server
E:\Anaconda3\envs\pytorch-gpu\lib\site-packages\visdom\server.py:39: DeprecationWarning: zmq.eventloop.ioloop is deprecated in pyzmq 17. pyzmq now works with
 default tornado and asyncio eventloops.
  ioloop.install()  # Needs to happen before any tornado imports!
Checking for scripts.
It's Alive!
INFO:root:Application Started
You can navigate to http://localhost:8097   点击这个网址

 然后运行run_tracker.py脚本,参数设置为:

tomp
tomp50
--dataset_name
otb   # 我这里是在otb整个数据集上进行初始化,如果是单个视频可以指定序列

# 制定序列
--sequence
Soccer
--debug
1
--threads
0

然后就可以看可视化结果了,可视化效果如下:

这里出现了标签的漂移

简单的单目标,没有背景和其他目标的干扰,分数很高,也很稳定

 这里出现了目标的完全消失,然后再出现,直接就跟踪错误了。

 上次的复现出现问题应该是改了模型的原因,导致搜索区域和模板都不会更新了。

pytracking系列代码的复现还是有很多问题的,还需要不断学习。

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
复现bytetrack,你可以按照以下步骤进行操作: 1. 首先,从GitHub上下载bytetrack的源码压缩包。你可以在https://github.com/pdollar/coco.git找到源码。将压缩包解压后,将其放在site-packages文件夹下。具体路径可以参考你的环境设置,比如D:\MyEnvironment\Anaconda3\envs\byte_track\Lib\site-packages。\[1\] 2. 进入项目文件夹,并在命令行中输入以下命令: ``` cd 项目文件夹路径 python tools/demo_track.py video -f exps/example/mot/yolox_x_mix_det.py -c pretrained/bytetrack_x_mot17.pth.tar --fp16 --fuse --save_result ``` 这个命令将运行bytetrack的演示脚本,使用预训练模型进行视频跟踪。你需要将"项目文件夹路径"替换为实际的项目文件夹路径。\[2\] 3. 在跟踪任务中,由于阈值过滤掉了低置信度的检测框,可能会导致检测信息的丢失和跟踪中断的情况。为了解决这个问题,BYTE保留了每个检测框,并将其分为高分检测框和低分检测框。这样可以更好地处理被遮挡的物体等情况。\[3\] 通过按照以上步骤进行操作,你应该能够成功复现bytetrack。请确保你已经正确设置了环境,并且按照要求下载了源码和预训练模型。 #### 引用[.reference_title] - *1* *2* [复现经典目标跟踪算法ByteTrack之路:调通第一个demo](https://blog.csdn.net/hhh590_hh/article/details/126916833)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [ByteTrack: Multi-Object Tracking by Associating Every Detection Box论文理解及代码复现](https://blog.csdn.net/qq_39821101/article/details/121031225)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值