当前位置: 首页 > news >正文

STN:Spatial Transformer Networks

1.Abstract

卷积神经网络缺乏对输入数据保持空间不变的能力,导致模型性能下降。作者提出了一种新的可学习模块,STN。这个可微模块可以插入现有的卷积结构中,使神经网络能够根据特征图像本身,主动地对特征图像进行空间变换,而不需要任何额外的训练监督或优化过程.

2. 灵感
CNN能够学习平移不变性,以及隐式的学习旋转不变性。
现在就使用这个attention model ,为网络设计一个显式的处理模块,专门处理各种变换。

关于平移不变性 ,假设某个物体移动了很小的范围,经过采样后,它的输出可能和没有移动的时候是一样的,这是 CNN 可以有小范围的平移不变性的原因

3.网络框架
在这里插入图片描述在这里插入图片描述

4参数预测:Localisation net
4.1实现平移变换
在这里插入图片描述4.2实现缩放变换

在这里插入图片描述4.3实现旋转变换
在这里插入图片描述4.4裁剪变换
剪切变换相当于将图片沿x和y两个方向拉伸,且x方向拉伸长度与y有关,y方向拉伸长度与x有关,用矩阵形式表示前切变换如下:
在这里插入图片描述
5 Grid generator
5.1 实现坐标映射

输出的图片(i,j)的位置上,要对应输入图片的哪个位置
在这里插入图片描述
左图没有实现左标映射,是恒等变化。
右图是实现坐标映射
5.2 仿射变换关系
从目标图片------->原图片
在这里插入图片描述左图是一些像素点,右图是目标,目标图的方框是确定的。
一开始右边的方框是没有图的,只有坐标,为了确定从左图拿过来的小方块应该放在哪里,需要遍历右边这个方框的坐标,然后再决定应该放在哪个位置。每次从左边拿过来的方块是不固定的,而右边待填充的方框却是固定的,所以从目标图片------->原图片的坐标映射关系。

6.STN用处
1.STN可作为一种独立的模块可以在不同网络结构的任意节点插入任意个数。
2.STN具有运算速度快的特点,它几乎没有增加原网络的运算负担。
3.同一个网络层中也可以插入多个STN来对于多个物体进行不同的空间变换。往往同一个STN模块仅用于检测单个物体并会对其他信息进行剔除。同一个网络层中的STN模块个数在一定程度上影响了网络可以处理的最大物体数量。

ST模块可以方便的嵌入到CNN网络中,利用非线性差值将输入U和输出V进行仿射变换得到映射关系,从而利用网络反向传播优化参数,达到数据在空间位置上的最优值。

http://www.lryc.cn/news/99079.html

相关文章:

  • C语言学习笔记 VScode设置C环境-06
  • alias取别名后,另一个shell中和shell脚本中不生效的问题以及crontab执行docker失败问题
  • Shell ❀ 一键配置Iptables规则脚本 (HW推荐)
  • linux服务器查找大文件及删除文件后磁盘空间没有得到释放
  • Java那些“锁”事 - 死锁及排查
  • LLM系列 | 18 : 如何用LangChain进行网页问答
  • Aspose.cell excel转pdf日期格式不正确yyyy/MM/dd变成MM/dd/yyyy
  • 搭建golang开发环境
  • Django实现音乐网站 ⑴
  • 基于粒子群优化算法的分布式电源选址与定容【多目标优化】【IEEE33节点】(Matlab代码实现)
  • 打卡一个力扣题目
  • 【SSM—SpringMVC】 问题集锦(持续更新)
  • 2022年全国职业院校技能大赛(高职组)“软件测试”赛项接口测试任务书
  • Docker 如何助您成为数据科学家
  • 机器学习01 -Hello World(对鸢尾花(Iris Flower)进行训练及测试)
  • android studio JNI开发
  • CSS 高频按钮样式
  • 系列二、RocketMQ简介
  • 论文笔记--Skip-Thought Vectors
  • 1400*B. Karen and Coffee
  • 【业务功能篇54】Springboot项目常用工具类:HTTP状态码/客户端request
  • Fine Logic
  • Neo4j图数据基本操作
  • 前端JavaScript面试100问(中)
  • Docker 安全及日志管理与https部署
  • 2.3 HLSL常用函数
  • 互联网的发展
  • STM32 CAN通讯实验程序
  • Python代码片段之Django静态文件URL的配置
  • 基于飞桨paddle的极简方案构建手写数字识别模型测试代码