Spatial Transformer Networks

这篇论文自己也理解的不是很深,把自己的当时记的笔记拿出来和大家分享一下,有什么错误的地方希望大家指正。(第一次写CSDN博客,跪求各位大佬多多指点)
一、abstract1

CNN的池化操作只有在很深的层次上才具有良好的形变容忍能力,而且能力有限,需要构建很深网络结构才能达到目的,这意味着网 络难以训练,容易过拟合。与池化层(接收字段是固定的和局部的)不同,空间转换器模块是一种动态机制,用以替代池化层,可以通过为每个输入样本生成一个适当的转换参数,从而积极地对图像进行空间转化。变换是在在整个feature map(非局部)上执行转换,可以包括缩放、裁剪、旋转以及非刚性变形。这使得包括空间转换器在内的网络不仅可以选择最相关的图像区域(注意),还可以将这些区域转换为规范的、预期的姿态,以简化后面网络的识别。
在这里插入图片描述
问题:空间变换怎么实现梯度反传和训练

二、网络结构
从U输出的特征输入Localsation net 预测出变换参数θ, 构造从U到V的变换函数(矩阵)简化问题:只考虑单通道特征图输入,进行单种变换。将特征图输入Localisation network ,经过隐藏层预测空间转换参数,即每组参数都是基于特定的输入产生的。然后用预测的参数构建一个采样网格( 决定输入图中哪些点需要被采样的点集),采样器利用输入特征图和采样网格的点采样出转换后的图像。
在这里插入图片描述
优点: 通过为卷积神经网络提供确切的空间变换,空间变换机制解决了上述问题,它拥有3个属性。
1.模块化:只需要进行微小的调整,就可以将空间变换网络插入到现有体系结构的任何地方。
2.可区分性:可以使用反向传播算法进行训练,允许对所插入的模型进行端到端的训练。
3.动态性:在每个输入样本的特征映射上执行主动空间变换,而池化层则是对所有输入样本进行操作。

三、每部分详细结构

3.1 Localisation Nework
在这里插入图片描述

作用,将特征图输入,预测一组变换参数,参数个数依赖于变换类型,比如仿射变换需要六个参数。

3.2 Parameterised Sampling Grid 网格生成器的作用是输出一个参数化的采样网格,这是一组点集,即输入映射经过采样产生期望的转换输出。具体来说,网格生成器首先创建与输入图像U(格式为(H,W))相同大小的归一化网格,即覆盖整个输入特征映射的一个索引集(xt,yt)映射(上标t代表输出特征映射的目标坐标)。由于我们对这个网格做了仿射变换,并且想要使用变换,我们继续在坐标矢量上添加一行进行计算。最后,我们将6个参数θ塑造为一个2*3矩阵,并执行下面的乘法运算,就会得到我们所需要的参数化采样网格。
在这里插入图片描述
把目标图像的坐标放在左边的原因:这样可以保证目标图像上的每个点都能和原图像对应起来,不会出现坐标缺失的情况。
可微分的图像采样网络由于双线性插值是可微的,因此非常适用于空间变换网络。通过输入特征映射和参数化采样网格,我们进行双线性采样并获得形状为(H’,W’,C’)的输出特征映射V。这就意味着,我们可以通过指定采样网格的形状,来执行下采样和上采样。我们绝对不仅限于双线性采样,还可以使用其他的采样内核,但重要的一点是:它必须是可微的,以便允许损失梯度一直流回的定位网络。
在这里插入图片描述
效果展示:
在这里插入图片描述

空间变换网络Spatial Transformer NetworksSTN)是一种神经网络结构,用于改善卷积神经网络(CNN)的空间不变性。STN可以对经过平移、旋转、缩放和裁剪等操作的图像进行变换,使得网络在变换后的图像上得到与原始图像相同的检测结果,从而提高分类的准确性。STN由三个主要部分组成:局部化网络(Localisation Network)、参数化采样网格(Parameterised Sampling Grid)和可微分图像采样(Differentiable Image Sampling)。 局部化网络STN的关键组件,它负责从输入图像中学习如何进行变换。局部化网络通常由卷积和全连接层组成,用于估计变换参数参数化采样网格是一个由坐标映射函数生成的二维网格,它用于定义变换后每个像素在原始图像中的位置。可微分图像采样则是通过应用参数化采样网格来执行图像的变换,并在变换后的图像上进行采样。 使用STN的主要优点是它能够在不改变网络结构的情况下增加空间不变性。这使得网络能够处理更广泛的变换,包括平移、旋转、缩放和裁剪等。通过引入STN层,CNN可以学习到更鲁棒的特征表示,从而提高分类准确性。 关于STN的代码实现,您可以在GitHub上找到一个示例实现。这个实现使用TensorFlow框架,提供了STN网络的完整代码和示例。您可以通过查看该代码来了解如何在您的项目中使用STN。 综上所述,spatial transformer networks(空间变换网络)是一种神经网络结构,用于增加CNN的空间不变性。它包括局部化网络参数化采样网格和可微分图像采样三个部分。通过引入STN层,CNN可以学习到更鲁棒的特征表示,从而提高分类准确性。在GitHub上有一个使用TensorFlow实现的STN示例代码供参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值