纯技术笔记

最近在研究segmentation 有点入迷,也许我还有武侠情节,看到各式paper中的秘籍,大家都在比试切磋,会议上一个接一个的展示,真是最好的时代,又是最坏的时代。

这几天除了技术笔记别无他了。今天就挑一个。估计各位看官也不太喜欢,就请海涵了。

Large Kernel Matters

论文信息

论文地址:Large Kernel Matters ——Improve Semantic Segmentation by Global Convolutional Network

创新点

提出全局卷积网络(Global Convolutional Network,GCN),用以同时提高语义分割中分类和定位的准确度。

提出Boundary Refinement block(BR), 用以提高物体边界的定位。

思想

在语义分割中,有两个任务,一个是对像素进行分类,一个是对像素进行定位。这两个任务通常是矛盾的:对于分类任务而言,模型需要对各种变换(比如旋转和平移)具有不变形,但是对于定位任务而言,模型又必须对各种变换保持敏感,因为每个像素都需要在正确的位置上进行分类。

现在很多语义分割方法的主要目标是为了定位,比如下图B所示,这可能会降低分类性能。因此本文提出了GCN来解决以上的矛盾,同时改善分类和定位的性能。

基于以上的讨论,本文提出了模型的设计思路:

从定位角度出发,模型使用FCN来保持位置信息,不使用全连接层或者global pooling,因为这些操作会丧失定位信息。

从分类角度出发,网络应该使用大卷积核,这样能够使分类器具备更强的分类能力来应对各种变换。

使用Boundary Refinement block来进行边界对齐,该模块使用残差结构。

模型

1.GCN

作者发现,目前state-of-the-art的语义分割方法的设计都是为了更好地进行定位,这在某种程度上可能会降低分类的效果。而分类效果变差可能由于感受野造成的。作者举了个例子,如下图所示,当分类器有效感受野(注意这里的有效感受野不同于感受野。有效感受野的概念来自于论文:Object

detectors emerge in deep scene cnns

,这篇论文中称,尽管GoogleNet和ResNet等深度网络的感受野通常都大于原图,但网络只能在感受野的一个很小区域获得有效信息,称为有效感受野)足以覆盖整个物体的时候,这时候分类器可能可以正确地分类,但是当图像的尺度变大的时候,这个时候有效感受野就会覆盖不了整个物体,这对分类是非常不利的。

基于此,作者提出,网络设计要使用FCN,不能使用fully-connected

layer或者global pooling,否则丧失位置。另外,卷积的kernel

size越大越好。但是越大的卷积核,计算量也越大,所以作者提出使用1xk+kx1和kx1+1xk的卷积组合,这相当于连接了feature

map的kxk大小的区域。另外值得注意的是,这里的卷积之后并没有使用非线性激活函数。

2.整体框架

整体框架如下图所示:

从图中可以看到几点:

基础网络使用了ResNet作为特征提取,使用FCN作为语义分割的框架。

使用了ResNet中不同stage的feature map,因此是多尺度架构。

GCN模块则用于产生低分辨率的的score map,并上采样与更高分辨率的score map加和产生新的score map。

经过最后的上采样,就输出了预测结果。

顺便也看到一个很好的论文整理,有的捣鼓了。https://github.com/handong1587/handong1587.github.io

你可能感兴趣的:(纯技术笔记)