0
点赞
收藏
分享

微信扫一扫

目标跟踪实战deepsort+yolov5(上)

英乐 2022-08-07 阅读 80

文章目录

前言

今天的主要目的还是快速上手目标跟踪,先前的话我是简单说了一下卡尔曼滤波,然后由于博客的问题,没有说完。本来是想做一个系列的,但是很难整理,而且说实话有些东西我也没搞清楚。当然这并不影响我们使用,抽象一下继续happy,就像你不懂SpringBoot 或者Django底层一样,还是阔以做出一个网站的。

算法简介

首先我们这边的话其实整个项目呢,是两个部分,一个是目标的追踪部分,还有一个是目标的识别检测部分。我们要先检测出来一个物品,我们才能去跟踪,同时这个算法也是基于目标检测算法来的。

他们之间的关系就是这样的:

在这里插入图片描述
那么目标检测的话这里就不多说了。

可以参考这几篇博文:

GitHub 水项目之 快速上手 YOLOV5

YOLOV5 参数设定与模型训练的坑点一二三

YOLOV1论文小整理
以及这篇博文:
手把手教你如何自制目标检测框架(从理论到实现)

所以我们这边主要就是咱们deepsort的一个情况。

sort算法

说到这个玩意就还得得先说说sort算法。

前面在说到目表跟踪的时候,我们说到了卡尔曼滤波
但是这个只是解决了一个问题,就是我们预测改物体下一个框可能存在的位置,之后我们计算一些IOU确定一下这个下一个框确定是我们的目标物体的,从而确定他的轨迹完成目标跟踪。

但是我们先前假设的是单目标的一个情况,如果是多目标的话,还涉及到如何去分配一个跟踪的目标的问题。也就是给目标不同的标号,然后识别预测到他的轨迹之后,确定这个轨迹是哪个目标的。

所以这个sort算法其实有两个部分,也就是为了完成我们的一个目标跟踪。

一个是匈牙利算法,目的是为了确定谁是谁,一个是卡尔曼为了预测出物体的一个状态进行跟踪。

在这里插入图片描述

deepsort

deepsort 是在sort算法基础上做了很多别的工作。

那么他的算法流程大概是这样的:
(知乎大佬的图)
在这里插入图片描述

项目结构

我们今天这里的话,还是先简单的去做一个介绍,之后的话咱们到像以前yolo一样如何训练自己的模型,然后完成自己的一个需求。

在这里插入图片描述

我们重点先看到这个deep_sort
在这里插入图片描述
这里我先对这些参数进行一个说明。

那么之后的话我们打开deepsort文件夹,可以看到这些玩意:

在这里插入图片描述
里面还是有sort算法的。

那么此外sort算法对应的是这个玩意
在这里插入图片描述
detection.py:保存通过目标检测的一个检测框框,以及该框的置信度和获取的特征;同时还提供了框框的各种格式的转化方法。

那么回到我们的根目录:
在这里插入图片描述

最后来看看效果演示
请添加图片描述

举报

相关推荐

YOLOV5+deepsort 行人检测与跟踪

0 条评论