深度学习图像分割:U-Net 体系结构

         U-Net是一种卷积神经网络(CNN)方法,由Olaf Ronneberger、Phillip Fischer和Thomas Brox于2015年首次提出,它可以更好的分割生物医学图像。我们将要探讨的论文是U-Net:用于生物医学图像分割的卷积网络(U-Net论文

图像分割方法

一般说来,分割(https://www.fritz.ai/image-segmentation/)是将一幅图像分割为若干个部分的过程,这种图像处理过程可以得到图像中的目标或者纹理,常常被用于遥感影像或者肿瘤的检测应用中。

(1)传统方式

目前,已经有了很多传统方法可以实现这一过程(https://www.analyticsvidhya.com/blog/2019/04/introduction-image-segmentation-techniques-python/),例如点、线和边缘检测方法,阈值分割法,基于区域的聚类,基于像素的聚类,形态学的方法等等。

(2)深度学习

目前也出现了很多利用卷积神经网络进行分割的方法,这些方法已成为解决图像分割中更高级任务中不可或缺的方法,而u-net作为深度学习应用于医学图像分割的一个代表。

U-Net原理分析

(1)U-Net模型结构

神经网络多张图片怎么全连接 神经网络图像分割算法_深度学习

U-Net的命名源自它的结构:如上图所示,它的网络结构可视化的结果很像一个字母U。输入的是原始图像,通过网络结构后得到的是分割后的图像。最特殊的部分是结构的后半部分,该网络结构没有全连接层,只采用了卷积层,每个标准的卷积层后面都紧跟着一个Relu激活函数层。

在模型的前半部分,使用池化层对数据降维,在后半部分升维。

神经网络多张图片怎么全连接 神经网络图像分割算法_编码器_02

最大和平均池(https://www.quora.com/What-is-max-pooling-in-convolutional-neural-networks)。池化层通过保持输入矩阵的通道数不变来减少高度和宽度信息,用于降低计算复杂度。

U-Net中的卷积核反卷积的过程

神经网络多张图片怎么全连接 神经网络图像分割算法_卷积_03

神经网络多张图片怎么全连接 神经网络图像分割算法_图像分割_04

U-Net和自编码器结构上的区别

为了帮助理解UNet在结构上的特殊性,我们将传统的分割方法自编码器与Unet进行一个结构上的比较。在传统的自动编码器结构中(http://proceedings.mlr.press/v27/baldi12a/baldi12a.pdf),输入信息的大小逐层递减。结构中的编码器部分完成后,紧接着是解码器部分。在这部分,我们将学习的特征的线性表达,特征的大小也是逐渐增大,到了解码器的末尾,输出图像大小等于输入图像的大小。这种网络结构是保持输出与输入大小一致的理想选择,但它有一个问题,这个过程线性压缩,瓶颈在于无法传递所有特征。

神经网络多张图片怎么全连接 神经网络图像分割算法_深度学习_05

这就是U-Net的不同之处。U-Net在解码器部分(网络的第二部分)采用反卷积,这种结构可以克服自编码器在特征传递过程中产生的特征丢失问题。

损失函数

损失值可以通过标准二进制交叉熵和 Dice 损失计算,这是评估生物医学图像分割成功与否的常用性能标准。

神经网络多张图片怎么全连接 神经网络图像分割算法_卷积_06