理解目标检测算法之R-FCN

目标检测方法综述 千里之行,始于足下 只为记录一下自己的目标检测方面的笔记,纸质容易丢;同时,也是自己的第一篇博客,鬼知道应该怎么去写!努力吧,少年!!! 目标检测方法综述笔记 在过去的20年时间里,人们普遍认为,目标检测的发展大致经历了两个历史时期,分别是2014年以前的传统的目标检测时期和2014年以后的基于深度学习的目标检测时期。 1 传统目标检测 早期的目标检测大多是基于手工构建的。由于当时缺乏有效的图像表示,人们别无选择,只能设计复杂的特征表示,以及各种加速技术来用尽有限的计算资源。传统目标类别检测则通过使用 Ad 阅读详情


在上一篇博文中,笔者写到了对Roi Pooling和Roi Align的区别的理解,当时不禁觉得Mask rcnn引入了Roi Align操作,进一步优化了目标检测任务的定位精度,然后在想,如果想继续优化,又有什么可供优化的方向呢,百思不得其解。后来又一次跟同事交流这个问题,然后无意间了解到凯明大神后面又联合提出了R-FCN。然后笔者查阅了一些资料和原论文,有了自己的一些理解和体会,故这里记录下来,也希望对大家能有所帮助。

1 动机

R-FCN,全称为“Region-based fully convolutional network”,该文章的发表时间可以参见下图,在这里插入图片描述
作为Two-stage的目标检测算法,它是对Faster R-CNN所做的优化。大家可能会比较好奇,Faster R-CNN是凯明大神提出来的,检测精度已经很好了,还有什么可选的优化点呢,R-FCN关注点并不是检测精度,而是检测速度。可以参见下面的图来理解这个问题,在这里插入图片描述
由图可见,Faster RCNN对每一个Roi区域,分别经过一个subnetwork,这个subnetwork包含了一次global average pool操作,两次FC操作。因为每一个Roi的计算并没有共享,所以这种网络结构是比较耗时的。

为了解决这个问题,比较直接的想法是,把这两层FC操作放到Roi pooling前面,这样的话,每一个Roi区域只需要经过global average pool操作即可,节约了计算量。但是,这样做带来了另外一个问题,由于global average pool操作得到的特征缺失了很多的空间域信息,如果直接用来回归坐标会导致定位精度不准。为了保留更多的空间域位置信息,R-FCN中提出了“position-sensitive score map”的概念。

2 R-FCN网络结构

R-FCN的网络结构如下图,同Faster RCNN比起来,它有2点不同,在这里插入图片描述
(1)Shared convolutional subnetwork不同。Faster RCNN是把RPN得到的RoI直接映射到Resnet101的最后一个卷积层(2048个channels),而R-FCN将Resnet101的最后一个卷积层映射到具有 p 2 ( C + 1 ) p^{2}(C+1) p2(C+1) 个channels的特征层,作者将该特征层称之为"position-sensitive score maps",然后把RoI映射到该特征层;

(2)RoI-wise subnetwork不同。Faster RCNN的subnetwork经过了全连接层做特征组合,然后执行分类和坐标回归的双任务,R-FCN基于pool和vote操作后得到的特征向量,执行分类任务。

具体的参数对比如下表,在这里插入图片描述
下面分别解释这两点,

2.1 position-sensitive score maps

“position-sensitive score maps”,翻译过来为“位置敏感打分图”,从名字上就可以看出,该层feature maps是对位置信息具有敏感性的,有助于后面的定位任务。那么如何得到位置敏感的feature maps呢,可以参见下图,

目标检测——R-FCN Paper:R-FCN: Object Detection via Region-based Fully Convolutional Networks 作者:Jifeng Dai, Yi Li, Kaiming He, Jian Sun Visual Computing Group / Microsoft Research Asia 1 提出框架 首先说一说为什么提出了RFCN。作者分... 阅读详情

相关推荐

【目标检测系列】目标检测算法综述

一,目标检测算法分类: 目前目标检测算法大体分为3类。 1.传统方法:如adaboost+harr hog+ svm 等。传统方法流程一般为穷举搜索框,提取特征如hog harr lbp等,过分类器如adaboost ,svm等。缺点不详细说了。 2.候选区域框+深度学习方法:如R-CNN SPP-net Fast-RCNN Faster-RCNN R-FCN RCNN介绍...

gbz3300255的博客 6008

理解目标检测算法之Light Head R-CNN

文章目录1 动机2 网络结构3 实验结果4 个人总结 对于目标检测任务,输入图像通常都要经历3个步骤,Backbone + Head + Postprocess(NMS),目标检测算法的优化,通常也是围绕着这3个方面展开的。针对Backbone的优化有DetNet,针对Head的优化有Light head R-CNN,针对Postprocess的优化有soft nms和softer nms。值得...

