yolov5标注、环境搭建与训练
注意
确保用来操作的电脑系统为Windows10系统。在操作前请确保你已经熟练掌握基本Windows系统与Linux系统操作命令,例如cd、ls等命令,并熟练掌握python等语言。
开始前确保设置全局默认编码为Unicode UTF-8(包括cmd)
标注
安装与使用Anaconda
推荐使用Windows10系统进行以下操作
1.打开下方链接下载Anaconda安装包(选择Distribution Installers)并进行安装。
Download Now | Anaconda
https://www.anaconda.com/download/success
2.安装完成后在系统搜索框中搜索Anaconda PowerShell Prompt并打开

3.创建新的Anaconda虚拟环境,在命令行中输入如下命令
conda create -n labelimg python=3.9.21
4.安装过程会出现Proceed ([y]/n)? 请输入y并按下回车,出现下列图片字样为安装成功

5.激活虚拟环境
conda activate labelimg
此时 Anaconda PowerShell Prompt中的(base)变更为(lablelimg)代表激活成功,并已进入到此虚拟环境
安装LabelImg目标检测标注工具
1.在 Anaconda PowerShell Prompt中输入如下命令进行安装
pip install labelimg
2.安装完成后,输入labelimg启动标注工具
labelimg
3.打开需要标注的照片文件夹,并将标注格式更改为yolo

4.点击Change Save Dir按钮,选择标注标签保存位置。
5.点击Create RecBox开始标注,按下D键切换下一张(请确保已在View中勾选Auto Save Model自动保存模式)

目录架构
训练完成后请确保如下架构分类
datasest
|
|————images
| |
| | -train(存储所有标注的照片,并将其中的6张照片移动到datasest/images/val中)
| -val
|
|————labels
| |
| | -train(存储所有标注的数据,并将其中的6个文件移动到datasest/labels/val中)
| -val
|
|—————classes.txt (将标注文件中的classes.txt移动到datasest根目录下)
#注意:所有操作都是移动不是复制粘贴!!移动到新位置即代表旧位置没有此文件了
YOLOv5安装
环境搭建与配置
1.创建新的Anaconda虚拟环境
conda create -n yolo python=3.8
2.激活新的虚拟环境
conda activate yolo
3.下载yolov5源码
https://github.com/ultralytics/yolov5/archive/refs/tags/v7.0.zip
https://github.com/ultralytics/yolov5/archive/refs/tags/v7.0.zip4.将源码解压缩后并移动到D盘根目录,并将之前整理好的datasest复制到yolo源码文件的根目录当中
5.将此文件(yolov5s.pt)下载到yolo源码的根目录
https://github.com/ultralytics/yolov5/releases/download/v6.2/yolov5s.pt
https://github.com/ultralytics/yolov5/releases/download/v6.2/yolov5s.pt6.安装cuda11.8(win10),点击下面的链接下载cuda安装包并安装。(如使用cpu训练无需操作这一步)
https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_522.06_windows.exe
https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_522.06_windows.execuda安装成功并重启后在 Anaconda PowerShell Prompt中输入conda activate yolo即可重新进入虚拟环境
7.打开yolo源码中的requirements.txt文件,并将下面的内容替换到文件中并保存。(如使用cpu训练无需操作这一步)
# YOLOv5 🚀 requirements
# Usage: pip install -r requirements.txt
# Base ------------------------------------------------------------------------
gitpython
ipython # interactive notebook
matplotlib>=3.2.2
numpy>=1.18.5
opencv-python>=4.1.1
Pillow>=7.1.2
psutil # system resources
PyYAML>=5.3.1
requests>=2.23.0
scipy>=1.4.1
thop>=0.1.1 # FLOPs computation
#torch>=1.7.0 # see https://pytorch.org/get-started/locally (recommended)
#torchvision>=0.8.1
tqdm>=4.64.0
# protobuf<=3.20.1 # https://github.com/ultralytics/yolov5/issues/8012
# Logging ---------------------------------------------------------------------
tensorboard>=2.4.1
# clearml>=1.2.0
# comet
# Plotting --------------------------------------------------------------------
pandas>=1.1.4
seaborn>=0.11.0
# Export ----------------------------------------------------------------------
# coremltools>=6.0 # CoreML export
# onnx>=1.9.0 # ONNX export
# onnx-simplifier>=0.4.1 # ONNX simplifier
# nvidia-pyindex # TensorRT export
# nvidia-tensorrt # TensorRT export
# scikit-learn<=1.1.2 # CoreML quantization
# tensorflow>=2.4.1 # TF exports (-cpu, -aarch64, -macos)
# tensorflowjs>=3.9.0 # TF.js export
# openvino-dev # OpenVINO export
# Deploy ----------------------------------------------------------------------
# tritonclient[all]~=2.24.0
# Extras ----------------------------------------------------------------------
# mss # screenshots
# albumentations>=1.0.3
# pycocotools>=2.0 # COCO mAP
# roboflow
# ultralytics # HUB https://hub.ultralytics.com
8.在Anaconda PowerShell Prompt中运行下面的命令来安装pytoch(如使用cpu训练无需操作这一步)
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
9.在Anaconda PowerShell Prompt中打开源码
cd D:\yolov5-7.0
10.安装环境
pip install -r requirements.txt
11.复制yolov5-7.0/data路径下的coco128.yaml并粘贴,粘贴后改为test.yaml并双击打开将其中的内容修改为如下代码
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# COCO128 dataset https://www.kaggle.com/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Example usage: python train.py --data coco128.yaml
# parent
# ├── yolov5
# └── datasets
# └── coco128 ← downloads here (7 MB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: D:/yolov5-7.0/datasest # dataset root dir
train: D:/yolov5-7.0/datasest/images/train # train images (relative to 'path') 128 images
val: D:/yolov5-7.0/datasest/images/val # val images (relative to 'path') 128 images
#test: # test images (optional)
# Classes
names:
0: hanxi #字母替换为标注时的标签名字,更多标签则在0下面添加数字,注意格式,并在后面添加标签即可
12.打开yolov5源文件根目录下的train.py,找到438行将其中的coco128.yaml更改为test.yaml
454行中的default=''改为default='0'(如使用cpu训练无需更改为0)
441行的default=100代表训练次数,次数越多训练结果越精准
参数说明
--weights
初始模型权重路径。默认使用 yolov5s.pt(官方预训练权重)
--cfg
模型结构配置文件(YAML 格式),为空则自动根据权重推断
--data
数据集配置文件(YAML),包含训练和验证图像路径、类别数等
--hyp
超参数配置文件,如学习率、增强参数等
--epochs
训练轮数(默认 100)
--batch-size
每个 batch 的图像数(默认 16)
--imgsz 或 --img
输入图像的尺寸(正方形,单位:像素),默认 640
开始训练
1.在Anaconda PowerShell Prompt中运行以下命令(确保在yolov5-7.0根目录下)
python train.py
出现类似下图的结果代表证在训练中,训练结束后的模型将存储在D:\yolov5-7.0\runs\train\exp\weights\best.pt中
验证
python detect.py --source D:/yolov5-7.0/datasest/test/images --weights D:/yolov5-7.0/runs/train/exp/weights/best.pt
更多推荐



所有评论(0)