图像分割 II(Image Segmentation II)

Segmentation as classification

像素分类(Pixel classification)

作为分类问题的图像分割。给定一个窗口(NxN 个像素),对中心像素进行分类。

分类单个像素可能非常慢(例如,一张小图片 = 600 x 800 = 480,000 像素)

但是 CNN 可以并行分类多个像素。

全卷积网络(Fully-convolutional network)

全卷积网络(FCN)只有卷积层,没有全连接层。最后一层是一个空间映射图。可以接受任何尺寸的图像作为输入,输出映射图的大小取决于输入大小。

并行补丁分类(Parallel patch classification)

标准的 CNN 架构存在两个问题:

  1. Receptive field 大小与卷积层的数量成线性关系
  • 缺点
  • 局部性丢失:CNN的一大优点是能够捕捉局部特征,如边缘、角点等。随着感受野的增大,局部信息可能被稀释,从而降低网络对细节的敏感度。
  • 过多的上下文信息:可能会引起混淆导致性能下降。
  • 计算复杂度增大
  1. 大多数方法使用下采样 downsample(例如,最大池华)来减少计算量

感受野 Receptive field 定义:卷积神经网络每一层输出的特征图(feature map)上的像素点映射回输入图像上的区域大小。通俗点的解释是,特征图上一点,相对于原图的大小,也是卷积神经网络特征所能看到输入图像的区域。

随着卷积核的增多(即网络的加深),感受野会越来越大。

解决方案:使用编码器 - 解码器结构。 编码器对图像进行下采样(downsamples), 解码器进行上采样(upsamples)

下采样(Downsampling)

  • 主要用于缩小图像
  • 使得图像符合显示区域的大小
  • 特征提取:通过卷积层和池化层,网络可以从原始图像中提取更抽象、更高层次的特征。

上采样(Upsampleing)

  • 主要用于放大原图像
  • 空间分辨率恢复
  • 细节和局部信息的恢复

我们可以避免maxpoolig,但是这样会让网络速度变慢,也无法解决第一个问题。

上采样(Upsampling)


每一个上采样层都与一个下采样层配对。 最大值的位置被保存并传递给上采样器。

转置卷积(Transposed convolution)

步长(stride)> 1 的卷积是一种下采样形式

  • 例如,步长 = 2 意味着在输入中每移动1像素,滤波器在输出中移动2像素
  • 可学习的下采样 (Learnable downsampling)

当两个放大的卷积核相交时,会在重叠的像素上求和。

示例

Note:因为第三格是重叠的部分,所以可以进行相加。

转置卷积的矩阵表示

1x1 卷积层

它的特点是可以在不改变空间维度(即图像的宽度和高度)的情况下,改变通道数

应用场景

1x1 卷积通常作为全链接网络的最后几层出现。全连接层能够学习特征之间的非空间(全局)关系,但参数数量比较多,计算复杂度和过拟合风险比较高。使用 1x1 卷积可以减少参数数量,同时保留网络的深度。

学习的内容

1x1 卷积层通常用于在不同层次的特征图间进行信息融合,调整通道数目,实现跨通道的特征交互,同时也用于降低特征维度,减少计算量。这些卷积核可以学习如何在各个通道间进行有效的特征整合。

如图,最后一个是一个 1x1 的卷积层,步长为 1,这一层保持了空间尺寸不变,但改变了通道数到 100。

损失函数

在每个像素点上,计算预测的类别和真实类别之间的交叉熵 cross-entropy损失值。

结果

随着步长缩短,我们可以看到分割的质量变得更好。

小结

语义分割可以被看作是一个像素分类(pixel classification)问题。这可以通过全卷积网络来高效完成。

编码器 - 解码器架构:

  • 通过最大池化、步长卷积来下采样
  • 通过最大反池化、转置卷积来上采样

输出结果为每个像素的标签。

U-Net

最初是为医学图像分割提出的。是编解码器(encoder-decoder)结构,加上一些额外的功能特性。

架构

在解码器中,上采样的特征图与对应编码器层的原始特征进行了拼接。

