ByteTrack算法流程的简单示例

ByteTrack

ByteTrack算法是将t帧检测出来的检测框集合 D t {\mathcal{D}_{t}} Dt 和t-1帧预测轨迹集合 T ~ t − 1 {\tilde{T}_{t-1}} T~t1 进行匹配关联得到t帧的轨迹集合 T t {T_{t}} Tt
在这里插入图片描述

首先使用检测器检测t帧的图像得到检测框集合 D t {\mathcal{D}_{t}} Dt,再根据置信度阈值将检测框集合划分为高置信度检测框集合 D t h {\mathcal{D}^{h}_{t}} Dth 和低置信度检测框集合 D t l {\mathcal{D}^{l}_{t}} Dtl

然后ByteTrack使用卡尔曼滤波,根据t-1帧的轨迹集合 T t − 1 {T_{t-1}} Tt1 预测轨迹在t帧的位置;得到t帧的预测轨迹集合 T ~ t − 1 {\tilde{T}_{t-1}} T~t1

ByteTrack第一阶段,先将高置信度检测框和预测轨迹相匹配;匹配结果有三种情况:

  • 高置信度检测框和预测轨迹匹配成功,则更新到t帧的轨迹集合中。
  • 高置信度检测框没能和预测轨迹匹配,也更新到t帧的轨迹集合中。
  • 预测轨迹没有高置信度检测框与它匹配,则放入到未匹配的预测轨迹 T ~ t − 1 u \tilde{T}^{u}_{t-1} T~t1u

ByteTrack第二阶段,先将未匹配的预测轨迹集合 T ~ t − 1 u \tilde{T}^{u}_{t-1} T~t1u划分为活跃轨迹 T ~ t − 1 u , a \tilde{T}^{u,a}_{t-1} T~t1u,a和非活跃轨迹 T ~ t − 1 u , i \tilde{T}^{u,i}_{t-1} T~t1u,i;非活跃的预测轨迹直接放入到t帧的轨迹集合中,活跃的预测轨迹用于和低置信度检测框进行匹配关联。同样,匹配结果有三种情况:

  • 低置信度检测框和预测轨迹匹配成功,则更新到t帧的轨迹集合中。
  • 低置信度检测框没能和预测轨迹匹配,则删除。
  • 预测轨迹没能和低置信度检测框匹配,也跟新到t帧的轨迹集合中。

到此,t帧的处理结束,视频后续也是如此流程。

活跃轨迹:前一帧中匹配得到检测框;非活跃轨迹:前一帧中没有匹配得到检测框。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/592996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

md文件图片上传方案:Github+PicGo 搭建图床

文章目录 1. PicGo 下载2. 配置Github3. 配置PicGo4. PicGo集成Typora4.1 picGo监听端口设置 5. 测试 1. PicGo 下载 下载地址:https://molunerfinn.com/PicGo/ 尽量下载稳定版本 2. 配置Github 1. 创建一个新仓库,用于存放图片 2. 生成一个token&a…

【安卓的签名和权限】

Android 编译使用哪个key签名? 一看Android.mk 在我们内置某个apk的时候都会带有Android.mk,这里面就写明了该APK使用的是什么签名,如: LOCAL_CERTIFICATE : platform表明使用的是platform签名 LOCAL_CERTIFICATE : PRESIGNED…

Redis 生产环境查找无过期时间的 key

在项目中,Redis 不应该被当作传统数据库来使用;储存大量没有过期时间的数据。如果储存大量无过期时间,而且无效的key的话;再加上 Redis 本身的过期策略没有被正确设置,就会大量占用内存。这样就会导致再多的内存资源也不够用。 情况大致是这样,项目中采用 Redis 二级存储…

SpringBoot整合ElasticSearch实现CRUD操作

本文来说下SpringBoot整合ES实现CRUD操作 文章目录 概述项目搭建ES简单的crud操作保存数据修改数据查看数据删除数据 本文小结 概述 SpringBoot支持两种技术和es交互。一种的jest,还有一种就是SpringData-ElasticSearch。根据引入的依赖不同而选择不同的技术。反正作…

leetcode2967. 使数组成为等数数组的最小代价

文章目录 题目思路复杂度Code 题目 给你一个长度为 n 下标从 0 开始的整数数组 nums 。 你可以对 nums 执行特殊操作 任意次 (也可以 0 次)。每一次特殊操作中,你需要 按顺序 执行以下步骤: 从范围 [0, n - 1] 里选择一个下标 …

代码随想录算法训练营Day16 | 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树

