语义分割模型总结

之前看了一段时间OoD在语义分割中的应用,并且学习了一些基本的语义分割模型,总结记录

语义分割

语义分割一直存着语义信息和细节信息的矛盾。语义信息足够,局部细节信息不足,细节就会模糊,边缘就会不精准;细节信息准确,语义信息欠缺,像素点预测就会错误。CNN能够很好地编码语义信息和细节信息,整合到一个局部到全局的特征金字塔中。

FCN

FCN (FCN:Fully Convolutional Networks )

  1. FCN发布于2014年,是语义分割领域全卷积网络的开山之作,U-Net也在其之后
  2. 其主要思路是将图像分类的网络改良成语义分割的网络,通过将分类器(全连接层)变成上采样层来恢复特征图的尺寸,进行端到端训练
  3. 分类器变成上采样,这部分思想作者主要的解释是全连接层是一种特殊的卷积
  4. 选择了AlexNet、GoogLeNet和VGG作为backbone(主干网络),VGG效果最好,但是推理最慢

1)插值:双线性插值;(2)转置卷积(反卷积);(3)反池化。上小节的“Shift-and-stitch”也是。文章用了双线性插值初始化的转置卷积。

最核心的思想是特征图的融合:假设最后的输出为pool5产生的x,利用转置卷积上采样,放大32倍,得到FCN-32s;将x上采样放大2倍,和pool4产生的特征图直接相加,再上采样放大16倍,得到FCN-16s;将FCN-16s进行上采样放大2倍,与pool3产生的特征图直接相加,在放大8倍,得到FCN-8s。在实验中,FCN-8s的效果最好

img

Unet
  1. U-Net发表于2015年,用于医学细胞分割
  2. 编码器-解码器架构,四次下采样(maxpooling),四次上采样(转置卷积),形成了U型结构
  3. U-Net最核心的一个思想是特征图的拼接
  4. 可以应对小样本的数据集进行较快、有效地分割,能够泛化到很多应用场景中去

img

在在上采样的过程中会丢失部分语义特征,通过拼接的方式,可以恢复部分的语义信息,从而保证分割的精度。

SegNet(实时语义分割)

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

SegNet发布于2015年,使用编码器-解码器结构

其backbone是2个VGG16,去掉全连接层(13层),对应形成编码器-解码器架构

最核心的想法是提出了maxpool的索引来上采样的方法,从而免去了学习上采样的需要,在推理阶段节省了内存

作者说道这个idea是来自于无监督特征学习。在解码器中重新使用编码器池化时的索引下标有这么几个优点:1. 能改善边缘的情况;2. 减少了模型的参数;3. 这种能容易就能整合到任何的编码器-解码器结构中,只需要稍稍改动

文章采用的数据集是CamVid road scene segmentation 和 SUN RGB-D indoor scene segmentation。之所以不用主流的Pascal VOC12,是因为作者认为VOC12的背景太不相同了,所以可能分割起来比较容易

总得来说,SegNet的性能比较一般,不如同时期的DeepLab v1,但是因为它只存储特征映射的maxpool索引,所以最推理阶段内存占用少,更为高效。

img

Deeplab v1(VGG16)

Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs

出发点:

  1. 弥补池化带来的信息丢失
  2. 像素之间的概率关系并没有被考虑

DCNN应用在语义分割上主要有两个问题:下采样和空间不变性

在下采样上,现在几乎所有的DCNN都会使用max-pooling来进行下采样,这导致了分辨率的降低,从而引起了细节信息的丢失。本文提出了空洞卷积(‘atrous’ with holes algorithm)来解决这个问题。

在空间不变性上,作者谈到限制DCNN空间准确率一个原因是从分类器获得以对象为中心的决策需要空间变换的不变性。为了提高模型捕捉细节的能力,模型使用了全连接条件随机场(fully-connected CRF)。

如何改善?

  • 空洞卷积(dilated convolution)

增加reception field(感受野),参数dilation rate(kernel的间隔数),下图原始卷积核的dilation rate = 1,第二张图dilation rate = 2

max-pooling会降低特征图的分辨率,而利用反卷积等上采样方法会增加时空复杂度,也比较粗糙,因此利用空洞卷积来扩大感受野,相当于下采样-卷积-上采样的过程被一次空洞卷积所取代。值得一提的是,文中并没有详细讲解空洞卷积,网络结构基本是VGG16拿到全连接层换上空洞卷积

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wTGsI7tK-1649127367454)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211206144938915.png)]

感受野

The receptive field is defined as the region in the input space that a particular CNN’s feature is looking at (i.e. be affected by).

在卷积神经网络中,感受野的定义是 卷积神经网络每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vIn5jfn1-1649127684946)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220223205530203.png)]

原始输入为5,stride = 2, padding = 1, kernel = 3, 则第一层输出大小为3x3, 感受野为3, 第二层输出大小为2x2,感受野为7

感受野计算公式:
R j = R j − 1 + (

  • 5
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值