【目标检测】3、SPPNet

2023-11-16

SPPNet

Spatial Pyramid Pooling(空间金字塔池化)

一般的CNN结构中,对输入大小要求固定,但在现实中通常会使用crop和warp来将大小统一,这样做会破坏图像的纵横比,何凯明提出了SPP,连接在最后一层卷积层。

下图中左边为裁剪(crop),右边为拉伸(crop)
在这里插入图片描述
在这里插入图片描述
SPP特点:

  • SPP可以产生固定大小的输出
  • 使用多个pooling窗口
  • SPP可以使用同一图像不同尺寸作为输入,得到同样长度的池化特征
  • 提高了尺度不变性,降低了过拟合
  • 使用不同尺寸的图像进行网络训练更容易使得网络收敛
  • SPP对于特定的CNN网络设计和结构是独立的,只是替换了原来的pooling层
  • 不仅可以用于图像分类,也可以用于目标检测

1、结合空间金字塔方法实现CNNs对尺度输入

一般CNN后连接全连接层或分类器,他们都需要固定的输入尺寸,因此不得不对输入数据进行crop或warp,这些预处理会造成数据的丢失或几何失真。

SPP Net的第一个贡献就是将金字塔思想加入CNN,实现了数据的多尺度输入。

如下图所示,卷积层和全连接层中间加入了SPP layer,此时网络的输入可以是任意尺度的,在SPP layer 中每一个pooling的滤波器会根据输入调整大小,使得SPP的输出尺度始终是固定的。图中的pooling窗口有多种(图中蓝色、绿色、灰色窗口),分别对feature maps进行pooling,将分别得到的结果进行合并就得到固定长度的输出。
在这里插入图片描述
作者证明:

  • 多个窗口的pooling会提高准确率
  • 输入同一图像的不同尺寸,会提高实验准确率,也就是提高了网络的尺度不变性
  • 多view会提高准确率
  • SPP替换了pooling层,对网络结构没有影响,可以正常训练

2、只对原图提取一次卷积特征

在R-CNN中,每个候选框先resize到同一大小,然后分别作为CNN的输入,这样是低效的,所以SPP对此作了优化,只对原图进行一次卷积得到整张图的feature map,然后找到每个候选框在feature map上的映射patch,将次patch作为每个候选框的卷积特征输入到SPP layer后的层,节省了大量的计算时间,比R-CNN有100倍左右的提速。

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【目标检测】3、SPPNet 的相关文章

  • 13.openssl编程——ASN1库

    13 1 ASN1 简介 ANS 1 Abstract Syntax Notation One X 208 是一套灵活的标记语言 他允许定义多种数据类型 从integer bit string 一类的简单类型到结构化类型 如set和sequ
  • LeetCode-链表中倒数第k个节点

    单链表只能从前往后遍历 所以 我们可以先计算出链表长度 倒数第k个节点相当于正数第n k 1个节点 然后我们再从头往后找 找到第n k 1个节点就可以了 while循环版 Definition for singly linked list
  • Semaphore 源码分析

    需要提前了解的知识点 AbstractQueuedSynchronizer 实现原理 类介绍 Semaphore 信号量 是用来控制同时访问特定资源的线程数量 它通过协调各个线程 以保证合理的使用公共资源 比如控制用户的访问量 同一时刻只允
  • cesium+vue-cli安装步骤

    1 依赖node所以先安装node 可从官网下载安装 安装一直下一步最后选安装目录 2 win r输入cmd运行 先输入node v和npm v查看node安装是否正常 我这里node是10 5 0 npm是6 1 0 3 安装vue np
  • Log4net等级说明以及按照不同级别写入多个日志文件

    等级说明 Level级别 DEBUG
  • canvas制作在线画板

    上效果图

