第24章:基于 YOLOv5 的肺癌 / 肺结节 / 肺腺癌多目标识别与 10 种网络改进方案深度解析

摘要

肺癌是目前全球发病率和死亡率均位居前列的恶性肿瘤,而 CT 影像检查是肺癌早筛最核心的手段。然而,影像科医生每天需要阅片数百张,肺结节的漏诊率和误诊率始终是临床痛点。本项目以深度学习目标检测框架 YOLOv5 为基础,针对肺部 CT 影像中的肺癌(cancer)、肺结节(nodule)、肺腺癌(adenocarcinoma)三类病灶构建了一套完整的智能检测系统,并配套了1400 张已标注的肺部 CT 数据集 。在基线 YOLOv5 之上,项目进一步提供了10 种骨干网络 / 结构改进方案,覆盖轻量化网络(GhostNet、MobileNet、ShuffleNet)、经典 CNN 骨干(VGG、ResNet)、Transformer 架构(Swin-Transformer)以及新一代特征融合模块(C2f)等方向,形成了一套可直接对比、可复现、可扩展的医学影像目标检测实验体系。

本文将系统梳理整个项目的技术细节,从医学背景、数据构建、算法原理、改进方案、实验设计到部署实践,逐层展开,为从事医学影像 AI 研究的开发者和科研人员提供一份完整的技术参考。


一、项目背景与医学价值

1.1 肺癌的流行病学现状

肺癌是严重威胁人类生命健康的恶性肿瘤。据世界卫生组织国际癌症研究机构(IARC)发布的全球癌症统计数据显示,肺癌在全球范围内长期位居新发癌症和癌症死亡的首位。在中国,肺癌同样是发病率和死亡率最高的恶性肿瘤,每年新增肺癌病例超过百万例,且这一数字仍在持续攀升。吸烟、空气污染、职业暴露、家族遗传等因素共同推动了肺癌的高发。

1.2 早期筛查的关键窗口

肺癌的五年生存率与其发现时机高度相关。早期(Ⅰ 期)肺癌患者经过规范治疗后,五年生存率可达到 70% 以上,而晚期(Ⅳ 期)肺癌的五年生存率往往不足 10%。这一悬殊差异使得早期发现、早期诊断、早期治疗成为降低肺癌死亡率的最有效途径。

低剂量螺旋 CT(Low-Dose Computed Tomography, LDCT)是目前公认的肺癌早期筛查金标准。与常规 CT 相比,LDCT 在保证图像质量的同时显著降低了辐射剂量,使得大规模人群筛查成为可能。多项大规模临床试验证实,LDCT 筛查能够将肺癌相关死亡率降低 20% 左右。

1.3 影像科医生的真实痛点

尽管 CT 检查在肺癌筛查中价值巨大,但随之而来的是影像科医生的巨大工作负荷。一个影像科医生一天可能需要阅读数百张 CT 影像,每张影像包含数十甚至上百个层面。在长期高强度的阅片工作中,肺结节尤其是微小结节(直径 < 5mm)的漏诊成为临床中最常见的问题。

统计表明,人工阅片对肺结节的漏诊率可高达 20%-30%。此外,肺结节的良恶性判断极具挑战 ------ 良性的炎性结节、肉芽肿与恶性的早期肺腺癌在影像上表现高度相似,仅凭肉眼形态学特征很难做出准确鉴别。这种主观性和疲劳因素共同决定了传统人工阅片在肺癌早筛中的局限性。

1.4 深度学习带来的变革

近年来,以卷积神经网络(CNN)为代表的深度学习技术在医学影像分析领域取得了突破性进展。目标检测算法能够在医学图像中自动定位病灶区域并给出类别判断,极大地减轻了医生的阅片负担。本项目正是顺应这一趋势,将通用目标检测框架 YOLOv5 迁移至肺部 CT 病灶检测任务,探索其在医学影像场景下的适用性与改进空间。


二、医学对象详解:三类病灶

2.1 肺结节(nodule)

肺结节是指肺内直径不超过 3cm 的类圆形或不规则形病灶,影像学上表现为密度增高的阴影。根据密度特征,肺结节可分为实性结节、磨玻璃结节(Ground-Glass Nodule, GGN)和部分实性结节。其中磨玻璃结节与早期肺腺癌关系密切,是当前肺癌早筛关注的重点。

