R-FCN: Object Detection via Region-based Fully Convolutional Networks(2016.6)


文章目录

  • Abstract
  • Introduction
    • 当前最先进目标检测存在的问题
    • 针对上述问题,我们提出...
  • Our approach
    • Overview
    • Backbone architecture
    • Position-sensitive score maps & Position-sensitive RoI pooling
  • Related Work
  • Experiments
  • Conclusion

原文链接
源代码

Abstract

我们提出了基于区域的全卷积网络,用于准确高效的目标检测。与之前基于区域的检测器(如Fast/Faster R-CNN[6,18])相比,我们的基于区域的检测器是完全卷积的,几乎所有的计算都是在整个图像上共享的。为了实现这一目标,我们提出了位置敏感分数映射*,以解决图像分类中的平移不变性和目标检测中的平移方差之间的困境**。因此,我们的方法可以自然地采用全卷积图像分类器骨架,例如最新的残差网络(ResNets)[9],用于对象检测。我们在PASCAL VOC数据集上展示了与101层ResNet的竞争结果(例如,2007年集上的83.6% mAP)。同时,我们的结果是在每幅图像170ms的测试时间速度下实现的,比faster R-CNN快2.5-20倍

Introduction

当前最先进目标检测存在的问题

用于目标检测的流行的深度网络家族(Fast R-CNN、Faster R-CNN、SPPnet)可以通过感兴趣区域**(RoI)池化层分为两个子网络**:
(i)独立于roi的共享的“完全卷积”子网,以及(ii)不共享计算的roi智能子网
最先进的图像分类网络,如ResNets (ResNets)[9]和GoogLeNets[24,26],在设计上是完全卷积的
然而这种解决方案的检测精度相当低,与网络的优越分类精度不匹配
为了解决这个问题,在ResNet论文[9]中,Faster R-CNN检测器[18]的RoI池层被不自然地插入到两组卷积层之间——这创建了一个更深的RoI智能子网,提高了准确性,但代价是由于未共享每个RoI的计算而降低了速度

我们认为,上述非自然设计是由于增加图像分类的平移不变性与关于目标检测的平移方差的两难境地造成的

针对上述问题,我们提出…

在本文中,我们开发了一种称为基于区域的全卷积网络(R-FCN)的目标检测框架,我们的网络由共享的、全卷积的架构组成,就像FCN一样。为了将平移方差整合到FCN中,我们使用一组专门的卷积层作为FCN输出,构建了一组位置敏感的分数映射,整个体系结构是端到端学习的

Our approach

Overview


区域生成网络(RPN)[18]提出候选RoI,然后将其应用于得分图。所有可学习的权重层都是卷积的,并在整个图像上计算,每个RoI的计算成本可以忽略不计。最后一个卷积层为每个类别生成k^2个位置敏感分数映射库,因此具有具有C个对象类别(+1为背景)会有k² (C +1) - 通道个输出层。k²个分数映射对应于描述相对位置的k × k空间网格。例如,使用k×k = 3×3, 9个分数映射编码{左上、中上、右上、…,右下}的对象类别。R-FCN以位置敏感的RoI池化层结束,这一层聚集了最后一个卷积层的输出,并为每个RoI生成分数,我们的位置敏感RoI层进行了选择性池化,每个k × k箱只聚合了k × k个分数图库中的一个分数图的响应,通过端到端训练,这个RoI层引导最后一个卷积层学习专门的位置敏感分数映射

R-FCN用于目标检测的关键思想(上图):在这个例子中,有k × k = 3 × 3个由全卷积网络生成的位置敏感分数图。对于RoI中的每一个k × k个箱,池化只在k²个地图中的一个上执行(用不同的颜色标记)

Backbone architecture

本文中R-FCN的化身基于ResNet-101[9],但其他网络[10,23]也适用。ResNet-101有100个卷积层,然后是全局平均池化和1000类fc层。我们去掉了平均池化层和fc层只使用卷积层来计算特征映射。我们使用[9]作者发布的ResNet-101,在ImageNet[20]上进行预训练。ResNet-101中的最后一个卷积块是2048-d,我们附加了一个随机初始化的1024-d 1 × 1卷积层来降维(准确地说,这将表1中的深度增加了1)。然后我们应用k²(C +1)通道卷积层来生成分数图

Position-sensitive score maps & Position-sensitive RoI pooling