为之则易,不为则难 2043

CV之DL之R-CNN:计算机视觉领域算法总结—R-CNN系列(R-CNN、Fast R-CNN、Faster R-CNN、R-FCN、Mask R-CNN、Cascade R-CNN、Libra R

​ CV之DL之R-CNN:计算机视觉领域算法总结—R-CNN系列(R-CNN、Fast R-CNN、Faster R-CNN、R-FCN、Mask R-CNN、Cascade R-CNN、Libra R-CNN各种对比)的简介、安装、案例应用之详细攻略 目录 相关文章 R-CNN系列的简介 R-CNN系列的安装 R-CNN系列的案例应用 相关文章 我们从基于区域的目标检测器(Faster R-CNN, R-FCN, FPN)中学到了什么? 地址 地

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 2359

王道考研计算机网络课件全解析:从零搭建你的知识框架(附B站视频+PPT下载)

本文全面解析王道考研计算机网络课程的核心知识体系,从OSI七层模型到TCP/IP四层架构,详细讲解物理层、数据链路层、网络层、传输层和应用层的关键技术。提供高效学习路径、实战案例和常见误区警示,帮助考生系统构建计算机网络知识框架,适合计算机考研备考者参考学习。

leaf8的博客 564

MRI脑影像分析从哲学到技术:一文搞懂VBM预处理基本原理(全网最详细解析)

   分析大脑解剖学差异最常用方法之一是基于体素的形态学方法(voxel-based morphometry, VBM)。 VBM的基本思想是测量大脑组织,尤其是灰质的局部浓度的差异。在大脑的每个体素处进行操作,然后在两个或多个实验组之间进行统计比较,从而在受调查的组之间建立特定大脑区域中脑组织浓度的统计学显着差异。 VBM分析基于(高分辨率)MRI脑部扫描,涉及大量处理步骤,主要是空间归一化,分割,平滑和统计分析,最终结果是统计图,显示了各组之间组织类型明显不同的区域[^1]。 参考 [^1] ..

意疏的学习笔记 3万+

STM32实战篇:使用USART发送/接收数据

在发送字符时也可以直接使用其对应的ASCLL码,例如: USART_SendData(USART1, 0x61);

qq_74114817的博客 596

LVGL按键触发回调函数的完整流程

如果是我的话我会怎么写:例如按键,我先定义一个结构体里面包含ID,事件名等和回调函数的链表节点结构体里面有具体函数的指针,也有指向下一个回调函数的链表节点的指针,初始化一个结构体变量的,通过BSP层来驱动触摸屏幕,再通过中间层与被按下时就会判断是长按还是短按还是其他,改变变量的事件例如:改成长按,生成事件包后再注册你长按的回调函数链表节点,再根据变量的事件到链表中遍历最后实现功能.父容器监听所有子列表项的点击事件,无需为每个列表项单独注册回调。的回调,打印所有事件日志,观察事件触发顺序。

solomonzw的博客 3243

QGIS:安装Deepness插件+应用

简单的描述了deepness的安装应用历程,重点是记录博主本次遇到的坑

fengyi157的博客 2336

ABB机器人发送实时位置给PLC

本文使用中断方式实现,多任务要订购ABB功能包 Profinet总线组变量配置 注:映射为16位和32位均可用 声明数据 VAR num CurrentExAxisPos;!外轴位置 VAR robtarget pCurrentPos;!实时位置 var intnum TrapNum;!中断号 初始化开中断 IDelete TrapNum;!中断号 CONNECT TrapNum WITH iTrapCurPos;!连接中...

澍澍爸的blog 6778

ESP32-C3入门教程 基础篇⑩——SNTP(Simple Network Time Protocol) 网络时间同步的简单实例

ESP32-C3入门教程 基础篇⑩——SNTP(Simple Network Time Protocol) 网络时间同步的简单实例

1589

SpringCloud Alibaba - Seata 实现高可用和异地容灾

这里不仅仅要实现高可用,还需要实现异地容灾. 异地容灾就是说,如果你整了好几个节点部署起来,全部放到一个机房里面,那么如果这个机房出了故障,就意味着整个集群就完了,所以对于一个大型的集群来讲,都会把这些服务异地部署.问题2:如果我们要实现异地容灾,也就说某一个机房挂了,需要快速的切换到另一个可用的机房,但是这个配置在配置文件中写死了,如果要改配置文件,还需要重启服务器,这是我们不希望看到的,怎么办?进入 seata/bin 目录,运行 seata-server.bat 文件,默认端口为 8091。

CYK_byte的博客 975

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

上一篇: 目标检测算法Q&A
下一篇: 理解目标检测算法之Light Head R-CNN
diligent_321
博客等级 码龄11年 278粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值