第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

U-Net圖像分割入門講解

333333来源: https://www.youtube.com/watch?v=wnuWqG18FVU

计算机视觉有很多子领域,图像分割是其中一个重要部分。比如,通过对每个像素进行分类或回归分析,能够生成对输入图像非常精确的解释。

例如医学和生物成像领域,或类似自动驾驶的应用,在这些高精度领域中,这样的解读非常有用。

图像分割中的一个关键架构是U-Net。本文将介绍Ronneberger等人在2015年提出的原始U-Net架构。我们将了解收缩路径、扩张路径以及跳跃连接——当这些部分组合在一起时,会形成一个U形结构。此外,我们还将讨论现代U-Net是通过各种卷积神经网络骨干构建的。

读了这段介绍,你就会明白。

  • 像素级别的图像分割是什么,包括分类和回归。
  • 如何利用收缩路径、扩张路径和跳跃连接来使用U-Net进行图像分割。
  • 现在在类似U-Net的架构中使用了哪些主流网络。

快来看!

图像分割介绍

图像分割是指将图像分为多个不同的部分或对象的技术。欲了解更多,请点击此处。

经典的计算机视觉方法使用深度学习解决方案主要集中在分类任务上。由Krizhevsky等人(2012)创建的AlexNet就是一个例子。它通过卷积层进行特征学习,然后是全连接层,来确定输入图像的类别。

比如,模型可以区分猫和狗、马和牛,或者汽车和卡车等等。

但是,你可以用图片做很多事情!例如,可以检测图片中的物体。如果你已经熟悉深度学习和计算机视觉的话,你很可能已经听说过像 YOLO 或 Transformers 这样的模型,这些模型可以在图片中标出物体的位置。

然而,你的图像还可以添加更多的精确度。传统的对象检测器只是绘制边界框,而图像分割则是以像素级进行处理。简单来说,每个像素都会被检查并被赋予一个类别。这使你可以画出非常精确的边界框,将你的对象清晰地分开。

出处:Parkhi等人(2012)

来源:Parkhi等人 (2012)

像素级分类

如果你之前做过分类模型的构建,你就会知道Softmax用于生成软极大值函数的概率分布。你可以取Softmax输出张量中概率值最大的类别,以确定样本的类别。这称为分割掩码。

在图像分割网络的尾部,输出张量实际上是在逐像素级别上进行的,而不是整个图像。这意味着Softmax会逐像素应用,并选择最大值以确定每个像素所属的类别。

回归分析也一样

如果我们直接去掉Softmax,将输出通道数设为1(或者设为大于1,如果你有多个相关回归变量),每个像素就会得到一个线性的输出。这与构建回归模型时的操作类似,但现在是在像素级别上进行。通过使用MAE或MSE这样的损失函数,你现在也可以进行回归型图像分割了。

这也意味着,用于图像分割分类的预训练模型可以通过去掉Softmax激活层(或者如果Softmax确实是损失函数的一部分,那么只需调整损失函数即可)来适应回归场景,这两种调整方式都是可行的。

以下是一些用于回归的图像分割示例:

  • 像素级别,的深度估计
  • 地图值估算

在接下来本文,我们将详细了解 U-Net,这是一种用于图像分割的模型。它由 Ronneberger 等人在 2015 年提出,用于生物医学图像分割。在原研究中,U-Net 用于分类。

U-Net:高层面视角

下面这张图片展示了U-Net。这个名字的由来就很好理解了,因为网络由形似U的层组构成。U的左边和底部被称为收缩路径,而右边则被称为扩张路径。借助跳过连接,U-Net可以将输入图像下采样以学习它的显著特征,并通过上采样来重构输入(或其衍生产品,比如分割掩码)。

参考了 Ronneberger 等人的研究 (2015) 的启发

我们现在来看看各个组件,我们先从收缩路径开始看起。

在他们关于U-Net的工作中,Ronneberger等人(2015)首先使用了一个常规的卷积神经网络。他们所说的每个卷积网络都是所谓的收缩网络。简单来说,这意味着卷积层(以及可能的池化层)会逐渐减小特征图(输出)的尺寸。

例如,输入到常规卷积网络(ConvNet)中的一张 32x32x3 的图像(例如,这可以是 CIFAR-10 的一个样本),一个简单的 2x2 卷积层(包含 2x2 的常规步幅和 12 个特征图)会输出一个 30x30x12 的特征图。通过堆叠多个卷积层(以及可能的池化层),就可以将原始输入缩小到比如 10x10x64。

回想一下,这使得卷积神经网络能够从较为详细的特征(在网络开始处)学到一系列特征层级,到较为粗略的特征(在网络尾部)。因为网络看起来像一个金字塔(越往下游走,网络就越窄小),它会变小,因此被称为“收缩型网络”。

从缩小到放大

在 U-Net 中,使用了收缩网络,但扩展了一个 上采样 网络以特定分辨率重构输出。这个网络被称为扩张部分。

主要思想是通过逐层添加来补充一个普通的收缩网络,其中池化操作被上采样操作所替代。

Ronneberger 等人,(2015)

请注意,在现代的U-Net版本中,输出的宽度和高度维度总是与输入相等(例如,32 x 32 x 3 → 32 x 32 x C)。然而,在原始的U-Net中,却并非如此。

跳连接的重要性

现在,假设你有一个正在工作的包含收缩和上采样层的栈,因此看起来非常像一个U-Net架构。现在是开始训练的时候了,我们不使用预训练权重,而使用例如He初始化或Xavier初始化进行权重初始化,根据使用的激活函数来选择。

当对图像进行前向传播时,它们首先通过模型的收缩部分,类似于U-Net。然后,从收缩(或从概念上讲,是总结后的)输入的末端,它们再次被上采样以找到例如掩码。当从收缩(或从概念上讲,是总结后的)输入的末端进行上采样,以找到类似原始图像的内容时,这实际上是非常难的——因为你是在盲目地进行!在这一点上,网络中你对原始输入的样子完全一无所知——除了那个总结。想象你在很多扇门中选择,要找到正确的一扇,试试是不是正确的门,如果不是,就得退回去再试一试。

为了实现本地化,将收缩路径中的高分辨率特征与上采样的输出结合起来。

Ronneberger 等 (2015)

稍微调整一下方向可能会非常有帮助。在U-Net中,这是通过跳跃连接实现的,这些连接将收缩网络每个层级的输出传递到上采样网络中的相应层级。与当前的上采样状态相结合,它被用来进一步上采样。通过结合来自收缩网络末尾的关于输入图像的高层次信息与关于当前层级的高层次信息,预期结果会好得多。

这种网络适用于各种生物医学领域的分割任务。

Ronneberger等人 (2015)

它不仅适用于生物医学分割问题,还适用于许多其他领域,超出了人们的预期!Ronneberger等人(2015)的论文拥有数以万计的引用,是基于深度学习的图像分割领域的关键论文之一。U-Net作为一种被广泛使用的架构,至今仍然是图像分割领域的首选架构。

U-Net的组成部分

既然你已经了解了U-Net的高层架构,接下来我们来看看它的各个组成部分就不错了。我们先从收缩路径开始,接着是扩张路径和跳跃连接。

合同流程

参考了 Ronneberger 等 (2015) 的研究

部分由多个卷积模块组成,所谓的卷积块

卷积块的数量可以配置,例如在原论文中的默认值为五个。

注意,除了最后一个卷积块之外,每个卷积块都将其输出用作旁路连接,在五块结构中,总共有四个这样的旁路连接。

下采样路径遵循典型的卷积网络结构。它由两个不带填充的 3x3 卷积的重复应用组成,每个卷积后跟一个整流线性单元(ReLU)和一个步长为 2 的 2x2 最大池化操作。

Ronneberger 等人 (2015)

每个U-Net收缩路径中的卷积块包含两个使用3x3核大小的卷积层。这些层没有进行填充处理。回想一下,使用步长为1的3x3卷积核会使图像的高度和宽度各自减少2个像素。在展示收缩路径的图像中,这一点非常清楚。例如,输入图像从572x572像素缩小到570x570像素,再缩小到568x568像素。

每个卷积层之后都会接上一个ReLU(修正线性单元)激活函数。

