admin管理员组

文章数量:1663030

SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation

  • 1. SegNet——《SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation》
  • 2. DeconvNet——《Learning Deconvolution Network for Semantic Segmentation》(ICCV 2015)

1. SegNet——《SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation》

  • 标题:SegNet:一种用于图像分割的深度卷积编码器-解码器结构

  • 论文:https://arxiv/pdf/1807.10221v1.pdf

  • 代码:

    • https://github/CSAILVision/unifiedparsing(office)
    • https://github/CSAILVision/semantic-segmentation-pytorch
  • 研究成果及意义

    • 在内存(参数)和准确率之间找到了很好的平衡点
    • 将编码解码结构普适化
    • 在多个场景数据集(道路、室内)中均取得了很好的结果
  • 摘要:

    • 算法结构:提出了SegNet网络,其核心的训练引擎包含一个Encoder网络(采用VGG16,移除全连接层 ,和FCN一样),和一个对称的Decoder网络,即编码器-解码器结构,并跟随一个用于pixel-wise的分类层
    • 文章亮点Decoder上采样的方式:与Encoder对称,通过Encoder在经过最大池化时保留的polling index 进行非线性上采样(反池化),反池化对保留边界信息有利
    • 比较结果:通过比较SegNetFCNDeepLab-LargeFOV , DenconvNet结构,统筹内存与准确率,Segnet实现了良好的分割效果
    • 模型评估:在Camvid (道路场景)和SUN RGB-D indoor (室内场景)数据集中均有评测,评价指标提出了在mIoU 上增加F1BF
  • 引言(设计宗旨)

    • 近期的许多语义分割研究采用DNN , 但是结果比较粗糙, 主要原因是max-poolingsub-sampling降低了特征图的分辨率
    • 道路场景理解需要算法具有appearance外形、shape形状 和理解空间关系(上下文) 的能力。由于是道路场景,因此需要网络能够产生光滑的分割,网络也必须有能力勾画出小尺寸的物体。因此在提取图片特征过程中保留边界信息(boundary localization )很重要
    • 重用max-pooling indices 的优点 :提高边界勾画;减少了进行端到端训练的参数;这种上采样形式可以被集成到任何encoder-decoder 架构的网络中
    • 典型的道路场景,对小目标边缘信息保留多些,这样才可以刻画的准确点
    • Pascal VOC 数据集中有少数ForegroundBackground 有明显区分,这让一些投机者可以使用类 似于边缘检测来刷分数。因此本文使用了CamvidSunRGBD 这两个数据集,而不是用PascalVOC 数据集
    • 场景理解希望模型能够自动识别背景,所以DCNNs (《 Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFS》)用CRF (Conditional random field)后处理方式不符合这个理念,场景理解要设计一个端到端的网络
  • FCN的缺点 :

    • 忽略了高分辨率的特征图,会导致边缘信息的丢失
    • FCN编码器网络中有大量的参数(124M),但解码器网络非常小(0.5M)(其实,大部分模型编码器都差不多,主要改进在解码器);FCN32s 效果很差,所以SegNet采用阶段性的训练过程,即先得到32s ,效果不好,则32s 和上一层解码器结合得到16s ,再看效果,直到没有进一步的性能提升

SegNet是在DeconvNet基础上提出的,所以随便说一下DeconvNet

2. DeconvNet——《Learning Deconvolution Network for Semantic Segmentation》(ICCV 2015)

  • 标题:学习反卷积网络的语义分割
  • 论文:https://arxiv/abs/2103.09460
  • 代码:https://github/megvii-model/YOLOF
  • 文章结构布局很好,值得参考
  • 摘要:
    • 算法结构:提出了深度反卷积网络,编码部分使用VGG-16卷积层进行学习,解码器部分使用反卷积与反池化层进行上采样(SegNet只用了反池化层)

      图中,中间是两个全连接,在Decoder 部门用的反卷积(黑色方块,因为在做完Unpooling 之后,特征图虽然变大了,但是是比较稀疏的,需要通过卷积将特征密集化,而作者认为反卷积生成密集预测图比卷积能力更强,这也是和SegNet 的区别)

    • 文章亮点:由反卷积(deconvolution) 和上采样unpooling layers 组成上采样组件,逐像素分类完成预测

    • 特殊方式 :将object proposal(edge box) 送入训练后的网络,整幅图像是这些proposal分割结果的组合,这样就可以解决物体太大(感受野不够大)或者太小(周围多余信息的干扰)所带来的分割问题,改进了现存的基于FCN的方法(也就加入了人工的后处理,所以不是很流行,SegNet的端到端方式更流行)

    • 模型评估:算法能识别图像中的精细结构以及不同尺度大小的目标,在PASCAL VOC 2012 数据集中取得了72.5的准确率

  • 引言
    • FCN中Decoder对输入特征图,用双线性插值初始化,然后用反卷积做上采样,并将其与相应的编码器特征图组合,以产生下一个Encoder的输入
    • FCN由于感受野大小固定,当感受野小于大物体,导致错分;小物体会被当成背景而被忽略;其他论文用跳跃连接(skip architecture )来解决,有效果,但是融合特征的方式不是处理感受野的根本办法

本文标签: ConvolutionalEncoderSegNetDeepImage