论文笔记:空间变换网络(Spatial Transformer Networks)

为什么提出(Why)

  1. 一个理想中的模型:我们希望鲁棒的图像处理模型具有空间不变性,当目标发生某种转化后,模型依然能给出同样的正确的结果
  2. 什么是空间不变性:举例来说,如下图所示,假设一个模型能准确把左图中的人物分类为凉宫春日,当这个目标做了放大、旋转、平移后,模型仍然能够正确分类,我们就说这个模型在这个任务上具有尺度不变性,旋转不变性,平移不变性
  3. CNN在这方面的能力是不足的:maxpooling的机制给了CNN一点点这样的能力,当目标在池化单元内任意变换的话,激活的值可能是相同的,这就带来了一点点的不变性。但是池化单元一般都很小(一般是2*2),只有在深层的时候特征被处理成很小的feature map的时候这种情况才会发生
  4. Spatial Transformer:本文提出的空间变换网络STN(Spatial Transformer Networks)可以使得模型具有空间不变性。

STN是什么(What)

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

STN是怎么做的(How)

  1. 如下图所示,STN的输入为U,输出为V,因为输入可能是中间层的feature map,所以画成了立方体(多channel),STN主要分为下述三个步骤
  2. Localisation net:是一个自己定义的网络,它输入U,输出变化参数ΘΘ运算,得到(1.6,2.4)
  3. Sampler根据自己定义的填充规则(一般用双线性插值)来填充,比如(2,2)坐标对应到输入图上的坐标为(1.6,2.4),那么就要根据输入图上(1.6,2.4)周围的四个坐标点(1,2),(1,3),(2,2),(2,3)的像素值来填充。

【实验】Distorted MNIST

【实验】SVHN: Street View House Numbers

【 实验】CUB-200-2011 birds dataset

【附录】旋转的矩阵运算

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值