YOLOv5至YOLOv12升级:癌症图像检测系统的设计与实现(完整代码+界面+数据集项目)
摘要:面向医学影像中肿瘤病灶的快速定位与辅助筛查需求,本文设计并实现了一套基于 YOLOv5–YOLOv12 的癌症图像检测系统,覆盖从数据集构建、模型训练评估到桌面端部署的完整工程流程,并提供 可复现的完整代码、界面与数据集工程。系统以 YOLO 系列为核心检测器,围绕小目标、低对比度边界与类间相似等医学影像常见难点,开展多版本模型的统一训练与对比评测,输出 mAP、F1、PR 曲线、混淆矩阵与训练曲线 等指标,以支持模型选择与误检漏检分析。在应用侧,采用 PySide6 构建交互式桌面界面,支持单图/文件夹/视频流输入与可视化结果展示,提供 置信度与 IoU 阈值调节、类别统计、热力图辅助解释、结果导出与持久化存储 等功能,并通过 SQLite 实现用户注册登录、配置保存与历史记录管理,形成可用于科研验证与教学演示的工程化基线(系统输出仅供研究参考,不替代临床诊断)。
文章目录
1. 前言综述
在癌症影像辅助诊断中,病灶的自动定位与类别判别往往可被抽象为“低对比、小目标、强噪声背景”条件下的实时目标检测问题,而 YOLO 将检测建模为单次前向的边界框与类别联合回归,为此类高吞吐筛查任务提供了经典的速度—精度折中范式。1 面向乳腺钼靶、超声、CT、内镜或病理切片等多模态图像,临床工作流既要求对微小可疑灶保持足够灵敏度,又要求将误报控制在医生可接受的阅片负担内,因此“可部署的检测系统”通常比“离线指标更高的模型”更接近真实需求。两阶段检测器以候选区域生成与精细分类为主线,在自然图像中表现稳健,但其候选框生成与多阶段特征裁剪会引入额外延迟与工程复杂度,对需要端到端响应的交互式系统并不友好。2 同时,癌症影像中的类别极度不均衡与难例占比高的问题,会放大训练过程中的梯度偏置,基于 Focal Loss 的思想为稀有阳性样本与难例学习提供了可解释的损失重加权机制。3 从总体趋势看,深度学习已经在多类医学影像任务中展示出从表征学习到端到端优化的优势,但其性能上限在很大程度上受制于数据规模、标注质量与跨域泛化能力。4
在公开数据资源方面,CBIS-DDSM 通过对传统 DDSM 进行标准化清洗并提供分割与框级标注,为乳腺肿块与钙化灶检测提供了可复现的基准数据基础。[5] VinDr-Mammo 进一步以全幅数字化乳腺钼靶为载体,提供更大规模的多视图检查与细粒度发现标注,为评估模型在真实筛查分布下的鲁棒性创造了条件。[6] 但在更广泛的癌症影像场景中,隐私合规与专家时间成本仍使得“定制数据集构建”成为系统落地的第一道门槛,这也直接决定了后续训练策略与评估设计必须围绕弱监督、半监督或更高效的标注机制展开。
从检测算法谱系看,Ultralytics 在 YOLOv5 的工程化实现中建立了模块化训练与推理管线,使得迁移学习、数据增强与模型导出等环节能够以较低成本复用到垂直领域。[7] 随后的 YOLOv8 版本持续围绕训练、验证与跨平台导出完善统一接口,使得“同一套代码”覆盖检测、分割等任务形态成为可能,从而降低了医学影像多任务扩展时的工程摩擦。[8] 与此同时,YOLOv10 以端到端、去 NMS 依赖为目标,尝试从训练分配策略与结构效率上系统性降低推理延迟,为实时交互式检测系统的确定性时延提供了新的设计方向。[9] 在 Ultralytics 的迭代链路中,YOLO11 以新的默认模型形态进入主分支发布,进一步强化了多任务能力与性能效率的平衡,便于在同一系统内按算力与场景切换不同规模模型。[10] 最新的 YOLOv12 则以注意力机制为中心重构实时检测框架,在保持速度可比性的同时提升表征能力,这对癌症影像中“形态差异细微、边界模糊”的病灶模式具有潜在收益。[11]
然而,算法版本升级并不自动转化为临床可用性提升:医学影像标注的高成本与跨机构域偏移,使得训练过程更需要围绕样本选择与标注效率进行系统设计,而深度主动学习在医学影像领域的系统化综述表明,面向有限标注预算的样本获取策略已成为影响最终性能与成本的关键变量之一。[12] 在具体应用研究中,基于 OPTIMAM 预训练再迁移到肿块检测的策略表明,合适的数据先验能够显著改善检测性能并缓解小样本条件下的过拟合倾向。[13] 国内研究也呈现出“围绕小目标与遮挡难例改结构、改后处理”的典型路径,例如通过跨路径特征聚合增强低层细节,并在 Soft-NMS 中引入 DIoU 抑制冗余框以降低遮挡漏检风险。[14] 在更早的 YOLOv4 体系中,对 Mosaic 等增强与推理效率相关策略的系统总结,为后续版本在鲁棒性与可部署性之间的取舍提供了可迁移的方法论参照。[15]
为便于从“算法演进—医学适配—系统工程”三个维度把握研究现状,表 1 汇总了 YOLOv5 至 YOLOv12 关键版本及代表性医学影像工作在数据集、改进点与优缺点上的对应关系(本文任务以癌症影像检测为中心,预训练通常来源于 COCO 等通用数据,再在 CBIS-DDSM、VinDr-Mammo 或自建数据集上微调)。
| 算法/代表工作 | 典型数据集(预训练/微调) | 主要改进线索 | 优势(面向癌症影像系统) | 局限与风险 |
|---|---|---|---|---|
| YOLOv5(Ultralytics)[7] | COCO / CBIS-DDSM、VinDr-Mammo、自建 | 工程化训练管线、增强与导出链路成熟 | 复现与部署成本低,适合作为跨版本对比基线 | 仍依赖 NMS,域偏移下误报控制需额外策略 |
| YOLOv8(Ultralytics)[8] | COCO / 同上 | 统一任务接口与验证指标体系、导出生态增强 | 便于在同一系统内扩展检测与分割等能力 | 版本快速迭代下需严格锁定依赖与配置 |
| YOLOv10(NeurIPS 2024)[9] | COCO / 同上 | 端到端、NMS-free 训练与效率导向结构设计 | 有利于稳定降低推理时延并简化后处理 | 医学小目标与密集候选下的召回仍需验证 |
| YOLO11(Ultralytics)[10] | COCO / 同上 | 新默认模型发布,多任务与效率权衡 | 便于按算力分档切换,适配实时交互界面 | 对特定模态(如钼靶灰度)仍需专门增强策略 |
| YOLOv12(arXiv 2025)[11] | COCO / 同上 | 注意力中心的实时检测框架 | 更强表征或利于细微形态病灶区分 | 注意力计算与显存占用对边缘端更敏感 |
| 迁移学习+YOLO肿块检测(Computers in Biology and Medicine 2025)[13] | OPTIMAM 相关预训练 / 乳腺肿块检测集 | 以更贴近医学分布的预训练缓解小样本 | 改善泛化并降低过拟合,利于工程落地 | 依赖高质量先验数据,数据许可与合规要求高 |
| 改进 YOLOv3 肿块识别(激光与光电子学进展 2022)[14] | 钼靶图像数据集 / 同域验证 | 特征融合增强 + DIoU Soft-NMS | 强化小肿块与遮挡目标检测能力 | 改动点较多,跨数据集可迁移性需进一步评估 |
综合上述脉络可以看到,癌症影像检测系统的难点已经从“是否能检测到”逐步转向“在真实工作流约束下是否可靠可控”:其一,病灶尺度与成像噪声导致的定位不确定性,要求后处理与阈值策略能够与临床偏好协同;其二,跨设备、跨中心域偏移使得仅凭单一数据集上的 mAP 难以预测上线表现;其三,系统侧需要将模型输出转化为可追溯的结果管理、可视化与统计分析,从而支持医生复核与质量控制。基于这一认识,老思在本文的工作中将重点放在“版本化模型对比 + 定制数据集构建 + 可交互桌面系统实现”的闭环:一方面系统化评测 YOLOv5 至 YOLOv12 在同一癌症影像数据集上的性能差异并给出可视化分析;另一方面构建并标注任务相关数据集,完成清洗、划分与预处理;同时以 PySide6 实现可切换权重的桌面端检测界面,并配套输出结果保存与项目资源包,尽量将论文指标与可运行工程对齐。
主要功能演示:
(1)启动与登录:系统启动后首先进入登录界面,支持注册、登录与密码校验,成功登录后加载该用户的历史检测记录与个性化配置(如默认阈值、上次选择的模型与主题)。登录过程采用 SQLite 持久化存储,避免重复配置并为后续结果追溯提供索引。
(2)多源输入与实时检测(摄像头/视频/图片/文件夹):进入主界面后可在输入源区域切换“摄像头、视频、单张图片、图片文件夹”,系统在统一推理接口下完成帧读取、尺寸归一化与推理后处理,并在右侧画布实时叠加检测框、类别与置信度。对于文件夹模式,按序遍历图片并同步输出统计面板(各类别计数、置信度分布),同时支持一键导出当前结果。
(3)模型选择与对比演示:在模型管理区可直接切换 YOLOv5–YOLOv12 的权重文件(同一数据预处理与阈值设置保持一致),用于观察不同版本在漏检、误检与定位精度上的差异;对比演示通常选择同一张“难例”图像或同一段视频片段,分别运行并记录 mAP/F1 与可视化差异(例如小病灶召回、边界贴合度)。
(4)新增主题修改功能:系统提供主题切换入口(如浅色/深色/高对比),并对按钮、表格、画布背景与提示信息等控件样式进行统一管理,使检测画面在不同光照环境与屏幕条件下保持可读性。主题变更即时生效,并写入用户配置以便下次启动自动恢复。
2. 数据集介绍
本项目面向脑部 MRI 轴位切片的肿瘤检出任务,将“病灶是否存在及其空间位置”统一为目标检测问题:以矩形框标注可疑病灶区域,并为每个框赋予语义类别标签。数据集共包含 3,076 张图像,其中训练集 2,634 张、验证集 301 张、测试集 141 张,形成固定三划分用于 YOLOv5–YOLOv12 的同条件训练与对比评测。类别采用中英对照配置,Benign 对应“良性”,Tumor 对应“肿瘤”,便于在界面端显示中文结果并在实验端保持与开源检测框架兼容(如类别名与数据配置文件一致)。
Chinese_name = {'Benign': "良性", 'Tumor': '肿瘤'}
从标注统计图可以直观看到类别与目标几何分布具有典型医学影像特征:其一,Tumor 实例数显著高于 Benign,呈现明显的类不均衡,这会在训练中诱发模型更倾向于“肿瘤类”的先验,从而需要在后续训练策略中通过采样、阈值与损失权重等手段抑制误报并保护少数类召回;其二,框中心点主要聚集在图像中部区域,符合头颅成像的解剖结构与采集视野;其三,宽高分布呈长尾且 width 与 height 存在正相关,这意味着病灶尺度变化较大、形态差异显著,模型需要稳定的多尺度表征与合理的数据增强来提升对小病灶与边界模糊目标的鲁棒性。老思在数据准备阶段遵循“格式统一—标注校验—划分固化”的工程流程:图像统一为常见位图格式(如 JPG),标签导出为 YOLO 所需的归一化 TXT 表达( x c , y c , w , h ∈ ( 0 , 1 ) x_{c}, y_{c}, w, h \in (0,1) xc,yc,w,h∈(0,1)),并在训练时按输入尺寸对图像进行 resize 与 letterbox padding,确保推理与训练的几何一致性;同时利用标签可视化与相关性统计对异常框(过小、越界、重复)进行复核,以减少噪声标注对最终检测阈值稳定性的影响。
📊 数据集规格说明 (Dataset Specification)
| 维度 | 参数项 | 详细数据 |
|---|---|---|
| 基础信息 | 标注软件 | LabelImg(或同类矩形框标注工具) |
| 标注格式 | YOLO TXT (Normalized) | |
| 数量统计 | 训练集 (Train) | 2,634 张 (85.6%) |
| 验证集 (Val) | 301 张 (9.8%) | |
| 测试集 (Test) | 141 张 (4.6%) | |
| 总计 (Total) | 3,076 张 | |
| 类别清单 | Class ID: 0 | Benign(良性) |
| Class ID: 1 | Tumor(肿瘤) |
|
| 图像规格 | 输入尺寸 | 640 * 640(训练/推理阶段统一 resize,可配置) |
| 数据来源 | 脑部 MRI 轴位切片(脱敏整理,用于科研训练与验证) |
3. 模型设计与实现
本系统将脑部 MRI 切片中的可疑病灶定位与类别判别统一为目标检测任务:给定输入图像 I ∈ R H × W × 3 I\in\mathbb{R}^{H\times W\times 3} I∈RH×W×3(灰度 MRI 在工程中通常复制到 3 通道以复用通用检测框架),模型输出一组候选框 B ^ = ( x ^ c , y ^ c , w ^ , h ^ , s ^ , c ^ ) \hat{\mathcal{B}}={(\hat{x}_c,\hat{y}_c,\hat{w},\hat{h},\hat{s},\hat{c})} B^=(x^c,y^c,w^,h^,s^,c^),其中 ( x ^ c , y ^ c , w ^ , h ^ ) (\hat{x}_c,\hat{y}_c,\hat{w},\hat{h}) (x^c,y^c,w^,h^) 为归一化框参数, s ^ \hat{s} s^ 为置信度, c ^ ∈ Benign , Tumor \hat{c}\in{\text{Benign},\text{Tumor}} c^∈Benign,Tumor 为类别。由于该任务强调“可交互的实时筛查与复核”,老思在默认配置上优先选用 YOLOv12n 作为主模型,并在系统内保留 YOLOv5–YOLOv12 的权重切换接口,用同一套预处理、阈值与评估协议完成横向对比,从而避免“配置差异”掩盖“模型差异”。
从网络范式上看,YOLO 系列长期沿用“Backbone–Neck–Head”的结构化分工:Backbone 负责提取从低层纹理到高层语义的多尺度特征,Neck 负责跨层融合以兼顾小目标细节与全局上下文,Head 将融合特征映射为分类与定位的联合预测。以 YOLOv5 为例,其 Backbone 采用 CSPDarknet53 思路,Neck 采用 SPPF 与 PANet 聚合,Head 负责多尺度输出,这类设计在保证速度的同时对小目标也保留了可用的空间细节通道,适合作为医学影像检测的工程基线。(Ultralytics Docs) 随着版本演进,YOLOv8 引入了更偏向 anchor-free 的预测头形式与更统一的训练/导出接口,使得同一推理接口能够覆盖多任务与多模型规模(n/s/m/l/x),从工程角度显著降低了多版本对比与部署门槛。(Ultralytics Docs) 在此基础上,YOLOv10 进一步推动端到端与去 NMS 依赖的方向,通过训练分配与结构效率设计压缩推理路径,降低后处理对时延与稳定性的影响,这对需要“视频流连续推理”的桌面端系统尤为关键。(arXiv) 最新的 YOLOv12 则将注意力机制作为主干能力引入实时检测框架,通过 Area Attention、R-ELAN 与 FlashAttention 等结构优化,尝试在保持实时性的前提下提升表征能力,尤其适配医学影像中“边界模糊、对比度低、形态差异细微”的病灶模式。(Ultralytics Docs)
在 YOLOv12 的结构细节上,Area Attention 将特征图划分为有限数量的区域并在区域内建模,从而在扩大有效感受野的同时控制注意力计算量;R-ELAN 则通过更利于优化的特征聚合与残差缩放机制缓解深层注意力模型训练不稳定的问题;在实现层面,YOLOv12 还通过 FlashAttention 降低显存访问瓶颈,并弱化显式位置编码,改用卷积式“position perceiver”隐式注入位置信息。(Ultralytics Docs) 这类设计对于脑 MRI 的典型分布具有直接意义:一方面病灶可能跨越多个解剖结构区域,需要更强的全局依赖建模;另一方面病灶边界常被噪声与组织纹理干扰,注意力的选择性聚合有望提升对关键区域的响应一致性。作为直观参照,YOLOv12 官方对比可视化展示了其在热力响应上相对更“聚焦”的趋势(尽管该结论仍应以本任务数据集上的消融与误差分析为准)。
任务建模与损失函数方面,本系统沿用 Ultralytics 系列检测器的主流实现:分类分支使用二元交叉熵(BCE)对每个类别进行监督,定位分支采用 IoU 家族损失约束框的重叠与几何一致性。设第 i i i 个正样本的类别标签为 y i k ∈ 0 , 1 y_{ik}\in{0,1} yik∈0,1,分类 logit 为 s i k s_{ik} sik,则分类损失可写为
L ∗ c l s = − 1 N ∑ ∗ i = 1 N ∑ k = 1 C [ y i k log σ ( s i k ) + ( 1 − y i k ) log ( 1 − σ ( s i k ) ) ] , \mathcal{L}*{cls}=-\frac{1}{N}\sum*{i=1}^{N}\sum_{k=1}^{C}\Big[y_{ik}\log\sigma(s_{ik})+(1-y_{ik})\log(1-\sigma(s_{ik}))\Big], L∗cls=−N1∑∗i=1Nk=1∑C[yiklogσ(sik)+(1−yik)log(1−σ(sik))],
其中 σ ( ⋅ ) \sigma(\cdot) σ(⋅) 为 Sigmoid, C = 2 C=2 C=2 对应 Benign 与 Tumor。定位损失常以 CIoU 为代表:
L ∗ b o x = 1 − CIoU ( b , b ^ ) , CIoU = IoU − ρ 2 ( c , c ^ ) d 2 − α v , \mathcal{L}*{box}=1-\text{CIoU}(b,\hat b),\qquad \text{CIoU}=\text{IoU}-\frac{\rho^2(\mathbf{c},\hat{\mathbf{c}})}{d^2}-\alpha v, L∗box=1−CIoU(b,b^),CIoU=IoU−d2ρ2(c,c^)−αv,
ρ 2 ( c , c ^ ) \rho^2(\mathbf{c},\hat{\mathbf{c}}) ρ2(c,c^) 为预测框与真值框中心距离, d d d 为最小外接框对角线长度, v v v 刻画长宽比一致性, α \alpha α 为其权重系数。综合起来,总损失通常写为
L = λ ∗ b o x L ∗ b o x + λ ∗ c l s L ∗ c l s + λ ∗ d f l L ∗ d f l , \mathcal{L}=\lambda*{box}\mathcal{L}*{box}+\lambda*{cls}\mathcal{L}*{cls}+\lambda*{dfl}\mathcal{L}*{dfl}, L=λ∗boxL∗box+λ∗clsL∗cls+λ∗dflL∗dfl,
其中 L ∗ d f l \mathcal{L}*{dfl} L∗dfl(若启用)用于对边界回归的离散分布进行监督,以提升定位精度与收敛稳定性; λ \lambda λ 系数由框架默认或实验配置给出。上述设计在医学影像中更关注“召回优先但误报可控”,因此阈值选择(conf/iou)与类别不均衡下的采样与权重设置,会在后续训练策略与结果分析中单独讨论。
实现层面,为了让 PySide6 前端能够无感切换 YOLOv5–YOLOv12,博主在 Detector 层对推理过程做了统一封装:输入侧完成灰度到 3 通道映射、letterbox 缩放与归一化;模型侧按权重类型选择对应加载器;输出侧将不同版本的原始输出归一为统一的 boxes / scores / class_id 结构,并映射到中文类别名 {'Benign': '良性', 'Tumor': '肿瘤'},再交由界面层完成绘制、统计与导出。下面给出与 Ultralytics 系列模型一致的核心调用方式示例(完整工程中会加入线程/信号槽与异常处理以避免阻塞 UI):
from ultralytics import YOLO
Chinese_name = {'Benign': "良性", 'Tumor': '肿瘤'}
# 以 YOLOv12n 为例(也可替换为 yolov8n.pt / yolo11n.pt / 自训练权重 best.pt 等)
model = YOLO("yolo12n.pt")
# 推理:conf/iou 与 imgsz 在界面中可配置
results = model.predict(source="demo.jpg", imgsz=640, conf=0.25, iou=0.7)
# results[0].boxes.cls / conf / xyxy 等字段在封装层统一转换为 UI 需要的结构
4. 训练策略与模型优化
为了保证 YOLOv5–YOLOv12 在同一癌症图像检测任务上的对比具有可解释性,老思在训练阶段采用“统一数据划分、统一输入尺度、统一增强强度与统一评估指标”的约束:所有模型均固定使用第 2 节给出的 Train/Val/Test 三划分,输入端将图像缩放至 640 × 640 640\times 640 640×640,并使用与 Ultralytics 训练管线一致的 letterbox 几何保持策略,避免因裁剪导致病灶边界语义丢失。训练过程中以验证集 m A P 50 : 95 mAP_{50:95} mAP50:95 作为主选择指标,保存 best.pt 以便后续在界面端切换权重并复现实验结论,同时启用早停以抑制后期过拟合并节约算力开销。
迁移学习是医学影像检测中最稳定的工程路径之一:本系统默认加载通用预训练权重(pretrained=true),先以较高的学习率进行短阶段“适配性收敛”,再进入稳定微调阶段,使低层纹理滤波器与中层几何特征能快速对齐 MRI 的灰度统计分布。学习率策略采用带预热的余弦退火更有利于在小批量(batch=16)与类不均衡条件下保持训练稳定性,其形式可写为
η t = η min + 1 2 ( η 0 − η min ) ( 1 + cos π t T ) , \eta_t=\eta_{\min}+\frac{1}{2}\left(\eta_0-\eta_{\min}\right)\left(1+\cos\frac{\pi t}{T}\right), ηt=ηmin+21(η0−ηmin)(1+cosTπt),
其中 η 0 \eta_0 η0 为初始学习率, η min = η 0 ⋅ l r f \eta_{\min}=\eta_0\cdot lrf ηmin=η0⋅lrf 为末端学习率下限, T T T 为总迭代步数。针对数据集中“肿瘤实例明显多于良性”的情况,训练时更强调召回侧的稳定性:一方面保留 Mosaic 等增强以扩充背景多样性并提升小目标鲁棒性,另一方面在验证与上线阈值选择上采用更谨慎的 conf/iou 配置,通过阈值曲线在“误报负担”和“漏检风险”之间找到符合筛查任务偏好的工作点。实现层面默认开启 AMP 混合精度与 GPU 加速(RTX 4090),并将推理与后处理解耦到独立模块,确保训练得到的权重在桌面端实时推理时仍保持吞吐与延迟的可控性。
在模型优化方面,本文将“训练期优化”和“部署期优化”分开处理。训练期以正则化与超参数约束为主:使用权重衰减抑制过拟合,配合 warmup 让早期梯度更新更平滑;当数据噪声或难例比例较高时,可通过降低后期 Mosaic 强度(close_mosaic)来减少不自然拼接对边界学习的干扰。部署期则更关注端侧性能与一致性:权重导出时优先选择 ONNX/TensorRT 路径并启用 FP16,以在不显著牺牲精度的前提下降低时延;对于需要在低算力设备运行的场景,再进一步考虑更小规模的 n 级模型或以蒸馏方式将大模型表征迁移到轻量模型中,从而保证系统交互流畅与实时可用。
| 名称 | 作用(简述) | 数值 |
|---|---|---|
| epochs | 最多训练轮数 | 120 |
| patience | 早停耐心(验证无提升则停止) | 50 |
| batch | 每次迭代的总批大小 | 16 |
| imgsz | 网络输入分辨率(方形) | 640 |
| pretrained | 是否加载预训练权重 | true |
| optimizer | 优化器类型(auto 由框架选择) | auto |
| lr0 | 初始学习率 | 0.01 |
| lrf | 最终学习率占比(余弦退火下限) | 0.01 |
| momentum | 动量/一阶动量系数 | 0.937 |
| weight_decay | 权重衰减(L2 正则) | 0.0005 |
| warmup_epochs | 学习率预热轮数 | 3.0 |
| mosaic | Mosaic 数据增强强度/概率 | 1.0 |
| close_mosaic | 训练后期关闭 Mosaic 的轮数 | 10 |
5. 实验与结果分析
本节实验的核心目标是验证:在同一脑部 MRI 肿瘤检测数据集(Train/Val/Test=2634/301/141)与统一训练配置下,YOLOv5–YOLOv12 的不同版本与不同规模(n、s)在检测精度、阈值敏感性、收敛速度与推理时延上的差异是否具有稳定可复现的规律。对比模型默认选取 yolov5nu、yolov6n、yolov7-tiny、yolov8n、yolov9t、yolov10n、yolo11n、yolo12n 作为 n 级轻量组,同时选取 yolov5su、yolov6s、yolov7、yolov8s、yolov9s、yolov10s、yolo11s、yolo12s 作为 s 级增强组;所有模型在测试集上以 m A P @ 0.5 mAP@0.5 mAP@0.5、 m A P @ 0.5 : 0.95 mAP@0.5:0.95 mAP@0.5:0.95、Precision、Recall 与 F1 作为主要指标,并记录推理时间作为工程部署参考。设真阳性、假阳性、假阴性分别为 T P , F P , F N TP,FP,FN TP,FP,FN,则 P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP, R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP, F 1 = 2 P R P + R F1=\frac{2PR}{P+R} F1=P+R2PR;而 m A P mAP mAP 由不同召回率下的 Precision–Recall 曲线面积(AP)在类别维度求均值得到。下面的速度统计来自实验日志记录(包含预处理、推理、后处理的分项,其中表格展示推理主耗时),硬件信息在日志中标注为 NVIDIA GeForce RTX 3070 Laptop GPU(8GB),因此该时延结果应被理解为“同机对比”而非不同机器间的绝对基准。
首先考察阈值对综合性能的影响。F1–Confidence 曲线显示,当置信度阈值从极低值提升时,F1 很快上升并进入平台区,说明模型对阈值并不敏感;当阈值进一步逼近 1.0,召回迅速下降导致 F1 断崖式下滑。由曲线可得到全类最优点约为 F 1 ≈ 0.93 F1\approx0.93 F1≈0.93,对应置信度阈值约 0.478,这一结论对“界面端默认阈值设置”非常直接:老思建议将 UI 默认 conf 设在 0.45–0.55 的平台区,以获得较稳健的精度—召回平衡,并允许用户在筛查场景下向低阈值侧移动以提高召回(如下图5-1所示)。
图5-1 F1-Confidence 曲线
进一步地,Precision–Recall 曲线在大部分召回区间内保持接近 1 的高精度,直到高召回末段才出现明显下坠,说明该任务的主要困难集中在“极端高召回工作点下的误报控制”与“少量难例的定位/分割边界不确定性”。曲线标注的 m A P @ 0.5 ≈ 0.957 mAP@0.5\approx0.957 mAP@0.5≈0.957 表明在 IoU=0.5 的宽松匹配标准下模型总体检出能力较强,但仍需结合 m A P @ 0.5 : 0.95 mAP@0.5:0.95 mAP@0.5:0.95 来评估更严格定位要求下的性能衰减(如下图5-2所示)。
图5-2 Precision–Recall 曲线
图注:高召回末段精度下降更明显,提示难例与边界模糊样本对误报更敏感。
从训练动态来看,训练损失(box/cls/dfl)整体平滑下降,验证损失在前若干轮快速回落后进入缓慢下降并趋于稳定的阶段,Precision 与 Recall 逐步上升并在中后期围绕高位小幅波动; m A P 50 mAP50 mAP50 较早进入平台,而 m A P 50 - 95 mAP50\text{-}95 mAP50-95 的平台值明显低于 m A P 50 mAP50 mAP50,反映出“分类正确但框更精确贴合”的难度仍然存在——这在医学影像中常见,因为病灶边界的标注一致性、成像对比度与组织纹理会共同影响定位精度(如下图5-3所示)。工程上,这意味着只追求 m A P 50 mAP50 mAP50 可能会高估可视化框的贴合程度,因此在 UI 中应提供 IoU 阈值与显示策略的可调节项,以适配不同复核习惯。
图5-3 训练与验证曲线
图注:训练稳定收敛, m A P 50 mAP50 mAP50 早期进入平台; m A P 50 - 95 mAP50\text{-}95 mAP50-95 体现更严格定位标准下的差距。
在 n 级轻量模型组中,柱状对比给出了直观结论:整体上各模型的 m A P 50 mAP50 mAP50 都处于 0.94–0.964 的高位区间,但 F1 的差异更能反映“阈值设定后综合误报/漏检”的真实体验。YOLOv12n 在该组中取得最高的 m A P 50 = 0.9638 mAP50=0.9638 mAP50=0.9638 与最高的 F 1 = 0.9350 F1=0.9350 F1=0.9350,而 YOLOv11n 的 m A P 50 mAP50 mAP50 与 YOLOv12n 几乎持平,且在更严格的 m A P 50 - 95 mAP50\text{-}95 mAP50-95 上略占优势(0.7551);从推理速度看,YOLOv6n 的推理耗时最低(6.78ms),更适合对实时性要求更强的连续视频流输入场景(如下图5-4所示)。这类现象通常意味着:新版本在表征能力上确实有收益,但收益幅度会被数据难度与任务定义“压缩”,最终部署往往取决于“边际精度提升是否值得付出额外时延”。
图5-4 n 级模型 F1 与 mAP50 对比
图注:YOLOv12n 在该组获得最高 F1 与最高 mAP50,YOLOv6n 延迟最低。
为便于复现与横向比较,表5-1汇总了 n 级模型在测试集上的主要指标(推理时延为日志统计的推理阶段耗时,单位 ms)。可以看到,YOLOv7-tiny 的 m A P 50 - 95 mAP50\text{-}95 mAP50-95 明显偏低(0.7165),说明其定位精细度更容易受限;YOLOv10n 的 Precision 更低,导致 F1 落后于同组其它模型,提示在该数据分布下其端到端策略可能需要更细致的阈值与训练分配调参来释放潜力。
表5-1 n 级模型测试集性能汇总(来自 metrics_results_Tumor_n_type.csv)
| 模型 | Params(M) | FLOPs(G) | 推理(ms) | Precision | Recall | F1 | mAP50 | mAP50-95 |
|---|---|---|---|---|---|---|---|---|
| YOLOv5nu | 2.6 | 7.7 | 7.73 | 0.955 | 0.910 | 0.932 | 0.959 | 0.749 |
| YOLOv6n | 4.3 | 11.1 | 6.78 | 0.939 | 0.930 | 0.934 | 0.954 | 0.748 |
| YOLOv7-tiny | 6.2 | 13.8 | 14.74 | 0.954 | 0.895 | 0.923 | 0.936 | 0.716 |
| YOLOv8n | 3.2 | 8.7 | 6.83 | 0.942 | 0.888 | 0.914 | 0.951 | 0.748 |
| YOLOv9t | 2.0 | 7.7 | 16.51 | 0.927 | 0.922 | 0.924 | 0.959 | 0.750 |
| YOLOv10n | 2.3 | 6.7 | 11.24 | 0.880 | 0.906 | 0.893 | 0.942 | 0.746 |
| YOLOv11n | 2.6 | 6.5 | 9.44 | 0.940 | 0.913 | 0.926 | 0.964 | 0.755 |
| YOLOv12n | 2.6 | 6.5 | 12.47 | 0.955 | 0.916 | 0.935 | 0.964 | 0.750 |
从收敛过程的角度观察,n 级各模型的 m A P 50 mAP50 mAP50 在前 10–20 个 epoch 内普遍快速上升,随后进入缓慢提升与高位震荡阶段,但震荡幅度存在差异:部分模型在早期出现更明显的波动,通常与 Mosaic 强增强、学习率预热以及验证集规模偏小导致的方差有关;而在中后期,各曲线趋于收敛并保持接近的上限(如下图5-5所示)。当把视角切换到平均 PR 曲线时,各模型曲线在中低召回区域几乎重合,差异主要出现在高召回尾段:YOLOv11n/YOLOv12n 在高召回区间仍能维持更高 precision,解释了其 m A P mAP mAP 与 F1 的领先。
图5-5 n 级模型 mAP50 随 epoch 变化
图注:前期快速收敛,中后期高位小幅波动,差异主要体现在稳定性与平台上限。
在 s 级模型组中,整体精度并未呈现“参数越大越好”的单调规律:YOLOv9s 在该组同时取得最高的 m A P 50 = 0.9618 mAP50=0.9618 mAP50=0.9618、最高的 m A P 50 - 95 = 0.7608 mAP50\text{-}95=0.7608 mAP50-95=0.7608 与最高的 F 1 = 0.9365 F1=0.9365 F1=0.9365,但其推理耗时也显著更高(18.66ms);YOLOv8s 的推理耗时最低(7.66ms),在速度最优的同时保持了较高的 m A P 50 = 0.9578 mAP50=0.9578 mAP50=0.9578 与 F 1 = 0.9338 F1=0.9338 F1=0.9338,因此在桌面端实时视频流场景下往往更具性价比(如下图5-6所示)。值得注意的是,YOLOv7(非 tiny)虽然参数与 FLOPs 都最高,但 m A P 50 - 95 mAP50\text{-}95 mAP50-95 并不占优,且推理耗时明显偏大,这提示在当前数据规模与标注形态下,架构效率比盲目堆叠容量更关键。
图5-6 s 级模型 F1 与 mAP50 对比
图注:YOLOv9s 精度最佳但更慢,YOLOv8s 延迟最低且保持较高精度。
表5-2给出了 s 级模型的量化对比。可以看到,多数模型的 m A P 50 mAP50 mAP50 差距在 0.01 量级,部署选型更应结合时延预算与误报成本:若系统用于交互式快速筛查,优先选择 YOLOv8s/YOLOv6s 这类低延迟且 recall 不低的模型;若面向离线批处理或对定位精细度更敏感的复核任务,则 YOLOv9s/YOLOv12s 的 m A P 50 - 95 mAP50\text{-}95 mAP50-95 更具优势。
表5-2 s 级模型测试集性能汇总(来自 metrics_results_Tumor_s_type.csv)
| 模型 | Params(M) | FLOPs(G) | 推理(ms) | Precision | Recall | F1 | mAP50 | mAP50-95 |
|---|---|---|---|---|---|---|---|---|
| YOLOv5su | 9.1 | 24.0 | 8.45 | 0.974 | 0.889 | 0.930 | 0.953 | 0.751 |
| YOLOv6s | 17.2 | 44.2 | 8.59 | 0.919 | 0.945 | 0.932 | 0.960 | 0.757 |
| YOLOv7 | 36.9 | 104.7 | 23.62 | 0.962 | 0.895 | 0.927 | 0.951 | 0.719 |
| YOLOv8s | 11.2 | 28.6 | 7.66 | 0.959 | 0.910 | 0.934 | 0.958 | 0.748 |
| YOLOv9s | 7.2 | 26.7 | 18.66 | 0.952 | 0.922 | 0.936 | 0.962 | 0.761 |
| YOLOv10s | 7.2 | 21.6 | 11.38 | 0.914 | 0.911 | 0.913 | 0.956 | 0.747 |
| YOLOv11s | 9.4 | 21.5 | 9.74 | 0.952 | 0.902 | 0.927 | 0.949 | 0.753 |
| YOLOv12s | 9.3 | 21.4 | 13.23 | 0.950 | 0.910 | 0.930 | 0.957 | 0.759 |
从 s 级训练过程曲线可见,各模型同样在早期快速提升并在中后期趋于稳定,但个别曲线在训练初段出现短暂的异常下探或抖动,这在强增强与自动优化器策略下并不罕见,通常可通过降低早期增强强度、延长 warmup 或显式固定优化器与学习率来改善;更重要的是,中后期各模型的上限相差不大,说明对该数据集而言“稳定训练、减少不必要波动”比追求更长训练轮数更有收益(如下图5-8所示)。平均 PR 曲线进一步表明,各模型的差异主要集中在高召回尾段,YOLOv9s/YOLOv6s 在尾段保持的 precision 更好,从而带来更高的 m A P mAP mAP。
图5-7s 级模型平均 PR 曲线
图注:高召回尾段的曲线差异决定了 mAP 的细微领先。
综合精度与速度,老思在系统默认部署上更倾向于“n 级优先”的工程策略:YOLOv12n 在轻量组中取得最高 F1 与最高 m A P 50 mAP50 mAP50,适合在桌面端以较低资源开销获得稳定检出;当用户更关注实时帧率或需要更低延迟的多源视频流推理时,可切换到 YOLOv6n/YOLOv8s 以获得更快响应;若任务更强调定位精细度并允许更高时延,YOLOv9s 在 m A P 50 - 95 mAP50\text{-}95 mAP50-95 上的优势更值得考虑。需要强调的是,这些结论严格成立于本文数据集与标注规范之下,跨中心域偏移、不同成像序列或不同标注一致性都会改变最优取舍,因此系统在 UI 层提供模型一键切换与阈值调节,目的正是让“性能差异”能够在真实输入上被直观复核与可追溯记录。
6. 系统设计与实现
6.1 系统设计思路
本系统以“可复现的癌症影像检测工作流”为设计目标,采用 Python 3.12 + PySide6 构建桌面端交互界面,并以 SQLite 承载用户账户、个性化配置与检测历史的持久化。整体结构遵循界面层与推理层解耦的原则:界面层负责输入源管理、参数交互、可视化与结果导出;推理层负责模型加载、预处理、推理与后处理;二者通过 Qt 信号槽连接,避免界面直接持有耗时计算逻辑,从而保证交互响应的稳定性。对于视频/摄像头等连续流输入,推理过程以独立线程运行,主线程仅消费推理结果并刷新 UI,降低卡顿与阻塞风险。
在典型类与分层上,MainWindow 作为控制中枢,负责状态机调度(输入源切换、播放控制、阈值更新、模型切换、主题切换等)与槽函数组织;Ui_MainWindow 作为界面载体,提供按钮、标签、表格、画布等组件并承担布局与样式;Detector 作为处理核心,封装 YOLOv5–YOLOv12 的统一推理接口,将不同版本输出规整为统一结构(框、类别、置信度、统计),并对中文类别名映射与可视化属性(颜色、线宽、字体)进行集中管理。为支持“同一界面对比不同模型”,Detector 的加载逻辑以权重路径为入口,结合版本差异做兼容封装,使 UI 侧只需触发“切换模型”事件即可完成热切换与重新推理。
在数据闭环方面,系统将检测输出分为“即时可视化结果”和“可追溯记录”两部分:前者用于在画布中叠加框、标签与置信度,并实时刷新类别计数与阈值信息;后者将图片/视频片段索引、模型版本、conf/iou、推理时间与检测结果写入 SQLite,便于后续筛选、统计与复核。考虑到医学影像场景对可读性的要求,博主在界面侧加入主题修改功能(浅色/深色/高对比),并将主题与阈值等偏好写入用户空间,使不同用户在同一机器上可获得相互隔离、可持续复用的工作环境。
图 系统流程图
图注:系统从初始化到多源输入,完成预处理、推理与界面联动,并通过交互形成闭环。
6.2 登录与账户管理

