图像分割,深度学习做图像分割,适合医学图像分割的Unet网络(理清逻辑关系)

参考:https://www.zhihu.com/question/269914775?sort=created

一.什么是图像分割?

《数字图像处理》一书中给出:把图像细分为其组成区域或物体。
也可以用函数的知识去理解:
给出一张图像 I,这个问题就是求一个函数,从I映射到Mask。至于怎么求这个函数有多种方法。

举个简单的例子:
图像分割,深度学习做图像分割,适合医学图像分割的Unet网络(理清逻辑关系)_第1张图片

二.深度学习怎么和图像分割结合起来的?

简单来说就是利用深度学习求这个函数。
首先我们知道:
(1)深度学习的主要运用方向是语音和图像
(2)深度学习一般用在分类和检测问题上
自然而然,我们想到用到图像分割上,那第一次是啥时候?
第一次将深度学习结合起来的是这篇文章全卷积网络(FCN)

三.医学影像的特点

1.图像语义较为简单、结构较为固定。

我们做脑的,就用脑CT和脑MRI,做胸片的只用胸片CT,做眼底的只用眼底OCT,都是一个固定的器官的成像,而不是全身的。由于器官本身结构固定和语义信息没有特别丰富,所以高级语义信息和低级特征都显得很重要(UNet的skip connection和U型结构就派上了用场)。

2.数据量少。

医学影像的数据获取相对难一些,很多比赛只提供不到100例数据。所以我们设计的模型不宜多大,参数过多,很容易导致过拟合。

3.多模态。

相比自然影像,医疗影像比较有趣和不同的一点是,医疗影像是具有多种模态的。以ISLES脑梗竞赛为例,其官方提供了CBF,MTT,CBV,TMAX,CTP等多种模态的数据。
图像分割,深度学习做图像分割,适合医学图像分割的Unet网络(理清逻辑关系)_第2张图片

4.可解释性重要。

由于医疗影像最终是辅助医生的临床诊断,所以网络告诉医生一个3D的CT有没有病是远远不够的,医生还要进一步的想知道,病灶在哪一层,在哪一层的哪个位置,分割出来了吗,能求体积嘛?同时对于网络给出的分类和分割等结果,医生还想知道为什么,所以一些神经网络可解释性的trick就有用处了,比较常用的就是画activation map

两外一种说法

为什么适用于医学图像?
(1)因为医学图像边界模糊、梯度复杂,需要较多的高分辨率信息。高分辨率用于精准分割。

(2)人体内部结构相对固定,分割目标在人体图像中的分布很具有规律,语义简单明确,低分辨率信息能够提供这一信息,用于目标物体的识别。

UNet结合了低分辨率信息(提供物体类别识别依据)和高分辨率信息(提供精准分割定位依据),完美适用于医学图像分割。

接下来我们主要学习Unet网络。

三.Unet-family发展历程

引用:https://github.com/ShawnBIT/UNet-family

2015

U-Net: Convolutional Networks for Biomedical Image Segmentation (MICCAI) [paper] [my-pytorch][keras]
翻译:用于生物医学图像分割的卷积网络(MICCAI)[ 论文 ] [ my-pytorch ] [ keras ]

2018

UNet++: A Nested U-Net Architecture for Medical Image Segmentation (MICCAI) [paper][my-pytorch][keras]
翻译:用于医学图像分割(MICCAI)的嵌套U-Net体系结构[ 论文 ] [ my-pytorch ] [ keras ]

2020

UNET 3+: A Full-Scale Connected UNet for Medical Image Segmentation (ICASSP 2020) [paper][pytorch]
翻译:用于医学图像分割的全面连接UNet(ICASSP 2020)[ 论文 ] [ pytorch ]

四.什么是UNet呢?

UNet只是一个网络结构的代号而已,我们究其细节,到底UNet是由哪些组件构成的呢?

(1)Unet的结构
图像分割,深度学习做图像分割,适合医学图像分割的Unet网络(理清逻辑关系)_第3张图片
(2)特点:
(a)U型结构
(b)skip-connection(跳跃式传递)

UNet的encoder下采样4次,一共下采样16倍,对称地,其decoder也相应上采样4次,将encoder得到的高级语义特征图恢复到原图片的分辨率。

你可能感兴趣的:(深度学习,深度学习)