为了显式地将位置信息编码到每个RoI中,我们通过规则网格将每个RoI矩形划分为k × k个箱,对于大小为w×h的RoI矩形,bin的大小为≈w/k
× h/k,在我们的方法中,最后一个卷积层被构造为每个类别生成k²个分数图
r c (i,j)是c -类在(i,j) - bin中的集合响应,z i,j,c是k²(c + 1)个分数图中的一个分数图,(x 0,y 0)表示RoI的左上角,n是bin中的像素数,Θ表示网络的所有可学习参数

Related Work

R-CNN b[7]已经证明了在深度网络中使用区域提议的有效性[27,28]。R-CNN对裁剪和扭曲区域上的卷积网络进行评估,计算不在区域之间共享(表1)。SPPnet[8]、Fast R-CNN[6]和Faster R-CNN[18]是“半卷积”的,其中一个卷积子网络对整个图像执行共享计算,另一个子网络对单个区域进行评估。有一些物体检测器可以被认为是“完全卷积”模型。OverFeat[21]通过在共享卷积特征映射上滑动多尺度窗口来检测对象

Experiments







Conclusion

我们提出了基于区域的全卷积网络,这是一种简单、准确、高效的目标检测框架。我们的系统自然采用了最先进的图像分类主干,如ResNets,它在设计上是完全卷积的。我们的方法达到了与Faster R-CNN相媲美的精度,但在训练和推理过程中都要快得多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/123824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

飞天使-mysql8.0远程连接允许

mysql -u root -p 查看身份验证类型 mysql> use mysql; Database changed mysql> SELECT Host, User, plugin from user; ------------------------------------------------- | Host | User | plugin | ------------------------------------------------- | % | root …

Sass、Less和Stylus之间有什么主要的区别?

Sass、Less和Stylus是三种常见的CSS预处理器,它们在功能和语法上有一些区别。以下是它们之间的主要区别: 1:语法差异: Sass使用缩进的语法,使用类似于Python的缩进来表示嵌套规则和块级作用域。Less和Stylus使用类似…

大数据之LibrA数据库系统告警处理(ALM-12002 HA资源异常)

告警解释 HA软件周期性检测Manager的WebService浮动IP地址和数据库。当HA软件检测到浮动IP地址或数据库异常时,产生该告警。 当HA检测到浮动IP地址或数据库正常后,告警恢复。 告警属性 告警参数 对系统的影响 如果Manager的WebService浮动IP地址异常…

SSM咖啡点餐管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 SSM 咖啡点餐管理系统是一套完善的信息系统,结合SSM框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主 要采用B/S模式开…

selenium : TypeError: object of type ‘float‘ has no len()

使用selenium时报错 TypeError: object of type float has no len() 。 显然selenium不允许直接输入浮点类型数据(字符串与整形可以)。 但是问题excel中这个数据值为空,只能猜测不同电脑打开excel时格式不同影响读取数据。 将该数据使用st…

vue3 Suspense组件

在 Vue 3 中&#xff0c;<Suspense> 组件用于处理异步组件加载时的等待状态和错误处理。它允许你在加载异步组件时显示一个自定义的加载指示器&#xff0c;以及在加载失败时显示错误信息。以下是一个详细的 <Suspense> 组件的使用示例&#xff1a; 首先&#xff0…

CSS基础入门04

目录 1.内边距 1.1基础写法 1.2复合写法 2.外边距 2.1基础写法 2.2复合写法 2.3块级元素水平居中 3.去除浏览器默认样式 4.弹性布局 4.1初体验 5.flex 布局基本概念 6.常用属性 6.1justify-content 6.2align-items 1.内边距 padding 设置内容和边框之间的距离. …

java的字符串字面量

在同一个类中&#xff0c;字符串字面量引用同一个字符串对象。例如&#xff1a; package com.thb;public class Demo4 {public static void main(String[] args) {String world "world";System.out.println(world "world");}}运行输出&#xff1a; tru…

01函数的基础

函数是一段功能性代码&#xff0c;可以让python做特殊的事情 函数是代码重用的一种方式&#xff0c;可以让你多次使用函数 abs函数bool函数float函数 绝对值 abs 绝对值 绝对值数值距离原点的位置 0和所有的正数绝对值等于它本身 负数的绝对值等于他的相反数 bool函数 boo…

NewStarCTF2023week4-midsql(利用二分查找实现时间盲注攻击)

