目标跟踪之LTMU:High-Performance Long-Term Tracking with Meta-Updater环境配置及代码运行

2023-05-16

代码地址:https://github.com/Daikenan/LTMU
论文地址:High-Performance Long-Term Tracking with Meta-Updater
LTMU是CVPR2020的oral,全文重点分析了跟踪过程中经典的模型更新问题。
作者一共在六个state-of-the-art的跟踪器上验证了meta-update的有效性,因此给出了六个trackers的代码,其中论文里面的结果应该是DiMP_LTMU跟踪器(PrDiMP+MU和Super_DiMP+MU的性能更优,但这两个跟踪器是在LTMU发表之后,所以作者也加了进去)。
在这里插入图片描述

一、创建虚拟环境

cd DiMP_LTMU

source create -n DiMP_LTMU python=3.7
source activate DiMP_LTMU
pip install -r requirements.txt
bash compile.sh

二、模型路径下载及路径放置

在这里插入图片描述

LTMU使用DiMP作为local tracker,但不同于DiMP的是,在尺寸回归分支,LTMU用的是SiamMask(分割使得尺寸回归更加精确),Verifier使用的是RT-MDNet来得到置信度得分,但置信度得分低于0时,开启重检测(使用GlobalTrack)。
所以一共用到五个网络模型:模型下载地址:https://pan.baidu.com/s/1-ZReq_Ls63IqsSQ28rdTXA[gzjm]
放置位置:

DiMP_LTMU/Global_Track/checkpoints/qg_rcnn_r50_fpn_coco_got10k_lasot.pth
DiMP_LTMU/pyMDNet/models/mdnet_imagenet_vid.pth
utils/metric_net/metric_model/metric_model.pt
DiMP_LTMU/SiamMask/experiments/siammask/SiamMask_VOT_LD.pth
DiMP_LTMU/pytracking/networks/dimp50.pth

三、代码运行

运行demo.py
在这里插入图片描述

四、如何进行meta-updater?

LTMU使用三阶段的级联LSTM来指导模型更新,充分挖掘视频的时序信息,包括geometric, discriminative and appearance cues三种信息,并输出一个二值决策,确定当前帧是否更新。

  1. Geometric cue指的是历史帧的boundingbox集合,这些boundingbox联合起来可以分析出了目标的运动信息、尺寸变化情况
  2. Discriminative cue指的是得到的响应图的峰值,峰值越高,说明当前模型的预测结果越可信
  3. Appearance cue指的是作者自己离线训练的网络 W A W^{A} WA,可以免于更新带来的噪声污染,类似于孪生网络的感觉,反映每一帧跟踪结果与第一帧(完全精确的boundingbox)的一个相似度得分 s t A s_{t}^A stA,计算公式如下。
    在这里插入图片描述

作者通过全面挖掘这些信息,得到了一个二值决策,判断是否需要更新,对于长时跟踪效果确实很佳。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

