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

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

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

相关推荐
Elastic 中国社区官方博客23 分钟前
使用 Elastic AI Assistant for Search 和 Azure OpenAI 实现从 0 到 60 的转变
大数据·人工智能·elasticsearch·microsoft·搜索引擎·ai·azure
江_小_白1 小时前
自动驾驶之激光雷达
人工智能·机器学习·自动驾驶
yusaisai大鱼3 小时前
TensorFlow如何调用GPU?
人工智能·tensorflow
LNTON羚通3 小时前
摄像机视频分析软件下载LiteAIServer视频智能分析平台玩手机打电话检测算法技术的实现
算法·目标检测·音视频·监控·视频监控
珠海新立电子科技有限公司5 小时前
FPC柔性线路板与智能生活的融合
人工智能·生活·制造
IT古董5 小时前
【机器学习】机器学习中用到的高等数学知识-8. 图论 (Graph Theory)
人工智能·机器学习·图论
曼城周杰伦6 小时前
自然语言处理:第六十三章 阿里Qwen2 & 2.5系列
人工智能·阿里云·语言模型·自然语言处理·chatgpt·nlp·gpt-3
余炜yw6 小时前
【LSTM实战】跨越千年,赋诗成文:用LSTM重现唐诗的韵律与情感
人工智能·rnn·深度学习
莫叫石榴姐7 小时前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
如若1237 小时前
利用 `OpenCV` 和 `Matplotlib` 库进行图像读取、颜色空间转换、掩膜创建、颜色替换
人工智能·opencv·matplotlib