当前位置:   article > 正文

在自己的数据集上基于Yolov5 + DeepSORT实现目标检测与跟踪_检测算法和deepsort怎么结合

检测算法和deepsort怎么结合

第一部分:代码准备

在以下GitHub库中获取Yolov5+DeepSORT的代码:

https://github.com/mikel-brostrom/Yolov5_DeepSort_Pytorch

第二部分:基于 Yolov5 实现目标检测

1.基于Yolov5在自己的数据集上训练目标检测权重

可以参考下面一篇博文,详细描述了如何基于Yolov5训练自己的目标检测权重

http://t.csdn.cn/pllM3http://t.csdn.cn/pllM3

 第三部分:基于 Yolov5 + DeepSORT 实现目标检测与跟踪

1.数据集制作

DeepSORT目标跟踪的数据集与前面Yolov5目标检测有所不同。这里需要借助labelimg工具手动做出标定生成xml文件,然后撰写脚本利用xml文件将原图像里的目标抠出来:

不同的目标分别存储为001、002,注意,这里与目标类别不同,例如下面三只狗就分别作为三个目标,虽然他们的类别一致都是dog;

以此类推进行分类,后按照一定比例划分为训练集与测试集,并移到deep_sort/deep目录下:

2.模型训练

在deep_sort/deep目录中找到train.py文件,首先先修改数据集路径,这里建议填写绝对路径。

 然后修改train.py中的训练dataset:

  1. transform_train = torchvision.transforms.Compose([
  2. torchvision.transforms.Resize((128, 64)),
  3. torchvision.transforms.RandomCrop((128, 64), padding=4),
  4. torchvision.transforms.RandomHorizontalFlip(),
  5. torchvision.transforms.ToTensor(),
  6. torchvision.transforms.Normalize(
  7. [0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
  8. ])

 这里可以修改权重保存的位置以及命名,以免发生覆盖。

 文件末尾找到这里可以修改训练轮次

 在deep_sort/deep目录下找到model.py文件,修改num_classes类别数:

 

 下面就可以开始训练啦。训练结束会在deep_sort/deep/checkpoint目录下生成.t7权重。

 

3.模型测试 

找到deep_sort.yaml文件,

 在这里设置自己训练的deepsort权重的路径,并可以根据需要修改其他参数:

 在objdetector.py文件里设置自己训练的目标检测权重路径:

 也可以在track.py文件进行测试,直接在这里设定目标检测、目标跟踪权重的路径,并设置测试的视频路径。

可以测试了~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/732807
推荐阅读
相关标签
  

闽ICP备14008679号