复现yolov5+Deepsort实现车辆行人的检测、追踪和计数

源码地址:
https://github.com/dyh/unbox_yolov5_deepsort_counting
https://github.com/Sharpiless/Yolov5-deepsort-inference
https://github.com/Sharpiless/Yolov5-Deepsort
传送门:链接:https://pan.baidu.com/s/1VZwpjF5wn0ZyvlrIwHCCwQ?pwd=6txz
提取码:6txz --来自百度网盘超级会员V4的分享
源码复现过程遇到的问题:
问题1:

qt.qpa.plugin: Could not load the Qt platform plugin “xcb“问QObject::moveToThread: Current thread (0x557d2ffe4400) is not the object's thread (0x557d30751de0).
Cannot move to target thread (0x557d2ffe4400)

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/cv/anaconda3/envs/darknet/lib/python3.6/site-packages/cv2/qt/plugins" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: xcb, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl.

大致意思就是不能显示相应的窗口
解决方法:
将demo.py中以下几行注释掉就行
在这里插入图片描述
在运行demo.py前需要配置环境,安装requirements.txt,安装完可能还需要安装一些包:
问题2:ModuleNotFoundError: No module named ‘easydict‘解决办法:

pip install easydict

问题3:TypeError: load() missing 1 required positional argument: ‘Loader‘解决方案:
在这里插入图片描述
直接点击第一行的代码中的parser进入出错行的代码

将self.update(yaml.load(fo.read()))修改为下面中的其中一行:

self.update(yaml.safe_load(fo.read()))
self.update(yaml.load(fo.read(), Loader=yaml.FullLoader))
self.update(yaml.load(fo.read(), Loader=yaml.CLoader))

问题解决方法参考教程:
https://zhuanlan.zhihu.com/p/354648251
https://blog.csdn.net/qq_41793322/article/details/100083872
https://blog.csdn.net/m0_64346597/article/details/126027559
https://blog.csdn.net/threestooegs/article/details/124424434

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: YOLOv5 DeepSort是一种目标检测和跟踪的深度学习模型,它结合了YOLOv5目标检测算法和DeepSort排序算法。下面我会简要介绍如何YOLOv5 DeepSort模型。 首先,我们需要准备训练数据集。数据集包括图像和标注文件,标注文件中包含每个目标的类别、边界框的位置等信息。 接下来,我们要安装YOLOv5和DeepSort的代码库。在GitHub上可以找到它们的源代码,我们可以通过克隆或下载它们的仓库来获取代码。然后,根据它们的文档和指南,按照要求设置它们所需的环境和依赖项。 然后,我们需要将训练数据集划分为训练集和验证集。训练集用于模型的训练,而验证集用于模型的评估和调优。 接下来,我们可以开始训练YOLOv5模型。首先,需要选择一个预训练的模型权重文件,可以是YOLOv5的预训练模型权重,也可以是自己训练得到的模型权重。然后,将选择的权重文件加载到YOLOv5模型中,并进行模型的训练。训练期间,我们需要设置一些训练参数,例如学习率、批大小等。 当YOLOv5模型训练完毕后,我们可以使用它来进行目标检测。将训练好的模型应用于测试图像上,可以得到每个目标的类别和边界框的位置信息。 最后,我们可以将YOLOv5和DeepSort模型结合起来进行目标跟踪。将YOLOv5用于目标检测,然后将检测到的目标传递给DeepSort模型进行目标跟踪。DeepSort模型可以通过计算目标之间的特征相似度来对目标进行排序,从而实现多目标跟踪。 总之,YOLOv5 DeepSort模型涉及数据集准备、代码库安装、训练YOLOv5模型、目标检测和目标跟踪等步骤。通过这些步骤,可以得到一个功能完整的YOLOv5 DeepSort模型。 ### 回答2: YOLOv5和DeepSORT是两个不同的目标检测和跟踪算法。YOLOv5是YOLO(You Only Look Once)系列算法的最新版本,采用深度学习技术定位和识别图像中的目标。它具有较高的速度和准确率,并且可以检测多个目标。 DeepSORT是一种目标跟踪算法,它结合了深度学习和传统的目标跟踪方法。它利用目标检测算法提供的边界框信息,通过对目标进行特征提取和匹配,实现对目标在视频序列中的跟踪。 要YOLOv5和DeepSORT,需要进行以下步骤: 1. 数据集准备:选择适合的目标检测和跟踪的数据集,包含图像和视频序列,并进行标注工作。 2. 训练YOLOv5:使用YOLOv5的开源代码和数据集,进行模型训练。可以进行模型微调、训练参数调整等操作,以达到更好的目标检测效果。 3. 目标检测:用训练好的YOLOv5模型对测试图像或视频序列进行目标检测,获得每个目标的边界框信息。 4. 跟踪预处理:使用DeepSORT的开源代码,对目标检测结果进行预处理,提取目标的特征表示。 5. 目标跟踪:利用DeepSORT算法对提取的特征进行匹配和跟踪,实现目标在视频序列中的连续跟踪。 6. 评估和调优:根据跟踪结果,进行评估和调优,检查跟踪性能和准确率,对算法进行改进。 以上是对YOLOv5和DeepSORT的基本步骤。当然,具体的实施过程可能会因应用场景和数据集的不同而有所调整。 ### 回答3: 要YOLOv5和DeepSORT的结合,需要以下步骤: 1. 安装所需库和环境:首先,在计算机上安装Python、PyTorch和OpenCV等必要的库和软件。确保版本兼容,并按照官方文档提供的安装指南进行配置。 2. 下载YOLOv5项目:从YOLOv5的官方GitHub仓库中克隆或下载源代码。确保使用最新版本的代码以符合最新的更新和改进。 3. 下载DeepSORT模型:从DeepSORT的GitHub仓库中获取预训练模型。这个模型用于目标跟踪任务,而YOLOv5则用于目标检测。 4. 准备数据集:准备一个包含标注目标的图像和视频的数据集。确保数据集符合YOLOv5和DeepSORT的输入格式要求。 5. 运行YOLOv5进行目标检测:使用YOLOv5对准备好的数据集进行目标检测任务。这将识别和定位图像或视频帧中的目标物体。 6. 运行DeepSORT进行目标跟踪:将YOLOv5检测到的目标传递给DeepSORT模型,以进行目标的跟踪和ID分配。这将创建一个用于每个目标的唯一ID,并将其用于在视频中跟踪目标。 7. 结果可视化:使用OpenCV或其他可视化库,在原始图像或视频上绘制目标框和跟踪信息,以展示目标检测和跟踪的结果。 8. 调优和改进:根据需要进行进一步的调优和改进。可以尝试使用更大的数据集进行训练,调整模型的参数和超参数,或应用其他技术来提高模型的性能。 通过按照以上步骤YOLOv5和DeepSORT的结合,可以实现高效的目标检测和跟踪应用程序。这种结合可以用于各种场景,包括视频监控、自动驾驶和人工智能等应用领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪迹天涯@wxy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值