Spatial Transformer Networks

Spatial Transformer Networks通过神经网络建模空间变换,增强计算机视觉模型对目标位置和姿态变化的鲁棒性。该方法包含局部定位网络预测变换参数,网格生成器计算输入到输出的坐标映射,以及采样器进行插值处理,确保坐标为整数。这种架构旨在提高CNN在图像分类和目标检测等任务中的表现。
摘要由CSDN通过智能技术生成

Spatial Transformer Networks

文章链接:https://arxiv.org/abs/1506.02025

motivation

对于一般的计算机视觉任务(图像分类,目标检测等),我们希望训练的模型对于目标的位置及姿态等各种变化具有鲁棒性,例如图像分类中的平移不变性和目标检测中的平移等价性。在CNN架构当中,卷积运算具有平移等价性,Pooling操作具有小范围的平移不变性,但是当遭受大的目标变化时,这些操作就有些不够用了。
本文中,作者用神经网络对transformation建模,通过对输入特征的变换为下一层提供合适的输入。

方法

其实原理还是很简单的,对于一些空间变换,可以通过变换参数对输入坐标变换后可以得到对应的输出坐标映射,之后将输入坐标上的像素值放到输出坐标上就好了。
在这里插入图片描述
STN模块由三部分组成[1]

  1. Localisation net:一个轻量网络,用来预测变换参数 θ \theta θ,用来映射U和V的坐标。
    θ = f l o c ( U ) \theta=f_{\mathrm{loc}}(U) θ=floc(U) ,其中 θ \theta θ的维度由变换类型决定,例如仿射变换为6维
  2. Grid generator:根据V中的坐标点 ( x i t , y i t ) \left(x_{i}^{t}, y_{i}^{t}\right) (xit,yit)和变换参数 θ \theta θ,计算出在U中的坐标点 ( x i s , y i s ) \left(x_{i}^{s}, y_{i}^{s}\right) (xis,yis)。可以发现这里的变换顺序和我们刚开始的想法是反着的(如下图[2])。这是因为我们最后要完成从U中取出像素值,然后放到V中,V的大小是预先定义的,我们可以轻松的获得V中的坐标值 ( x i t , y i t ) \left(x_{i}^{t}, y_{i}^{t}\right) (xit,yit)。这样做的一个好处就是可以节省存储方便计算[2],而我想另外还有一个重要的原因是可以合理的将U中的像素值映射到V中,具体而言由从V的坐标算起可以通过插值在U中得到像素值,相反可能就是单纯的点对点也很难反向传播。
    ( x i s y i s ) = T θ ( G i ) = A θ ( x i t y i t 1 ) = [ θ 11 θ 12 θ 13 θ 21 θ 22 θ 23 ] ( x i t y i t 1 ) \left(\begin{array}{c}{x_{i}^{s}} \\ {y_{i}^{s}}\end{array}\right)=\mathcal{T}_{\theta}\left(G_{i}\right)=\mathrm{A}_{\theta}\left(\begin{array}{c}{x_{i}^{t}} \\ {y_{i}^{t}} \\ {1}\end{array}\right)=\left[\begin{array}{ccc}{\theta_{11}} & {\theta_{12}} & {\theta_{13}} \\ {\theta_{21}} & {\theta_{22}} & {\theta_{23}}\end{array}\right]\left(\begin{array}{c}{x_{i}^{t}} \\ {y_{i}^{t}} \\ {1}\end{array}\right) (xisyis)=Tθ(Gi)=Aθxityit1=[θ11θ21θ12θ22θ13θ23]xityit1
  3. Sampler:我们得到的 ( x i s , y i s ) \left(x_{i}^{s}, y_{i}^{s}\right) (xis,yis)可能是实数,但是要求坐标值必须是整数,为了解决这个矛盾,必须要用到插值。
    在这里插入图片描述

参考资料

[1] https://www.cnblogs.com/liaohuiqiang/p/9226335.html
[2] https://www.cnblogs.com/neopenx/p/4851806.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值