对 U-Net 的理解

人们普遍认为深度网络的训练成功离不开数千个带注释的训练样本。但是提出的U-Net 依赖于强大的数据增强来有效使用带注释的样本。先来看看它的结构:
对 U-Net 的理解_第1张图片
看到它的结构明白为什么叫U-Net了吧。
它由捕捉图片上下文信息的收缩路径与对图片中所需分割的部位进行精确定位的扩展路径。作者也证明了这种网络可以从非常少的图像端到端训练,并且比之前提出的滑动窗口卷积网络做的更好,http://www.cnblogs.com/xiaojianliu/articles/9931499.html 这是一篇卷积的滑动窗口实现博客,不懂的最好看一看○( ^皿^)っ。这种网络通过提供像素周围局部区域(patch)来预测每个像素的类标签。但是这显然有两个缺点,首先,它训练速度慢,因为每个patch都要单独运行网络,而且因为patch有重叠,所以存在大量冗余。其次,本地化的准确性和上下文的使用间存在权衡。较大的patch需要更多的最大池化层,会降低定位的精度,但是较小的patch又只能看到很小的图片信息。

而U-Net 是基于“全卷积网络”(FCN)修改和扩展而成的,都够在使用非常少的训练图像情况下进行更精确的分割。结构中可以看到下采样和上采样操作,下采样是提取高分辨率特征,而在上采样过程中,下采样的的信息与上采样的输入相结合来还原重要的特征信息。之所以叫“全卷积网络”,从结构中可以看出没出没有全连接层,这可以减少大量的参数,提高运行效率。

对 U-Net 的理解_第2张图片
结合上图看,右边的黄色区域的分割数据需要通过左边的蓝色区域的数据来提供,丢失的数据用镜像操作来完成。

网络体系结构:
网络结构图还是很容易理解的,左边为收缩路径每次3×3卷积层后relu,每两次卷积后经过一个2×2的最大池化进行下采样,并且通道数增加一倍,右边为扩展路径,卷积操作和收缩路径的相同,并将下采样改成了上采样,还会结合收缩路径的特征图。
再结构的最后经过1×1的卷积,通道数降为所需分类的结果的数量(2分类就为2层)。
总之结构图还是很容易看明白的。

training:
使用了随机梯度下降法,动量为0.99,损失函数用了交叉熵损失函数。为了更好的利用GPU,使用了更大的输入而不是大的批处理量。

在这里插入图片描述
这是大家都知道的softmax

在这里插入图片描述
使用交叉熵惩罚每个位置上与上面提到的soft-max与1偏差。
式子中的w(x) 为对 U-Net 的理解_第3张图片
d1代表像素点离最近细胞的边界的距离,d2代表离第二近的细胞边界的距离,所以离边界越近的像素点的权重也越大,w0设为10,δ为5像素。
对 U-Net 的理解_第4张图片
a为原始图像,b为分割好的ground truth,c为分割后的结果,d为pixel-wise的损失权重图,被迫学习细胞边界的像素。

参考:https://blog.csdn.net/m_buddy/article/details/79399203

你可能感兴趣的:(对 U-Net 的理解)