
“深度人工智能”是成都深度智谷科技旗下的人工智能教育机构订阅号,主要分享人工智能的基础知识、技术发展、学习经验等。此外,订阅号还为大家提供了人工智能的培训学习服务和人工智能证书的报考服务,欢迎大家前来咨询,实现自己的AI梦!
本文内容承接 图像分割技术综述(一),从基于阈值的方法、基于边缘检测的方法、基于区域的方法、基于图论的方法、基于聚类的方法之后,简要介绍了基于深度学习的方法、基于模型的方法,以及组合图像分割方法。
六、基于深度学习的方法
1、FCN:Fully Convolutional Networks
全卷积网络(Fully Convolutional Networks,简称FCN)是一种专门为图像分割任务设计的深度学习模型。与传统的卷积神经网络(CNN)不同,FCN完全由卷积层和池化层组成,去除了全连接层,从而能够处理任意大小的输入图像,并输出与输入图像具有相同空间维度的像素级预测结果。这种设计使得FCN在语义分割、实例分割等多个图像分割任务中表现出色,成为现代计算机视觉领域的重要工具。
FCN的工作原理基于编码器-解码器架构。编码器部分通过一系列卷积层和池化层提取图像的高层次特征,逐渐降低空间分辨率;解码器部分则通过反卷积层(也称为转置卷积层)或上采样操作恢复空间分辨率,最终输出与输入图像尺寸相同的分割图。为了保留更多的低层次细节信息,FCN引入了跳跃连接(Skip Connections),将编码器阶段的低分辨率特征图与解码器阶段的高分辨率特征图进行融合,这有助于改善分割边界的质量。

卷积层不仅用于特征提取,还替代了传统CNN中的全连接层,使得FCN可以接受任意大小的输入图像。在解码器部分,使用反卷积层或双线性插值等方法来逐步恢复空间分辨率。常用的损失函数是像素级交叉熵损失,它衡量每个像素点的真实标签和预测标签之间的差异。通过最小化这个损失函数,模型可以学习到更好的分割能力。训练过程中,FCN可以通过端到端的方式进行训练,即从原始图像直接生成分割图,自动调整权重以优化损失函数。
FCN在多种图像处理和计算机视觉任务中都有广泛的应用,包括语义分割、实例分割、医学图像分割和遥感图像分割等。在语义分割中,FCN可以用于将图像中的每个像素分配给预定义的类别之一,例如在自动驾驶中识别道路、车辆、行人等。通过结合其他技术(如Mask R-CNN),FCN还可以用于区分同一类别中的不同实例,在同一张图像中分离多个行人。在医学图像处理中,FCN可以用于检测和分割特定的组织或器官,如肿瘤、血管等。在遥感图像分析中,FCN可以用于识别地物类型,如建筑物、森林、水域等。

尽管FCN具有许多优点,但也存在一些局限性。首先,FCN的训练和推理过程需要大量的计算资源,特别是对于高分辨率图像。其次,如果训练数据不足,FCN容易过拟合,导致泛化能力下降。此外,FCN在处理小目标时可能表现不佳,因为下采样操作会导致小目标的信息丢失。最后,FCN依赖高质量的标注数据进行训练,获取这些数据的成本较高。
2、U-Net系列
U-Net 是一种专门为医学图像分割任务设计的卷积神经网络架构,最初由 Ronneberger 等人在2015年提出。它在处理生物医学图像(如细胞、组织切片等)时表现出色,能够生成高精度的像素级分割结果。U-Net 的名字来源于其独特的网络结构,形似字母“U”,包含一个收缩路径(编码器)和一个扩展路径(解码器),并通过跳跃连接(skip connections)将两者连接起来。
具体工作原理如下:U-Net 的收缩路径通过一系列卷积层和最大池化层提取图像的高层次特征,逐步降低空间分辨率。每个阶段通常包括两个3x3的卷积层,后接一个2x2的最大池化层用于下采样。而扩展路径则通过反卷积层(转置卷积层)或上采样操作恢复空间分辨率。每个阶段同样包括两个3x3的卷积层,后接一个2x2的反卷积层用于上采样。

为了保留更多的低层次细节信息,U-Net 引入了跳跃连接,将收缩路径中的低分辨率特征图与扩展路径中的高分辨率特征图进行融合。这有助于改善分割边界的质量,并减少因下采样而丢失的信息。卷积层主要用于特征提取,每个卷积层后面通常接有一个ReLU激活函数以引入非线性。在网络的最后,使用一个1x1的卷积层将特征图映射到所需的类别数,并通常接一个softmax或sigmoid激活函数用于多分类或多标签分类任务。
常用的损失函数是像素级交叉熵损失,衡量每个像素点的真实标签和预测标签之间的差异。U-Net 可以通过端到端的方式进行训练,即从原始图像直接生成分割图。训练过程中,模型会自动调整权重以优化损失函数。由于医学图像数据集通常较小,U-Net 经常使用预训练模型或数据增强技术来提高泛化能力。

U-Net模型衍生出了一系列的相关改进版本,包括U-Net++、U-Net3+ 和 U²-Net等模型,它们在不同的方面进行了优化,以提升分割性能和效率。
U-Net++ 是对原始 U-Net 的一种改进,旨在解决传统 U-Net 中存在的问题,如梯度消失和特征重用不足。它引入了密集的跳跃连接,不仅连接了编码器和解码器之间的相应层,而且在同一侧的不同层级之间也建立了联系。这种设计增强了特征的重复利用,促进了信息流动,从而提高了分割精度。

U-Net3+ 进一步深化了这一概念,除了保持 U-Net++ 的特性外,还添加了跨尺度的跳跃连接(Cross-scale skip connections)。这意味着在解码器阶段,每个解码层都会接收到来自所有编码层的信息。此结构加强了不同尺度特征的融合,有助于改善小目标检测的效果,并且可以更好地处理多尺度的对象。此外,U-Net3+ 采用了渐进式上采样策略来减少计算量和内存消耗。

U²-Net 或者 R2U-Net(Recurrent Residual U-Net)则是在 U-Net 结构的基础上加入了递归卷积块(Recurrent convolutional blocks),即在标准卷积层之后添加了循环机制,允许信息在同一个尺度内多次传递。这样的设计有助于捕捉更丰富的空间依赖关系,特别适合于需要精细分割的任务。此外,U²-Net 引入了残差学习的概念,通过跳过连接加速训练过程,提高模型的稳定性。

最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



