参考博客:https://blog.csdn.net/zhangjunhit/article/details/74530596
1. 概述
目前网络架构设计的趋势均是在相同计算量的前提下将大的卷积核替换为多个小的卷积核(如1x1和3x3)堆叠而成 。但在语义分割中需要同时进行分类和定位的时候大的卷积核占很重要的角色。为解决分类和定位问题,我们提出了GCN网络。同时提出了基于残差的边界修正,来更好细化物体边界。
语义分割可以被视为对每个像素进行分类的问题。但在这项任务中存在两个挑战:
分类:应该正确标记与特定语义概念相关联的对象;
定位:像素的分类标签必须与输出分数图中的适当坐标对齐。但这两个任务本就有矛盾。对分类来说,模型必须对各种变换(如平移和旋转)不变。但对定位来说,对各种变换具有敏感性,需要对每一个类别精确的定位到每一个像素。
本文中为同时解决分类和定位的问题,我们遵循两个设计原则:
一,对定位任务来说,模型结构应使用全卷积以保持定位性能,并且不应使用全连接或全局池化层,因为这些层将丢弃定位信息;
二,对分类任务来说,在特征图和逐像素分类器之间需要有较大的卷积核,这样可以提高网络处理不同变化的能力。
分类中(GCN模块),为了使全卷积更加实用,我们使用对称、分离的大卷积核来减少参数和计算量。定位中(BR模块),为了进一步提高物体边界附近的定位能力,我们引入边界修正块来将边界对齐模型化为残差结构。模型总体结构如图。
2. 网络模型
语义分割中,分类和定位之间的差异性导致了模型风格的不同。包括“锥形”和“酒桶型”网络。
对于分类的锥形网络来说,特征由相对较小的隐藏层提取到,在空间维度上比较粗糙。分类器通过全连接层或全局池化层密集连接所有特征图,这使得功能对局部干扰具有鲁棒性,并允许分类器处理不同类型的输入变换。
对于定位来说需要一个相对较大的特征图来编码空间信息,这就是为什么多数语义分割多使用酒桶型网络。反卷积、反池化和分类卷积等生成较大分辨率的特征图,分类器局部连接到特征映射上的每个空间位置,以生成逐像素的语义标签。
目前的语义分割网络多遵循定位的原则,在分类上则是次优的。我们可以从图1中看出来,对于定位任务来说,分类器和特征图之间是局部连接而非全局连接,对分类任务来说较难处理输入的变换的不同变化(如图3,一开始,VRF足够大可以容纳整个物体,但一旦输入物体被缩放到更大的尺寸,VRF只能覆盖物体一小部分,这对分类是有害的。如果使用更大的特征图情况会更糟糕,因为分类和定位之间的间隙会更大。)。所以我们希望分类器可以是全局连接状态。
注:目前多数特征图的感受野较大得益于更深层次的网络结构,但有文章[38]中说,网络只趋向于从小部分的感受野中提取信息。即valid receptive field (VRF)。
针对以上问题,我们设计了新的架构来克服这些缺点。
首先从定位角度,必须使用全卷积不能带有任何分类网络使用的全连接或者全局池化层,因为后者会丢弃掉位置信息。
其次从分类角度来看,受网络中密集连接结构的影响,卷积核需要尽可能的大。尤其是当卷积核增大到与特征图相同的尺寸时,网络将会和纯分类模型具有相同的效果。
GCN模块和BR模块
我们的GCN模块使用 1×k + k ×1 and k ×1 + 1×k 代替直接使用大的卷积核或者全局卷积,这使得能够在特征图中的大k×k区域内进行密集连接。此外,在卷积层后不是用非线性操作。对比k x k卷积核,GCN只有 O(2/k)的计算量。
3. 实验
对于GCN模块中k值大小对得分的影响。k = 15时效果最佳。
进一步探讨:1. 参数多会更有帮助吗?2. GCN vs 小卷积核的堆叠。图4为GCN与其他小型卷积模块堆叠的对比。
以上表格均证明GCN要比普通的堆叠卷积效果更好。
在VOC2012上的实验结果对比:
在Cityscapes上的实验结果对比: