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相媲美的精度,但在训练和推理过程中都要快得多
相关文章:
R-FCN: Object Detection via Region-based Fully Convolutional Networks(2016.6)
文章目录 AbstractIntroduction当前最先进目标检测存在的问题针对上述问题,我们提出... Our approachOverviewBackbone architecturePosition-sensitive score maps & Position-sensitive RoI pooling Related WorkExperimentsConclusion 原文链接 源代码 Abstr…...
Linux服务器部署Spring Boot项目的一些shell命令脚本
1.启动jar包的命令(根据jar包数量创建,并指定相对应的jar包) nohup java -server -Xms64m -Xmx128m -jar 项目jar包的名称.jar --spring.profiles.activeprod > 记录jar包的日志.log 2>&1 &可以写在start.sh文件里(…...
Youtube DNN:Deep Neural Networks for YouTube Recommendations
1.介绍 本文主要解决的三个挑战: 大规模的推荐场景,能够支持分布式训练和提供有效率的服务。不断更新的新物料。稀疏的用户行为,包含大量的噪声。 2.推荐系统 文章包含推荐系统的两阶段模型:召回和排序。 召回网络根据用户的历…...
Python 入门基础知识点有哪些?
Python是一种高级的、解释性的、面向对象的、动态类型语言,它在机器学习、数据分析、Web开发、科学计算等领域都有广泛的应用。下面是Python入门基础知识点的详细介绍。 1、变量和数据类型 在Python中,可以使用变量来存储数据。Python的数据类型包括整…...
【每日一题】补档 CF487B. Strip | 数据结构杂烩 -> 单调队列 | 困难
题目内容 原题链接 给定一个长度为 n n n 的数组,将这个数组进行拆分成若干个连续子数组, 使得每个子数组的最大值减去最小值小于等于 s s s , 且每个子数组的长度大于等于 l e n len len 。 问最少可以拆分成多少个连续子数组࿰…...
向量数据库和普通关系型数据库的区别,LAXCUS支持哪种数据库?
这是一位Laxcus用户在后台的提问,贴出来供大家参考: 1. 向量数据库与传统的关系型数据库主要有以下几个区别: 数据类型:向量数据库专门用于存储和查询向量数据,而传统数据库可以存储各种类型的数据,如文本…...
操作系统 --- 存储器管理
一、简答题 1.存储器管理的基本任务,是为多道程序的并发执行提供良好的存储器环境。请问好的存储器环境”应包含哪几个方面? 答: 2.内存保护是否可以完全由软件实现?为什么? 答:内存保护的主要任务是确保每…...
Python selenium无界面headless
视频版教程:一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium Chrome-headless 模式, Google 针对 Chrome 浏览器 59版 新增加的一种模式,可以让你不打开UI界面的情况下使用 Chrome 浏览器,所以运行效果与 …...
JavaScript 中的负无穷大是什么?
在 JavaScript 中,负无穷大表示为 -Infinity。它是一个特殊的数值,用于表示比任何实数都要小的值。 负无穷大用于表示超出数值范围的情况,例如在进行数学计算时发生了溢出或出现了无法表示的结果。它可以通过将负无穷大赋值给变量或通过某些…...
2023年十大地推和网推拉新app推广接单平台,一手单渠道
做地推最重要的一定是找好项目,找好项目最关键的一定是地推app接任务平台,所以这十大靠谱的地推拉新接单平台,都是我们精心筛选的,2023年从事地推和网推拉新作业。 1:聚量推客 “聚量推客”汇聚了众多市场上有的和没有…...
mybatis-plus的进阶使用
文章目录 自定义xml的sql脚本配置mybaits的全局配置文件mybatis-plus优化,指定select数据库乐观锁mybatis-plus实现数据库乐观锁mybatis-plus实现逻辑删除 自定义xml的sql脚本 这里的使用和mybatis一样 编写mapper.xml文件 <?xml version"1.0" enc…...
centos安装vim编辑器
第一步检查centos的vim编辑器包是否完整 rpm -qa|grep vim //查看Vim编辑器需要安装的四个包是否完整 第二步:一般安装vim编辑器需要一下四个安装包,缺失了之后可对应下载 vim-minimal-7.4.160-2.el7.x86_64vim-common-7.4.160-4.el7.x86_64 v…...
PostgreSQL InvalidMessage Cache 同步机制
文章目录 背景InvalidMessages 基本类型InvalidMessages 数据结构概览共享内存 的 "ring-buffer" 结构Backend 本地的 InvalidMessages管理SharedInvalCatalogMsgSharedInvalCatcacheMsgSharedInvalRelcacheMsgSharedInvalSnapshotMsgSharedInvalSmgrMsgSharedInvalR…...
C#,数值计算——Globals的计算方法与源程序
1 文本格式 using System; using System.Text; namespace Legalsoft.Truffer { public static partial class Globals { //const int FLT_RADIX 2; //const int DBL_MANT_DIG 53; //const int INT_DIGITS 32; //const float FLT_…...
腾讯云香港服务器轻量24元一个月性能测试
腾讯云香港轻量应用服务器优惠价格24元一个月,一年288元,以前是30M峰值带宽,现在是20M峰值带宽,阿腾云atengyun.com分享腾讯云香港轻量应用服务器性能测评,包括香港轻量服务器配置价格表、CPU性能和CN2网络延迟测试&am…...
深度学习之基于YoloV8的行人跌倒目标检测系统
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、行人跌倒目标检测系统四. 总结 一项目简介 世界老龄化趋势日益严重,现代化的生活习惯又使得大多数老人独居,统计数据表…...
Seata入门系列【16】XA模式入门案例
1 前言 在之前,我们试过了AT、TCC 模式,Seata 还支持XA 模式。 2 XA 协议 XA协议由Tuxedo首先提出的,并交给X/Open组织,作为资源管理器(数据库)与事务管理器的接口标准。Oracle、Informix、DB2和Sybase等…...
高级深入--day44
Scrapy 和 scrapy-redis的区别 Scrapy 是一个通用的爬虫框架,但是不支持分布式,Scrapy-redis是为了更方便地实现Scrapy分布式爬取,而提供了一些以redis为基础的组件(仅有组件)。 pip install scrapy-redis Scrapy-redis提供了下面四种组件&a…...
Apache Doris (四十八): Doris表结构变更-替换表
🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录...
消息认证码--数字签名--证书
6. 消息认证码—>保证数据的完整性 "消息认证码 --- 消息被正确传送了吗?"6.1 什么是消息认证码 Alice 和 Bob 的故事 像以前一样,我们还是从一个Alice和Bob的故事开始讲起。不过,这一次Alice和Bob分别是两家银行,Alice银行通…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...
yaml读取写入常见错误 (‘cannot represent an object‘, 117)
错误一:yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因,后面把yaml.safe_dump直接替换成yaml.dump,确实能保存,但出现乱码: 放弃yaml.dump,又切…...
Canal环境搭建并实现和ES数据同步
作者:田超凡 日期:2025年6月7日 Canal安装,启动端口11111、8082: 安装canal-deployer服务端: https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…...
