注意

确保用来操作的电脑系统为Windows10系统。在操作前请确保你已经熟练掌握基本Windows系统与Linux系统操作命令,例如cd、ls等命令,并熟练掌握python等语言。

开始前确保设置全局默认编码为Unicode UTF-8(包括cmd)

标注

安装与使用Anaconda

推荐使用Windows10系统进行以下操作

1.打开下方链接下载Anaconda安装包(选择Distribution Installers)并进行安装。

Download Now | Anacondahttps://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.ziphttps://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.pthttps://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.exehttps://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

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