AI项目八:yolo5+Deepsort实现目标检测与跟踪(CPU版)

若该文为原创文章,转载请注明原文出处。

一、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://pan.baidu.com/s/1CSfqIrDh-r17wDvm_rOF-A?pwd=1234 
提取码:1234 

4、安装yolov5

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

复制代码
cd G:\enpei_Project_Code\02_deepsort\yolov5-deepsort

安装

复制代码
 pip install -r .\requirements.txt  -i https://pypi.tuna.tsinghua.edu.cn/simple

安装成功:

接下来验证

三、测试

执行

复制代码
python .\count_car.py

结果报错了

所以下面处理各种错误:

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

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

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

下载地址:

https://files.pythonhosted.org/packages/4c/c5/5757886c4f538c1b3f95f6745499a24bffa389a805dee92d093e2d9ba7db/easydict-1.9.tar.gz

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

复制代码
python setup.py install --user

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

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

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

**错误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)

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

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

处理:

复制代码
pip uninstall numpy

pip install numpy==1.20.3

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

复制代码
 python .\count_car.py

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

如有侵权,或需要完整代码,请及时联系博主。

相关推荐
cui_ruicheng3 分钟前
LangChain 应用开发(十四):Agent 上下文与记忆机制
服务器·人工智能·python·langchain
飞哥数智坊23 分钟前
直播半小时,我聊了聊 Agent 最常见的 3 个疑问
人工智能
ggb喔1 小时前
AI 原生攻防时代:2026 年渗透测试与逆向开发的范式重构
人工智能·重构
宸津-代码粉碎机1 小时前
AI攻防战升级!基于Spring AI构建Java应用自动免疫安全体系
java·大数据·开发语言·人工智能·python·安全·spring
克里斯蒂亚诺更新1 小时前
机器学习库sklearn的主要任务
人工智能·机器学习·sklearn
先跑起来再说2 小时前
Qavor:一个能跑、能观测、能扩展的开源 AI Agent 工作台
人工智能·开源
Mr数据杨2 小时前
从文本特征到回归建模 Syllable Counting Model 实战解析
人工智能·数据分析·kaggle竞赛
HIT_Weston2 小时前
201、【Agent】【OpenCode】JS 语法:setTimeout 七种常用形式
人工智能·agent·opencode
维基框架2 小时前
萨尔瓦多学校免费上Grok 没账单的AI怎么限流
人工智能
敢敢是只喵i2 小时前
给现有业务系统接 AI 助手,入口怎么选?网页聊天、自动化任务与本地 Agent 对比
运维·人工智能·ai·开源·自动化·安全架构