肺结节的大小、形态、边缘特征(光滑、分叶、毛刺)、内部密度及生长速度是判断其良恶性的重要参考指标。直径越大、形态越不规则、边缘呈毛刺状的结节恶性风险越高。

2.2 肺腺癌(adenocarcinoma)

肺腺癌是非小细胞肺癌(NSCLC)中最常见的病理亚型,约占肺癌总数的 40% 左右。腺癌多发于肺的外周部,与吸烟关系相对较弱,在女性、非吸烟人群中更为常见。

在影像上,肺腺癌常表现为磨玻璃样或混合磨玻璃样结节,病理学上可经历 "不典型腺瘤样增生→原位腺癌→微浸润腺癌→浸润性腺癌" 的演变过程。这一演变过程为早期干预提供了宝贵的时间窗口,也使得肺腺癌成为肺癌早筛中最具 "可治愈" 潜力的类型。

2.3 肺癌(cancer)

本项目中 "cancer" 类别泛指影像学上具有明确恶性特征的肺部占位性病变,即已经表现出典型恶性肿瘤征象的病灶,如分叶征、毛刺征、胸膜凹陷征、血管集束征等。相较于结节,这类病灶往往体积更大、边界更不规则、侵袭性更强。

2.4 三类病灶的关系与检测意义

从医学逻辑上看,肺结节是早期病变的影像学表现,肺腺癌是肺癌的一个主要病理亚型,而肺癌是总体恶性肿瘤的诊断。三类病灶在影像形态上既有重叠又有差异,将它们纳入统一的目标检测框架,可以让模型学习到从 "良性 / 早期结节" 到 "明确恶性肿瘤" 的连续谱系特征,提升模型对肺部病灶的综合识别能力。


三、数据集构建详解

3.1 数据规模与构成

本项目数据集包含1400 张肺部 CT 影像,全部经过专业标注,涵盖 cancer(肺癌)、nodule(肺结节)、adenocarcinoma(肺腺癌)三个类别。每个影像样本中可能包含一个或多个目标,标注以目标检测通用的 PASCAL VOC / YOLO 格式呈现。

数据集的构建遵循了以下原则:

  • 类别均衡:在采集阶段尽量保证三个类别样本数量相对均衡,避免模型产生类别偏好;
  • 多样本覆盖:覆盖不同病灶大小、不同位置、不同密度形态的样本,增强模型泛化能力;
  • 严格标注:病灶区域以最小外接矩形框精确框定,类别标签与病理 / 临床诊断对照核验。

3.2 数据标注格式

YOLO 系列框架使用归一化的 txt 格式标注文件,每行表示一个目标:

复制代码
class_id  x_center  y_center  width  height

其中坐标值均归一化到 0-1 之间。数据目录结构如下:

复制代码
datasets/
├── images/
│   ├── train/
│   ├── val/
│   └── test/
└── labels/
    ├── train/
    ├── val/
    └── test/

3.3 数据划分

1400 张影像按经典比例划分为训练集、验证集和测试集(通常为 8:1:1 或 7:2:1),训练集用于模型参数学习,验证集用于超参数调优和早停判断,测试集用于最终性能评估。划分时需确保同一患者的不同切片不跨集合,避免数据泄漏导致评估虚高。

3.4 数据增强策略

为提升模型泛化能力、缓解医学影像数据量不足的问题,训练过程中引入了丰富的在线数据增强:

  • 几何变换:随机水平翻转、随机缩放、平移、旋转;
  • 色彩扰动:亮度、对比度、饱和度调整(医学影像中需谨慎,避免改变组织密度信息);
  • 马赛克增强(Mosaic):将 4 张图拼接为一张,增加单样本的目标数量和小目标密度;
  • MixUp:样本间线性混合,提升模型鲁棒性。

四、YOLOv5 算法原理深度剖析

4.1 YOLO 系列发展脉络

YOLO(You Only Look Once)系列开创了单阶段目标检测的先河。与两阶段检测器(如 Faster R-CNN)"先提候选区域、再分类回归" 的范式不同,YOLO 将目标检测视为一个端到端的回归问题,一次性完成目标定位与分类,在保持较高精度的同时实现了极快的推理速度。

