术语表

U-Net

了解用于语义分割的强大 CNN 架构 U-Net。了解其在医疗、卫星和自主成像中的应用。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

U-Net 是一种专门的卷积神经网络(CNN)架构,最初是为生物医学图像分割任务而开发的。其独特的 U 型结构即使在训练数据有限的情况下,也能对图像中的对象进行精确定位和分割。Olaf Ronneberger、Philipp Fischer 和 Thomas Brox 在 2015 年的论文《U-Net:Convolutional Networks for Biomedical Image Segmentation》(用于生物医学图像分割的卷积网络)一文中,U-Net 因其在各种需要像素级分类的计算机视觉(CV)应用中的有效性而迅速在其初始领域之外产生了影响。

核心架构

U-Net 架构由两条主要路径组成,其连接方式类似字母 "U":一条收缩路径(也称为编码器)和一条扩展路径(也称为解码器)。

  1. 收缩路径(编码器):该路径采用典型的 CNN 架构。它包括重复应用两个 3x3 卷积(无填充卷积),每个卷积后都有一个整流线性单元(ReLU)激活函数,然后进行 2x2 最大池化操作,步长为 2,以进行降采样。在每个下采样步骤中,特征通道的数量都会翻倍。这条路径可以捕捉输入图像的上下文,逐步降低空间分辨率,同时增加特征信息。
  2. 扩展路径(解码器):该路径包括对特征图进行上采样的重复步骤,然后进行 2x2 卷积("上卷积"),将特征通道数减半,与收缩路径中相应裁剪的特征图进行连接,再进行两次 3x3 卷积,每次卷积后都进行一次 ReLU。由于每次卷积都会损失边界像素,因此必须进行裁剪。最后一层使用 1x1 卷积将每个特征向量映射到所需的类别数。这一路径通过逐步提高输出的分辨率,并通过跳接将其与来自收缩路径的高分辨率特征相结合,从而实现精确定位。像 U-Net 这样的编码器-解码器架构在分割任务中很常见。
  3. 跳接:连接这两条路径的关键创新是使用跳转连接。这些连接从收缩路径的图层中复制特征图,并将其与扩展路径中相应的上采样特征图连接起来。这使得解码器可以直接访问编码器学习到的高分辨率特征,这对于生成具有精确细节的分割图至关重要。

主要特点和优势

U-Net 的设计具有多项优势,尤其适用于细分任务:

  • 精确定位:扩展路径与跳转连接相结合,使网络能够生成细节非常精细的分段掩码。
  • 使用小数据集的效率:即使训练数据集相对较小,U-Net 也能进行有效训练,这在医学图像分析中很常见。在使用 U-Net 的同时,还经常使用大量的数据扩充来教授网络所需的不变量。
  • 端到端训练:整个网络可以从输入图像直接训练到输出分割图,从而简化了训练流程。
  • 良好的通用性:它不仅在医学影像领域,而且在其他需要精确分割的领域都表现出很强的性能。

实际应用

虽然 U-Net 最初是为生物医学成像而设计的,但它的架构非常灵活,可用于多种应用:

将 U-Net 与类似概念区分开来

U-Net 主要侧重于语义分割,为图像中的每个像素分配一个类别标签(如 "肿瘤"、"道路"、"建筑")。这与

  • 实例分割这项任务不仅要对像素进行分类,还要区分属于同一类别的物体的各个实例(例如,给 car_1、car_2、car_3 贴上不同的标签)。虽然 U-Net 可用于实例分割,但Mask R-CNN等模型通常更直接适用于这一任务。
  • 物体检测这包括识别物体并在其周围绘制边框,而不是对每个像素进行分类。模型如 Ultralytics YOLO等模型是最先进的物体检测模型,以速度快、精度高而著称。
  • 现代细分模型:虽然 U-Net 仍然很有影响力,但更新的架构,包括细分模型的变体,如 Ultralytics YOLOv8YOLO11等模型的分段 变体,提供了强大的分段功能,通常针对更快的实时推理进行了优化,并利用了深度学习的先进技术,如变压器块或无锚设计

培训和工具

U-Net 的训练需要像素级的注释数据,即训练图像中的每个像素都标注了相应的类别。这种数据标注过程可能是劳动密集型的,尤其是对于复杂的医疗或卫星图像。U-Net 模型通常使用流行的深度学习框架来实现和训练,例如 PyTorch(PyTorch 官方网站)和 TensorFlow(TensorFlow 官方网站)。OpenCV等库通常用于图像加载和预处理。Ultralytics HUB等平台有助于管理数据集和简化模型训练过程,即使是复杂的分割任务也不例外。有效的训练通常需要仔细调整超参数并探索不同的优化算法

阅读全部