LeetCode 654 最大二叉树 本题思路:我们可以看到每次其实这个找最大值,然后创建节点的过程就是一个二叉树的前序遍历的过程。所以,我们可以递归来完成它。 先创找到数组中,最大的值的下标,然后创建根节点然后根据下标…

pytest装饰器:@pytest.mark.incremental

pytest.mark.incremental 是一个pytest中的装饰器,用于标记增量测试。增量测试是一种测试策略,它将测试分解成多个递增的步骤或阶段,并按顺序执行这些步骤。 pytest.mark.incremental 装饰器的作用是告诉pytest,该测试函数是一个…

c语言-整型在内存的存储

文章目录 前言一、整型数值在内存中的存储1.1 整型数值的表示形式1.2 二进制的表示形式1.3 整数在内存中存储 二、大端字节序存储和小端字节序存储2.1 大端字节序存储2.2 小端字节序存储2.3 练习 总结 前言 本篇文章叙述c语言中整型数据在内存中的存储方式。 一、整型数值在内…

Vue学习计划-Vue3--核心语法(一)OptionsAPI、CompositionAPI与setup

1. OptionsAPI与CompositionAPI Vue2的API设计是Options(配置)风格的Vue3的API设计是Composition(组合)风格的 Options API的弊端: Options类型的API,数据、方法、计算属性等,是分散在:data、methods、computed中的,若…

【操作系统xv6】学习记录2 -RISC-V Architecture

说明:看完这节,不会让你称为汇编程序员,知识操作系统的前置。 ref:https://binhack.readthedocs.io/zh/latest/assembly/mips.html https://www.bilibili.com/video/BV1w94y1a7i8/?p7 MIPS MIPS的意思是 “无内部互锁流水级的微…

Maple 2021安装包下载及安装教程

Maple 2021下载链接:https://docs.qq.com/doc/DUk9MQ1BPRHRYWU9s 1.鼠标右键解压到“Maple 2021” 2.选中Setup,鼠标右击选择“以管理员身份运行” 3.点击“Next” 4.选择I accept the agreement,点击“Next” 5.选择软件安装路径&#xff0c…

YOLOv8-Seg改进:Backbone改进 | 支持restnet50和restnet101

🚀🚀🚀本文改进: 将restnet50和restnet101作为backbone引入到YOLOv8-seg,下表为参数量和计算量的对比 layersparametersgradientsGFLOPsyolov8m-seg3312724022727240211

数据库系统原理例题之——数据管理技术的发展

数据管理技术的发展 第八章 数据管理技术的发展【例题】一 、单选题二 、填空题【答案&解析】一、单选题二、填空题【延伸知识点】【延伸知识点答案&解析】第八章 数据管理技术的发展 【例题】 一 、单选题 69.由数据结构 、关系操作和数据完整性三部分组成的是( ) …

IDEA JAVA Spring Boot运行Hello World(1.8)

参考资料: Spring Boot运行Hello World - 知乎https://blog.csdn.net/weixin_44005516/article/details/108293228(解决bug)SpringBoot入门第一章:Hello World-java教程-PHP中文网 (仅参考如何运行程序)java 8安装教程 java 8安装教程_java8安装-CSDN博…

uView Button 按钮

该组件内部实现以uni-appbutton组件为基础,进行二次封装,主要区别在于: 按钮type值有更多的主题颜色按钮size值有更多的尺寸可选 注意 此组件内部使用uni-appbutton组件为基础,除了开头中所说的增加的功能,另外暴露…

力扣:763. 划分字母区间(贪心,哈希)

题目: 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度…

SpringBoot集成MQTT协议

简介 MQTT 可以被解释为一种低开销,低带宽占用的即时通讯协议,可以用较少的代码和带宽为远程设备连接提供实时可靠的消息服务,它适用于硬件性能低下的远程设备以及网络状况糟糕的环境下,因此 MQTT 协议在 IoT(Interne…

1月3日代码随想录反转二叉树

226翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]示例 2: 输入:root [2,1,3] 输出:[2,3,…

Java---- 静态内部类与非静态内部类的区别

在面试中回答的很不全,所以再此做一个总结。 1 static 静态修饰符 在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的。 static修饰表示静态的,在类加载时JVM会把它放到方法区,被本类以及本类中所有实例所公用。在编译后所分…

原生JS做别踩白块游戏

思路 创建初始一个按钮并为他添加点击监听开始创建随机方块,并样式_box.offsetTop speed px结合setInterval使得方块不断下移创建和删除方块的原则:box.offsetTop>0(可视区上部没有方块了)时候需要创建一行方块,…