《STN:Spatial Transformer Networks》论文笔记

1. 概述

由于CNN网络在计算量和参数有效性上的原因,限制了网络对输入数据的空间变换不变性。因此本文提出了一种新的网络模型——Spatial Transformer,它使得可以在网络内部操作和变换数据。并且可以集成到现有的网络中去,使得神经网络在特征图的基础上,在空间上主动变换特征图,而不需要对优化过程进行任何额外的训练监督或修改。结果表明,空间变换的使用使模型学习到平移、缩放、旋转和更一般的扭曲等不变性,并且在一些先进的分类网络中已经取得了不错的效果。

尽管CNN网路中的Pooling操作会使得网络在一定程度上具有空间不变性,但是这样的机制只是在固定和局部的感受野上进行的,而本文提出的方法是在全局输入图像或是feature map上做动态空间变换,产生对于每个输入合适的变换,这些变换包括了尺度、剪裁、旋转以及非刚性变换。该网络结构是能投通过反向传播进行参数更新的,因而是一种端到端的网络模型。

本文中提出的新的网络结构可以被运用到多重任务中去 :
1)图像分类:由于变换模块自带的变换可以对输入进行变换这样就使得图像分类更加鲁棒和准确。见下图1;
2)co-localisation:空间变换网路可以在每张图像上去定位每个目标;
3)空间注意力机制:该模型可以被运用在需要attention的地方,只需要反向传播就可以实现,并不需要增强学习;
《STN:Spatial Transformer Networks》论文笔记_第1张图片

2. Spatial Transformers

这里的变换网络其结构如下所示:
《STN:Spatial Transformer Networks》论文笔记_第2张图片
从上图中可以看出一个Spatial Transformer模块由三步部分组成,按照计算的顺序可以罗列如下:
1)Localisation net:这部分是使用一些隐藏的网络层去产生空间变换的参数 θ \theta θ
2)Grid Generator:该网格生成器是在生成的参数 θ \theta θ的基础上在输入上生成采样网格,这些采样网格是一系列的点集合,输入feature map通过这些映射生成对应的结果,也就是说在输出 V V V上反向去寻找对应在 U U U上的像素;
3)Sampler:这里使用之前得到坐标对应关系将feature map输入 U U U与采样网格作为输入产生最后的输出 V V V,期间采样的方式可以使用诸如:双线性变换等;

2.1 Localisation net

这部分其实是一个函数 θ = f l o c ( U ) , U ∈ R W ∗ H

你可能感兴趣的:(#,General,Object,Detection,STN)