在每个卷积层之间,会执行一次最大池化操作。它使用2x2的池化大小和步长为2来进行下采样。这意味着输入图像的宽度和高度都会被减半。为了补偿这一点,特征图的数量会加倍。由于开始的特征图数量为64,最终,底部的特征图数量会增加至原来的五倍,即1024个特征图。

所以,换句话说,相对而言来说,U-Net 在高分辨率下学习较少的特征数量,在低分辨率下学习较多的特征数量。这有助于更好地平衡资源的使用,使资源分配更加合理。

通过收缩路径,输入图像被降采样,许多特征被学习到。这些特征现在可以用来进行上采样,可以从收缩路径的输出和跳过连接中获得。我们现在来看看这是如何实现的。

宽广的道路

Ronneberger等

现在我们已经了解了收缩路径,是时候来看看扩张路径了。这和收缩路径差不多,但这次所有的事情都是反过来的。

相比之下,这里执行的是上采样,而不是缩小输入图像的尺寸。因此,扩张路径中的块数与收缩路径中的块数相等,这些是上采样块。

这些上采样模块的一般步骤如下:

  1. 在特定层级上对特征图进行上采样,以有效向上提升一个层级的特征图尺寸。上采样还将特征图的数量减少为原来的二分之一。
  2. 跳跃连接被裁剪至与上采样输入一致的宽度和高度,值得注意的是,跳跃连接的特征图数量与上采样输入相同。
  3. 将两者连接起来,首先是跳跃连接,随后是上采样输入,此时特征图的数量翻了一番。
  4. 通过两个2x2内核的卷积层再次下采样特征图,特征图数量减少到原始数量。例如,连接后产生了512x2=1024个特征图,卷积层将其减少到512个。

在上采样的过程中,使用2x2核、步幅为2的上采样层。卷积层再次采用3x3的核和步幅为1,接着使用ReLU激活。

每一步在扩展路径中都包含特征图的上采样操作,然后进行2x2卷积(“上卷积”),这将特征通道的数量减半,接着与从压缩路径中相应裁剪的特征图进行拼接,并进行两次3x3卷积,每次卷积后都跟着ReLU。(…) 在最终层使用1x1卷积将每个64维特征向量映射到所需的输出类别数。

出处:Ronneberger等人(2015)

这意味着最终你会得到一个上采样的图像,初始特征图的数量不变。根据你的问题——例如,二分类问题——现在则用一个1x1的卷积核来减少特征图的数量。宽度和高度保持不变,但特征图的数量随后减少到例如2。

这当然可以跟随一个Softmax激活函数(既可以作为一个独立的层,也可以更倾向于推到损失函数中),并通过分类的交叉熵损失来训练你的图像分割模型的分类任务。如果你想使用U-Net进行回归,我们将不使用Softmax,而是让输出为线性形式,通常输出一个特征图(feature map)。在回归场景中,MSE和MAE等损失函数是很好的起点。

跳过连接:

现在我们已经理解了收缩路径和扩张路径,是时候更详细地探讨U-Nets的最后一个核心要素了。虽然上一节中已经简要提到,但理解到底发生了什么跳过链接部分非常重要。

回想一下关于收缩路径的部分,除了最后一个层级外,每个层级都会生成跳跃连接。确实,从图中可以看到,跳跃连接从四个上层的收缩层级产生,而最后一个层级(作为U的底部)则不会生成跳跃连接。

U形底部的跳过连接(灰色)。请注意,最后一层没有跳过连接。参照了Ronneberger等人(2015)的工作。

这些跳过连接随后会在U形结构另一端的扩展层中再次被使用。不过需要注意的是,在原始的U-Net设置里,跳过连接的特征图宽度和高度实际上大于上采样输入的宽度和高度。换句话说,如果你要构建U-Net,你无法直接将它们拼接在一起。

在他们的工作中,Ronneberger等人(2015)通过从跳过连接中取中心裁切解决了这个问题——裁剪的大小与上采样输入的大小一致。比如说,如果你的跳过连接具有136x136像素的特征图,而上采样输入的大小为104x104像素,那么136x136像素的图像将被裁切成104x104像素,通过从四边各移除(136–104)/2像素。现在,两者就可以拼接了。

由于每次卷积都会丢失边缘像素,因此需要裁剪。

Ronneberger等人 (2015)

