空间变换网络(STN)原理+2D图像空间变换+齐次坐标系讲解

 

空间变换网络(STN)原理+2D图像空间变换+齐次坐标系讲解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Rosemary_tu/article/details/84069878

         本文是对Google DeepMind 团队2015年发表的空间变换网络STN的详细讲解,笔记在编写的过程中借鉴了网上一些博客,在相应的内容位置有说明。如有侵权,请联系作者删除。

 

         感谢台湾大学李宏毅老师的精彩讲解!

 

 

1 观点:CNN 不能学习到图像的不变性

         一般来说,图像经过小小的平移和变形之后,人类还是信任CNN 能够把它们泛化,识别出里面的物体。归纳偏差(Inductive Bias) 是CNN 成功的一个关键。卷积和池化的选择,就是为了赋予神经网络一些不变性,避免因为一些小的改变,就丧失了原本的判断。然而,来自耶路撒冷希伯来大学的两位研究人员发现:一幅图像被平移了几个像素之后,现在的CNN 就很容易认不出来。旋转和缩放,也是一样。
       该项研究利用测量习得表征(Learned epresentations) 线性度(Linearity) 的方法,来观察CNN 的不变性。测试了三种经典的CNN结构,VGG-16,ResNet-50 以及Inception
ResNet-V2。

结果——
         只是把狗狗下移了一点点,只是把瓶子放大了一点点,只是把白熊的姿势换一下,系统的识别准确率就发生了猛烈的变化。

参考:http://m.elecfans.com/article/703297.html

2 坐标系与三维空间

2.1 笛卡尔坐标系

         笛卡尔坐标系是直角坐标系和斜角坐标系的统称. 对于相交于原点的两条数轴,构成了平面放射坐标系。如果两条数轴上的度量单位相等,则称此放射坐标系为笛卡尔坐标系。若两条数轴互相垂直,则称为笛卡尔直角坐标系,否则称为笛卡尔斜角坐标系.
         二维平面的直角坐标系是由两条互相垂直、零点重合的数轴构成的.通常被称为x-轴和y-轴,两个坐标轴的交点,称为原点,通常记为O,既有“零”的意思,又是英语“Origin”的首字母. 这两个不同线的坐标轴决定了一个平面,称为xy-平面/笛卡尔平面. 习惯性地将x-轴水平摆放,称为横轴,指向右方;y-轴被竖直放置,称为纵轴,指向上方. 两个坐标轴这样的位置关系,称为二维的右手坐标系,或右手系。如果把这个右手系画在一张透明纸片上,则在平面内无论怎样旋转它,所得到的都叫做右手系;但如果把纸片翻转,其背面看到的坐标系则称为“左手系”。这和照镜子时左右对掉的性质有关。
         直角坐标系也可以推广至三维空间(3 dimension)与高维空间(higher dimension) 。

 

三维坐标系:

放射坐标系和笛卡尔坐标系平面向空间的推广:相交于原点的三条不共面的数轴构成空间的放射坐标系。三条数轴上度量单位相等的放射坐标系被称为空间笛卡尔坐标系。三条数轴互相垂直的笛卡尔坐标系被称为空间笛卡尔直角坐标系,否则被称为空间笛卡尔斜角坐标系。

2.2 向量和坐标

在这里插入图片描述
在这里插入图片描述

2.3 3D 空间常用坐标系

  1. 世界坐标系
    世界坐标系是一个特殊的坐标系,它建立了描述其他坐标系所需要的参考框架. 从非技术意义上讲,世界坐标系建立的是整个场景的“最大”坐标系,其他的坐标系都是参考世界坐标系而建立的.世界坐标系也被广泛地称为全局坐标系或者宇宙坐标系。对于整个场景中的每个物体,它的位置和方向一般是指它在世界坐标系中的值,它是一个绝对坐标,不随观察者方向的变化而变化。
  2. 物体坐标系
    物体坐标系是和特定的物体相关联的坐标系,也被称为模型坐标系或局部坐标系。对于场景中的每个物体都可以自己的物体坐标系,而且它和其他物体的物体坐标系是相互独立的.

参考:

  1. http://www.cnblogs.com/ojo-blogs/p/6754664.html
  2. https://blog.csdn.net/liu_yude/article/details/45194813
  3. https://blog.csdn.net/liu_yude/article/details/45195809?utm_source=blogxgwz1

2.4 三维空间中的旋转:旋转矩阵、欧拉角

参考:http://blog.miskcoo.com/2016/12/rotation-in-3d-space

2.5 Homogeneous Transformation (齐次坐标变换)

参考:http://www.doc88.com/p-3592172429143.html

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 透视投影原理

         在计算机三维图像中,投影可以看作是一种将三维坐标变换为二维坐标的方法,常用到的有正交投影和透视投影。正交投影多用于三维建模,透视投影则由于和人的视觉系统相似,多用于在二维平面中对三维世界的呈现。

参考:

  1. http://www.cnblogs.com/ojo-blogs/p/6754664.html
  2. https://www.cnblogs.com/hisiqi/p/3155813.html

3.1 仿射变换和透视变换的区别

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4 Spatial transformer networks详细介绍

参考:

  1. https://blog.csdn.net/u011961856/article/details/77920970
  2. https://blog.csdn.net/xholes/article/details/80457210
  3. https://blog.csdn.net/qq_14845119/article/details/79510714
  4. https://www.cnblogs.com/liaohuiqiang/p/9226335.html
  5. https://blog.csdn.net/weixin_39912556/article/details/79748671

在这里插入图片描述
Pointnet[7]: Pointnet: Deep learning on point sets for 3d classification and segmentation[J]. Proc. Computer Vision and Pattern Recognition (CVPR), IEEE, 2017, 1(2): 4.

4.1 背景介绍

4.1.1 CNN中存在的问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.1.2 双线性插值

在这里插入图片描述

4.2 图像/卷积特征图空间变换的直观解释

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.3 论文介绍

在这里插入图片描述
在这里插入图片描述
Matlab验证
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.4 空间变换网络的实际应用

在这里插入图片描述

4.4.1 空间变换网络作为网络的第一层

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.4.2 空间变换网络插入CNN 的中间层

在这里插入图片描述

本人能力有限,上述内容如有理解不当的地方,欢迎与我讨论!

posted on 2019-09-20 13:51  曹明  阅读(2165)  评论(0编辑  收藏  举报