【读点论文】deeplabv1-v3系列对比,简单回顾

  • Deeplab系列针对的是语义分割任务。对于语义分割任务要求:

    • 语义分割是对图像做密集的分割任务,分割每个像素到指定的类别上;
    • 将图像分割成几个有意义的目标;
    • 给对象分配指定的类别标签。
  • 在传统的语义分割问题上,存在的三个挑战:

    • 传统分类CNN中连续的池化和降采样导致空间分辨率下降
      • 由于语义分割是像素级别的分类,高度抽象的空间特征对low-level并不适用,因此必须要考虑feature map 的尺寸和空间不变性。
      • feature map变小是因为stride的存在,stride>1是为了增加感受野的,如果stride=1,要保证相同的感受野,则必须是卷积核大小变大,因此,deeplabv1论文使用hole算法来增加核大小进而达到相同的感受野,也就是空洞卷积。
      • 图像输入CNN后是一个逐步抽象的过程,原来的位置信息随着深度而减少甚至消失条件随机场在传统图像处理上做一个平滑,也就是说在决定一个位置的像素值时,能够考虑周围邻居的像素值,消除一些噪音。
      • 具体的操作为:移除原网络最后两个池化层,使用rate=2的空洞卷积采样。
    • 对象对尺度检测问题,使用重新调节尺度并聚合特征图,但是计算量较大。
    • 以物体为中心的分类,需要保证空间转换不变性。
  • 链接:https://www.jianshu.com/p/9184455a4bd3
    
  • ASPP结构

    • SPP:Spatial Pyramid Pooling-何凯明

      • 要求:在R-CNN中需要固定输入图片的尺寸,因为卷积层后面的全连接层的结构是固定的。
      • 实况:但在现实中,我们的输入的图像尺寸总是不能满足输入时要求的大小,然而通常的手法就是裁剪(crop)和拉伸(warp),但这样做总归是不好的,其扭曲了原始的特征。
      • 方案:SPP层通过将候选区的特征图划分为多个不同尺寸的网格,然后对每个网格内都做最大池化,这样依旧可以让后面的全连接层得到固定的输入。
      • 应用:Fast-RCNN中的ROI pooling层实际上就是一种特殊的spatial pyramid pooling,它们思想是类似的,只是ROI pooling只用一种尺寸的网格来池化,而spatial pyramid pooling同时用了多种尺寸的网格。
    • PPM:Pyramid Pooling Module

      • 定位:是PSPNet中提出的一个模块,PSPNET是用于语义分割的一个网络。
      • 问题:一般来说网络越深感受野越大(resceptive field),但是理论上的感受野和实际网络中的感受野还是有差距的(实际的感受野小于理论的感受野),这使得网络无法有效的融合全局特征信息
      • 发现:GAP(Global Average Pooling,全局平均池化)能够有效的融合全局上下文信息,但是其对信息的融合和提取能力有限,而且简单的使用GAP将信息压缩为一个通道很容易损失很多有用的信息,因此将不同感受野的特征和子区域的特征融合可以增强特征表征能力
      • 方案:PPM模块,从前面网络中提取出的特征图分成两个分支,一个分支分为多个子区域进行GAP(这与PSP模块中的结构类似),接着用1*1的卷积调整通道大小,再通过双线性插值获得未池化前的大小,最后将两个分支融合
      • 应用:PSP模块能够聚合不同区域的上下文从而达到获取全局上下文的目的。
    • 空洞卷积(Atrous/Dilated Convolution)

      • 想要对图片提取的特征具有较大的感受野,计算量太大

      • 想让特征图的分辨率不下降太多(分辨率损失太多会丢失许多关于图像边界的细节信息)

      • 上面两个想法在实际操作中是矛盾的,想要获取较大感受野需要用较大的卷积核或池化时采用较大的strid,对于前者计算量太大,后者会损失分辨率。

      • 空洞卷积就是用来解决这个矛盾的。即可让其获得较大感受野,又可让分辨率不损失太多

      • 空洞卷积的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。

      • 在图像分割领域,图像输入到CNN(典型的网络比如FCN)中,FCN先像传统的CNN那样对图像做卷积再pooling,降低图像尺寸的同时增大感受野,但是由于图像分割预测是pixel-wise的输出,所以要将pooling后较小的图像尺寸upsampling到原始的图像尺寸进行预测,之前的pooling操作使得每个pixel预测都能看到较大感受野信息。

      • 因此图像分割FCN中有两个关键,一个是pooling减小图像尺寸增大感受野,另一个是upsampling扩大图像尺寸

      • 减小再增大尺寸的过程中,肯定有一些信息损失掉了,那么能不能设计一种新的操作,不通过pooling也能有较大的感受野看到更多的信息呢?答案就是dilated conv。

      • dilated的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。

      • 链接:https://www.zhihu.com/question/54149221/answer/192025860
        
    • 进行分割任务时,图像存在多尺度问题,有大有小

    • 常见的处理方法是图像金字塔,即将原图resize到不同尺度输入到相同的网络,获得不同的feature map,然后做融合,这种方法的确可以提升准确率,然而带来的另外一个问题就是速度太慢

    • DeepLab v2为了解决这一问题,参考了SPP、PPM等引入了ASPP(atrous spatial pyramid pooling)模块,即是将feature map通过并联的采用不同膨胀速率的空洞卷积层用于捕获多尺度信息,并将输出结果融合得到图像的分割结果。

    • 在deeplab v3中改进后的ASPP。用了一个1×1的卷积和3个3×3的空洞卷积,每个卷积核有256个且都有BN层。

      • 1×1的卷积相当于rate很大的空洞卷积,因为rate越大,卷积核的有效参数就越小,这个1×1的卷积核就相当于大rate卷积核的中心的参数。
      • 在这里插入图片描述
  • deeplabv1

    • 基础网络是VGG-16上改的

    • 问题原因解决方案
      下采样导致信息丢失maxpool造成feature map尺寸减小,细节信息丢失.分类处理的是更"高级"的特征,而分割是对每一个像素做分类,需要更多的细节.空洞卷积
      空间不变性模型对于输入图像的空间位置不敏感,不管这个图片旋转,平移等,都能够识别. 对分类来说,这是ok的.但是对于分割来说,这就不OK了,图片旋转以后,每一个像素所属的分类当然就改变了.条件随机场CRF
    • maxpool的意义:一方面是为了减小feature map尺寸.一方面也是为了增大feature map中的每一个元素的感受野.

    • FCN是怎么做:得到特征图后,用deconv的方式上采样将feature map恢复到原始图像尺寸.但是这种先max pool下采样再deconv上采样的过程势必会损失掉一部分信息.

    • deeplab解决FCN中的问题:deeplab提出了一种dilated conv(空洞卷积)的卷积方式,去替代max pool,但同时感受野不丢失.

      • dilated的好处是不做pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。,对图像分割这种对空间位置,细节信息很敏感的任务而言,空洞卷积是一种很好的方式.
    • 由于CNN天然的空间不变性,使得对分割任务而言,CNN提取到的特征不够精细.所以在特征提取后,我们再加一个CRF,达到更精细的特征提取目的.

  • DeepLab V2

    • 在v1的基础上进行的改进
    • 基础网络是resnet上改的
    • ASPP:空间金字塔.用以解决多尺度问题.即对同一个物体,不管其在图像中是大或小都可以准确识别.
      • 在这里插入图片描述
  • DeepLab V3

    • 去掉了crf.
    • 改造了resnet,在resnet中使用空洞卷积和金字塔空洞卷积
      • 使用空洞卷积,去掉下采样,如此,保证感受野与feature map尺寸不变
        • feature map的尺寸减小的同时,相当于空间信息的丢失.
        • 图像分割对空间信息很敏感,所以保持feature map的size是非常重要的,deeplab系列的设计思路也是如此,即在保留感受野的情况下,同时保持feature map的size不变
        • 通过空洞卷积的方式,在保持了感受野的同时,还没有减小feature map的尺寸.
      • 在残差块内部使用ASPP,保证对多尺度的敏感
        • 在block内部使用rate不同的空洞卷积并行地做卷积,再对得到的feature做融合.
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羞儿

写作是兴趣,打赏看心情

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值