YOLO 分割可视化 Notebook 文档
概述
本 Notebook 提供了使用 YOLOv11 模型执行图像分割任务并利用 Matplotlib 实现结果可视化的完整流程。主要内容包括:
- 加载预训练 YOLO 模型并执行图像分割推理
- 使用 OpenCV 库读取和处理输入图像数据
- 解析模型输出的分割多边形数据并使用 Matplotlib 实现yolo_tongue_coating专业可视化
文件结构与核心实现
1. 运行环境依赖
必需安装以下 Python 库:
- OpenCV (cv2):图像处理核心库
- NumPy (numpy):科学计算基础包
- Matplotlib (matplotlib.pyplot):数据可视化工具
- Ultralytics (ultralytics):YOLO 模型接口
安装指令:
pip install opencv-python numpy matplotlib ultralytics
2. YOLO 模型加载与推理
示例代码展示模型加载和推理过程:
from ultralytics import YOLO
# 初始化模型(需替换为实际权重路径)
model = YOLO(r"runs\\segment\\train\\weights\\best.pt")
# 指定输入图像(需替换为实际图像路径)
image_path = r"test\\S__102228039.jpg"
# 执行预测
results = model.predict(source=image_path)
result = results[0] # 获取首张图像预测结果
关键参数说明:
best.pt
:训练完成的模型权重文件image_path
:待分割的输入图像路径results
:存储模型预测结果的容器
模型性能评估
1. 基础指标
- 处理图像总量:300 张
- 平均交并比(IoU):0.9547
- 平均 Dice 系数:0.9766
2. 分类性能
类别 | 精确率 | 召回率 | F1 分数 | 样本数 |
---|---|---|---|---|
背景 | 0.99 | 0.99 | 0.99 | 103,634,498 |
前景 | 0.98 | 0.98 | 0.98 | 29,075,902 |
汇总指标 | ||||
准确率 | 0.99 | 132,710,400 | ||
宏平均 | 0.99 | 0.99 | 0.99 | 132,710,400 |
加权平均 | 0.99 | 0.99 | 0.99 | 132,710,400 |
3. 性能总结
- 精确率:前景/背景区分准确率达 98-99%
- 召回率:目标区域覆盖率 98-99%
- F1 分数:综合评估指标 98-99%
- 整体准确率:99% 的像素级分类准确率
该模型在各类分割任务中均表现出色,适合需要高精度分割的应用场景。
使用指南
-
环境准备
确保已安装所有依赖库:pip install opencv-python numpy matplotlib ultralytics
-
路径配置
替换以下文件路径:- 模型权重:
best.pt
- 输入图像:
image_path
- 模型权重:
-
执行流程
运行 Notebook 后可获得:- 原始输入图像
- 叠加分割结果的可视化图像(支持轮廓显示或填充模式)
数据集资源
医学图像数据集推荐
-
舌苔诊断数据集
- 标注格式:JSON(包含多边形顶点坐标)
- 图像规格:512×512 标准尺寸
- 标签类型:多种舌苔分类(黑苔/地图舌/紫苔等)
-
TongeImageDataset
- 数据量:300 组
- 内容组成:原始图像 + 对应掩码图
-
口腔癌图像库
- 数据规模:87 例癌变舌像 + 44 例正常舌像
- 应用方向:口腔癌检测研究
-
齿痕舌专题数据集
- 数据组成:546 例齿痕舌 + 704 例正常舌
- 特色:专为中医舌诊设计
这些数据集适用于:
- 中医舌象智能分析
- 口腔病变检测
- 医学图像分割算法开发