One Network To Segment Them All: A General, Lightweight System for Accurate 3D Medical Image Segmentation(理解)

原文链接

扫码关注下方公众号:"Python编程与深度学习",领取配套学习资源,并有不定时深度学习相关文章及代码分享。


今天分享一篇发表在MICCAI 2019上的论文:One Network To Segment Them All:
A General, Lightweight System for Accurate 3D Medical Image Segmentation (原文链接:[1],代码链接:[2])。

1 研究背景

近年来深度学习技术在医学分割任务上取得了成功,然而通常对于一个特定的任务,都需要仔细设计一个复杂的模型去拟合,并且在训练的过程中需要花费大量的成本以及加入足够合适的技巧。这种做法虽然可以解决某一个特定的任务,但是当有了新的需求时,又需要从头重新设计模型并进行训练。本文提出了一个可以用于医学影像的通用分割框架multi-planar U-Net (MPUnet),这个框架不需要根据特定任务信息进行调整,也不需要人工的交互,就可以适应不同分割任务,并且都能达到很好的效果。

上述的单模型解决多任务问题,有一个对应的大规模数据集:Medical Segmentation Decathlon[3]

2 方法

2.1 整体流程

如上图(Fig.1)所示,对于一个输入图像,取不同角度的2D截面作为多个视图数据,而后分别通过修改版的2D U-Net预测分割图,最后通过Fusion model将多个视图的结果综合起来得到最后的预测结果。后面将对多视图数据选取、数据增强、2D-UNet结构、Fusion model、预处理和后处理分别进行详细介绍。

2.2 多视图数据选取

首先将模型表示为$f(x;\theta)$,$x$为其输入的多通道2D图像($x\in \mathbb{R}^{w\times h\times c}$),输出是$K$个类别的分割图$P\in\mathbb{R}^{w\times h\times K}$。如上图(Fig.2)所示,一共选取$i$个视图的数据,表示为$V=\{v_1,v_2,\cdots,v_i\}$,实质上就是在不同空间角度上进行截面的选取。最后对于一个视图中的所有截面预测结果堆叠起来就形成了3D预测结果,那么每个视图对应的3D预测结果为$\mathbf{P}=\{P_v\in\mathbb{R}^{w\times h\times d\times K}|v\in V\}$.

2.3 数据增强

采用多视图的输入数据其实可以等同于将数据在3D空间中做仿射变化的效果,是一种在3D空间中的数据增强。此外,在训练的2D图像上还采用了非线性变换来做数据增强。对于输入图像和标签图,分别采用tri-linear和nearest-neighbour插值方法进行重采样,以确保所有输入图像像素点间的距离是一致的。

2.4 2D-UNet结构

网络结构主要基于U-Net[4],做了如下几点修改:
1. 在卷积层后加入了batch normalization层
2. 对于上采样层,修改为卷积层+最近邻上采样

2.5 Fusion model

Fusion model实质上是将不同视图的结果进行加权投票。对于多个视图的3D预测结果(2D截面预测结果堆叠而成),需要采用Fusion model来进行综合,其过程可以表示为:$\mathbb{R}^{|V|\times K}\rightarrow\mathbb{R}^K$。具体通过$z(x)_k=\sum_{n=1}^{|V|}W_{n,k}\cdot p_{n,x,k}+\beta_k$进行加权投票。其中$p_{n,x,k}$表示第$n$个视图中第$x$个体素预测为第$k$个类别的概率值,$W\in\mathbb{R}^{|V|\times K}$表示每一个视图中产生每一个类别预测结果所占的权重,$\beta\in\mathbb{R}^K$是对应的偏置参数。

2.6 预处理和后处理

由于该模型的目标是可以适应不同的数据集,因此使用了尽可能少的图像相关处理技术,以防止过拟合于某种数据分布。对于预处理,只根据前景体素的中位数和四分位范围计算标准化的参数。此外,因为文中认为后处理是典型地依赖于特定任务的,因此没有采用任何后处理技术。

3 实验结果

这里我只给出论文中的部分实验结果,具体的实验结果分析以及实验和参数的设置请看原文。这篇文章还在附录中给了很多实验补充。

 

 

 

 

 

 

 4 参考资料

[1] https://arxiv.org/pdf/1911.01764v1
[2] https://github.com/perslev/MultiPlanarUNet
[3] http://medicaldecathlon.com/
[4] U-net: Convolutional networks for biomedical image segmentation.

posted @ 2020-07-06 09:53  CZiFan  阅读(519)  评论(0编辑  收藏  举报