YOLOv5 在 2020 年由 Ultralytics 发布,凭借其工程化程度高、训练便捷、部署友好的特点,迅速成为学术界和工业界应用最广泛的目标检测框架之一。YOLOv5 提供了 n、s、m、l、x 等不同规模版本,用户可根据算力和精度需求灵活选择。

4.2 YOLOv5 网络结构

YOLOv5 的整体结构可划分为四个核心部分:

(1)输入端(Input)

  • 自适应锚框计算:根据数据集目标尺寸自动聚类锚框;
  • 自适应图片缩放:letterbox 技术统一输入尺寸(本项目常用 640×640);
  • Mosaic 数据增强:增强小目标检测能力。

(2)Backbone 骨干网络

  • 基于 CSPNet(Cross Stage Partial Network)思想的 CSPDarknet 结构;
  • Focus 模块(早期版本)进行切片下采样;
  • 通过 C3 模块堆叠提取多尺度特征;
  • 使用 SiLU 激活函数和 BN 层加速收敛。

(3)Neck 颈部结构

  • 采用 PANet(Path Aggregation Network)结构;
  • 通过自顶向下和自底向上两条路径融合多层特征;
  • FPN 自上而下传递语义信息,PAN 自下而上传递定位信息;
  • 生成 P3、P4、P5 三个尺度的特征图,分别对应小、中、大目标。

(4)Head 检测头

  • 在三个尺度特征图上分别进行预测;
  • 每个特征图位置预测 3 个锚框;
  • 输出包括目标类别概率、边界框坐标和置信度。

4.3 损失函数设计

YOLOv5 的损失函数由三部分组成:

  • Box 损失:采用 CIoU Loss(Complete IoU Loss),同时考虑重叠面积、中心点距离和长宽比三个几何因素,回归更精准;
  • Objectness 损失:目标存在性损失,采用 BCEWithLogitsLoss,判断网格内是否有目标;
  • Class 损失:分类损失,采用 BCEWithLogitsLoss,预测每个类别的概率。

4.4 NMS 后处理

预测完成后,通过非极大值抑制(NMS)去除冗余的重复检测框。NMS 按置信度排序,保留置信度最高的框,抑制与之重叠度过高(IoU 超过阈值)的其他框,最终输出每个目标唯一的检测结果。

4.5 YOLOv5 在医学影像场景的适配性分析

YOLOv5 虽然是面向通用目标检测设计的,但其在肺部 CT 病灶检测中具有显著优势:

  • 推理速度快:可满足实时或近实时辅助诊断需求;
  • 多尺度检测:PANet 结构对小目标(微小结节)有一定检测能力;
  • 工程完备:训练、验证、导出、部署全流程工具链成熟。

同时,医学影像场景也对 YOLOv5 提出了挑战:

  • 小目标密集:微小结节尺寸小、数量多,易漏检;
  • 背景复杂:血管、支气管等解剖结构干扰;
  • 类间相似:良恶性结节影像特征高度相似,分类难度大。

正是这些挑战催生了本项目的改进研究。


五、10 种改进方案详细解析

本项目提供了 10 套改进 YOLOv5 源码,每一套对应一种主干网络或结构替换方案。这些改进方案覆盖了当前计算机视觉领域的三大技术路线:轻量化网络、经典 CNN 骨干、Transformer 架构 ,为系统性地对比不同特征提取能力在肺部病灶检测任务上的表现提供了实验基础。

5.1 基线版本:yolov5

作为对照组,保留原生 YOLOv5 全部代码,提供标准的训练、验证、推理流程。所有改进版本均基于此基线进行对比,确保改进效果评估的公平性。

5.2 方案一:yolov5_efficientNet(EfficientNet 骨干)

原理:EfficientNet 由 Google 提出,其核心思想是通过**复合缩放(Compound Scaling)**方法,在深度、宽度和分辨率三个维度上同时进行均衡缩放,用统一系数 φ 控制模型整体规模。其核心构建模块 MBConv(Mobile Inverted Bottleneck Convolution)基于深度可分离卷积和 SE 注意力机制,实现了精度与效率的平衡。

在本项目中的作用:EfficientNet 的 SE(Squeeze-and-Excitation)注意力机制能够自适应地强调对分类重要的特征通道,抑制无关背景,这对于在复杂肺部解剖结构中聚焦病灶区域具有积极意义。

