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

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

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

相关推荐
摸鱼仙人~1 分钟前
Agent 意图识别:从传统 NLU 到 LLM 驱动的范式变革
人工智能·深度学习
Narrastory4 分钟前
给数据“做减法”:PCA与UMAP详解与代码实现
人工智能·数据分析
kevin_kang6 分钟前
技术选型背后的思考:为什么选择Next.js + FastAPI + LangChain
人工智能
了了侠8 分钟前
也论三个数字化与Palantir本体论
人工智能·数字化转型·业务架构·业务建模·本体论·palantir
kevin_kang9 分钟前
三层架构设计:前端+业务+AI层的职责划分
人工智能
yanghuashuiyue14 分钟前
deepseek本地部署
人工智能·自然语言处理·deepseek
不惑_14 分钟前
通俗理解神经网络的反向传播
人工智能·深度学习·神经网络
mubei-12319 分钟前
Self-RAG:通过自我反思学习检索、生成和批判
人工智能·llm·rag·检索增强生成
集芯微电科技有限公司19 分钟前
替代LMG1020 5V 7A/5A 低侧 GaN 和 MOSFET 驱动具有1ns 最小输入脉冲宽度
人工智能·神经网络·生成对抗网络
明天好,会的21 分钟前
分形生成实验(二):API 合约驱动的轻量化强类型协作框架
人工智能