多目标跟踪中检测器和跟踪器如何协同工作的

2024-06-18 21:52

本文主要是介绍多目标跟踪中检测器和跟踪器如何协同工作的,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

多目标跟踪中检测器和跟踪器如何协同工作的

flyfish

主要是两者 接口间的交互

假设

原始图像尺寸:1920(宽)x 1080(高)
模型输入尺寸:640(宽)x 640(高)

检测器处理流程

  1. 读取原始图像
    检测器首先读取一张原始图像,大小是1920x1080。

  2. 预处理
    检测器将原始图像调整大小,使其适合模型的输入尺寸640x640。
    为了保持图像的比例不变,检测器会根据原始图像的宽高比进行缩放。比如,缩放后的图像可能是640x360。如果图像在某个维度没有达到640,检测器会用灰色或其他颜色填充剩余部分,形成640x640的输入图像。
    预处理还包括归一化操作,将图像像素值从0-255缩放到0-1之间,并减去均值、除以标准差等操作。

  3. 模型推理
    将预处理后的图像输入到检测模型中,模型会输出检测结果,这些结果包括每个检测到的目标的边界框(bbox)和置信度分数。

  4. 后处理
    检测器将模型输出的边界框还原到原始图像的尺寸。比如,如果一个目标在640x640的图像中占据了某个位置,检测器会将这个位置转换回1920x1080的尺寸。
    后处理还包括过滤掉置信度较低的检测结果,确保只保留较为准确的检测结果。

检测器输出

  • dets:包含检测到的目标的边界框和置信度分数。

  • img_info:包含原始图像的信息,比如高度、宽度和缩放比例。

跟踪器处理流程

  1. 初始化跟踪器
    在整个视频或序列的处理过程中,只需要初始化一次跟踪器。初始化包括设置以下内容
  • track_thresh:跟踪的阈值。
  • track_buffer:跟踪缓冲区大小。
  • match_thresh:匹配阈值。
  1. 更新跟踪器
    每处理一帧图像时,跟踪器都会接收检测器的输出结果detsimg_info
    检测器的输出结果包括边界框(目标在图像中的位置)和置信度分数。

跟踪器输出

返回的是多目标跟踪表示 online_targets:包含当前帧中所有跟踪目标的信息,包括:

  • 边界框 :目标的当前位置。
  • 置信度 :目标的置信度分数。
  • 身份标识 :目标的唯一标识符。
  • 跟踪状态 :目标是否被激活、丢失或移除。
  • 类别标签 :目标的类别标签。

因为返回的是 单目标跟踪表示的list,所以该对象存储了有关单个轨迹的所有信息,并基于卡尔曼滤波执行状态更新和预测。

还会包括其他信息,根据需要再定是否使用
kalman_filter :用于此特定目标跟踪的卡尔曼滤波器实例。
mean :状态估计的均值向量。
covariance : 状态估计的协方差矩阵。
tracklet_len :轨迹的长度。
frame_id : 当前帧ID。
start_frame :对象首次检测到的帧。
多个单目标跟踪表示,就是多目标跟踪表示。

图像缩放

上面的检测器处理流程 预处理其中一部分是letterbox

使用letterbox处理一张原始图像时,目标是将图像缩放到指定的模型输入大小(640x640)并保持原始图像的宽高比,同时在图像的两侧或上下方添加填充(padding)以达到目标尺寸。

给定原始图像的尺寸为1920x1080(宽度*高度),我们需要将其缩放并添加填充以适应640x640的输入尺寸。

  1. 计算缩放比例 :需要将原始图像的尺寸调整到适合640x640的输入尺寸,保持宽高比。
    宽高比为1920 / 1080 ≈ 1.78。
    输入尺寸640x640的宽高比为1。

由于1920x1080的宽高比大于1,而640x640的宽高比为1,我们需要考虑缩放的限制。

  1. 计算缩放后的尺寸
    由于输入尺寸为640x640,我们可以将宽度缩放到640,这样高度就需要按照相同比例进行缩放:
    缩放比例 = 640 / 1920 ≈ 0.333。
    缩放后的高度 = 1080 * 0.333 ≈ 360。
    因此,缩放后的图像尺寸为640x360。

  2. 添加填充(padding)
    缩放后的图像尺寸为640x360,目标尺寸为640x640。
    需要在图像的顶部和底部添加填充来达到目标尺寸:
    填充的总高度 = 640 - 360 = 280。
    由于填充需要对称地添加在图像的顶部和底部,每边添加的填充为280 / 2 = 140。

