当然,根据自己的操作系统、GPU、驱动等信息自行选择版本进行配置安装,在这基础上才能执行后续步骤:
conda create -n yolov5 python=3.9 (其中yolov5是名称,python=3.9是指定python的版本)
conda activate yolov5
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
1、将yolov5源码下载
方法一:去官网mirrors / ultralytics / yolov5 · GitCode 下载
方法二:使用git克隆(前提是搭建好git环境):git clone https://github.com/ultralytics/yolov5.git
2、解压yolov5源码,解压如下
3、项目目录说明:
这里只对部分目录进行解释:
(1)classify目录:是做分类任务,里面有训练、验证、测试的相关代码
(2)data目录:data文件夹主要是存放一些超参数的配置文件(如.yaml文件)是用来配置训练集和测试集还有验证集的路径的,其中还包括目标检测的种类数和种类的名称;还有一些官方提供测试的图片。YOLOv5有大约30个超参数用于各种训练设置。
如果是训练自己的数据集的话,那么就需要修改其中的yaml文件。不过要注意,自己的数据集不建议放在这个路径下面,建议把数据集放到YOLOv5项目的同级目录下面。
.如data/images目录:是存放测试图片的位置
(3)model目录:是模型文件夹。里面主要是一些网络构建的配置文件和函数,其中包含了该项目的四个不同的版本,分别为是s、m、Ix。从名字就可以看出,这几个版本的大小。他们的检测速度分别都是从快到慢,但是精确度分别是从低到高。如果训练自己的数据集的话,就需要修改这里面相对应的yaml文件来训练自己模型。
(4)run目录:是运行模型时的一些输出文件。每一次运行就会生成一个exp的文件夹。
(5)segment目录:是做分割任务,里面有训练、验证、测试的相关代码
(6)utils目录:存放的是工具类的函数,里面有loss函数,metrics函数,plots函数等等。
(7)weights目录:是自己新建的,主要存放一些预训练模型的地方,如yolov5x.pt模型。
(8)其他一级目录下的文件说明:
detect.py#是目标检测预测程序
export.py#模型导出
requirements.txt #项目依赖清单,可以通过pip install requirement进行依赖环境下载.setup.cfg #项目打包文件
train.py#目标检测训练程序tutorial.ipynb # 目标检测上手教程
val.py #目标检测验证程序
yolov5s.pt# coco数据集模型预训练权重,运行代码的时候会自动从网上下载
具体详情可以参考其他博客:
YOLOv5源码逐行超详细注释与解读(1)——项目目录结构解析_yolov5源码解析_路人贾'ω'的博客-CSDN博客
并在conda终端中进入该源码目录中
// 安装所需要的库。后面的-i..为镜像源 可自行修改
pip install -r requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
或者直接 pip install -r requirements.txt # 有镜像配置就直接安装依赖清单下载
注意:安装依赖时要在自己创建的虚拟环境中安装,并路径要切到requirements.txt文件的项目路径中
在项目找到detect.py文件,并运行,但直接运行代码会在线下载预训练模型及一些默认配置。建议提前下载预训练模型并指定相关配置进行测试。
上面地址里面有多版本的关于分类、分割、目标检测的各个预训练模型,自行选择。
在conda 终端上,激活本项目的虚拟环境并按照上述要求安装好相关环境后就可以进行跑测试数据,这里可以从分类、分割、目标检测三个任务,并给出测试数据,如测试图片、视频、摄像头、在线网站链接等进行测试:
1、目标检测测试图片
python detect.py --source ./data/images/ --weights ./weights/yolov5s.pt --conf 0.4
python detect.py --source ./data/images/bus.jpg --weights ./weights/yolov5s.pt
python detect.py --source ./data/images/testfiles --weights ./weights/目标检测模型/yolov5x.pt
2、目标检测测试视频
python detect.py --source data/video/dog1.mp4
3 、目标检测测试摄像头
使用本机摄像头测试Yolov5实时检测:
python detect.py --source 0
运行结果都在runs/detect目录
4、最新版还支持了直接通过Youtube 的url进行目标检测
python detect.py --source 0 # webcam
file.jpg # image
file.mp4 # video
path/ # directory
path/*.jpg # glob
'https://youtu.be/NUsoVlDFqZg' # YouTube video
'rtsp://example.com/media.mp4' # RTSP, RTMP,
5、分割模型的测试(类似目标检测)
python segment/predict.py --weights ./weights/分割模型/yolov5s-seg.pt --source data/images/bus.jpg
以上就是搭建相关环境对yolov5进行运行测试,后续可以在yolov5模型的基础上做自己的数据集并进行训练。