随机推荐

  • ubuntu中使用Deb安装VS Code

    01 进入VS Code 下载安装包 网址 https code visualstudio com 02 将Windows系统中下载的deb安装包复制到虚拟机ubuntu中 03 进入虚拟机ubuntu中 通过cd命令进入到deb安装包目录
  • 点云配准注意的地方

    1 法向量是局部坐标系的概念 因此要将点云中心移到原点 再计算法向量 类似于先平移再旋转 而不是先旋转再平移 2 用kdtree时 用近邻点个数 而不是距离 因为点云各个不同 3 变换矩阵的对角线是目标与源点云的相似度 位移为0 x det
  • Unity小地图制作

    Unity小地图制作 方法一 简易版 如果角色有跳跃功能不建议使用 原理 利用一个新的摄像机来制作小地图 步骤 1 先搭建一个简单场景 2 在层级列表先创建一个摄像机 移出其中的Audio Listener组件 一个场景中只能有一个Audi
  • 题目 1054: 二级C语言-计算素数和

    输入两个正整数m和n m
  • 锁消除和锁粗化

    一 锁消除 JIT 及时编译器 对锁的优化 因为正常都是多个线程去竞争同一把锁 但是当前代码中每调用一次m1方法就会创建一个新的对象 也可以理解为每个线程对应了一把新的锁 没有竞争的情况 毫无意义 所以叫锁消除 锁消除 public cla
  • C语言实现数据高低位翻转

    通过指针转换为字节类型 直接交换 include
  • 73. Set Matrix Zeroes

    Given a m x n matrix if an element is 0 set its entire row and column to 0 Do it in place 这题有很多方法 一开始想的是用O m n 的空间 用vect
  • 使用Freemarker 实现JSP页面的静态化

    使用Freemarker 静态化网页 一 原理 Freemarker 生成静态页面 首先需要使用自己定义的模板页面 这个模板页面可以是最最普通的html 也可以是嵌套freemarker中的 取值表达式 标签或者自定义标签等等 然后后台读取
  • 【网络】Wireshark分析RST消息

    文章目录 前言 1 定义 2 有三个条件可以产生RST 3 说明 4 RST数据报文产生情况 1 端口未打开 系列文章 Wireshark分析Netty建链过程 tcp三次握手 osi模型 IPV4数据报头部格式 Wireshark分析RS
  • 数据结构双向链表,实现增删改查

    一 双向链表的描述 在单链表中 查找直接后继结点的执行时间为O 1 而查找直接前驱的执行时间为O n 为克服单链表这种单向性的缺点 可以用双向链表 在双向链表的结点中有两个指针域 一个指向直接后继 另一个指向直接前驱 二 双向链表的存储结构
  • Base64 转 文件下载

    将base64字符串转化为文件 1 将下面代码另存为html文件 2 用浏览器打开 3 点击下载 代码如下 div 输入base64字符串 div
  • opensips之yyparse( )

    parse the config file prior to this only default values e g for debugging settings will be used yyin cfg stream if yypar
  • HTTPS协议详解

    文章目录 一 HTTPS是什么 二 HTTPS的工作过程 引入对称加密 引入非对称加密 引入证书 总结 三 HTTPS 与 HTTP 的区别 区别 HTTPS的优缺点 总结 一 HTTPS是什么 HTTPS HTTPS 也是一个应用层协议
  • stm32f10x 时钟系统详解/时钟树/时钟初始化/SystemInit函数全注解

    STM32F10x 时钟系统初学总结 一 时钟系统 1 概述 用通俗的话来说 时钟是单片机的 脉搏 是单片机的驱动源 使用单片机中的任何一个外设都必须打开此外设相应的时钟 这样的好处是 在不使用某个外设的时候 关闭此时钟外设 从而可以降低系
  • 合并两个有序链表(精美图示详解哦)

    全文目录 引言 合并两个有序链表 题目描述 方法一 将第二个链表合并到第一个 思路 实现 方法二 尾插到哨兵位的头节点 思路 实现 总结 引言 在前面两篇文章中 我们介绍了几道链表的习题 反转链表 链表的中间结点 链表的倒数第k个结点 戳我
  • 深度学习实战28-AIGC项目:自动生成定制化的PPT文件

    大家好 我是微学AI 今天给大家介绍一下深度学习实战28 AIGC项目 自动生成定制化的PPT文件 AIGC项目是一个基于自然语言处理技术的创新性项目 旨在利用ChatGPT模型生成定制化的PPT文件 该项目主要应用于商务和教育领域 可以帮
  • 中文NLP的第二步:分词转词表ID,基于 PaddleHub 实现(学习心得)

    上一步我们做了分词 中文NLP的第一步 分词 基于 PaddleHub 实现 绝对小白友好 学习心得 第二步是把分词结果 对照词表转化成 ID 词表是什么呢 首先我们要知道 中文字符是没办法直接计算的 更不要说进一步的操作了 所以我们需要的
  • qmake常用语法

    qmake常用语法 一 注释 用 注释 表示到行尾均为注释 二 include 包含别的文件 例如 include xx pri 类似于c 的 include 三 平台宏 win32 macx unix linux g 等 分别对应于win
  • HDU--1864:最大报销额 DP求最大和(最大和有上限)

    1 题目源地址 http acm hdu edu cn showproblem php pid 1864 2 简要分析 这道题看起来不难 求最大报销额 想法是先找到符合要求的发票 然后求符合要求的发票的最大报销金额 但是 这道题的陷阱好几个
  • 【目标检测】3、SPPNet

    SPPNet Spatial Pyramid Pooling 空间金字塔池化 一般的CNN结构中 对输入大小要求固定 但在现实中通常会使用crop和warp来将大小统一 这样做会破坏图像的纵横比 何凯明提出了SPP 连接在最后一层卷积层 下