U-Net 架构及其应用指南

阿比拉米-维纳

5 分钟阅读

2025 年 7 月 15 日

了解 U-Net 架构、它如何支持图像分割、它的应用以及它在计算机视觉发展中的重要意义。

计算机视觉是人工智能(AI)的一个分支,侧重于分析视觉数据。它为许多尖端系统铺平了道路,例如工厂产品检验过程自动化和帮助自动驾驶汽车在道路上导航。 

物体检测是最著名的计算机视觉任务之一。这项任务使模型能够使用边界框定位和识别图像中的物体。虽然边界框对各种应用都有帮助,但它们只能提供物体位置的粗略估计。

然而,在医疗保健等领域,精确度至关重要,视觉人工智能用例依赖的不仅仅是识别物体。通常,它们还需要与物体的确切形状和位置相关的信息。

这正是计算机视觉任务--分割--的目的所在。分割模型不使用边界框,而是在像素级别检测物体。多年来,研究人员已经开发出了专门用于分割的计算机视觉模型

U-Net 就是这样一个模型。虽然更新、更先进的模型已经超越了它的性能,但 U-Net 在计算机视觉史上仍占有重要地位。在本文中,我们将详细介绍U-Net 的架构、工作原理、应用领域以及与当今更先进的分割模型的比较。

图 1.使用 U-Net 深度学习模型进行分割的示例。(资料来源)

图像分割的历史

在深入了解 U-Net 是什么之前,我们先来了解一下图像分割模型是如何发展的。

最初,计算机视觉依赖边缘检测、阈值处理或区域生长等传统技术来分离图像中的物体。这些技术用于利用边缘检测物体边界,根据像素强度分离区域,并对相似像素进行分组。这些技术适用于简单的情况,但在图像有噪声、形状重叠或边界不清晰时往往会失效。

2012 年深度学习兴起之后,研究人员于 2014 年针对语义分割等任务提出了全卷积网络(FCN)的概念。这些模型取代了卷积网络的某些部分,使计算机能够一次性查看整个图像,而不是将其分解成更小的片段。这使得该模型能够创建详细的地图,更清晰地展示图像中的内容。

图 2.基于深度学习的分割算法的演变。(资料来源)

在 FCN 的基础上,弗莱堡大学的研究人员于 2015 年推出了 U-Net。它最初是为生物医学图像分割而设计的。特别是,U-Net 的设计目的是在注释数据有限的情况下表现良好。 

与此同时,UNet++ 和 TransUNet 等后续版本增加了注意力层和更好的特征提取等升级功能。注意力层有助于模型聚焦关键区域,而增强的特征提取功能则能捕捉到更多详细信息。

什么是 U-Net,功能如何在模型中流动?

U-Net 是一种深度学习模型,专门用于图像分割。它将图像作为输入,生成分割掩码,根据每个像素所属的对象或区域对其进行分类。

该模型因其 U 型结构而得名。它由两个主要部分组成:一个是压缩图像并学习其特征的编码器,另一个是将图像扩展回原始大小的解码器。这种设计形成了对称的 U 形,有助于模型理解图像的整体结构和细节。

U-Net 的一个重要特点是使用跳转连接,可将编码器的信息直接传递给解码器。这意味着该模型可以保留图像压缩时可能丢失的重要细节。 

U-Net 架构概览

以下是 U-Net 架构的工作原理:

  • 输入图像 U-Net 以二维图像为起点,例如医学扫描图像或卫星照片。目标是为图像中的每个像素分配一个类别标签。

  • 下采样: 图像通过卷积层,学习重要的视觉特征。随着图像在不同层中的移动,其分辨率会降低,模型会识别出更广泛的模式。

  • 瓶颈层:在网络中心,特征图达到最小空间分辨率,同时捕捉高级语义特征。简而言之,这种压缩的特征图表示就是输入的整体语境。

  • 升采样: 然后,网络通过逐步提高分辨率来重建图像。平移卷积有助于将特征图扩展回原始大小。

  • 跳过连接: 将下采样路径的特征图与上采样路径的特征图连接起来。这有助于保留细粒度的空间细节,同时整合高层次的上下文信息。
  • 输出是一个分割图: 最终输出是与输入尺寸相匹配的像素分割掩码。每个像素都会被归入一个类别,如物体、背景或感兴趣区域。
图 3.U-Net 架构图。(资料来源)

了解 ViT 和 U-Net 的区别

在探索 U-Net 的过程中,你可能会想知道它与其他深度学习模型有什么不同,比如同样可以执行分割任务的Vision Transformer(ViT)。虽然这两种模型都能执行类似的任务,但它们在构建方式和处理分割的方式上有所不同。

