基于U-Net的医学影像心脏分割系统
目录
- 项目概述
- 数据集与预处理
- 模型架构与原理
- 训练与评估
- 系统实现
- 系统功能
- 总结与展望
1. 项目概述
1.1 项目简介
本项目是一个基于深度学习的医学影像心脏分割系统,采用U-Net架构实现心脏左心房的自动分割。系统集成了完整的深度学习训练流程和Web可视化分析平台,为医学影像分析提供了一套完整的解决方案。
1.2 项目特点
- 深度学习模型: 采用经典的U-Net架构,专门用于医学影像分割任务
- 完整工作流: 从数据预处理、模型训练、评估到部署的完整流程
- Web可视化平台: 基于Streamlit构建的交互式分析平台
- 数据管理: SQLite数据库存储历史记录和预测结果
- 自动化处理: 自动保存预测结果,无需手动操作
1.3 应用场景
- 医学影像诊断: 辅助医生进行心脏左心房的分割和体积测量
- 科研分析: 为医学研究提供自动化的影像分析工具
- 教学培训: 用于医学影像分析的培训和演示
1.4 系统目录结构
program/ ├── algorithm/ # 算法和模型目录 │ ├── algorithm.ipynb # Jupyter训练笔记本 │ ├── streamlit_app.py # Streamlit Web应用主文件 │ ├── best_unet_model.pth # 训练好的模型权重文件 │ ├── segmentation_history.db # SQLite数据库文件 │ ├── requirements.txt # Python依赖包列表 │ ├── datasets/ # 数据集目录 │ │ ├── imagesTr/ # 训练集图像(20个样本) │ │ ├── labelsTr/ # 训练集标签(20个样本) │ │ └── imagesTs/ # 测试集图像(10个样本) │ └── test_predictions/ # 测试集预测结果 └── explaination/ # 文档和说明目录 ├── 详解.md # 项目详细文档 └── images/ # 图片资源目录 ├── algorithm/ # 算法相关图片 └── system/ # 系统界面图片2. 数据集与预处理
2.1 数据集基本信息
- 数据集名称: MSD 心脏分割 (MSD Heart Segmentation)
- 来源: Medical Segmentation Decathlon
- 标注内容: 左心房 (Left Atrium)
- 任务类型: 医学影像分割
- 影像模态: MRI (磁共振成像)
- 数据格式: NIfTI (.nii.gz)
- 许可证: CC-BY-SA 4.0
- 数据分布: 训练集20个样本,测试集10个样本
2.2 数据特点
- 3D医学影像: 每个样本都是三维体积数据,包含多个2D切片(通常每个样本包含80-120个切片)
- 灰度图像: MRI影像为单通道灰度图像,像素值范围通常在0-4095之间
- 二值标签: 分割标签为二值图像(0表示背景,1表示左心房)
- 空间分辨率: 不同样本的空间分辨率可能略有差异,但通常在1-2mm之间
2.3 数据预处理策略
切片提取
由于U-Net模型设计用于2D图像分割,需要将3D体积数据切片为2D图像进行处理:
- 提取范围: 使用中间切片(如第10-90个切片),避免边缘切片质量差的问题
- 切片方向: 沿Z轴方向提取横断面切片
- 切片数量: 每个3D样本可以提取约80-100个有效切片
数据归一化
- 方法: Min-Max归一化,将像素值映射到[0, 1]范围
- 公式:
normalized = (image - min) / (max - min + epsilon) - 目的: 提高模型训练的稳定性和收敛速度
标签处理
- 二值化: 确保标签为0或1的二值图像
- 格式转换: 将标签从整数类型转换为浮点类型,便于与模型输出匹配
3. 模型架构与原理
3.1 U-Net架构概述
U-Net是一种专门为医学影像分割设计的卷积神经网络架构,由Ronneberger等人于2015年在MICCAI会议上提出。其核心思想是通过编码器-解码器结构结合跳跃连接(Skip Connections)来实现精确的像素级分割。
上图说明: 此图展示了U-Net的经典U型对称架构。左侧为编码路径(Encoder Path),通过逐步下采样提取图像的高级语义特征;右侧为解码路径(Decoder Path),通过上采样恢复图像空间分辨率;中间的跳跃连接(红色箭头)将编码器的特征图直接传递到解码器,保留了细节信息,使得模型能够生成精确的分割结果。这种设计特别适合处理医学影像,因为既需要理解全局的解剖结构,又需要精确定位局部边界。
U-Net的核心特点:
- 对称结构: U型对称架构,包含编码路径(下采样)和解码路径(上采样)
- 跳跃连接: 将编码器的特征图直接连接到解码器对应层,保留细节信息
- 多尺度特征: 通过不同层级的特征融合,捕获从局部到全局的信息
- 端到端训练: 整个网络可以端到端训练,无需额外的后处理步骤
3.2 网络结构详解
编码器(Encoder)路径
编码器负责提取图像特征,通过逐步下采样减少空间维度,同时增加特征通道数。
结构流程:
输入 (1, H, W