大致测试一下&#xff0c;发现空格被过滤了 使用内联注释/**/绕过&#xff0c;可行 1/**/-- 使用%a0替代空格&#xff0c;也可以 1%a0-- 再次测试发现等号也被过滤&#xff0c;我们使用 like 代替 &#xff08;我最开始以为是and被过滤&#xff0c;并没有&#xff0c;如果是…

使用Python批量修改PPT字体和提取全部文字到word

目录 一、修改PPT中每一页的字体二、将文本框中的字都放到word里 将一份PPT的每一页字体、大小、是否加粗都统一&#xff0c;是一个常见需求。特别是字体统一是高频、热点需求。在python操控PPT常用库python-pptx中有一个bug&#xff0c;对字体的修改只能修改数字和英文字母&am…

智慧公厕:提升城市卫生与舒适体验的未来之选

智慧公厕作为城市管理的一项重要创新&#xff0c;已经在环境监测调控、厕位监测引导、自动化清洁、自动灯光控制、远程控制等方面展现出先进而完善的功能。它不仅提升了市民对公共厕所卫生、舒适、安全等方面的使用体验&#xff0c;同时也为城市管理带来了颇具引领性的改革和升…

大数据Flink(一百零三):SQL 表值聚合函数(Table Aggregate Function)

文章目录 SQL 表值聚合函数(Table Aggregate Function) SQL 表值聚合函数(Table Aggregate Function) Python UDTAF,即 Python TableAggregateFunction。Python UDTAF 用来针对一组数据进行聚合运算,比如同一个 window 下的多条数据、或者同一个 key 下的多条数据等,与…

一文详解汽车电子LIN总线

0.摘要 汽车电子LIN总线不同于CAN总线。 LIN总线基本上是CAN总线的廉价补充&#xff0c;相比于CAN总线&#xff0c;它提供较低的可靠性和性能。同时LIN总线也是一个应用非常广泛的网络协议&#xff0c;并且越来越受欢迎。 再一次&#xff0c;我们准备了一个关于LIN总线的简要…

PHP | php入门知识(if、switch、数组、数组排序、超级全局变量)

文章目录 一、php条件语句&#xff08;if、switch&#xff09;1. if语句2. if...else语句3. if...elseif...else语句4. switch语句 二、数组1&#xff09;数值数组1. 创建数值数组的两种方法&#xff1a;2. 获取数组的长度&#xff08;count()函数&#xff09;3. 遍历数值数组&…

JavaScript 中的负无穷大是什么?

在 JavaScript 中&#xff0c;负无穷大表示为 -Infinity。它是一个特殊的数值&#xff0c;用于表示比任何实数都要小的值。 负无穷大用于表示超出数值范围的情况&#xff0c;例如在进行数学计算时发生了溢出或出现了无法表示的结果。它可以通过将负无穷大赋值给变量或通过某些…

接触式静电压测量仪的用途和操作方法

接触式静电压测量仪是一种用于测量静电电荷的仪器&#xff0c;主要用于工业生产和科学研究领域。它可以测量静电电压、静电场强、静电电荷等参数&#xff0c;对于静电控制和环境监测等方面具有重要的作用。 接触式静电压测量仪的操作方法如下&#xff1a; 接通电源&#xff1a;…

系统架构设计师-第17章-通信系统架构设计理论与实践-软考学习笔记

通信系统〈也称为通信网络〉是利用各种通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来&#xff0c;依靠网络软件及通信协议实现资源共享和信息传递的系统。 通信系统概述 通信系统网络架构 通信网络从大的右面主要包括局域网、广域网、移…

libv4l2 交叉编译

错误1&#xff1a;‘SYS_open’未声明(在此函数内第一次使用) 修改 ../libv4lconvert/libv4lsyscall-priv.h 对使用 SYS_open进行判断 #ifdef SYS_openat #define SYS_OPEN(file, oflag, mode) \ syscall(SYS_openat, AT_FDCWD, (const char *)(file), (int)(oflag), (mod…

Pycharm使用阿里云SDK发送短信(超详细+避坑!!)

文章目录 1. 注册阿里云2. 创建签名3. 创建模板4. 创建AccessKey5. API发送测试6. 获取示例7. pycharm发送验证码7.1 安装sdk7.2 参数修改7.3 发送随机四位数字7.4 验证码信息返回7.5 简易版代码&#xff1a; 1. 注册阿里云 访问阿里云官网&#xff0c;进行注册 https://www.…