利用卷积神经网络(U-net)进行视网膜血管分割

利用卷积神经网络(U-net)进行视网膜血管分割

项目地址:https://gitcode.com/orobix/retina-unet

本仓库提供了一个基于卷积神经网络的解决方案,用于在视网膜基金图像中精确地分割血流血管。这是一个二分类任务,网络的任务是预测图像中的每个像素是否为血管。该模型的架构受到U-net的启发,并且在DRIVE数据库上测试时,它在曲线下面积(AUC)指标上表现最佳,优于至今已发表的所有其他方法。同样,在STARE数据集上,它的性能也名列前茅。

技术实现与分析

在训练之前,20个DRIVE训练图像会经过以下预处理:

  1. 转换为灰度图像。
  2. 标准化。
  3. 对比度限制自适应直方图均衡化(CLAHE)。
  4. 变量γ调整。

通过随机选择中心创建48x48像素大小的小图像(patch)的方式,从预处理后的全图中提取出一个约190000个样本的训练集。其中包括部分或完全超出视野(FOV)的patch,以帮助网络学习区分血管和FOV边界。网络结构源自U-net,使用交叉熵作为损失函数,采用随机梯度下降法优化,激活函数为ReLU,相邻层之间有0.2的dropout比例。

模型训练在150个epoch内完成,mini-batch大小为32个样本。在GeForce GTX TITAN GPU上,整个训练过程大约需要20小时。

应用场景

这个深度学习模型特别适用于医学图像分析领域,尤其是针对视网膜疾病的诊断。通过准确识别视网膜血管,有助于医生检测和评估诸如糖尿病视网膜病变、青光眼等疾病的发展。

项目特点

  • 卓越性能:在DRIVE数据库上的测试结果显示,本模型在AUC ROC上达到.9790,超过了众多先前的方法。
  • 稳健的预处理:图像预处理包括一系列增强步骤,确保了模型对不同条件下的输入图像具有较好的泛化能力。
  • 灵活的数据采样:通过随机抽取和覆盖重叠的patch,模型能更好地学习复杂的血管模式,即使在FOV边缘也能正确识别。
  • 易于复现:代码使用Python编写,依赖于Keras库,便于其他研究人员重现实验结果并进行进一步的修改与优化。

尝试与运行

本项目已在DRIVE数据库上进行了全面测试。要复现实验,首先安装必要的库和Keras(建议使用版本1.1.0),然后下载DRIVE数据库并按照提供的脚本创建HDF5数据集。配置好参数后,即可进行训练和测试。具体操作可参考项目文档中的说明。

该项目的出色性能和清晰的实现流程使其成为医疗图像处理研究者和开发者们的理想工具。如果你正寻找一种高效、准确的方式来处理视网膜血管分割任务,那么这个开源项目绝对值得尝试。

项目地址:https://gitcode.com/orobix/retina-unet

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gitblog_00029

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值