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

news/2024/7/10 2:43:33 标签: 人工智能, 目标检测, 计算机视觉

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

一、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

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

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


http://www.niftyadmin.cn/n/5034494.html

相关文章

docker 安装unzip命令

要在Docker中安装unzip,请按照以下步骤进行操作: 打开终端并登录到Docker主机。运行以下命令以更新apt-get: apt-get update运行以下命令以安装unzip: apt-get install -y unzip等待安装完成后,您可以使用以下命令检查…

自动驾驶行业观察之2023上海车展-----整体发展趋势

1.行业趋势 新能源势不可挡。 本次车展上首发了150多款新车,约有100款是新能源车;跨国车企全面电动化,但日韩系布局相对缓慢; 2.自主品牌 品牌持续向上 本届车展自主品牌开始疯狂向高端内卷,高端化态度坚决 (包括仰…

c++之双叹号的含义

看一些代码时,有时候看到!!(cond)的用法,这个用法的含义是什么呢? 答:我们都知道!(cond)的含义,即取反的含义,若cond为非0,则值为0,;若cond为0,则值为0; 那…

AI与传统数据库 - ChatGPT风过之后 | 从Duet AI说开来

作者:Ni Demai,是NineData数据库产品专家,曾任阿里云数据库国际产品总负责人,华为高斯 GaussDB 创始团队核心架构师,IBM Db2 资深研发工程师。 Demai 专注 Cloud-Native database 架构设计,分析型 MPP&…

计算机竞赛 深度学习 opencv python 公式识别(图像识别 机器视觉)

文章目录 0 前言1 课题说明2 效果展示3 具体实现4 关键代码实现5 算法综合效果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习的数学公式识别算法实现 该项目较为新颖,适合作为竞赛课题方向,学…

前端代码统计工具之cloc介绍

目录 一、安装 二 使用命令cloc path: 使用cloc工具可以很好的统计出前端的代码量,经过亲身实践真的很棒。 一、安装 安装命令 pnpm add cloc -g 二 使用命令cloc path: cloc ./ 如果报错: perl 不是内部或外部命令的问…

Visual Studio 2023年下载、安装教程、亲测有效

visual studio 2022(vs 2022)是由微软官方出品的最新版本的开发工具包系列产品。它是一个完整的开发工具集,可完美支持C#、C、Python、Visual Basic、Node.js、HTML、JavaScript等主流的编程语言,帮助程序员轻松地完成调试、探查和…

正则表达式学习和高级用法

以下所有的验证都在 在线验证 1. 起始符 / 正则表达式的起始符2. 限定符 匹配前面的子表达式**1次或多次**。例如,zo 能匹配 "zo" 以及"zoo",但不能匹配 "z"。等价于 {1,}。 ? 匹配前面的子表达式**0次或1次**。例如…