基于深度学习的医学图像半监督分割-程序员宅基地

技术标签: 机器学习  计算机视觉  深度学习  人工智能  神经网络  

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

本文转自:计算机视觉life

准确、鲁棒地从医学图像中分割出器官或病变在许多临床应用中起着至关重要的作用,如诊断和治疗计划。随着标注数据的大量增加,深度学习在图像分割方面获得了巨大地成功。然而,对于医学图像来说,标注数据的获取通常是昂贵的,因为生成准确的注释需要专业知识和时间,特别是在三维图像中。为了降低标记成本,近年来人们提出了许多方法来开发一种高性能的医学图像分割模型,以减少标记数据。例如,将用户交互与深度神经网络相结合,交互式地进行图像分割,可以减少标记的工作量。自监督学习方法是利用无标签数据,以监督的方式训练模型,学习基础知识然后进行知识迁移。半监督学习框架直接从有限地带标签数据和大量的未带标签数据中学习,得到高质量的分割结果。弱监督学习方法从边框、涂鸦或图像级标签中学习图像分割,而不是使用像素级标注,这减少了标注的负担。但是,弱监督学习和自监督学习在医学图像分割任务上性能依旧受限,尤其是在三维医学图像的分割上。除此之外,少量标注数据和大量未标注数据更加符合实际临床场景。本文总结了近些年出现的用于医学影像的半监督学习方法,这些方法大致可以分为:(1),基于数据扰动或模型扰动或数据模型同时扰动正则化;(2),基于多任务层面的一致性约束。

1. TCSM-V1: Semi-supervised Skin Lesion Segmentation via Transformation Consistent Self-ensembling Model. (BMVC2018)

总结:这篇文章的方法类似于Temporal ensembling for semi-supervised learning(ICLR2017)通过给输入数据加扰动(transformation)来正则化模型 (一次迭代模型需要前向传播两次,输入分别是未变化的图像和变化后的图像,然后变化后图像得到的结果进行反变换然后构建这两个预测结果的一致性损失),直接将未标注数据利用起来,想法很简洁但效果很不错。

2. TCSM-V2: Transformation-Consistent Self-Ensembling Model for Semisupervised Medical Image Segmentation. (TNNLS2020)

总结:这篇在Mean Teacher (NIPS2017) 的基础上引入了更多的数据扰动(flip, rotate, rescale,noise等等)和模型扰动(dropout)来构建同一输入在不同扰动下的一致性。然后取得了很不错的效果。

以上两篇的文章代码也已开源: 

https://github.com/xmengli999/TCSM

3. Uncertainty-aware Self-ensembling Model for Semi-supervised 3D Left Atrium Segmentation (MICCAI2019)

总结:这篇文章整合了Mean Teacher (NIPS2017) 和不确定性估计来进行半监督学习,通过不确定性图来指导(加权)Mean Teacher模型从未标注的数据上逐步学习。不确定性图的计算采用了经典的蒙特卡洛 Dropout多次推理来获得,这样会带来一些额外的计算开销,但带来了性能的提升,可以得到不错的效果,而且现在利用不确定性估计来提高网络性能也是一个热门的研究方向。

这篇文章代码已开源: 

https://github.com/yulequan/UA-MT

值得一提的是,Dr. Lequan的代码写得非常简洁易学,后续也有很多在此基础上改进的算法。

4. 3D Semi-Supervised Learning with Uncertainty-Aware Multi-View Co-Training (WACV2020,MedIA2020)

总结:这篇文章结合了前面提到的几篇的所有特点(没有采用Mean Teacher Model),并将多视角的联合训练引入到医学图像的半监督和域适应的问题中,想法很新颖,实现也不难,而且效果很不错,只是随着视角的不断增加计算开销会越来越大。

5. Shape-aware Semi-supervised 3D Semantic Segmentation for Medical Images (MICCAI2020)

总结: 这篇文章采用了一个常用的多任务网络结构,同时进行图像分割和带符号的距离图回归(引入了形状和位置先验),并用判别器来作为正则化项,与以前常见用判别器做正则化项方法不同的是,本文的判别器输入时带符号的距离图和原图,而不是分割结果和原图。这样设计可以使整个未标记数据集的预测分布平滑,并引入了很强的形状和位置先验信息,保证分割结果的稳定性和鲁棒性。

这篇论文的代码也已经开源:

https://github.com/kleinzcy/SASSnet

6. Semi-supervised Medical Image Segmentation through Dual-task Consistency (Arxiv)

总结: 前面五篇文章主要还是基于数据层面和模型层面的扰动来构建一致性来进行半监督学习。本文(DTC)从任务层面来构建了一致性进行半监督学习,与SASSNet一样本文采用了一个多任务网络结构,同时进行分割和水平集函数回归,不同的是SASSNet用判别器来进行正则化(data-level),而本文利用两个任务之间的表示差异来构建一致性(task-level)。与Mean Teacher等模型需要多次前向传播相比,DTC模型简单,计算开销也不大,除此之外,还有可以构建许多跨任务的一致性进行全监督,半监督或者是跨域(DA)学习。

这篇论文代码也已经开源: 

https://github.com/Luoxd1996/DTC

以上论文更多细节和实验结果可以参考这些论文原文,此处只是个人的近期总结,更多内容也欢迎大家补充,也希望大家能设计出更好的半监督学习算法来降低对标注数据的依赖。

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42722197/article/details/117236834

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法