5.3 方案二:yolov5-ghostNet(GhostNet 骨干)

原理 :GhostNet 是华为提出的轻量化网络,其核心创新是Ghost 模块。作者观察到传统卷积会产生大量冗余的相似特征图("ghost" 特征),因此提出用廉价线性变换(depthwise 卷积)从少量原始特征中生成更多冗余特征,从而大幅降低计算量和参数量。

在本项目中的作用:GhostNet 显著减少了模型参数和 FLOPs,适合部署在算力受限的医疗终端设备上。对于需要嵌入式 / 边缘端部署的辅助诊断场景,GhostNet 版本是理想的轻量级选择。

5.4 方案三:yolov5 更换 backbone 为 MobileNet(MobileNet 骨干)

原理:MobileNet 系列以深度可分离卷积(Depthwise Separable Convolution)为核心,将标准卷积分解为逐通道卷积和逐点卷积,极大降低了计算复杂度。配合倒残差结构(Inverted Residual Block)和线性瓶颈,在保持精度的同时实现极致的轻量化。

在本项目中的作用:MobileNet 骨干提供了一条兼顾精度和速度的轻量化路径,其深度可分离卷积结构天然适合并行计算,推理延迟低,适用于需要快速响应的床旁影像工作站。

5.5 方案四:yolov5 更换 backbone 为 Swin-Transformer(Swin Transformer 骨干)

原理 :Swin Transformer(Shifted Window Transformer)将 Transformer 架构引入视觉领域,其核心创新是移动窗口注意力(Shifted Window Multi-head Self-Attention)。将特征图划分为不重叠的窗口,并在相邻层间移动窗口划分,既保留了全局建模能力,又大幅降低了自注意力的计算复杂度,同时通过层级结构实现了多尺度特征表示。

在本项目中的作用:Transformer 的全局注意力机制能够捕获长距离依赖关系,这对于理解病灶与周围肺组织、血管、胸膜等结构的空间关系至关重要。Swin-Transformer 版在理论上对形态复杂、边界不清的磨玻璃结节和早期腺癌具有更强的特征表达能力,是本项目中最具创新性的改进方向之一。

5.6 方案五:yolov5 更换 backbone 为 VGG(VGG 骨干)

原理:VGG 由牛津大学提出,其设计哲学极为简洁 ------ 通过堆叠小卷积核(3×3)和最大池化构建深层网络。VGG 证明了网络深度对特征表达能力的重要性。

在本项目中的作用:VGG 作为一种经典的纯卷积骨干,可以作为 "传统深度网络" 的基准参照,用于对比结构复杂的现代网络在医学影像任务上的增益,是消融实验中不可或缺的对照组。

5.7 方案六:yolov5 更换骨干网络为 resnet(ResNet 骨干)

原理 :ResNet(残差网络)通过引入残差连接(Shortcut Connection),让网络能够学习恒等映射,有效解决了深层网络训练中的梯度消失和退化问题。残差结构使得上百层的网络也能稳定训练。

在本项目中的作用:ResNet 作为计算机视觉领域最具影响力的骨干网络,其深层残差结构能够提取丰富的层次化语义特征。ResNet-50/101 版本在迁移学习中表现稳定,是骨干网络替换改进中的 "标准答案" 对照。

5.8 方案七:yolov5 更换骨干网络为 shufflenet(ShuffleNet 骨干)

原理:ShuffleNet 是轻量化网络代表之一,其核心创新是**通道混洗(Channel Shuffle)**操作。通过分组卷积降低计算量,再利用通道混洗实现组间信息流通,弥补分组卷积的信息隔离缺陷。

在本项目中的作用:ShuffleNet 在极低计算量下保持了较强的特征表达能力,是嵌入式移动终端部署的优选方案。与 GhostNet、MobileNet 形成轻量化路线的三足鼎立格局,便于横向对比不同轻量化策略的效果。

5.9 方案八:yolov5 添加 C2f 模块(引入 YOLOv8 结构)

原理:C2f 模块是 YOLOv8 引入的特征融合结构,其全称为 "Cross Stage Partial with 2 Convolutions and Fusion"。C2f 在 CSP 思想的基础上,将特征图在多个分支间进行更充分的拆分、堆叠和融合,在保持轻量化的同时增强了梯度流动和特征重用能力。

