空间变换网络(Spatial Transformer Network)


参考链接: https://www.cnblogs.com/liaohuiqiang/p/9226335.html.

为什么提出这个网络

1.一个理想中的网络

作者希望鲁棒的图像处理模型具有空间不变性,当目标发生某种转化后,模型依然能给出同样的正确的结果

2.什么是空间不变性

举例来说,如下图所示,假设一个模型能准确把左图中的人物分类为凉宫春日,当这个目标做了放大、旋转、平移后,模型仍然能够正确分类,我们就说这个模型在这个任务上具有尺度不变性,旋转不变性,平移不变性
在这里插入图片描述

3.CNN在这方面的能力是不足的

maxpooling的机制给了CNN一点点这样的能力,当目标在池化单元内任意变换的话,激活的值可能是相同的,这就带来了一点点的不变性。但是池化单元一般都很小(一般是2*2),只有在深层的时候特征被处理成很小的feature map的时候这种情况才会发生

4.Spatial Transformer

本文提出的空间变换网络STN(Spatial Transformer Networks)可以使得模型具有空间不变性。

STN是什么

  1. STN对feature map(包括输入图像)进行空间变换,输出一张新的图像。
  2. 我们希望STN对feature map进行变换后能把图像纠正到成理想的图像,然后丢进NN去识别,举例来说,如下图所示,输入模型的图像可能是摆着各种姿势,摆在不同位置的凉宫春日,我们希望STN把它纠正到图像的正中央,放大,占满整个屏幕,然后再丢进CNN去识别。
  3. 这个网络可以作为单独的模块,可以在CNN的任何地方插入,所以STN的输入不止是输入图像,可以是CNN中间层的feature map。
    在这里插入图片描述

STN是怎么做的

  1. 如下图所示,STN的输入为U,输出为V,因为输入可能是中间层的feature map,所以画成了立方体(多channel),STN主要分为下述三个步骤
  2. Localisation net:是一个自己定义的网络,它输入U,输出变化参数Θ,这个参数用来映射U和V的坐标关系
  3. Grid generator:根据V中的坐标点和变化参数Θ,计算出U中的坐标点。这里是因为V的大小是自己先定义好的,当然可以得到V的所有坐标点,而填充V中每个坐标点的像素值的时候,要从U中去取,所以根据V中每个坐标点和变化参数Θ进行运算,得到一个坐标。在sampler中就是根据这个坐标去U中找到像素值,这样子来填充V
  4. Sampler:要做的是填充V,根据Grid generator得到的一系列坐标和原图U(因为像素值要从U中取)来填充,因为计算出来的坐标可能为小数,要用另外的方法来填充,比如双线性插值。
    在这里插入图片描述
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 空间变换网络Spatial Transformer Network)是一种神经网络模型,它可以对输入图像进行空间变换,从而提高模型的鲁棒性和准确性。该模型可以自动学习如何对输入图像进行旋转、缩放、平移等变换,从而使得模型可以更好地适应不同的输入数据。空间变换网络在计算机视觉领域中得到了广泛的应用,例如图像分类、目标检测、人脸识别等任务。 ### 回答2: 空间变换网络spatial transformer network)是一种能够自适应地对输入图像进行几何变换的神经网络结构。它最早由Jaderberg等人在2015年提出,是深度学习与计算机视觉中一个重要的技术,目前被广泛应用于机器人视觉、自动驾驶、图像识别、跟踪以及目标定位等领域。 空间变换网络通过学习一个仿射变换矩阵来对输入的图像进行变换,其核心思想是在网络中引入一个可微的位置网格,通过对位置网格上的点进行仿射变换,实现图像的空间变换。 在传统的CNN结构里,其特征提取部分是不变形的,即无论输入图像发生多少位移缩放等操作,神经网络都不能自适应地对这些变化进行相应的调整,因此就不能很好地完成图像识别等任务。而引入空间变换网络后,可以使神经网络能够在学习中自适应地进行对图像缩放、旋转、平移、倾斜等变换,从而提高模型的鲁棒性和识别效果。 空间变换网络的结构一般由三部分组成:特征提取层、坐标生成层和采样网络层。其中,特征提取层可以是任何现有的CNN层,坐标生成层则用来生成仿射变换矩阵(包括平移、旋转、缩放、扭曲等形式),采样网络层则通过仿射变换将输入图像的像素按照特定的网格结构进行采样和变换空间变换网络具有以下优点:一、能够适应不同角度、缩放和扭曲程度的图像变换;二、减少了过拟合的风险,因为其能够从小规模的训练数据中学习到更广泛的图像变换范式;三、能够提高卷积神经网络的准确性和鲁棒性,使其具有更好的视觉推理能力;四、具有广泛的应用前景,除了在图像分类、物体识别等领域,还可以应用于姿态识别、图像检索、视觉跟踪等任务。 总之,在深度学习与计算机视觉领域,空间变换网络是非常重要的一个属性,其有效地解决了图像的仿射变换问题,为更广泛的应用提供了重要的方法和技术支持。 ### 回答3: Spatial Transformer Network(STN)是一种深度学习中的可学习的空间变换网络,可以自动化地学习如何将输入图像转换或标准化成一个特定形式的输出。STN主要由3个部分构成,分别为定位网络、网格生成器和采样器。 定位网络用于学习如何从输入图像中自动检测出需要进行变换的区域,并进一步学习该区域需要发生的变换类型和程度。然后网格生成器利用学习到的变换参数生成一个新的位置网格,将变换后的特征图从原始输入中分离出来。最后采样器将变换后的特征网格映射回原输入图像,并将其传递给下一层网络进行后续的处理。 STN在深度学习中的应用可以为图像分类、物体检测和目标跟踪等模型提供最优化的输出。STN可以大幅提升网络的稳健性和大数据集的学习能力,尤其是在出现图像旋转、缩放和平移等情况时,STN的适应性更加强大,因为它能够自适应性地应对各种图像变形,这也是它能够在计算机视觉领域中具备很高的使用价值的原因。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值