U-Net 采用编码器-解码器结构,通过卷积层在像素级处理图像。它通常用于需要精确分割的任务,如医疗扫描或自动驾驶汽车场景。 

另一方面,视觉转换器(ViT)通过注意力机制将图像分割成多个片段并同时进行处理。与 U-Net 的卷积方法不同的是,它使用自我注意(一种允许模型权衡图像不同部分相对于彼此的重要性的机制)来捕捉图像不同部分之间的关系。

另一个重要区别是,ViT 通常需要更多数据才能很好地工作,但它善于捕捉复杂的模式。另一方面,U-Net 在较小的数据集上表现出色,而且训练速度更快,通常所需的训练时间更短。

U-Net 模型的应用

既然我们已经对 U-Net 及其工作原理有了更深入的了解,下面就让我们来探讨一下 U-Net 在不同领域的应用情况。

医学成像中的脑出血分割

U-Net 已成为复杂医学图像像素级分割的可靠方法,尤其是在其研究的黄金时期。研究人员用它来突出医学扫描中的关键区域,如 CT 和 MRI 图像中的肿瘤和内出血迹象。这种方法大大提高了诊断的准确性,并简化了研究环境中对复杂医疗数据的分析。

U-Net 对医疗保健研究产生影响的一个例子是,它可用于识别医学扫描中的中风和脑出血。研究人员可以利用 U-Net 分析头部扫描,并突出显示需要关注的区域,从而更快地识别需要立即关注的病例。

图 4.使用 3D U-Net 对出血性中风病灶进行分割。(资料来源)

农业作物分类

研究人员将 U-Net 应用于农业的另一个领域,尤其是对作物、杂草和土壤的细分。它可以帮助农民监测植物健康状况、估算产量,并在大型农场中做出更好的决策。例如,U-Net 可以将农作物与杂草区分开来,从而提高除草剂的使用效率,减少浪费。

为了应对无人机图像中的运动模糊等挑战,研究人员利用图像去模糊技术对 U-Net 进行了改进。这样,即使在空中勘测等移动过程中采集数据,也能确保更清晰的分割。

图 5.利用 U-Net 将农田中的作物与杂草分开。(资料来源)

自动驾驶

在引入更先进的人工智能模型之前,U-Net 在探索如何通过分割来增强自动驾驶方面发挥了至关重要的作用。在自动驾驶汽车中,U-Net 的语义分割技术可用于将图像中的每个像素分为道路、车辆、行人和车道标记等类别。这样,汽车就能清楚地看到周围的环境,有助于安全导航和有效决策。

图 6.使用 U-Net 分割可行驶区域的道路场景。(资料来源)

U-Net 的优缺点

时至今日,U-Net 仍然是研究人员进行图像分割的理想选择,因为它兼顾了简单性、准确性和适应性。以下是使其脱颖而出的一些关键优势:

  • 适应不同模式: U-Net 适用于不同的数据类型,包括三维医学扫描、卫星图像甚至视频帧。

  • 优化后的快速推理 如果调整得当,U-Net 可以高效运行,适合实时或接近实时的应用。

  • 开源 和社区: U-Net 可在主要的深度学习库中使用,并得到大量开发人员和研究人员的支持。

虽然 U-Net 有很多优点,但也有一些局限性需要注意。以下是一些需要考虑的因素: 

  • 对数据质量敏感: 劣质数据(如噪声或低分辨率图像)会对 U-Net 的性能产生负面影响。

  • 数据集过小,容易过度拟合: 虽然 U-Net 在处理有限数据时表现出色,但如果没有进行适当的正则化处理,它仍有可能出现过度拟合的情况,尤其是在数据集太小或缺乏多样性的情况下。

  • 计算资源: U-Net 的计算成本很高,尤其是在处理大型数据集时,需要大量硬件资源进行训练。

主要收获

U-Net 是图像分割技术发展过程中的一个重要里程碑。它证明了深度学习模型可以利用较小的数据集提供准确的结果,尤其是在医学成像等领域。 

这一突破为各领域更先进的应用铺平了道路。随着计算机视觉技术的不断发展,像 U-Net 这样的分割模型仍然是机器理解和高精度解释视觉数据的基础。

想要构建自己的计算机视觉项目?探索我们的GitHub 存储库,深入了解人工智能并查看我们的许可选项。访问我们的解决方案页面,了解计算机视觉如何在医疗保健领域提高效率,并探索人工智能对零售业的影响!现在就加入我们不断壮大的社区

让我们共同打造人工智能的未来

开始您的未来机器学习之旅

免费开始
链接复制到剪贴板