在本项目中的作用:C2f 模块不更换骨干网络,而是在 YOLOv5 的颈部或跨阶段结构中加入更先进的特征融合机制,能够在不增加过多计算负担的情况下提升多尺度特征的融合质量,特别有助于改善小尺寸肺结节的特征表达。

5.10 方案对比总结

表格

改进方案 技术路线 核心思想 预期优势
EfficientNet 注意力 + 复合缩放 SE 注意力、MBConv 精度高,自动均衡
GhostNet 轻量化 Ghost 模块、廉价线性变换 参数量极小
MobileNet 轻量化 深度可分离卷积 速度快、延迟低
Swin-Transformer Transformer 移动窗口注意力 全局建模、长距离依赖
VGG 经典 CNN 3×3 堆叠 结构简洁、对照基准
ResNet 经典 CNN 残差连接 深层稳定、迁移友好
ShuffleNet 轻量化 分组卷积 + 通道混洗 极低计算量
C2f 模块 结构优化 特征融合增强 融合更充分、小目标友好

六、实验设计与评估体系

6.1 实验环境配置

复制代码
操作系统:Linux / Windows均可
Python版本:3.8+
深度学习框架:PyTorch 1.7+/1.10
硬件:NVIDIA GPU(推荐,显存≥8GB),CPU可用于推理
依赖库:OpenCV、NumPy、Matplotlib、PyYAML等

6.2 训练流程

本项目提供完整的训练脚本,主要步骤如下:

  1. 修改数据集配置文件(data.yaml),指定图片路径和类别名;
  2. 选择模型配置(model.yaml),切换不同骨干网络版本;
  3. 设置超参数(学习率、批次大小、训练轮数、输入尺寸等);
  4. 启动训练,自动进行验证集评估和早停;
  5. 训练完成后自动保存最优权重和最后权重。

6.3 评估指标

项目采用目标检测领域标准的评估指标体系:

(1)Precision(精确率)

精确率衡量检测结果中真正例所占比例,反映模型 "检出即正确" 的能力。

复制代码
Precision = TP / (TP + FP)

(2)Recall(召回率)

召回率衡量所有真实目标中被正确检出的比例,反映模型的 "漏检" 程度,对医学影像尤其关键 ------ 漏检一个恶性病灶可能造成严重后果。

复制代码
Recall = TP / (TP + FN)

(3)mAP(Mean Average Precision)

mAP 是目标检测最核心的综合指标,计算 PR 曲线下面积(AP)再对各类别求平均。项目同时报告 mAP@0.5 和 mAP@0.5:0.95 两种口径:

  • mAP@0.5:IoU 阈值 0.5 下的平均精度,是传统主流标准;
  • mAP@0.5:0.95:IoU 阈值从 0.5 到 0.95 按 0.05 步进取平均,更严格,反映框定位的精细程度。

(4)F1-Score

精确率和召回率的调和平均,兼顾两者平衡。

(5)推理速度(FPS)

衡量模型的实时性,对临床部署的可用性评估至关重要。

6.4 结果可视化

项目提供完善的可视化工具,训练过程自动生成:

  • 训练曲线:loss(box、cls、obj)、precision、recall、mAP 随 epoch 的变化曲线;
  • 混淆矩阵(Confusion Matrix):直观展示各类别的分类正确与错误情况,包括背景误检;
  • PR 曲线:反映不同置信度阈值下的精度 - 召回权衡;
  • 检测效果图:在测试集上的可视化推理结果,直观展示模型的检测框和类别标注。

这些可视化材料不仅用于技术分析,也是论文实验部分和毕业设计答辩中的关键证据。

6.5 消融实验设计建议

本项目多版本结构天然支持消融实验设计。研究者可围绕以下维度展开:

  • 骨干网络对比:在同一数据集、同一超参数下,对比 8 种骨干网络的 mAP 和 FPS,评估不同特征提取器对医学病灶检测的影响;
  • 轻量化 vs 高精度:对比 GhostNet/MobileNet/ShuffleNet 与 Swin-Transformer/ResNet 在精度和速度上的权衡曲线;
  • 模块增量验证:在基线上逐一叠加 C2f 等模块,验证每个改动的边际贡献;
  • 输入尺寸影响:对比 320、640、1280 等不同输入分辨率的精度变化,探索医学影像高分辨率输入的潜力。

