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银行通…...
【深度解析】Claude Auto Dream:从“短期对话”到“项目级心智模型”的记忆系统升级
摘要 本文从 Anthropic 新增的 Auto Dream(/dream)功能出发,系统解析大模型“跨会话记忆一致性”这一核心难题,剖析 Auto Memory Auto Dream 组合背后的技术逻辑,并给出如何在自己项目里实现“类 Auto Dream 记忆管理…...
ESLyric歌词源高效配置与避坑指南:Foobar2000用户进阶教程
ESLyric歌词源高效配置与避坑指南:Foobar2000用户进阶教程 【免费下载链接】ESLyric-LyricsSource Advanced lyrics source for ESLyric in foobar2000 项目地址: https://gitcode.com/gh_mirrors/es/ESLyric-LyricsSource ESLyric-LyricsSource是Foobar2000…...
如何用Electron打造全平台视频播放神器:zyfun跨平台开发实战指南
如何用Electron打造全平台视频播放神器:zyfun跨平台开发实战指南 【免费下载链接】zyfun 跨平台桌面端视频资源播放器,免费高颜值. 项目地址: https://gitcode.com/gh_mirrors/zy/zyfun 在当今多设备、多系统的数字时代,一款真正优秀的视频播放器…...
保姆级教程:ROS1/ROS2下rosbag录制与播放的10个实战技巧(含脚本与launch文件)
ROS1/ROS2高效数据管理:rosbag录制与播放的工程化实践指南 第一次接触rosbag时,我花了整整三天时间才搞明白为什么录制的数据总是无法正常播放。当时在实验室调试移动机器人,每次测试都要重新跑一遍完整流程,效率低得令人抓狂。直…...
Deformable-DETR环境配置避坑:如何正确设置CUDA_HOME解决ms_deformable_im2col_cuda报错
Deformable-DETR环境配置实战:从CUDA路径排查到高效编译 当你第一次尝试运行Deformable-DETR这个强大的目标检测框架时,是否也遇到了那个令人头疼的报错:"error in ms_deformable_im2col_cuda: no kernel image is available for execut…...
SemanticKITTI数据集评测:DarkNet53Seg、PointNet++等模型谁更强?附复现代码
SemanticKITTI点云语义分割实战:模型选型与性能优化指南 点云语义分割技术正在重塑自动驾驶、机器人导航和三维场景理解等领域的研究范式。作为该领域最具挑战性的基准之一,SemanticKITTI数据集凭借其大规模、高密度标注和真实场景多样性,已成…...
zotero-style:智能文献管理在学术研究中的创新实践
zotero-style:智能文献管理在学术研究中的创新实践 【免费下载链接】zotero-style zotero-style - 一个 Zotero 插件,提供了一系列功能来增强 Zotero 的用户体验,如阅读进度可视化和标签管理,适合研究人员和学者。 项目地址: ht…...
COMSOL激光与电火花高斯热源作用下5.6版本两相流水平集仿真模型:流体传热-层流耦合研究
comsol激光、电火花(高斯热源)加工的水平集两相流仿真模型,5.6版本的,是流体传热—层流—两相流水平集耦合。在COMSOL Multiphysics 5.6中,模拟激光或电火花加工过程中的热源分布和流体行为,是一个相当有趣…...
Realtek RTL8125 2.5GbE网卡驱动技术指南
Realtek RTL8125 2.5GbE网卡驱动技术指南 【免费下载链接】realtek-r8125-dkms A DKMS package for easy use of Realtek r8125 driver, which supports 2.5 GbE. 项目地址: https://gitcode.com/gh_mirrors/re/realtek-r8125-dkms 1. 问题诊断:网络设备识别…...
深度学习 三次浪潮、三大驱动力与神经科学的恩怨(二)
1. 一个领域,多个名字 很多人以为"深度学习"是一个全新的领域。事实上,它的历史可以追溯到 20 世纪 40 年代——只不过在不同时期,它被叫过完全不同的名字: 1940s-1960s:被称为控制论(Cybernetic…...
