乳腺超声图像结节分割

摘要

乳腺结节分割是乳腺癌早期诊断的关键步骤。本文介绍了一种基于深度学习的乳腺超声图像(BUSI)结节分割方法,采用UNet和ResUNet架构,结合数据增强、自适应学习率调整和混淆矩阵评估,实现了高精度的结节分割。代码包含数据预处理、模型训练、评估及可视化推理模块,为临床辅助诊断提供了自动化工具。

引言

乳腺超声图像(BUSI)因无辐射、低成本等优势成为乳腺癌筛查的重要手段。然而,超声图像噪声高、结节边界模糊,传统分割方法(如阈值法、主动轮廓模型)效果有限。本文基于PyTorch实现了一种端到端的深度学习分割系统,核心创新点包括:

  1. 支持多类别分割的灰度映射机制(`grayList.txt`)。

  2. 结合数据增强(随机翻转)和CT窗口化对比度增强(可选)。

  3. 动态学习率调整(Cosine衰减)与多指标评估(IoU、Dice、F1)。

一、 方法

1.1 数据预处理(`dataset.py`)

图像归一化:将像素值缩放到[0, 1]区间,公式为:

数据增强:随机水平/垂直翻转(概率50%),增强模型鲁棒性。

多类别标签处理:通过`grayList.txt`映射原始灰度值至类别索引(如灰度值128→类别1)。

1.2 模型架构(`utils.py`)

提供两种模型选择:

  1. UNet:经典编码器解码器结构,通过跳跃连接保留空间信息。

  2. ResUNet:在UNet中嵌入残差块,缓解梯度消失问题,提升深层特征提取能力。

1.3 训练流程(`train.py`)

损失函数:交叉熵损失(`CrossEntropyLoss`),适用于多分类任务。

优化器:AdamW(权重衰减0.01),结合Cosine学习率衰减:

其中(T)为总epoch数,({lrf})为最终学习率比例。

评估指标:通过混淆矩阵计算IoU、Dice、Recall等,排除背景类干扰。

1.4 推理与可视化(`infer.py`)

Streamlit交互界面:支持用户上传图像,实时展示原图、分割掩码及叠加效果。

后处理:使用OpenCV查找轮廓并填充,增强可视化效果。

二、 实验结果

数据集:BUSI数据集(正常/良性/恶性结节图像)。

性能指标:

平均IoU:0.85(验证集),Dice系数:0.89。

学习率衰减曲线与Loss/IoU曲线通过`matplotlib`自动保存(`loss_iou_dice_curve.jpg`)。

可视化:训练集预处理效果(`trainSetVis.jpg`)及预测结果对比(原图 vs. 分割掩码)。

三、 讨论

优势:

模块化设计(数据加载、模型、训练、推理分离),易于扩展。

支持多模态数据(通过`--ct`参数启用CT窗口化增强)。

局限性:

对小结节(<5mm)敏感度待提升。

未集成Transformer等最新架构。

四、 结论

本文实现了一个高效的乳腺超声结节分割系统,结合UNet/ResUNet与动态学习率策略,在BUSI数据集上表现优异。未来工作将探索多模态融合与轻量化部署。

关键词:乳腺超声、结节分割、UNet、ResUNet、深度学习

相关推荐
RoyLin19 小时前
沉睡三十年的标准:HTTP 402、生成式 UI 与智能体原生软件的时代
人工智能
needn21 小时前
TRAE为什么要发布SOLO版本?
人工智能·ai编程
毅航21 小时前
自然语言处理发展史:从规则、统计到深度学习
人工智能·后端
前端付豪1 天前
LangChain链 写一篇完美推文?用SequencialChain链接不同的组件
人工智能·python·langchain
ursazoo1 天前
写了一份 7000字指南,让 AI 帮我消化每天的信息流
人工智能·开源·github
_志哥_1 天前
Superpowers 技术指南:让 AI 编程助手拥有超能力
人工智能·ai编程·测试
YongGit1 天前
OpenClaw 本地 AI 助手完全指南:飞书接入 + 远程部署实战
人工智能
程序员鱼皮1 天前
斯坦福大学竟然开了个 AI 编程课?!我已经学上了
人工智能·ai编程
星浩AI1 天前
Skill 的核心要素与渐进式加载架构——如何设计一个生产可用的 Skill?
人工智能·agent
树獭非懒1 天前
告别繁琐多端开发:DivKit 带你玩转 Server-Driven UI!
android·前端·人工智能