因此,原始图像1920x1080经过letterbox处理后,最终的图像尺寸为640x640,其中有效内容为640x360,顶部和底部各有140像素的填充。

这篇关于多目标跟踪中检测器和跟踪器如何协同工作的的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1073161

相关文章

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

Verybot之OpenCV应用三:色标跟踪

下面的这个应用主要完成的是Verybot跟踪色标的功能,识别部分还是居于OpenCV编写,色标跟踪一般需要将图像的颜色模式进行转换,将RGB转换为HSV,因为对HSV格式下的图像进行识别时受光线的影响比较小,但是也有采用RGB模式来进行识别的情况,这种情况一般光线条件比较固定,背景跟识别物在颜色上很容易区分出来。         下面这个程序的流程大致是这样的:

[数据集][目标检测]血细胞检测数据集VOC+YOLO格式2757张4类别

数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2757 标注数量(xml文件个数):2757 标注数量(txt文件个数):2757 标注类别数:4 标注类别名称:["Platelets","RBC","WBC","sickle cell"] 每个类别标注的框数:

Linux内置的审计跟踪工具:last命令

如果你是一个服务器管理员,你或许知道你要保护你的服务器的话,不仅是从外部,还要从内部保护。Linux有一个内置工具来看到最后登陆服务器的用户,可以帮助你保护服务器。   这个命令是last。它对于追踪非常有用。让我们来看一下last可以为你做些什么。   last命令的功能是什么   last显示的是自/var/log/wtmp文件创建起所有登录(和登出)的用户。这个文件是二进制

YOLOv8/v10+DeepSORT多目标车辆跟踪(车辆检测/跟踪/车辆计数/测速/禁停区域/绘制进出线/绘制禁停区域/车道车辆统计)

01:YOLOv8 + DeepSort 车辆跟踪 该项目利用YOLOv8作为目标检测模型,DeepSort用于多目标跟踪。YOLOv8负责从视频帧中检测出车辆的位置,而DeepSort则负责关联这些检测结果,从而实现车辆的持续跟踪。这种组合使得系统能够在视频流中准确地识别并跟随特定车辆。 02:YOLOv8 + DeepSort 车辆跟踪 + 任意绘制进出线 在此基础上增加了用户

[数据集][目标检测]智慧农业草莓叶子病虫害检测数据集VOC+YOLO格式4040张9类别

数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4040 标注数量(xml文件个数):4040 标注数量(txt文件个数):4040 标注类别数:9 标注类别名称:["acalcerosis","fertilizer","flower","fruit","grey

1-3 微信小程序协同工作和发布

协同工作和发布 🥟🥞以权限管理需求为例 一个项目组,一般有不同的岗位,不同角色的员工同时参与项目成员 流程 成员管理的两个方面 不同项目成员对应的权限 版本

目标检测-RT-DETR

RT-DETR (Real-Time Detection Transformer) 是一种结合了 Transformer 和实时目标检测的创新模型架构。它旨在解决现有目标检测模型在速度和精度之间的权衡问题,通过引入高效的 Transformer 模块和优化的检测头,提升了模型的实时性和准确性。RT-DETR 可以直接用于端到端目标检测,省去了锚框设计,并且在推理阶段具有较高的速度。 RT-DET

目标检测-YOLOv3

YOLOv3介绍 YOLOv3 (You Only Look Once, Version 3) 是 YOLO 系列目标检测模型的第三个版本,相较于 YOLOv2 有了显著的改进和增强,尤其在检测速度和精度上表现优异。YOLOv3 的设计目标是在保持高速的前提下提升检测的准确性和稳定性。下面是对 YOLOv3 改进和优势的介绍,以及 YOLOv3 核心部分的代码展示。 相比 YOLOv2 的改进

SimD:基于相似度距离的小目标检测标签分配

摘要 https://arxiv.org/pdf/2407.02394 由于物体尺寸有限且信息不足,小物体检测正成为计算机视觉领域最具挑战性的任务之一。标签分配策略是影响物体检测精度的关键因素。尽管已经存在一些针对小物体的有效标签分配策略,但大多数策略都集中在降低对边界框的敏感性以增加正样本数量上,并且需要设置一些固定的超参数。然而,更多的正样本并不一定会带来更好的检测结果,事实上,过多的正样本