1.目的:减少UNet中过拟合问题,提升端到端分割血管的能力
2主要工作:
(1)受DropBlock启发在每层卷积后使用了结构化随机失活;
(2)在三个视网膜图像数据集上测试了SD-UNet的性能,分别是DRIVE,STARE,CHASE_DB1;
(3)阐述SD-UNet性能在三个数据集上均超过了UNet,并且在DRIVE和CHASE-DB1数据集上达到了SOTA。(sota实际上就是State of the arts 的缩写,指的是在某一个领域做的Performance最好的model,一般就是指在一些benchmark的数据集上跑分非常高的那些模型)
3,模型
Fig 1展示了SD-UNet的详细结构,可以看到在U形网络中包含三层下采样模块和上采样模块,中间通过skip connection连接。每一层下采样模块中包含两个3x3卷积以及一次最大池化,随后是DropBlock层和ReLU层。在上采样部分结构与之类似,区别在于将池化层调换为了转置卷积。
4,Dropout与Dropblock
过拟合问题,根本的原因则是特征维度(或参数)过多,导致拟合的函数完美的经过训练集,但是对新数据的预测结果则较差。
关于Dropout
深度神经网络为了防止计算机视觉中的过拟合问题常使用不同的正则化方法,其中随机失活DropOut就是一种简单但有效的防止过拟合的方法.
神经网络包含多个非线性隐藏层,这使得它能够学习输入和输出之间的复杂关系,但我们不可否认的是:在实际情况中,即使测试集和训练集来自同一分布,训练集仍会存在噪声,那么网络就会同时学习数据和噪声的分布,这样就会容易导致过拟合.
在机器学习中,我们通常采用模型组合来提高模型的性能。然而,对于大型的神经网络来说,对多个网络模型的输出取平均的做法是耗费时间和空间的。所以提出了Dropout。Dropout就是随机丢弃神经网络中的神经元,所谓的丢弃就是将神经元从神经网络中移除,包括它与前向和后向的连接,具体哪个神经元被丢弃是随机的。
但Dropout适用于全连接层,并不适用于卷积层,卷积层的特征图中相邻元素在空间上是共享语义信息的,产生这种现象的原因正是卷积操作能够提取特征,具有感受野也就是说网络仍可以通过该位置的相邻位置元素去学习对应的语义信息。因此需要对卷积网络进行结构化的随机失活,通过对特征图中一部分相邻的整片区域整体失活,这样网络丢失了这一部分整体的信息,就可以更关注其他部位特征的学习。
a是原图,b图使用的是Dropout,c图使用Dropblock,X代表丢弃的位置.因此DropBlock layer包含两个参数:block_size和γ。其中block_size=1时与传统的dropout一样,而block_size=整张特征图时其实就是Spatial Dropout;γ参数负责控制一张特征图中有多少个激活点可以被失活。计算公式如下:
keep-prob: 一个神经元被保留下来的概率(事先给定)
w,h分别代表特征图的宽和高,
block-size:失活块的大小。
5,实验:
本节将系统的对比SD-UNet与原始的UNet在不同数据集上的效果,还会将SD-UNet与当前一些SOTA的框架进行对比。
数据扩充:随机旋转、颜色变换、增加高斯噪声、水平/垂直翻转
性能指标: PPV(精确率),TNR(特异性),TPR(召回率),Acc,AUC,F1score,JS(相似系数)
SR代表分割结果,GT代表地面实况。
结果:
UNet表示未使用dropout的原始UNet
UNet*表示使用了随机失活的UNet 随机失活率0.25
Table IV V VI还展示了SD-UNet与其他SOTA方法的对比,可以看到SU-UNet的性能均比其他方法好。
总结:
本文提出了一种基于全卷积UNet的网络结构-SD-UNet用于视网膜血管的逐像素分割,主要在UNet中增加DropBlock来提升模型性能。
其中UNet负责在下采样过程中捕获上下文信息,在上采样过程中可以有效融合不同层次的特征;同时借助DropBlock,SD-UNet可以在训练时丢弃部分区域的语义特征,从而减轻过拟合问题。
本文首次实现SD-UNet用于视网膜血管分割,为了验证这一方法的有效性在三个开源数据集DRIVE,STARE,CHASE_DB1上进行了测试,并且与其他方法对比,SD-UNet也取得了SOTA的结果。