七、项目工程结构与代码组织

7.1 目录结构

项目压缩包内的改进版本均保持与 YOLOv5 一致的工程结构,方便对比和迁移:

复制代码
yolov5_xxx/
├── data/               # 数据集配置文件
├── models/             # 模型结构定义(含不同backbone)
├── utils/              # 工具函数
├── weights/            # 预训练与训练权重
├── runs/               # 训练结果输出
├── train.py            # 训练入口
├── detect.py           # 推理入口
├── val.py              # 验证入口
├── export.py           # 模型导出
└── requirements.txt    # 依赖清单

7.2 数据配置示例

复制代码
# data.yaml
train: datasets/images/train
val: datasets/images/val
test: datasets/images/test

nc: 3
names: ['cancer', 'nodule', 'adenocarcinoma']

7.3 快速上手三步走

  1. 配置环境 :pip install -r requirements.txt,安装全部依赖;
  2. 修改路径:在 data.yaml 中填入本地数据集绝对路径;
  3. 启动训练 :python train.py --data data.yaml --cfg models/yolov5s.yaml --epochs 100。

训练完成后即可用 detect.py 对单张或批量 CT 影像进行推理测试,或导出 ONNX/TensorRT 模型用于部署。


八、总结

本项目构建了一套完整的、面向肺部 CT 影像的深度学习检测体系。从医学背景出发,针对肺癌、肺结节、肺腺癌三类病灶,利用 1400 张标注 CT 影像和 YOLOv5 框架,实现了病灶的自动定位与分类。在此基础上,通过引入 8 种骨干网络(EfficientNet、GhostNet、MobileNet、Swin-Transformer、VGG、ResNet、ShuffleNet)和 C2f 特征融合模块,形成了 10 套对比改进方案,覆盖了轻量化、高性能、Transformer、结构优化等多条技术路线。

这套体系的价值在于:它不仅是一个可用的检测工具,更是一个系统的算法研究实验平台。研究者可以依托该平台快速开展骨干网络对比、消融实验、轻量化部署等研究,为医学影像 AI 领域的毕业设计、论文发表和工程落地提供坚实支撑。

核心要点回顾:

  • 数据:1400 张肺部 CT,3 类病灶标注,即开即用;
  • 框架:YOLOv5 全流程工具链;
  • 改进:10 种方案覆盖主流技术路线;
  • 评估:mAP、PR、F1、FPS 完整指标 + 全套可视化;
  • 扩展:注意力机制、三维检测、半监督等方向自由探索。

未来,随着多模态医学影像融合、联邦学习、大模型等技术的成熟,肺部病灶智能检测将朝着更精准、更安全、更普适的方向持续演进,为守护人类生命健康发挥更大的作用。

下载链接:YOLOv5 肺部 CT 病灶检测|肺癌、肺结节、肺腺癌识别,1400 数据集,10 种改进主干网络源码

相关推荐
燧机科技SuiJi11 小时前
山体坍塌落石滑坡泥石流监测系统 落石泥石流监控摄像机
大数据·人工智能·深度学习·yolo
磁场转动100万匹20 小时前
YOLOv3 原理详解:从 Darknet-53 到三尺度检测头
yolo
zx_7414848121 小时前
YOLOv3 核心原理详解:Darknet-53 架构、多尺度预测与 FPN 特征融合
算法·yolo·目标检测·yolov3
广州灵眸科技有限公司1 天前
瑞芯微(EASY EAI)RV1126B DeepSeek R1部署教程
linux·数据库·yolo
词却1 天前
计算机视觉:YOLO 目标检测
yolo·目标检测·计算机视觉
凌晨1681 天前
YOLO系列学习笔记:从YOLOv1到YOLOv3的演进之路
笔记·yolo·目标跟踪
FL16238631292 天前
塔吊下方站人检测数据集VOC+YOLO格式1049张1类别
人工智能·深度学习·yolo
晨间晓3 天前
单目视频测速不准?我给 YOLO + ByteTrack 加了透视标定和鸟瞰图测速
yolo·音视频
中国.NET研究协会3 天前
SimdYolo:纯 C# YOLO 推理实现,CPU SIMD / Vulkan 架构与 PyTorch、ORT 实测
yolo·.net core