拾忆🍂拾忆🍂
  • cpp
  • MySQL
  • Oracle
  • PostgreSQL
  • MyBatis
  • API升级
  • HMOS
  • 百变小组件
  • hdc
  • 元服务
  • Java
  • MinIO
  • Stream
  • JSP & Struts2
  • Spring
  • FFmpeg
  • Linux
  • Git
  • Nginx
  • Ollama
  • Adobe Audition
  • Aseprite
  • Excel
  • Markdown基本用法
  • MuseScore 4.x
  • UVR
  • Windows
  • emoji-cheat-sheet
  • IDE快捷键
  • obs-studio
  • YOLO
  • Python
  • VuePress 2.x
  • 内置组件
  • markdown-container
  • markdown-ext
  • markdown-hint
  • markdown-preview
  • markdown-tab
  • Markdown扩展语法
  • 插件配置
  • prismjs
  • 样式
  • CSS
  • JS
  • TS
  • Vue3
主页
梦的开始🌅
  • cpp
  • MySQL
  • Oracle
  • PostgreSQL
  • MyBatis
  • API升级
  • HMOS
  • 百变小组件
  • hdc
  • 元服务
  • Java
  • MinIO
  • Stream
  • JSP & Struts2
  • Spring
  • FFmpeg
  • Linux
  • Git
  • Nginx
  • Ollama
  • Adobe Audition
  • Aseprite
  • Excel
  • Markdown基本用法
  • MuseScore 4.x
  • UVR
  • Windows
  • emoji-cheat-sheet
  • IDE快捷键
  • obs-studio
  • YOLO
  • Python
  • VuePress 2.x
  • 内置组件
  • markdown-container
  • markdown-ext
  • markdown-hint
  • markdown-preview
  • markdown-tab
  • Markdown扩展语法
  • 插件配置
  • prismjs
  • 样式
  • CSS
  • JS
  • TS
  • Vue3
主页
梦的开始🌅
  • 「从开始,到永久」
  • C艹

    • cpp
  • Database

    • MySQL
    • Oracle
    • PostgreSQL
    • MyBatis
  • HarmonyOS

    • API升级
    • HMOS
    • 百变小组件
    • hdc
    • 元服务
  • Java

    • Java
    • MinIO
    • Stream
    • JSP & Struts2
    • Spring
  • Linux

    • FFmpeg
    • Linux
    • Git
    • Nginx
  • LLM

    • Ollama
  • Others

    • Adobe Audition
    • Aseprite
    • Excel
    • Markdown基本用法
    • MuseScore 4.x
    • UVR
    • Windows
    • emoji-cheat-sheet
    • IDE快捷键
    • obs-studio
    • YOLO
  • Python

    • Python
  • VuePress

    • VuePress 2.x
    • 内置组件
    • markdown-container
    • markdown-ext
    • markdown-hint
    • markdown-preview
    • markdown-tab
    • Markdown扩展语法
    • 插件配置
    • prismjs
    • 样式
  • Web

    • CSS
    • JS
    • TS
    • Vue3
  • 主页

YOLO

提示

该文档依据B站大佬视频 林亿饼-合集-YOLO系列 进行编写。所以各个软件版本也和视频中一致。

警告

TMD!显卡挂了,目前进度在《YOLO训练入门(下)》视频刚开始,暂停更新。

环境

速览

  • 源码:ultralytics_v8.3.163,下载zip

  • 模型:releases_ultralytics/assets 或者 release_v8.3.0_ultralytics/assets,检索 yolo11n ,并下载以下模型:

    提示

    由于ultralytics库使用的 v8.3.x 所以模型也要下载 v8.3.x 下的模型。可以使用第二个链接直接打开。

    或许你会疑问为什么里面有很多版本和不同后缀的模型,可以看这里解答。

    • yolo11n-cls.pt
    • yolo11n-obb.pt
    • yolo11n-pose.pt
    • yolo11n-seg.pt
    • yolo11n.pt
  • python 3.11.x

    • torch==2.5.0

    • torchvision==0.20.0

    • torchaudio==2.5.0

1. 虚拟环境

# 创建
conda create -n yolo python=3.11

# 激活
conda activate yolo

提示

建议完全配置好conda以及pip安装目录。

点此跳转python文档

2. PyTorch

重要

以Nvidia非50系显卡为例,50系请观看视频。

  1. 打开 PyTorch官网

  2. 下滑到 Install PyTorch(有可以选择下载命令地方),点击 Previous versions of PyTorch 按钮

  3. 下滑找到 V2.5.0 -> Wheel -> LINUX AND WINDOWS 中的安装命令

提示

  • 别忘了先 激活环境
  • 如果需要,点此查看 换源 步骤
# CUDA 11.8
# 这个可以使用官方源下载
pip install torch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 --index-url https://download.pytorch.org/whl/cu118

# 实在不行再使用aliyun镜像
pip install torch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 -f https://mirrors.aliyun.com/pytorch-wheels/cu118

# 50系显卡
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
  1. 最后出来一大堆包名就代表安装完毕

  2. 测试

    pip show torch
    # 显示 Version: 2.5.0+cu118 代表成功
    
    # 先打开 python
    python
    
    # 每行依次键入 + 回车
    import torchvision
    import torch
    torch.cuda.is_available()
    # 输出 True 代表成功
    torch.randn(1).cuda()
    # 输出 tensor([随机数], device='cuda:0') 代表成功
    

