Spatial Transformer Networks翻译理解

    技术2023-09-20  90

    Abstract

    空间转换器,允许在网络中对数据进行空间操作,这个可微模块可以插入到现有的卷积架构中,使得神经网络能够主动的在空间上转换特征图,条件是特征图本身,无需额外的训练监督或优化过程的修改,会使得模型学习到平移,缩放,旋转和更一般扭曲的不变性。

    Introduction

    能够对图像进行推理的系统的一个理想特性是从纹理和形状中分离出物体的姿态和部分变形。通过允许网络在一定程度上对特征的位置保持空间不变,在CNNs中引入的局部最大池层有助于满足这一特性。在CNN中之间的特征图实际上对输入数据的转换并不是不变的。CNNs的这种限制是由于只有一个有限的、预定义的池机制来处理数据空间排列的变化。

    在这项工作中引入了一个空间转换器模块,可以包括在一个标准的神经网络体系结构中,以提供空间转换能力。空间转换器的动作取决于个体的数据样本,并在训练过程中学习到相应的行为(没有额外的监督)。接收域是固定的,局部的池化层不同,空间转换器模块是一种动态机制,通过为每个输入样本生成适当的变换,可以主动地对图像(或特征图)进行空间变换。然后在整个特征图(非局部)上执行转换,可以包括缩放、裁剪、旋转以及非刚性变形。这使得包含空间变形器的网络不仅可以选择图像中最相关的区域(注意),还可以将这些区域转换为规范的、预期的姿态,从而简化后续图层的识别。值得注意的是,空间变形器可以用标准的反向传播来训练,允许对注入的模型进行端到端训练。 如图所示,使用空间转换器作为训练用于失真MNIST数字分类的全连接网络的第一层的结果。(a)空间变换器网络的输入是一个MNIST数字图像,在平移、缩放、旋转和杂波中发生畸变。(b)空间转换器的局部化网络预测一个变换应用于输入图像。©空间转换器进行变换后的输出。(d)后续全连接网络对空间转换器输出的分类预测。

    空间变换器可以被纳入CNN任务中,(1)图像分类:假设一个CNN训练根据它们是否包含一个特定的数字来执行多路图像分类,明显每个样本数字可能会有不同的位置和大小,空间变换器可以提取出适当区域并进行尺度规划,可简化后续的分类任务,分类性能更优。如上图所示(2)共定位:给定一组包含相同类的不同实例的图像,空间转换器可用于在每幅图像中定位它们。(3)空间注意:空间变换器可以用于需要注意机制的任务,但是空间变换器更加的灵活,可以通过反向传播进行训练,不需要强化学习。 这是一个空间转化器模块的架构,将输入特征映射U传递给一个回归变换参数的局部化网格。将规则的空间网格G/V转换为采样网格Txx(G),应用于U得到弯曲的输出特征图V,局部化网格和采样机制的结合定义了一个空间变压器。 Spatial Transformers

    空间变换器,是一个可微模块,它在单次前向传递过程中对特征图进行空间变换,该变换以特定的输入为条件,生成单次输出的特征图。空间变换器分为三个部分,首先一个定位网络接受输入的特征图,并通过一些隐藏层应用到特征图的空间转换的参数。然后使用预测的转换参数来创建一个采样网络,它是一组需要在其中采样输入映射以产生转换输出的点,最后将特征图和采样网格作为采样器的输入,生成从输入的网格点处采样的输出图。

    Localisation Network

    定位网络接受输入的特征图U∈,转换参数被应用到特征图:

    θ=(U)。θ的大小取决于转换的类型,例如仿射变换就是6维的。局部化网络参数floc()可以采取任何形式,如全连接网络或卷积网络,但应该包括一个最终的回归层,以产生转换参数θ。

    Parameterised Sampling Grid

    要对输入特征图进行弯曲的处理,每个输出像素都是通过应用以输出特征图中特定位置为中心的采样内核来计算。像素指的是一般特征图的一个元素,不一定是一幅图像。一般输出像素被定义在一个常规的输出网格G={}中的(,),形成一个输出特征映射V∈,H和W分别是网格的长或宽,C是通道的数量,输入和输出是相同的。 如图所示对产生输出V的图像应用参数化采样网格的两个例子。(a)采样网格为规则网格G = (G),其中I为恒等变换参数。(b)采样网格是用仿射变换 (G)对规则网格进行扭曲的结果。

    假设T是一个二维仿射变换,讨论其他转换。在这个仿射的情况下,点态变换是 其中(,)是输出特征图中规则网格的目标坐标,(,)是定义样本点的输入特征图中的源坐标,是反射转换矩阵。通过使用高度和宽度的归一化矩阵,在输出的空间范围内-1≤,≥1,在输入的空间范围内,-1≤,≥1,源、目标变换和采样相当于图形中使用的标准纹理映射和坐标。

    定义的变换允许裁剪,平移,旋转,缩放和倾斜被应用到输入的特征图中,并且只需要6个参数(一个连续变换的6个元素,由局部网络产生)。它允许裁剪,因为如果是一个收缩(即左2X2子矩阵的行列式大小)正则映射网格被收缩在一个平行四边形的范围内。

    转换的类型可能会受到更多的限制,就像用于注意的: 允许通过改变s,来进行裁剪,平移和各向缩放。转换也可以更加的一般,比如一个有8个参数的平面投影变换,事实上这个转换可以有任何参数化形式,如果转换以一种结构化的,低维的方式参数化,这将减少分配给局部网络的任务复杂性。

    Differentiable Image Sampling

    采样器要对输入的特征图进行空间变换,必须取采样点集合(G)与输入的特征图U,生成采样后的输出特征图V。每个在(G)上的坐标(,),定义了输入中的空间位置,在这里应用一个采样核来得到输出V中某个特定像素的值,写成: 和是通用抽样内核k()(定义图像的插值)的参数,是输入通道c在局部坐标(n,m)的值,是在通道c像素i在局部坐标(,)的输出值。每个通道的采样完成相同的输入,所以每一个频道转换以相同的方式。

    理论上只要能够定义关于,的梯度,任何采样核都可以使用,例如使用整体的采样核将上面公式简化为: 其中[x+0.5]表示对x进行四舍五入,δ()表示克罗内克符号函数,这个采样核等于仅仅把最近像素处的值(,)复制到输出位置(,)。或者可以使用双线性抽样核: 为了允许采样机制反向传播,可以定义关于U和g的梯度,对于双线性抽样,其偏导数为: Spatial Transformer Networks

    局部化网络、网格生成器和采样器的组合形成了一个空间转换器。这是一个自包含的模块,可以在任意点、任意数量放入CNN架构中,形成空间转换器网络。这个模块的计算速度非常快,不会影响训练速度,只会造成很少的时间开销,甚至在细粒度的模型中,由于可以应用到转换器的输出上的后续向下采样,速度会加快。

    在CNN中放置空间变换器可以让网络学习如何主动转换特征图,从而帮助在训练期间将网络的总体成本函数最小化。在训练过程中,如何转换每个训练样本的知识被压缩并缓存到局部化网络的权值中(以及空间转换器之前各层的权值)。对于某些任务,将局部化网络的输出反馈给网络的其余部分也是有用的,因为它显式地编码了一个区域或对象的转换,并因此编码了姿态。 如上所示,左表为不同模型在不同失帧MNIST数据集上误差百分比。右:一些测试图像的例子,其中一个空间变压器网络正确地分类数字,但CNN失败了。(a)网络的输入。(b)由空间变换器预测的变形,由网格T循环(G)可视化。©空间变压器的输出。E和RTS示例使用薄板样条空间变形器(ST-CNNTPS),而R示例使用具有给定仿射变换角度的仿射空间变形器(ST-CNNAff)。 最后,在一个CNN中有多个空间转换器是可能的。在网络的深度不断增加的位置放置多个空间变换器,允许变换越来越抽象的表示,也给局部化网络提供了潜在的更多信息的表示,以预测的变换参数为基础。人们还可以并行地使用多个空间转换器——如果一个feature map中有多个对象或多个感兴趣的部分,并且应该单独关注它们,那么这种方法就很有用。这种架构在纯前馈网络中的一个限制是,并行空间转换器的数量限制了网络可以建模的对象的数量。

    Processed: 0.008, SQL: 9