YOLOv8 实例分割训练实战:Mask 数据集、训练曲线与测试集预测

YOLOv8 实例分割训练实战:Mask 数据集、训练曲线与测试集预测


这篇教程根据我复现 YOLOv8 实例分割流程时整理,重点演示预训练分割推理、自定义 mask 数据训练、模型验证和测试集预测。

本文整理自我的学习和项目复现过程,尽量按实操顺序保留 notebook 的关键步骤,同时把数据集获取方式调整为适合中文教程发布的写法。

本文会重点跑通以下流程:

  • 安装 YOLOv8 分割依赖
  • 运行 COCO 预训练分割模型
  • 从数据集后台获取分割数据集
  • 训练 YOLOv8 实例分割模型
  • 验证并展示测试集 mask 预测

如果你正在系统学习目标检测、实例分割、OCR、多目标跟踪或视觉大模型,建议收藏本文;配套 notebook、示例图片和运行环境说明后续会继续整理。如果环境配置卡住,可以在评论区说明具体报错。

📚 文章目录

  • YOLOv8 实例分割训练实战:Mask 数据集、训练曲线与测试集预测
    • ⚙️ 环境准备
    • 🧩 安装 YOLOv8
    • 🔍 预训练分割推理
    • 📦 从数据集后台获取分割数据集
    • 🏋️ 自定义训练
    • 📏 验证模型
    • 🧪 自定义模型推理
    • 📤 部署说明
    • 📌 小结
    • 📚 同系列教程汇总

⚙️ 环境准备

先检查 GPU 与基础运行环境。建议优先使用 Colab GPU 或本地 NVIDIA GPU 环境。

!nvidia-smi
importos HOME=os.getcwd()print(HOME)

🧩 安装 YOLOv8

安装 Ultralytics 后,先确认版本和环境检查通过。

# Pip install method (recommended)!pip install ultralytics==8.2.103-qfromIPythonimportdisplay display.clear_output()# 关闭 Ultralytics 运行统计同步!yolo settings sync=Falseimportultralytics ultralytics.checks()
fromultralyticsimportYOLOfromIPython.displayimportdisplay,Image

🔍 预训练分割推理

先用预训练分割模型跑通示例图,确认分割链路正常。

%cd{HOME}!yolo task=segment mode=predict model=yolov8s-seg.pt conf=0.25source='/content/example'save=true
%cd{HOME}Image(filename='runs/segment/predict/dog.jpeg',height=600)

model=YOLO(f'{HOME}/yolov8s-seg.pt')results=model.predict(source='/content/example',conf=0.25)
results[0].boxes.xyxy
results[0].boxes.conf
results[0].boxes.cls
results[0].masks.data

📦 从数据集后台获取分割数据集

从数据集后台导出分割数据,确认data.yaml指向 train、valid、test。

fromtypesimportSimpleNamespace# 从数据集后台下载 YOLO 分割 格式数据集后,修改 DATASET_DIR 指向解压目录。DATASET_DIR="/content/dataset"# 修改为数据集后台导出的数据集目录dataset=SimpleNamespace(location=DATASET_DIR,version="1",name="custom-dataset")

🏋️ 自定义训练

开始训练前重点检查数据路径和类别数量。

%cd{HOME}!yolo task=segment mode=train model=yolov8s-seg.pt data={dataset.location}/data.yaml epochs=10imgsz=640
%cd{HOME}Image(filename=f'{HOME}/runs/segment/train/confusion_matrix.png',width=600)

%cd{HOME}Image(filename=f'{HOME}/runs/segment/train/results.png',width=600)

%cd{HOME}Image(filename=f'{HOME}/runs/segment/train/val_batch0_pred.jpg',width=600)

📏 验证模型

训练完成后先跑验证,确认指标和输出目录。

%cd{HOME}!yolo task=segment mode=val model={HOME}/runs/segment/train/weights/best.pt data={dataset.location}/data.yaml

🧪 自定义模型推理

加载训练好的 best.pt,在测试集图片上做批量推理。

%cd{HOME}!yolo task=segment mode=predict model={HOME}/runs/segment/train/weights/best.pt conf=0.25source={dataset.location}/test/images save=true
importglobfromIPython.displayimportImage,displayforimage_pathinglob.glob(f'{HOME}/runs/segment/predict2/*.jpg')[:3]:display(Image(filename=image_path,height=600))print("\n")


📤 部署说明

Notebook 原流程包含在线部署。这里保留本地模型路径,方便接入自己的部署流程。

# 可选:将训练得到的模型目录接入自己的部署流程。MODEL_DIR="./runs"MODEL_DIR
# 可选:部署完成后,可在这里接入自己的在线推理服务进行测试。

📌 小结

这篇教程完整整理了Fine-Tune YOLOv8 on Instance Segmentation Dataset的核心复现流程。实际操作时,建议先确认 GPU、依赖版本、数据集路径和模型权重路径,再逐段运行 notebook。

后续我会继续按源项目顺序整理同系列中的目标检测、实例分割、OCR、多目标跟踪和视觉大模型教程。

📚 同系列教程汇总

  • Google Gemini 3.5 Flash 零样本目标检测教程:从提示词到可视化结果

  • GLM-OCR 文档识别实战教程:从验证码、公式到车牌 OCR

  • RF-DETR + ByteTrack 多目标跟踪实战教程:从命令行到 Python 视频轨迹可视化

  • SAM 3 图像分割实战教程:文本、框和点提示的多种分割方式

  • SAM 3 视频分割实战教程:用文本提示分割并跟踪视频中的目标

  • YOLOv8 实例分割训练实战:Mask 数据集、训练曲线与测试集预测-本文