用 Ultralytics YOLO 训练脑肿瘤检测模型:Brain Tumor 数据集结构与 YOLO26 实战指南
2026/9/5 15:47:24 网站建设 项目流程

用 Ultralytics YOLO 训练脑肿瘤检测模型:Brain Tumor 数据集结构与 YOLO26 实战指南

【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics

本文以 Ultralytics 官方文档中的 Brain Tumor(脑肿瘤)检测数据集为主线,完整覆盖数据集的结构、类别划分、YAML 配置定义,以及使用 YOLO26 完成 100 个 epoch 训练与微调模型推理的 Python / CLI 两种实操方式。结合 brain-tumor.yaml 与框架中数据集加载源码,读者可以掌握医学影像目标检测从配置解析、自动下载数据到训练、验证和推理的完整链路。

一、数据集概述:1,116 张 MRI/CT 医学影像

Ultralytics 的 Brain Tumor 数据集是一个面向医疗影像的目标检测数据集,包含1,116 张医学影像(MRI 磁共振与 CT 扫描),分为两个预定义的子集:

子集图像数标注
Train(训练集)893
Validation(验证集)223

每张图像标注两个类别之一:

  • negative:无脑肿瘤的图像
  • positive:显示存在脑肿瘤的图像

这种二分类标注方式让检测模型既能定位肿瘤位置,也能标记未出现肿瘤的扫描图像。

该数据集支持的应用场景包括:

  • 早期诊断:通过计算机视觉自动定位肿瘤,辅助医生尽早发现病灶;
  • 治疗规划:精确定位肿瘤以辅助手术规划;
  • 疗效监测:纵向追踪治疗过程中肿瘤变化;
  • 医学研究:支撑肿瘤学与神经科学领域的科研分析。

数据集在首次使用data="brain-tumor.yaml"训练时会自动下载(约 4.21 MB),无需任何手动准备。数据集在 LICENSE 声明的 AGPL-3.0 许可下提供。

二、Dataset YAML:数据集配置的完整定义

所有关键配置都定义在 ultralytics/cfg/datasets/brain-tumor.yaml 中,文件内容如下:

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license # Brain-tumor dataset by Ultralytics # Documentation: https://docs.ultralytics.com/datasets/detect/brain-tumor # Example usage: yolo train data=brain-tumor.yaml # parent # ├── ultralytics # └── datasets # └── brain-tumor ← downloads here (4.21 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: brain-tumor # dataset root dir train: images/train # train images (relative to 'path') 893 images val: images/val # val images (relative to 'path') 223 images # Classes names: 0: negative 1: positive # Download script/URL (optional) download: https://github.com/ultralytics/assets/releases/download/v0.0.0/brain-tumor.zip

各配置项含义:

配置项取值说明
pathbrain-tumor数据集根目录名。相对路径会解析到全局数据集目录(DATASETS_DIR,默认为datasets/下)
trainimages/train训练图像目录,相对path,含 893 张图
valimages/val验证图像目录,相对path,含 223 张图
names0: negative1: positive类别索引到名称的映射,nc由框架自动推导为 2
downloadassets 的 zip 地址数据缺失时的自动下载地址

框架如何解析这份 YAML

训练入口在 ultralytics/engine/trainer.py 的BaseTrainer.get_dataset()中:当taskdetect时,调用check_det_dataset(self.args.data)完成数据集的检查与解析。

check_det_dataset的核心逻辑位于 ultralytics/data/utils.py,对本文档中的 brain-tumor.yaml 而言,关键行为有:

  1. 裸名称自动补全:传入data="brain-tumor"时会自动尝试补为brain-tumor.yaml(源码中允许coco8 -> coco8.yaml这类写法);
  2. 字段校验:要求trainval两个键必须存在,namesnc至少提供其一,并保证两者长度一致——brain-tumor.yaml 只提供names,框架自动设置data["nc"] = len(data["names"])即 2;
  3. 路径解析:若path是相对路径且本地不存在,会回落到DATASETS_DIR(由SETTINGS["datasets_dir"]决定,见 ultralytics/utils/init.py),并把train/val拼接为绝对路径;
  4. 自动下载:当验证集路径不存在且download字段以http开头、以.zip结尾时,调用safe_download下载并解压到DATASETS_DIR——这就是文档所说"首次训练自动下载 4.21 MB"的实现来源;
  5. 字体检查:按names是否为纯 ASCII 选择下载Arial.ttfArial.Unicode.ttf,用于后续结果可视化。

因此整个数据集"零手动安装"的体验,本质上是 YAML 的path+download两个字段与上述加载逻辑配合的结果。

三、训练 YOLO26:Python 与 CLI 两种用法

官方文档给出的标准训练配置是:100 个 epoch、图像尺寸 640,使用预训练权重yolo26n.pt启动训练(预训练模型对医学影像这类小数据集尤为重要)。

