1. 项目概述
这个基于深度学习的肺部结节图像分类系统,是我在计算机专业毕业设计期间完成的一个实战项目。系统采用PyQt5作为前端界面框架,后端使用PyTorch深度学习框架,基于VGG16卷积神经网络模型构建了一个能够自动识别和分类肺部CT图像中结节的智能系统。
在医学影像诊断领域,肺部结节的早期发现和准确分类对肺癌筛查和临床诊断具有重要意义。传统的人工阅片方式不仅效率低下,而且容易因医生疲劳或经验不足导致误诊。这个项目正是为了解决这一问题,通过深度学习技术实现肺部结节的自动化分类。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心技术选型与原理
2.1 VGG16模型架构解析
VGG16是牛津大学视觉几何组(Visual Geometry Group)提出的经典卷积神经网络模型,在2014年ImageNet竞赛中取得了优异成绩。我选择这个模型作为基础架构主要基于以下几点考虑:
-
深度与性能平衡:VGG16包含13个卷积层和3个全连接层,深度适中,既能够提取足够高级的图像特征,又不会像更深的网络那样难以训练。
-
统一的小卷积核:所有卷积层都使用3×3的小卷积核,这种设计有两个优势:
- 增加网络深度和非线性表达能力
- 减少参数数量(相比使用大卷积核)
-
成熟的预训练权重:ImageNet预训练的VGG16权重可以很好地迁移到医学图像分类任务上。
模型的具体架构如下表所示:
| 层类型 | 配置参数 | 输出尺寸 |
|---|---|---|
| 输入层 | 224×224×3 | 224×224×3 |
| Conv3-64 | 3×3卷积,64个滤波器 | 224×224×64 |
| Conv3-64 | 3×3卷积,64个滤波器 | 224×224×64 |
| MaxPool | 2×2池化 | 112×112×64 |
| Conv3-128 | 3×3卷积,128个滤波器 | 112×112×128 |
| Conv3-128 | 3×3卷积,128个滤波器 | 112×112×128 |
| MaxPool | 2×2池化 | 56×56×128 |
| Conv3-256 | 3×3卷积,256个滤波器 | 56×56×256 |
| Conv3-256 | 3×3卷积,256个滤波器 | 56×56×256 |
| Conv3-256 | 3×3卷积,256个滤波器 | 56×56×256 |
| MaxPool | 2×2池化 | 28×28×256 |
| Conv3-512 | 3×3卷积,512个滤波器 | 28×28×512 |
| Conv3-512 | 3×3卷积,512个滤波器 | 28×28×512 |
| Conv3-512 | 3×3卷积,512个滤波器 | 28×28×512 |
| MaxPool | 2×2池化 | 14×14×512 |
| Conv3-512 | 3×3卷积,512个滤波器 | 14×14×512 |
| Conv3-512 | 3×3卷积,512个滤波器 | 14×14×512 |
| Conv3-512 | 3×3卷积,512个滤波器 | 14×14×512 |
| MaxPool | 2×2池化 | 7×7×512 |
| FC-4096 | 全连接层 | 4096 |
| FC-4096 | 全连接层 | 4096 |
| FC-2 | 全连接层(输出层) | 2 |
2.2 迁移学习策略
由于医学影像数据集通常规模有限,直接从头训练深度神经网络容易导致过拟合。本项目采用了迁移学习策略:
- 预训练权重加载:使用ImageNet预训练的VGG16权重初始化模型参数
- 微调(Fine-tuning):
- 冻结前几层卷积层的权重(保留通用的低级特征提取能力)
- 只训练后面的卷积层和
