目标检测6 - Spatial Transformer Networks

Spatial Transformer Networks(STN)是一种能够自适应地进行空间变换和对齐的技术,尤其适用于处理数据在空间上存在差异的情况。STN包含局部定位网络、网格生成器和可微分图像采样三个部分,能够实现端到端的训练。相比于传统的池化层,STN具有模块化、可微分和动态性,能更好地处理输入的几何变换,增强模型的分类准确性。
摘要由CSDN通过智能技术生成

Spatial Transformer Networks

Introduction

卷积神经网络(CNN)已经被证明能够训练一个能力强大的分类模型,但与传统的模式识别方法类似,它也会受到数据在空间上多样性的影响。这篇Paper提出了一种叫做空间变换网络(Spatial Transform Networks, STN) 该网络不需要关键点的标定,能够根据分类或者其它任务自适应地将数据进行空间变换和对齐(包括平移、缩放、旋转以及其它几何变换等)。在输入数据在空间差异较大的情况下,这个网络可以加在现有的卷积网络中,提高分类的准确性。

背景知识

线性插值

已知一条直线 l l l上两个点 ( x 0 , y 0 (x_0, y_0 (x0,y0) 与 ( x 1 , y 1 ) (x_1, y_1) (x1,y1),要计算 [ x 0 , x 1 ] [x_0, x_1] [x0,x1] 区间内某一位置 x x x 在直线上的 y y y 值(反过来也是一样,略),由于斜率相等:
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \frac{y - y_0}…

KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ y = \frac{x_1 …

也可以理解为用 x x x x 0 , x 1 x_0,x_1 x0,x1 的距离作为一个权重,用于 y 0 y_0 y0 y 1 y_1 y1 的加权。而双线性插值本质上就是在两个方向上做线性插值。

双线性插值

在数学上,双线性插值是有两个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别进行一次线性插值。见下图:

假如我们想得到未知函数 f f f 在点 P = ( x , y ) P = (x, y) P=(x,y) 的值,假设我们已知函数 f f f Q 11 = ( x 1 , y 1 ) Q_{11} = (x_1, y_1) Q11=(x1,y1) , Q 12 = ( x 1 , y 2 ) Q_{12} = (x_1, y_2) Q12=(x1,y2), Q 21 = ( x 2 , y 1 ) Q_{21} = (x_2, y_1) Q21=(x2,y1) 以及 Q 22 = ( x 2 , y 2 ) Q_{22} = (x_2, y_2) Q22=(x2,y2) 四个点的值。最常见的情况, f f f 就是一个像素点的像素值。首先在 x x x 方向进行线性插值,得到:
f ( R 1 ) ≈ x 2 − x x 2 − x 1 f ( Q 11 ) + x − x 1 x 2 − x 1 f ( Q 21 ) where R 1 = ( x , y 1 ) f(R_1)\approx \frac{x_2-x}{x_2-x_1}f(Q_{11})+\frac{x-x_1}{x_2-x_1}f(Q_{21}) \quad \text {where} \quad R_1=(x,y_1) f(R1)x2x1x2xf(Q11)+x2x1xx1f(Q21)whereR1=(x,y1)

f ( R 2 ) ≈ x 2 − x x 2 − x 1 f ( Q 12 ) + x − x 1 x 2 − x 1 f ( Q 22 ) where R 2 = ( x , y 2 ) f(R_2)\approx \frac{x_2-x}{x_2-x_1}f(Q_{12})+\frac{x-x_1}{x_2-x_1}f(Q_{22}) \quad \text {where} \quad R_2=(x,y_2) f(R2)x2x1x2xf(Q12)+x2x1xx1f(Q22)whereR2=(x,y2)

然后在 y y y 方向进行线性插值,得到:
f ( P ) ≈ y 2 − y y 2 − y 1 f ( R 1 ) + y − y 1 y 2 − y 1 f ( R 2 ) f(P)\approx \frac{y_2-y}{y_2-y_1}f(R_{1})+\frac{y-y_1}{y_2-y_1}f(R_{2}) f(P)y2y1y2yf(R1)+y2y1yy1f(R2)
综合起来就是双线性插值最后的结果:
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{split} …
由于图像双线性插值只会用相邻的4个点,因此上述公式的分母都是1。

仿射变换(affine transformation)

  • scaling: scales the x and y direction by a scalar.
    K ′ = [ p 0 0 0 q 0 ] [ x y 1 ] = [ p x q y ] % <![CDATA[ K' = \begin{bmatrix} p & 0 & 0 \\ 0 & q & 0 \end{bmatrix} % \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} = \begin{bmatrix} px \\ qy \end{bmatrix} %]]> K=[p00q00]xy1=[

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值