深入浅出 U-Net 架构解析

U-Net 是一种主要用于图像分割的神经网络,这意味着它将图像分割成不同的部分以识别特定的对象,例如在医学扫描中将肿瘤与健康组织分离开来。“U-Net”这个名字来源于其架构的形状,绘制时看起来像字母“U”。由于即使在标记数据量很小的情况下也能表现出色,它被广泛应用于医学成像领域。

!<a href="https://media.geeksforgeeks.org/wp-content/uploads/20251007111045128990/unet.webp">unetU-Net 架构

该架构是对称的,包含三个关键部分:

1. 收缩路径(编码器):

  • 使用小滤波器(3×3 像素)扫描图像并查找特征。
  • 应用称为 ReLU 的激活函数来增加非线性,帮助模型更好地学习。
  • 使用最大池化(2×2 滤波器)在保留重要信息的同时缩小图像尺寸。这有助于网络专注于更大的特征。

2. 瓶颈层:

这是“U”的中间部分,存储了最压缩和抽象的信息。它连接了编码器和解码器。

3. 扩展路径(解码器):

  • 使用上采样,即增加图像尺寸以恢复到原始图像大小。
  • 使用“跳跃连接”结合来自编码器的信息。这些连接帮助解码器获取在缩小图像时可能丢失的空间细节。
  • 再次使用卷积层来清理和细化输出。

上面的图片展示了 U-Net 将 572×572 的图像转换为更小的 388×388 分割图。它缩小图像以捕捉特征,然后使用跳跃连接上采样以恢复大小并保留细节。输出将每个像素标记为对象或背景。

U-Net 的工作原理

在理解了架构之后,了解 U-Net 如何实际处理数据以执行分割非常重要:

  • 输入图像: 过程始于向网络输入一张医学图像或其他输入图像,通常是灰度图。
  • 特征提取(编码器): 编码器通过应用卷积和下采样来提取日益抽象的特征。在每一层,空间尺寸减小,而特征通道的数量增加,允许模型捕获更高级别的模式。
  • 瓶颈层处理: 这是网络的中间部分,图像在这里被最大限度地缩减。它保存了图像的一个较小但非常有意义的版本,捕捉了主要特征。
  • 重建与定位(解码器): 解码器开始通过上采样重建原始图像尺寸。在每一层,它使用跳跃连接将解码器特征与相应的编码器特征结合起来,以保留细粒度的空间细节。
  • 用于精确定位的跳跃连接: 跳跃连接通过将早期层的详细特征向前传递来帮助保持空间精度。当模型需要在分割任务中区分边界时,这些连接特别有用。
  • 最终预测: 最后的 1×1 卷积将细化后的特征图转换为最终的分割图,其中每个像素被分类为特定的类别,如前景或背景。此输出具有与输入图像相同的空间分辨率。

U-Net 的实现

现在我们将使用 Python 3 和 TensorFlow 库来实现 U-Net 架构。实现包含三个主要部分:

  • 编码器块: 收缩路径块,包含两个带有 ReLU 激活的 3×3 卷积层,后接一个 2×2 最大池化层。
  • 解码器块: 扩展路径块,它对输入进行上采样,将其与相应的编码器特征拼接,并应用两个带有 ReLU 激活的 3×3 卷积层。
  • U-Net 模型: 结合编码器和解码器块以定义完整的 U-Net 架构。

1. 编码器:

编码器负责从输入图像中提取特征。它应用两个卷积层,后接 ReLU 激活 以学习模式,然后使用最大池化来减小图像尺寸,帮助模型专注于重要特征。

import tensorflow as tf

def encoder_block(inputs, num_filters):

    x = tf.keras.layers.Conv2D(num_filters, 3, padding=‘valid‘)(inputs)
    x = tf.keras.layers.Activation(‘relu‘)(x)
    
    x = tf.keras.layers.Conv2D(num_filters, 3, padding=‘valid‘)(x)
    x = tf.keras.layers.Activation(‘relu‘)(x)

    x = tf.keras.layers.MaxPool2D(pool_size=(2, 2), strides=2)(x)
    
    return x

2. 解码器:

解码器有助于恢复原始图像尺寸,同时结合低级和高级特征。它首先对特征图进行上采样,调整相应的编码器输出(跳跃连接)的大小,将它们合并,然后应用两个带有 ReLU 的卷积层。

def decoder_block(
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/53018.html
点赞
0.00 平均评分 (0% 分数) - 0