对于细胞分割,U-Net只使用两个类别,并采用加权交叉熵损失(weighted cross-entropy loss):细胞之间的边缘具有更高的权重。

小结

U-Net:用于分割的全卷积网络,带有一些修改。最初用于医学图像分析,但也常用于其他分割任务。

同时也被用作其他任务的编码-解码(encoding-decoding)网络,如:

  • 图像去噪
  • 图像修复

实例分割(Instance segmentation)

语义分割对像素进行分类,但不区分不同的实例。

不是给每个像素打上实例标签,而是提取图像中可能是独立实例的区域块。在每个区域块内进行分割。

Instead of giving each pixel an instance label, extract patches of image that are likely to be separate instances. Do segmentation within each patch.

常用的架构是 Mask R-CNN。

Note: Stuff 和 things

视觉场景包含"物体(things)"和"材质(stuff)"两个部分。

  • "Things" = objects, "可数名词(countable nouns)" (cow, person, car)
  • "Stuff" = regions/materials, "不可数名词(mass nouns)" (road, grass)
  • 有些类别可能即使 thing 也是 stuff。(tree)

实例分割(以及计算机视觉领域通常)主要关注"物体(things)"。

R-CNN:

  • R-CNN 指的是基于区域(Region-based) 的卷积神经网络。
  • 它有效地提取"感兴趣区域 regions of interest"(很可能包含物体的图像区块)进行进一步处理。

Mask R-CNN

  • Mask R-CNN将通过R-CNN提取的图像区块送入一个完全卷积网络(FCN)。
  • FCN预测一个二值分割掩码 (binary segmentation mask),区分"对象"或"背景"。

结果

小结

  • 实例分割为同一类的每个实例赋予独立的标签(instance of a class),不仅仅是类别标签(class labels)。
  • 通常只适用于可数的"物体(things)"类别。
  • 典型的方法是先检测出物体的区块,然后在这些区块内进行二值分割(binary segmentation)。

小结

全卷积网络(FCN)的优点:

  • 更能够处理非常复杂的对象/背景。
  • 对于它们训练的类别,可能会给出更好的结果。

全卷积网络(FCN)的缺点:

  • 在捕捉精确的边界细节方面可能表现得较差。
  • 可能无法泛化到训练集之外的类别。
相关推荐
ZPC82108 小时前
fanuc 机器人通过PR寄存器实现轨迹控制
人工智能·算法·计算机视觉·机器人
AI人工智能+11 小时前
文档抽取系统结合OCR技术与大语言模型,有效解决档案数字化与知识化利用之间的矛盾
人工智能·计算机视觉·ocr·文档抽取
深度学习lover11 小时前
<数据集>yolo 焊接缺陷识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·焊接缺陷检测
军军君0111 小时前
【人工智能/AI】项目实战二:AI视频生成产品汇总(非完全)
图像处理·人工智能·计算机视觉·ai作画·视觉检测·文心一言
一休哥※12 小时前
YOLOv11改进系列 | 引入EMO ICCV2023的C3k2_iRMB模块,轻量注意力残差混合块增强C3k2,多尺度分割更稳更准
深度学习·yolo·计算机视觉
森诺Alyson13 小时前
前沿技术借鉴研讨-2026.4.16(视觉语言模型/医学影像文本多模态对齐)
论文阅读·人工智能·经验分享·计算机视觉·语言模型
jay神14 小时前
鸟类识别数据集 - CUB_200
人工智能·深度学习·目标检测·计算机视觉·目标跟踪·毕业设计
yong999015 小时前
基于直方图优化的图像去雾技术MATLAB实现
人工智能·计算机视觉·matlab
QQ6765800815 小时前
智慧工地物料堆积识别 工地钢筋木材图像识别 工地砖块目标检测 建筑物大理石图像识别 建筑物工地材料识别 物料堆积识别10349期
人工智能·目标检测·计算机视觉·工地物料堆积·工地钢筋木材图像识别·工地砖块目标检测·建筑物大理石图像
佳木逢钺17 小时前
Kalibr 完全指南:从原理推导到ROS实战,掌握相机-IMU高精度标定
人工智能·计算机视觉·ros·无人机