码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【深度学习】实验4布置:脑部 MRI 图像分割


    DL_class

    学堂在线《深度学习》实验课代码+报告(其中实验1和实验6有配套PPT),授课老师为胡晓林老师。课程链接:https://www.xuetangx.com/training/DP080910033751/619488?channel=i.area.manual_search。

    持续更新中。
    所有代码为作者所写,并非最后的“标准答案”,只有实验6被扣了1分,其余皆是满分。仓库链接:https://github.com/W-caner/DL_classs。 此外,欢迎关注我的CSDN:https://blog.csdn.net/Can__er?type=blog。
    部分数据集由于过大无法上传,我会在博客中给出下载链接。如果对代码有疑问,有更好的思路等,也非常欢迎在评论区与我交流~

    实验4:脑部 MRI 图像分割

    1 任务简介

    ​ 本次案例将使用深度学习技术来完成脑部MRI(磁共振)图像分割任务,即对于处理好的一张MRI图像,通过神经网络分割出其中病变的区域。本次案例使用的数据集来自Kaggle[1],共包含110位病人的MRI数据,每位病人对应多张通道数为3的.tif格式图像,其对应的分割结果为单通道黑白图像(白色为病变区域),示例如下。

    image.png
    第一行: MRI图像;第二行: 对应的分割标签。

    更详细的背景介绍请参考文献[2]。

    2 参考程序

    本次案例提供了完整、可供运行的参考程序,来源于Kaggle[3]和GitHub[4],建议在参考程序的基础上进行修改来完成本案例。各个程序简介如下:

    • train.ipynb用来完成模型训练
    • inference.ipynb用来对训练后的模型进行推理
    • unet.py定义了U-Net网络结构,参考资料[5]
    • loss.py定义了损失函数(Dice Loss),参考资料[6]
    • dataset.py用来定义和读取数据集
    • transform.py用来预处理数据
    • utils.py定义了若干辅助函数
    • logger.py用来记录训练过程(使用TensorBoard[7]功能),包括损失函数曲线等

    参考程序对运行环境的要求如下,请自行调整环境至适配,否则无法运行:

    • numpy==1.16.2
    • tensorflow==2.0.0 (注意版本)
    • scikit-learn==0.20.3
    • scikit-image==0.14.2
    • imageio==2.5.0
    • medpy==0.4.0 (需自行安装)
    • Pillow==6.0.0
    • scipy==1.2.1 (1.3+版本无法运行,需要先降级)
    • pandas==0.24.2

    ​ 其它细节以及示例运行结果可直接参考Kaggle[3]和GitHub[4]。

    3 要求和建议

    在参考程序的基础上,使用深度学习技术,尝试提升该模型在脑部MRI图像上的分割效果,以程序最终输出的validation mean DSC值作为评价标准(参考程序约为90%)。可从网络结构(替换U-Net)、损失函数(替换Dice Loss)、训练过程(如优化器)等角度尝试改进,还可参考通用图像分割的一些技巧[8]。

    4 注意事项

    • 提交所有代码和一份案例报告;

    • 案例报告应详细介绍所有改进尝试及对应的结果(包括DSC值和若干分割结果示例),无论是否成功提升模型效果,并对结果作出分析;

    • 禁止任何形式的抄袭,借鉴开源程序务必加以说明。

    5 参考资料

    [1] Brain MRI数据集: https://www.kaggle.com/mateuszbuda/lgg-mri-segmentation

    [2] Buda et al. Association of genomic subtypes of lower-grade gliomas with shape features automatically extracted by a deep learning algorithm. Computers in Biology and Medicine 2019.

    [3] 示例程序: https://www.kaggle.com/mateuszbuda/brain-segmentation-pytorch

    [4] 示例程序: https://github.com/mateuszbuda/brain-segmentation-pytorch

    [5] Ronneberger et al. U-Net: Convolutiona- Networks for Biomedica- Image Segmentation. MICCAI 2015.

    [6] Dice Loss: https://zhuanlan.zhihu.com/p/86704421

    [7] TensorBoard参考资料:https://www.tensorflow.org/tensorboard

    [8] Minaee et al. Image Segmentation Using Deep Learning: A Survey. arXiv 2020.

  • 相关阅读:
    c++ operator overloading
    Domino 12.0.1FP1发布和从Notes数据库全文索引中排除不需要索引的字段
    百度集团副总裁吴甜发布文心大模型最新升级,AI应用步入新阶段
    【双向链表的插入和删除】
    浅谈 —— AAA认证(认证+授权)详解+配置
    振弦采集模块的信号检测与分析计算
    Android14前台服务适配指南
    悄然而至,低/无代码的出现真能撬动传统开发的蛋糕?
    ZZCMS201910——二次安装漏洞
    你不做机票酒店照样跟去哪儿、携程夺食!
  • 原文地址:https://blog.csdn.net/Can__er/article/details/127899358
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号