目标跟踪之LTMU:High-Performance Long-Term Tracking with Meta-Updater环境配置及代码运行 的相关文章

  • 使用QMap保存数据时,若出现相同的键,可以在不改变原有的变量存储选型基础上,使用insertMulti函数来解决

    场景 问题发生场景解决办法方案一方案二方案三 xff08 重点 xff09 针对方案三的示例 问题发生场景 本来项目中选型选择的是QMap来存储相应的键值对 xff0c 根据Map中的键的顺序取出对应的值 但是在使用的过程中 xff0c 发
  • C语言,声明和实现放在头文件中

    将头文件和实现放在同一个文件中 普通函数与静态函数是有区别的 静态函数 xff1a static h ifndef CRND INCLUDE CRND H define CRND INCLUDE CRND H static int pore
  • C++的编译过程详解

    C C 43 43 编译过程 C C 43 43 编译过程主要分为4个过程 编译预处理编译 优化阶段汇编过程链接程序 一 编译预处理 xff08 1 xff09 宏定义指令 xff0c 如 define Name TokenString x
  • BA(Basic authentication)认证实践

    1 概念介绍 Basic authentication xff1a 是一种最简单的对Web资源进行访问控制的方法 xff0c 属应用层的安全保障手段 常用的签名算法有 xff1a base64 HmacSHA1 1 xff09 优点 xff
  • 累加校验和C语言实现

    发送方 xff1a 对要数据累加 xff0c 得到一个数据和 xff0c 对和求反 xff0c 即得到我们的校验值 然后把要发的数据和这个校验值一起发送给接收方 接收方 xff1a 对接收的数据 包括校验和 进行累加 xff0c 如果得到0
  • C++项目工程在Linux环境开发、部署和运行问题

    背景 当我们自己开发的项目程序需要在linux上进行部署 调试时 xff0c 项目代码完整拷贝过去之后 xff0c 直接运行我们自己的可执行程序 xff0c 往往提示找不到所相关的 so库 xff0c 会报错 这是因为 xff0c 系统只会
  • Jetson Xavier NX上安装ROS、Cartographer、基于D435i的Yolov5+TensorRT7的流程及问题解决

    主要记录下自己在Jetson Xavier NX上运行ROS Cartographer 基于D435i的Yolov5 43 TensorRT的系统环境配置流程 xff0c 经过了无数次在ARM上的安装 xff0c 这次是最流畅的一次环境配置
  • 计算机进制转换:二进制、八进制、十进制、十六进制

    一 什么是进制 在生活中 xff0c 我们通常都是使用阿拉伯数字计数的 xff0c 也就是10进制 xff0c 以10为单位 xff0c 遇10进一 xff0c 所以是由0 xff0c 1 xff0c 2 3 4 5 6 7 8 9组成的
  • 摘要认证,使用HttpClient实现HTTP digest authentication

    文章目录 前言一 四个过程二 过程细节三 HttpClient 代码示例 前言 今天工作需要做了摘要认证 xff08 digest authentication xff09 xff0c 下面就工作中遇到的问题及过程做一个总结 一 四个过程
  • C语言之带参数的宏

    这两天在学习C语言 xff0c 发现宏定义挺有意思 xff0c 可以减少代码量 带参宏定义 的一般形式为 define 宏 名 形参表 字符串 带参宏调用 的一般形式为 xff1a 宏 名 实参表 xff1b define M X Y X
  • visual studio升级

    visual studio升级 概述升级步骤温馨提示 概述 有时处于开发要求或者安全要求 xff0c 需要将visual studio升级到最新的版本 本篇文章记录一下如何升级 升级步骤 1 找到visual studio的安装路径下的安装
  • STL中那些好用的东西!(持续更新)

    一 数据结构部分 1 set amp map xff08 后续持续更新 xff09 2 queue xff08 priority queue xff09 queue lt int gt a 定义 a push i 压入 a pop 弹出 a
  • 工业机器人虚拟仿真设计

  • HTTP详解

    一 什么是HTTP xff1f HTTP xff08 HyperText Transfer Protocol xff0c 超文本传输协议 xff09 是一个简单的请求 响应协议 xff0c 它通常运行在TCP之上 xff08 应用层 xff
  • android练习之为 TextView 添加监听器 ,添加后退按钮 ,从按钮到图标按钮

    为 TextView 添加监听器 NEXT按钮不错 xff0c 但如果用户单击应用的TextView文字区域 xff08 地理知识问题 xff09 xff0c 也可以跳转 到下一道题 xff0c 用户体验会更好 添加后退按钮 为GeoQui
  • ORA-01918: 用户 'SCOTT' 不存在 解决方法

    SQL gt alter user scott account unlock alter user scott account unlock 第 1 行出现错误 ORA 01918 用户 SCOTT 不存在 找到scott sql 文件 S
  • idea 里form表单action提交servlet文件出现报错

    由于在action的字符串中加了空格 xff0c 导致于于url pattern不匹配 xff0c 所以报错
  • 数据结构——二维数组

    二维数组可以理解为数组的数组 二维数组组织为矩阵 xff0c 可以表示为行和列的集合 但是 xff0c 创建二维数组以实现关系数据库外观相似的数据结构 它提供了一次容纳大量数据的便利性 xff0c 可以在任何需要的地方传递给任意数量的功能
  • 数据结构——链表

    链表是一种随机存储在内存中的节点的对象集 节点包括两个字段 xff0c 即存储在该地址的数据和包含下一节点地址的指针 链表的最后一个节点包含指向null的指针 1 链表的用途 链表不需要连续存在于存储器中 节点可以是存储器中任何位置并链接在
  • 多线程学习笔记--第一章 多线程技能(1)

    1 什么是进程 xff1f 进程是操作系统结构的基础 xff0c 是一次程序的执行 xff1b 是一个程序及其数据在处理机上顺序执行时所发生的活动 xff1b 是程序在一个数据集合上运行的过程 xff0c 它是系统进行资源分配和调度的一个独

随机推荐