登录与账户管理模块的目标并非单纯提供入口,而是为检测系统引入“可隔离、可追溯、可恢复”的用户空间:用户在登录后自动加载其阈值参数、主题偏好、最近一次选择的 YOLO 版本与历史检测记录,使同一套界面在不同使用者之间保持一致体验并减少重复配置;注册阶段将账号信息与盐化后的密码摘要写入 SQLite,登录阶段通过查询校验建立会话并绑定用户专属配置表与结果表;进入主界面后,资料修改(头像/密码)与主题切换、阈值调整等行为都会被同步持久化,从而使检测流程中的关键上下文(模型版本、conf/iou、输入源、结果导出路径)能够被稳定复现与回溯,这一点对医学影像的复核与审计式使用尤为重要。
7. 下载链接
若您想获得博文中涉及的实现完整全部资源文件(包括测试图片、视频,py, UI文件,训练数据集、训练代码、界面代码等),这里见可参考博客与视频,已将所有涉及的文件同时打包到里面,点击即可运行,完整文件截图如下:

完整资源中包含数据集及训练代码,环境配置与界面中文字、图片、logo等的修改方法请见视频:➷➷➷
详细介绍文档博客:YOLOv5至YOLOv12升级:癌症图像检测系统的设计与实现(完整代码+界面+数据集项目)
环境配置博客教程:(1)Pycharm软件安装教程;(2)Anaconda软件安装教程;(3)Python环境配置教程;
或者环境配置视频教程:(1)Pycharm软件安装教程;(2)Anaconda软件安装教程;(3)Python环境依赖配置教程
数据集标注教程(如需自行标注数据):数据标注合集
8. 参考文献(GB/T 7714)
1 Redmon J, Farhadi A. You Only Look Once: Unified, Real-Time Object Detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 779-788.
2 Ren S, He K, Girshick R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
3 Lin T Y, Goyal P, Girshick R, et al. Focal Loss for Dense Object Detection[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 2980-2988.
4 Litjens G, Kooi T, Bejnordi B E, et al. A Survey on Deep Learning in Medical Image Analysis[J]. Medical Image Analysis, 2017, 42: 60-88.
[5] Lee R S, Gimenez F, Hoogi A, et al. A Curated Mammography Data Set for Use in Computer-Aided Detection and Diagnosis Research[J/OL]. Scientific Data, 2017, 4: 170177. DOI:10.1038/sdata.2017.177.
[6] Nguyen H T, Nguyen H Q, Pham H H, et al. VinDr-Mammo: A Large-Scale Benchmark Dataset for Computer-Aided Diagnosis in Full-Field Digital Mammography[J/OL]. Scientific Data, 2023, 10(1). DOI:10.1038/s41597-023-02100-7.
[7] Jocher G, Changyu L, Hogan A, et al. ultralytics/yolov5: Initial Release[EB/OL]. Zenodo, 2020. DOI:10.5281/zenodo.3908560.
[8] Ultralytics. Ultralytics v8.2.0 Release Notes[EB/OL]. Zenodo, 2024. DOI:10.5281/zenodo.10983461.
[9] Wang A, Chen H, Liu L, et al. YOLOv10: Real-Time End-to-End Object Detection[C]//Advances in Neural Information Processing Systems (NeurIPS). 2024.
[10] Jocher G, Qiu J, Chaurasia A. Ultralytics YOLO (v8.3.0, YOLO11 Models Release)[EB/OL]. Zenodo, 2024. DOI:10.5281/zenodo.13858602.
[11] Tian Y, Ye Q, Doermann D. YOLOv12: Attention-Centric Real-Time Object Detectors[EB/OL]. arXiv, 2025. DOI:10.48550/arXiv.2502.12524.
[12] Wang H, Jin Q, Li S, et al. A Comprehensive Survey on Deep Active Learning in Medical Image Analysis[J]. Medical Image Analysis, 2024, 95: 103201.
[13] Wu Q, Rassam D, Zhang H, et al. Improving YOLO-Based Breast Mass Detection with Transfer Learning Pretraining on the OPTIMAM Mammography Image Database[J]. Computers in Biology and Medicine, 2025, 188: 109614.
[14] 王杉, 胡艺莹, 丰亮, 等. 基于跨路径特征聚合的改进型YOLOv3乳腺肿块识别算法[J]. 激光与光电子学进展, 2022, 59(4): 0410003.
[15] Bochkovskiy A, Wang C Y, Liao H Y M. YOLOv4: Optimal Speed and Accuracy of Object Detection[EB/OL]. arXiv, 2020. DOI:10.48550/arXiv.2004.10934.
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)