????UNet最早发表在2015的MICCAI上,到2020年中旬的引用量已经超过了9700多次,估计现在都过万了,从这方面看足以见得其影响力。当然,UNet这个基本的网络结构有太多的改进型,应用范围已经远远超出了医学图像的范畴。我们先从最原始的UNet网络模型开始讲解。
1、UNet网络结构
????开始时,UNet主要应用在医学图像的分割,并且快速成为大多做医学图像语义分割任务的baseline,而后其他领域的学者和专家也受其启发进行了魔改。当然,也有些同学会说,这个算法中的一些思想很多人在以前也有提出,比如下采样或是多尺度的思想,但是有一个问题,在众多思路中寻找合理的方法进行组合与重构以达到更有效的结果也是一种巨大的创新和进步。 ????我们首先看一下UNet的网络结构,具体如下图所示: ???? U-net网络结构(上图中以32x32像素的最低分辨率)中每个蓝框对应一个多通道特征图。 通道的数量在框的顶部表示。 x-y尺寸在框的左下边缘提供。 白框表示复制和裁剪(Concat)的特征图。 箭头表示不同的操作。因为此网络整体结构类似于大写的英文字母U,故得名U-Net。
????上图已经把UNet的网络结构和思想展现的淋漓尽致了。U-Net网络非常简单,前半部分(左边下采样)作用是特征提取,后半部分(右边)是上采样过程,这是非常典型的Encoder-Decoder结构。在原论文中,下采样过程称为contracting path,它是在通过卷积等操作获取上下文的特征信息;上采样部分被称为expanding path,实际上是在进行目标对象的定位,两部分是对称存在的,同时每层对应(对称结构)使用copy and crop完成skip-connection操作。
2、UNet网络结构高性能的原因分析
????2.1 多尺度获得信息
????在encoder操作中,采用了5个池化层(在实际应用中也有采用4个池化层的操作),在不断的下采样过程中不断的降低分辨率以获得不同尺度的图像信息,图像的信息由底层信息中的点、线、梯度等信息逐渐向高程信息中的轮廓以及更抽象的信息过度,整个网路完成了“由细到粗”特征的提取与组合,使UNet得到的信息更加全面。
????2.2 神来之笔skip connention
????做过数字图像处理的同学们应该很清楚一点:图像从低分辨率转高分辨率图像会失真(decoder部分);而高分辨率转低分辨率则失真相对可忽略,也保留了更多的细节信息(encoder部分)!因此,在decoder中上采样过程中就失去了对细节信息的敏感。这个时候skip connection就成为真正的神来之笔,此操作将同层高度的encoder更精准的梯度、点、线等信息直接Concat到同层的decoder中,相当于在判断目标大体区域内添加细节信息,这种操作当然可以使UNet获得更准确的分割结果。
3、医学图像使用UNet网络结构
????UNet网络最开始就应用在医学图像中,那为什么医学图像使用UNet网络会有更加明显的性能提升呢?
????我感觉,最重要的因素是由于医学图像的特殊性决定的。做过B超、核磁、CT的同学看到生成的图像的直观感觉是什么?首先,图像并没有显示自然图像那样清晰,边界很模糊,对比度差;其次,噪声点相对较多,不同个体呈现出的噪声信号也不稳定;最后,医学图像的信号复杂度并不低,人体不同组织成像是完全不同的,而且绝大部分图像都是灰度图像(绝大部分彩色是伪彩,细胞类除外),灰度范围也较大。
????而以上医学图像特点就注定了UNet在此领域的广泛应用。首先,多尺度的信息提取,细节与“较粗”抽象信息都得到有效的提取与保留,在降低了噪声的影响的同时最大限度的保留模糊边界的梯度信息。最后,医学图像虽然信号复杂但是类别并不复杂,且人体组织分布有一定的规则(哪怕有一定的病变毕竟都是同一个祖先进化来的),语义分割相对也简单。
????当然,医学图像的数据量也是重要因素,但是小样本的网络也挺多的,迁徙学习网络的泛化能力也挺强的,我感觉医学图像使用UNet最重要的是以上两点。
|