DeepSort训练自己的数据集

文章目录

前言

一、目标跟踪

二、主要步骤

三、代码实现


前言

最近工作中的任务是实现目标跟踪,并绘制出轨迹。由于之前没有接触过这方面,故本博客记录如何借助开源资料从0开始实现目标跟踪,并应用在自己数据集上。

一、目标跟踪

目标跟踪是计算机视觉中的一项基础任务,它旨在在视频序列中连续跟踪和定位目标。目标跟踪算法需要能够处理各种挑战,如遮挡、目标外观变化、复杂背景等。

DeepSORT 是一种流行的目标跟踪算法,它是 SORT (Simple Online Realtime Tracking) 算法的扩展。DeepSORT 通过添加深度学习特征提取器来减少身份切换,从而提高了跟踪性能。它能够更准确地跟踪目标并减少身份切换,但计算成本也更高。

总之,DeepSORT 是一种用于实现目标跟踪任务的算法。它通过使用深度学习技术来提高跟踪性能,为计算机视觉应用提供了强大的支持。

二、主要步骤

DeepSORT 算法的主要步骤如下:

  1. 目标检测:首先,DeepSORT 算法使用目标检测器(例如 YOLO 或 Faster R-CNN)来检测视频帧中的目标。目标检测器会输出一组边界框,表示检测到的目标的位置。

  2. 特征提取:接下来,DeepSORT 算法使用深度学习模型来提取每个目标的外观特征。这些特征用于计算目标之间的相似度,从而进行数据关联。

  3. 数据关联:然后,DeepSORT 算法使用匈牙利算法进行数据关联。它根据目标的运动和外观特征来计算目标之间的相似度,并将当前帧中的目标与已有轨迹进行匹配。

  4. 轨迹更新:最后,DeepSORT 算法根据数据关联的结果更新轨迹。对于匹配成功的目标,它们的轨迹会被延长;对于未匹配的目标,它们会被视为新目标并创建新的轨迹。

本次使用的目标检测器是YOLOv5

三、代码实现

整个项目的实现分为两大类,即目标检测+DeepSort,均使用已有的开源代码,后面会放出开源链接。


(1)目标检测:Yolov5

github链接:ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite (github.com)

由于官方的yolov5代码已经十分完善~因此只需自己标注数据就可以训练出属于自己任务的目标检测模型。

标注数据使用的是开源工具LabelImg。 

LabelIme 是一个用于图像标注的开源工具。它提供了一个简单易用的界面,可以让用户在图像上绘制多边形、矩形、圆形等标注形状,并为每个标注添加文本标签。LabelIme 支持多种图像格式,包括 JPG、PNG 和 BMP 等。它还提供了一些高级功能,如图层管理、撤销/重做和 JSON 数据导出等。LabelIme 可以用于各种计算机视觉任务,如目标检测、语义分割和实例分割等。

LabelImg界面:

关于LabelImg的具体安装和使用可以参考一下博文: 【教程】标注工具Labelimg的安装与使用 - 知乎 (zhihu.com)

LabelImg(目标检测标注工具)的安装与使用教程_安装labelimg_knighthood2001的博客-CSDN博客生成的标签数据:

                           

 准备好训练数据和标签后,就可以直接运行官方的Yolov5代码训练属于自己的目标检测模型啦!

 具体调用过程可以参考官方给的文档,官方已经写的很详细(按照上面一步一步操作)~有问题也可以留言。官方文档链接如下:Train Custom Data - Ultralytics YOLOv8 Docs

(2)目标跟踪 DeepSort

 经过步骤一,我们就可以得到专属于自己数据的目标检测网络Yolov5,接着就可以用来实现我们的目标运动轨迹跟踪。本次目标跟踪使用的是网上开源代码,链接如下(可以绘制出物体运动的轨迹):Deepsort跟踪算法画目标运动轨迹_deepsort轨迹_豆芽zc的博客-CSDN博客

整个代码的示意图如下:

DeepSort

然后,修改track.py里面的一些信息(主要是自己训练的目标检测网络的权重—第一步训练好的权重,以及需要跟踪的文件,例如.mp4)

注意!由于yolov5的版本在不断更新,因此你自己新训练好的权重通常不能适配初始的yolov5。例如yolov5 5.0版本原本使用的是xxx的包,但是Yolov5 6.0就不使用这个包了。这一步需要自己根据报错信息,百度,然后进行替换,一般来说需要改动的地方不多。

因此,你还需要把你在第一步训练的整个yolov5文件导入到Deepsort文件夹中。进行如下的修改。

 

顺利的话,你就可以得到属于你自己任务的运动轨迹啦。 

总结

以上就是今天要讲的内容,本文介绍了如何目标跟踪的算法训练自己的私人数据集。

  • 6
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值