空间变换网络(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   曹明  阅读(2165)  评论(0编辑  收藏  举报
努力加载评论中...

点击右上角即可分享
微信分享提示