乳腺超声图像结节分割

摘要

乳腺结节分割是乳腺癌早期诊断的关键步骤。本文介绍了一种基于深度学习的乳腺超声图像(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、深度学习

相关推荐
Ulana13 分钟前
计算机基础10大高频考题解析
java·人工智能·算法
windfantasy199014 分钟前
NCT与GESP哪个更好?线上监考与线下考点的便利性对比
人工智能
执笔论英雄16 分钟前
【LORA】
人工智能
Jerryhut29 分钟前
Bev感知特征空间算法
人工智能
xian_wwq39 分钟前
【学习笔记】基于人工智能的火电机组全局性能一体化优化研究
人工智能·笔记·学习·火电
春风LiuK1 小时前
虚实无界:VRAR如何重塑课堂与突破研究边界
人工智能·程序人生
歌_顿1 小时前
Embedding 模型word2vec/glove/fasttext/elmo/doc2vec/infersent学习总结
人工智能·算法
胡萝卜3.01 小时前
深入C++可调用对象:从function包装到bind参数适配的技术实现
开发语言·c++·人工智能·机器学习·bind·function·包装器
Echo_NGC22371 小时前
【KL 散度】深入理解 Kullback-Leibler Divergence:AI 如何衡量“像不像”的问题
人工智能·算法·机器学习·散度·kl
愤怒的可乐1 小时前
从零构建大模型智能体:OpenAI Function Calling智能体实战
人工智能·大模型·智能体