Python 方式

from ultralytics import YOLO # Load a model model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training) # Train the model results = model.train(data="brain-tumor.yaml", epochs=100, imgsz=640)

CLI 方式

# Start training from a pretrained *.pt model yolo detect train data=brain-tumor.yaml model=yolo26n.pt epochs=100 imgsz=640

训练参数与默认值

文档示例只显式传入了epochsimgsz,其余参数来自 ultralytics/cfg/default.yaml 的默认配置,与脑肿瘤训练相关的主要默认值有:

参数默认值说明
epochs100训练轮数(本例显式指定 100)
imgsz640训练/验证输入边长(本例显式指定 640)
batch16批大小,也可用 0.0–1.0 的小数触发 AutoBatch 按显存自动选择
patience100早停耐心值:验证指标连续 N 轮不提升则提前停止
close_mosaic10最后 10 个 epoch 关闭 mosaic 增强
mosaic1.0mosaic 增强概率

完整的可训练参数列表见文档中 Train 参数页 的说明(对应仓库内default.yaml全量注释)。

关于 Mosaic 增强与医学影像

官方文档特别展示了该数据集训练批次的Mosaiced Image示例:Mosaicing 在训练时把多张图像拼合为一张,提高每个 batch 的多样性,使模型对不同尺寸、形状和位置的肿瘤泛化更好。这也是为什么close_mosaic=10这个默认参数值得留意——它在训练末期关闭拼图,让模型在接近真实单图分布的状态下完成收敛,对肿瘤这种边界敏感的目标定位通常有益。

四、微调后模型的推理(Inference)

训练完成后(例如产物best.pt),可以直接加载微调模型对脑肿瘤扫描做推理:

Python 方式

from ultralytics import YOLO # Load a model model = YOLO("path/to/best.pt") # load a brain-tumor fine-tuned model # Inference using the model results = model.predict("https://ultralytics.com/assets/brain-tumor-sample.jpg")

CLI 方式

# Start prediction with a finetuned *.pt model yolo detect predict model='path/to/best.pt' imgsz=640 source="https://ultralytics.com/assets/brain-tumor-sample.jpg"

推理输入支持本地文件路径、目录或 URL。预测结果results中包含边界框、类别(negative/positive)与置信度,可进一步用于区域统计或后续可视化(model.predict(..., save=True)会保存叠加标注的结果图)。

五、验证与数据集浏览

  • 验证yolo detect val data=brain-tumor.yaml model=path/to/best.pt可单独在 223 张验证图上评估模型;
  • 数据集浏览:官方建议在 Ultralytics Platform 上查看该数据集的标注叠加图、类别分布与边界框热力图,再克隆到自己的云环境训练(见 数据集总览 中的 Brain-tumor 条目)。

六、常见问题(FAQ 精编)

Q1:数据集如何划分?1,116 张图像分为 893 张训练集与 223 张验证集,均带标注。该比例划分支持构建稳健的脑肿瘤检测模型。

Q2:如何获取数据集?无需手动下载。首次使用data="brain-tumor.yaml"训练时,框架检测到本地缺失(结合上文check_det_dataset逻辑)后会自动从 Ultralytics 官方 assets 下载约 4.21 MB 的压缩包并解压到全局DATASETS_DIR

Q3:如何训练?即第三节给出的 Python / CLI 两种方式(100 epochs、imgsz=640),完整参数清单参见 Train 页。

Q4:如何推理?即第四节示例,加载微调后的best.pt对单张 MRI/CT 图或扫描目录做预测。

Q5:在哪里可以找到数据集 YAML?仓库内 ultralytics/cfg/datasets/brain-tumor.yaml,包含pathtrainvalnamesdownload全部字段。

七、引用与致谢

数据集以 AGPL-3.0 许可发布(见 LICENSE)。若在研究或开发工作中使用该数据集,请按下式引用:

@dataset{Ultralytics_Brain_Tumor_Dataset_2023, author = {Ultralytics}, title = {Brain Tumor Detection Dataset}, year = {2023}, publisher = {Ultralytics}, url = {https://docs.ultralytics.com/datasets/detect/brain-tumor} }

八、小结

Brain Tumor 数据集是 Ultralytics 仓库内一个规模适中、开箱即用的医学影像目标检测基准:二分类(negative/positive)、893/223 训练验证划分、YAML 自描述 + 自动下载,使其成为验证 YOLO 系列模型在医疗场景落地路径的合适起点。按本文配置执行yolo detect train data=brain-tumor.yaml model=yolo26n.pt epochs=100 imgsz=640即可完成完整训练流程;需要进一步调优时,可对照 ultralytics/cfg/default.yaml 中各参数的注释逐项调整,或参考 YOLO26 模型文档 了解可用的模型规模与任务头。

【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询