U-Net 在很大程度上受益于跳过连接,因为它们将特定层级的信息从收缩路径传递到扩张路径。想想这个门的例子:如果你要走过成千上万的门,你可以盲目地走过去,但可能会走很多弯路——需要很长时间才能找到正确的方向。如果你有指引,你可能会偶尔判断失误,但可以更快找到正确的门。

一个小提示:现代U-Net中的不同主干网络

多年来,我们已经讨论了 Ronneberger 等人在他们最初的工作中是如何实现 U-Net 架构的。多年来,许多人使用了不同的 U-Net 设置,包括在 ImageNet 上预训练,然后调整到他们特定的图像分割任务。比如,他们会在 ImageNet 上进行预训练,然后微调到他们特定的图像分割任务。

这意味着,今天你可能会使用一个不再采用最初提出的架构的U-Net——但它依然是一个不错的起点,因为收缩路径、扩张路径和跳跃连接仍然保持不变。

如今,U-Net 架构常用的骨干网络包括 ResNet、ResNeXt、EfficientNet 和 DenseNet。这些网络通常已在 ImageNet 数据集上进行了预训练,因此已经掌握了大量常见特征。通过使用这些预训练权重初始化的骨干U-Net,你可以更快地在分割任务上达到收敛。

U-Net在现代的机器学习中的应用案例:

U-Net架构在机器学习领域中仍然非常重要且相关,特别是在图像处理和计算机视觉的应用中。它最初设计用于生物医学图像分割任务,因为它在需要精确定位的任务中表现出色,因此已被广泛应用于各种领域,例如:

1. 医学影像:
  • U-Net 通常用于医学图像分割中的任务,尤其是在肿瘤检测、器官分割和细胞追踪等特定任务中。它能够生成像素级的分割,非常适合需要高精度的医学应用。
2. 卫星图像分割。
  • U-Net模型用于分析卫星图像,比如土地覆盖分类、识别航空影像中的物体等等,以监测环境变迁。
3: 无人驾驶
  • 在自动驾驶汽车领域,U-Net 经常用来进行路面分割、车道检测和障碍物识别。其精确的细节捕捉能力对于确保行车安全非常重要。
4. 内容创作及恢复:
  • U-Net也被用于图像到图像的转换任务,比如超分辨率、去噪和修补。
5. 三维图像处理:
  • U-Net的各种变体已经被开发来处理3D数据,在体积医学影像和3D点云处理等应用领域尤其重要。
6. 分段

由于其能生成精确的输出掩膜并处理大尺寸输入,U-Net 在通用分割任务中仍然是一个常用架构。

为什么 U-Net 至今仍然有用?
  • 跳过连接:在U-Net的收缩路径(编码器)和扩展路径(解码器)之间的跳过连接有助于保留下采样过程中可能丢失的空间信息。这种结构有助于保留高质量的精细分割。
  • 灵活性:U-Net具有灵活性,可以根据不同应用场景进行调整,如3D U-Net、注意力U-Net、ResUNet等。
  • 性能:即使不断有新的架构出现,U-Net依然能够提供具有竞争力的性能,尤其是在医学成像等分割应用中。

总而言之,U-Net 在机器学习中仍然非常相关,并且仍然是处理分割任务的优秀选择。其灵活性和可靠的性能使它成为许多现代应用中的常用模型。

希望你从今天的帖子中学到了一些东西。在下一篇帖子中,我们将探讨如何用TensorFlow和Keras实现U-Net。欢迎随时提出任何评论、建议或问题。感谢您的关注与阅读。

参考文献

Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). ImageNet图像分类的深度卷积神经网络。 神经信息处理系统年会 , 25 , 1097–1105.

Ronneberger, O., Fischer, P., & Brox, T. (2015, October). U-net: 用于生物医学图像分割的卷积网络. 于 国际医学图像计算与干预大会 (pp. 234–241). Springer出版社, Cham.

Parkhi, O. M., Vedaldi, A., Zisserman, A., & Jawahar, C. V. (2012, 6月). 猫和狗分类。2012 年 IEEE 计算机视觉与模式识别会议论文集 中 (第 3498–3505 页)

来自AI的讯息

感谢你成为我们社区的一员!在您离开前:,

點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消