• SegNet & DeconvNet——论文阅读


    一、DeconvNet

    1、提出背景

    此前的语义分割方法主要基于全卷积网络 (Fully Convolutional Networks, FCN),这种方法通过卷积层逐渐下采样并生成粗略的标签映射,随后用双线性插值或条件随机场 (CRF) 进行细化。然而,FCN 存在两个主要问题:

    • 尺度不一致:FCN 使用固定大小的感受野,导致难以捕捉到大小相差悬殊的物体,较大的物体会被切割成不一致的部分,较小的物体可能被忽略。
    • 细节损失:FCN 生成的标签图较为粗糙,导致物体的边缘细节难以恢复。

    DeconvNet 引入了逆卷积网络 (Deconvolution Network),旨在解决上述问题,以实现更加精细的语义分割效果

    2、模型设计

    (1)整体架构

    如上图,展示了整个深度网络的详细配置。我们训练的网络由卷积网络和反卷积网络两部分组成。卷积网络对应于将输入图像转换为多维特征表示的特征提取器,而反卷积网络是一个形状生成器,从卷积网络提取的特征中产生对象分割。网络的最终输出是一个与输入图像大小相同的概率图,表示每个像素属于预定义类之一的概率。

    (2)Unpooling

    在卷积过程中,池化会导致空间信息丢失。DeconvNet 通过记录池化位置,并在反池化层中还原激活的空间位置,恢复细节。

    (3)Deconvolution

    通过卷积反向操作,将稀疏的激活映射变为密集的输出。逆卷积的层次结构捕捉不同级别的细节,底层层次关注物体的粗略形状,高层则关注特定类别的细节信息。

    3、优缺点

    (1)优点:

    • 细节保留:通过逆卷积和反池化操作,DeconvNet 能够逐层重建物体的细节结构,相较于 FCN 有显著提升。
    • 多尺度处理:通过对每个对象候选区域单独处理,DeconvNet 能够自适应多尺度物体,不受固定感受野的限制。
    • 优异表现:在 PASCAL VOC 2012 数据集上,该模型的性能超越了多数不使用外部数据的模型,与 FCN 的集成提升了整体分割精度。

    (2)缺点:

    • 计算复杂度高:DeconvNet 的双网络结构使其计算复杂度较高,对硬件资源要求较大。
    • 依赖候选区域:由于使用候选区域进行实例级分割,依赖物体检测的准确性,可能会导致误检或漏检的情况。
    • 训练数据量需求高:为了优化深层模型,模型设计了批归一化和分阶段训练策略,但仍对数据量较为依赖​(DeconvNet)。

    总的来说,DeconvNet 在解决 FCN 缺点的基础上,通过逆卷积网络结构在语义分割任务上取得了显著的效果。

    二、SegNet

    1、提出背景

    SegNet旨在处理语义分割任务中的像素级标注。传统的图像分类网络在语义分割任务中表现较差,因为图像经过多次下采样后,分辨率降低,细节信息丢失,从而导致边界模糊。SegNet 主要针对这些问题,通过引入编码器-解码器结构实现更精确的边界定位,特别适用于场景理解等应用需求​

    2、模型设计

    SegNet 的核心是一个编码器-解码器架构,分为三个主要部分:编码器、解码器和像素级分类层。

    • 编码器:采用与 VGG16 网络类似的架构,由 13 层卷积层组成,用于提取特征。编码器执行最大池化操作以降低空间分辨率并增强特征的语义信息。
    • 解码器:每个解码器层与相应的编码器层相匹配,通过编码器的池化索引进行非线性上采样,从而复原分辨率。在解码过程中,上采样后的稀疏特征图通过卷积操作变为密集特征图,以便进行像素级分类。与其他解码器不同,SegNet 的解码器无需学习上采样过程。
    • 分类层:最终解码器输出的特征图被送入 softmax 分类器,为每个像素提供类别概率,从而实现精确的像素分类。

    3、优缺点

    (1)优点:

    • 边界精度:通过保留编码器的池化索引,SegNet 能更好地恢复边界细节,提高物体边缘的精确性。
    • 内存效率:由于仅存储池化索引而非特征图,SegNet 在推理过程中节省了大量内存,非常适合嵌入式应用。
    • 模型轻量:相比其他包含全连接层的网络,SegNet 大幅减少了参数数量(从 VGG16 的 134M 降至 14.7M),因此更易于训练和部署。

    (2)缺点:

    • 缺乏多尺度信息:SegNet 的解码方式在处理复杂多尺度物体时表现欠佳,因为编码特征在多次池化后可能丢失细节。
    • 边界细节依赖池化索引:虽然 SegNet 通过池化索引恢复细节,但与完整的特征图相比,其重建的细节不够丰富。
    • 计算资源需求高:虽然 SegNet 在内存上具备优势,但依然需要较高的计算资源,尤其是在大数据集上的训练​。

    总的来说,SegNet 提供了一种高效、实用的语义分割解决方案,适用于需要精准边界细分且计算资源受限的场景,如自动驾驶和增强现实等。

    三、SegNet 在 DeconvNet 上有哪些改进?

    SegNet 在 DeconvNet 基础上优化了内存和计算需求,通过复用池化索引的上采样方法显著提升了边界细节的保留能力,并且更易于在端到端训练中获得良好性能,非常适合对效率和内存有要求的应用。

  • 相关阅读:
    Nlog&Prism&WPF
    Windows10上使用llama-recipes(LoRA)来对llama-2-7b做fine-tune
    一维数组、二维数组学习内容
    变量的赋值和更新
    存储器~Zynq book第九章
    最新Cocos Creator 3.x 如何动态修改3D物体的透明度
    ubuntu中如何用docker下载华为opengauss数据库(超简单)
    【离网逆变器】离网逆变器型号由一个高频DC-DC升压转换器与全桥PI控制电压源逆变器级联组成、逆变器使用带LC滤波器的SPWM调制(Simulink)
    数据结构(C语言版)01
    [A-04] ARMv8/ARMv9-Cache的相关策略
  • 原文地址:https://blog.csdn.net/qq_55009448/article/details/143300369