3. 源码内的库

  1. 进入到源码文件夹内

    提示

    别忘了先 激活环境

  2. pip install -e .
    

    提示

    如果需要,点此查看 换源 步骤

  3. 最后出来一大堆包名就代表安装完毕

4. IDEA虚拟环境

参考:配置conda虚拟环境_IntelliJ_IDEA

  1. Ctrl + Shift + Alt + S
  2. SDKs
  3. Add Python SDK for disk
  4. Local -> Select existing
  5. 选择Conda安装路径下的可执行文件以及选择创建好的yolo环境

测试

这个命令的作用是用 yolo11n.pt 这个目标检测模型预测源码下 \ultralytics\assets 文件夹中的两张图片

yolo detect predict

出现这些代表yolo运行成功:

Results saved to runs\detect\predict

之后去 \ultralytics-8.3.163\runs\detect\predict 文件夹下看结果。

模型

版本含义

  • 一个Ultralytics库版本可以支持多个YOLO模型版本
  • 例如:ultralytics 8.3.163 同时支持:
    • YOLOv8模型
    • YOLOv9模型
    • YOLOv10模型
    • YOLOv11模型

提示

库是工具,模型是产品,工具可以处理多个版本的产品。

后缀含义

模型尺寸(从小到大):

  • n - Nano(最小,速度最快)
  • s - Small
  • m - Medium
  • l - Large
  • x - XLarge(最大,精度最高)

版本类型:

  • v8, v9, v10, v11 - YOLO版本号

  • seg - 实例分割模型(给物体自身加上蒙版)

  • pose - 姿态估计模型

  • cls - 分类模型(图像分类)

  • obb - 定向边界框检测(旋转目标检测)

  • x6 - 6个输出层( x 为3个,输入分辨率更高+多尺度,更好的小目标检测)

    • yolov8x6-500

      • "500":表示在Objects365数据集上预训练
      • Objects365有365个类别,500万+标注框
      • 适合需要检测大量日常物体的场景
    • yolov8x6-oiv7**

      • "oiv7":Open Images V7 数据集预训练

      • Open Images V7有600个类别

      • 类别更丰富,覆盖更广的物体类型

    • c) yolov8x6-coco

      • "coco":标准的COCO数据集(80个类别)

      • 最常用,通用性最好

示例:

  • yolo11n.pt - YOLOv11 Nano版本(目标检测)
  • yolo11s-seg.pt - YOLOv11 Small版本(实例分割)
  • yolo11m-pose.pt - YOLOv11 Medium版本(姿态估计)
  • yolo11l-cls.pt - YOLOv11 Large版本(图像分类)

性能关系:

  • n/s:速度快,精度较低,适合移动端
  • m:平衡版本
  • l/x:精度高,速度慢,适合服务器端

提示

名称中的 v 代表具体YOLO版本号,模型名称不带 v 的(如yolo11n、yolo11x)是简写形式,实际上与带 v 的相同,只是命名上没有带 v 。

(经测试,yolov8x.pt 以及 yolov8x-pose.pt 效果最好)

训练

原理:从Github上下载训练集.zip,并解压到项目下 /datasets 文件夹内。

提示

ultralytics-8.3.163/ultralytics/cfg/datasets 里面都是预设训练集的yaml配置文件,每一个文件就对应一个数据集。其中 download 就是下载URL。

  • path:数据集解压路径
  • train:训练集图片路径(暗示 标签 路径,就是把路径中的 images 换成 labels)
  • val:验证集图片路径(暗示 标签 路径,就是把路径中的 images 换成 labels)
  • test:测试集图片路径
  • names:数据集中包含的物体类型

示例最小化代码:

# 训练
from ultralytics import YOLO

if __name__ == '__main__':
    # 虽然指定了模型,但是好像还是会下载最新的 `yolo11n.pt` 来进行训练
    model = YOLO(r'models/yolov8n.pt')

    print('任务类型:',model.task)
    print(model.ckpt_path)

    model.train(
        data=r'ultralytics/cfg/datasets/coco8.yaml',
        # 轮次
        epochs=30,
        imgsz=640,
        # 批次
        batch=2,
        cache=False,
        workers=0,
        pretrained=False,  # 不下载预训练权重
        resume=False,      # 不从检查点恢复
    )

提示

建议先使用最小的yolo模型(例如后缀 *n.pt )跑通测试。

之后查看结果输出这样即为成功:

# `weights` 文件夹下面的 `best.pt` 就算成功
Results saved to runs\detect\train

labelimg

数据集 label 的可视化 查看/编辑 器。同样也可以查看验证集标签。

环境

conda create -n labelimg python=3.8

提示

如果需要,点此查看 换源 步骤

安装

pip install labelimg

使用

# 直接打开可视化
labelimg

# 给参数打开可视化
labelimg <images-dir-path> <classes.txt-path> <labels-dir-path>
  • images-dir-path:图片文件夹路径(例如 \datasets\coco8\images\train)
  • classes.txt: 类型文件路径(训练集.yaml 的 names 属性里的值,复制过来,删掉序号、冒号、空格,然后分别放到 labels 下各个集的文件夹里。例如 \datasets\coco8\labels\train\classes.txt)
  • labels-dir-path:标签文件夹路径(例如 \datasets\coco8\labels\train)

提示

  • View -> Display Labels:显示标签名
  • A / D:切换 上一张/下一张
最近更新: 2025/12/30 16:36
Contributors: Enlin
Prev
obs-studio