搭建yolov5+DeepSORT

这篇教程详细介绍了在Windows系统上安装配置Anaconda、CUDA 10.2、CUDNN、PyTorch、OpenCV、YOLOv5和DeepSORT的步骤。从下载Anaconda到创建环境,再到安装CUDA和CUDNN,接着是安装PyTorch及其依赖,以及OpenCV、YOLOv5和DeepSORT的库包,最后是验证安装成功的步骤。教程中提供了官方和清华源的下载链接,并给出了环境变量设置和包管理的命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考
最新Anaconda3的安装配置及使用教程(详细过程)
Windows系统CUDA10.2+CUDNN安装教程

环境配置

1.ANACONDA

2.CUDA&DUDNN

3.PYTORCH

4.OPENCV

5.YOLOV5

6.DeepSORT

ANACONDA

官网下载:https://www.anaconda.com/products/individual#Downloads
清华源地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
在这里插入图片描述

在Environments建个环境用于配置yolov5
在这里插入图片描述
然后看下这表 基本就这样了。

conda --version #查看conda版本,验证是否安装

conda update conda #更新至最新版本,也会更新其它相关包

conda update --all #更新所有包

conda update package_name #更新指定的包

conda create -n env_name package_name #创建名为env_name的新环境,并在该环境下安装名为package_name 的包,可以指定新环境的版本号,例如:conda create -n python2 python=python2.7 numpy
pandas,创建了python2环境,python版本为2.7,同时还安装了numpy pandas包

source activate env_name #切换至env_name环境

source deactivate #退出环境

conda info -e #显示所有已经创建的环境

conda create --name new_env_name --clone old_env_name #复制old_env_name为new_env_name

conda remove --name env_name –all #删除环境

conda list #查看所有已经安装的包

conda install package_name #在当前环境中安装包

conda install --name env_name package_name #在指定环境中安装包

conda remove – name env_name package #删除指定环境中的包

conda remove package #删除当前环境中的包

conda create -n tensorflow_env tensorflow

conda activate tensorflow_env #conda 安装tensorflow的CPU版本

conda create -n tensorflow_gpuenv tensorflow-gpu
conda activate tensorflow_gpuenv #conda安装tensorflow的GPU版本


CUDA&DUDNN

查看组件信息 我这里是11.1
根据这个讯息下载同等版本或则向下的CUDA包。我用的10.2.
在这里插入图片描述

听说这个装不上,所以拿掉。 具体我也没试,赶时间。
在这里插入图片描述
装完确认下在这里插入图片描述
然后对应10.2.下载CUDNN 。
赶时间。直接下别人的。官网网速太卡慢了。

在这里插入图片描述
全选复制所有到CUDA的安装目录。
默认安装目录是:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
在这里插入图片描述
在这里插入图片描述
然后添加系统环境变量指向:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64

在这里插入图片描述
最后在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite的目录下执行bandwidthTest.exe 结果PASS 即可
在这里插入图片描述

PYTORCH

在conda yolov5的环境配置 CUDA 和CUDNN

conda install cudatoolkit=10.2.
conda install cudnn=7.6.5

或则进入pytorch 官网:https://pytorch.org/get-started/previous-versions/
在这里插入图片描述
太卡就到清华的开源下载: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/
在这里插入图片描述
下载完输入命令:

conda install --offline pytorch-1.8.0-py3.8_cuda10.2_cudnn7_0.tar.bz2

在这里插入图片描述

输出True 就可以借用GPU来处理了。
在这里插入图片描述
同理,torchvision 如果conda下载不下来。也通过离线安装。
在这里插入图片描述

OPENCV

pip install opencv-python (卡慢还容易掉)
借用阿里云的国内源分分钟搞定 :pip install opencv-python -i https://mirrors.aliyun.com/pypi/simple/

在这里插入图片描述

YOLOV5

在这里插入图片描述
注释下(因为默认pip下载的话是cpu版本的。)
在这里插入图片描述
安装库包

pip install -r requirements.txt

6.DeepSORT

移植 yolov5 models,utils.至DeepSort包
在这里插入图片描述
安装 imutils

pip install imutils

安装easydict:

cd yolov5-deepsort/easydict
python setup.py install

将yolov5的权重文件放置weights文件夹下
在这里插入图片描述

yolov5-deepsort/objdetector.py底下更改权重。
在这里插入图片描述

计数实时监测套RTSP
在这里插入图片描述
实时监测 根据情况调整线的位置和逻辑。

### 如何搭建和复现YOLOv5DeepSORT集成的环境 #### 准备工作 为了成功搭建YOLOv5DeepSORT结合的目标检测跟踪系统,需先安装必要的依赖。确保已安装Python 3.x版本以及pip包管理器。 #### 安装YOLOv5 通过克隆官方GitHub仓来获取最新的YOLOv5源码: ```bash git clone https://github.com/ultralytics/yolov5.git cd yolov5 ``` 接着按照项目README中的说明安装所需的Python: ```bash pip install -r requirements.txt ``` 此过程会自动下载并配置好所有必需的第三方模块[^1]。 #### 获取DeepSORT资源 同样地,从其官方存储拉取DeepSORT的相关文件夹结构及其预训练权重参数集: ```bash git clone https://github.com/nwojke/deep_sort.git mv deep_sort/* ./yolov5/ rm -rf deep_sort ``` 上述命令将`deep_sort`目录下的内容移动至YOLOv5根目录下以便后续调用。 #### 修改代码逻辑以支持两者协作 编辑`track.py`脚本,在其中引入两个框架之间的交互接口函数,从而实现在同一视频流内既做物体分类又完成个体追踪的任务。具体来说就是当YOLOv5返回候选框位置后立即将这些数据传递给DeepSORT实例化对象去更新轨迹状态列表。 ```python from deep_sort import preprocessing, nn_matching from deep_sort.detection import Detection from deep_sort.tracker import Tracker import numpy as np def create_tracker(): max_cosine_distance = 0.2 nn_budget = None metric = nn_matching.NearestNeighborDistanceMetric( "cosine", max_cosine_distance, nn_budget) return Tracker(metric) tracker = create_tracker() detections = [] for bbox in yolo_bboxes: confidences.append(bbox[-1]) bboxes.append([bbox[0], bbox[1], abs(bbox[2]-bbox[0]), abs(bbox[3]-bbox[1])]) features = encoder(frame, bboxes) detections = [Detection(bbox, confidence, feature) for bbox, confidence, feature in zip(bboxes, confidences, features)] # 更新跟踪器 tracker.predict() tracker.update(detections) ``` 这段代码展示了如何初始化一个DeepSORT跟踪器,并将其与来自YOLOv5预测的结果相结合,形成最终带有ID编号的对象边界框输出序列。 #### 测试验证 最后一步是编写简单的测试程序读入一段本地MP4格式影片作为输入源,逐帧送入修改后的YOLOv5+DeepSORT联合体进行分析处理,观察屏幕上的可视化效果是否满足预期——即每个被标记出来的实体旁边都应该附带有一个独一无二的身份标签直至该目标消失于视野之外为止。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值