Faster RCNN系列——RoI Pooling与全连接层

news2025/4/9 5:15:57

   在RPN网络中,已经计算过一次类别真值与类别预测值、偏移量真值与偏移量预测值之间的损失值,但这里的类别预测值只包含两类:前景和背景。

  RPN网络输出的Proposal作为生成的区域,继续在后续的RoI Pooling和全连接层中进行分类与回归。

一、RoI Pooling

  RoI Pooling的主要作用是将RPN网络生成的Proposal变换到相同的维度,以满足后续全连接层的要求。

  RoI Pooling的实现过程如下图所示,假设当前的Rol为图中左侧图像的边框,大小为 332 × 332 332×332 332×332,为了得到这个RoI的特征图,首先需要将该区域映射到全图的特征图上,由于下采样率为16,因此该区域在特征图上的坐标直接除以16并取整,而对应的大小为 332 / 16 = 20.75 332/16=20.75 332/16=20.75。在此, Rol Pooling的做法是直接将浮点数量化为整数,取整为 20 × 20 20×20 20×20,也就得到了该RoI的特征,即图中第3步的边框。

  下一步还要将该 20 × 20 20×20 20×20区域处理为 7 × 7 7×7 7×7的特征,然而 20 / 7 ≈ 2.857 20/7≈2.857 20/72.857,再次出现浮点数,RoI Pooling的做法是再次量化取整, 2.857 2.857 2.857取整为 2 2 2,然后以 2 2 2为步长从左上角开始选取出 7 × 7 7×7 7×7的区域,这样每个小方格在特征图上都对应 2 × 2 2×2 2×2的大小,如图中第4步所示。最后,取每个小方格内的最大特征值,作为这个小方格的输出,最终实现了 7 × 7 7×7 7×7的输出,也完成了池化的过程,如图中第5步所示。

在这里插入图片描述

二、RoI Align

  RoI Pooling的问题在于进行了两次量化取整,有精度误差,对回归物体位置的准确率影响较大。

  Mask RCNN提出了RoI Align,使用双线性插值获得浮点数格式的坐标,过程如下图所示,池化后的特征大小仍为 7 × 7 7×7 7×7,但对应到特征图上的大小为 20.75 × 20.75 20.75×20.75 20.75×20.75,不做量化。

在这里插入图片描述

  接下来,将特征图上的 20.75 × 20.75 20.75×20.75 20.75×20.75大小均匀分成 7 × 7 7×7 7×7方格的大小,中间的点依然保留浮点数。在此选择其中 2 × 2 2×2 2×2方格为例,如下图所示,在每一个小方格内的特定位置选取4个采样点进行特征采样,如图中每个小方格选择了4个小黑点,然后对这4个黑点的值选择最大值,作为这个方格最终的特征。

在这里插入图片描述
  对于黑点的位置,可以将小方格平均分成 2 × 2 2×2 2×2的4份,然后这4份更小单元的中心点可以作为小黑点的位置。

  对于这4个小黑点的值,RoI Align使用了双线性插值的方法。小黑点周围会有特征图上的4个特征点,利用这4个特征点双线性插值出该黑点的值。

三、全连接网络

  在经过RoI Pooling层之后,特征被池化到了固定的维度,然后就可以利用全连接网络进行分类和回归预测量的计算。

  全连接网络如下图所示,256个Rol经过池化之后得到固定维度为 512 × 7 × 7 512×7×7 512×7×7的特征,在此首先将这三个维度延展为一维,因为全连接网络需要将一个Rol的特征全部连接起来。

在这里插入图片描述
  接下来利用VGGNet的两个全连接层,得到长度为4096的256个RoI特征。为了输出类别与回归的预测,将上述特征分别接入分类与回归的全连接网络。在此默认为21类物体,因此分类网络输出维度为21,回归网络则输出每一个类别下的4个位置偏移量,因此输出维度为84。

参考文章

《深度学习之Pytorch物体检测实战》

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

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

相关文章

企业电子招投标系统源码之电子招投标系统建设的重点和未来趋势

项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及…

性能优化3-分帧寻路+寻路任务统一管理

前言 当项目里的地图越来越大,一些性能上的问题开始逐渐出现,比如寻路。玩家在操控角色移动的时候,指引需要实时更新,同时一些npc也需要做移动,容易出现cpu占用率短时间过高,甚至掉帧的情况。 去年底的时候…

ChatGPT,音乐,与数据库

小编君是个不务正业,喜欢搞跨界,干啥啥不成的DBA,大概在十一年前就有个不成熟的妄念,能否用计算机来写音乐? ▌用ChatGPT来搞音乐? 音乐是一个个的音符,按照乐理规则排列的。音符之间是否和谐…

横扫一线大厂面试的高并发笔记到底有多硬核?

处处需要高并发 “为什么Java面试必问高并发?” 这个问题已经让程序员们倍感头疼,尤其是想要跳槽到更大公司的程序员,能否漂亮的回答高并发的问题已经成为求职者是否是一个优秀程序员的评判标准,大厂面试尤为明显。 不得不说&am…

springMvc(二)

一、SSM整合 前面我们已经把 Mybatis 、 Spring 和 SpringMVC 三个框架进行了学习,今天主要的内容就是把这三个 框架整合在一起完成我们的业务功能开发,具体如何来整合,我们一步步来学习。 1.1 流程分析 (1) 创建工程 创建一个Maven的we…

BUUCTF-PWN-ciscn_2019_n_1

1.溢出到shell位置 下载文件 checksec file 发现是64位的 然后 放入ida 查看字符串 发现 cat flag 然后看看 F5反编译 我们发现了system 然后get()函数 我们可以使用栈溢出 我们看看 v1函数的地址 是30h 然后是64位的 所以 基地址是8字节 我们开始查看 system的地址 所以…

Web3 营销:项目方如何使用空投奖励以及激励真实用户

Apr. 2023, Daniel 在GameFi中,举行成功的空投活动是最难做到的事情之一。 虽然今年Arbitrum和Blur的活动再次使空投成为一个热门话题,但通过空投赚取收益造成了一个机器人问题,即空投者使用多个账户来进入游戏系统。 Trading volume on Bl…

【LeetCode】剑指 Offer 61. 扑克牌中的顺子 p298 -- Java Version

题目链接:https://leetcode.cn/problems/bu-ke-pai-zhong-de-shun-zi-lcof/ 1. 题目介绍(61. 扑克牌中的顺子) 从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身…

活动需求中灵活使用Redis提升生产力

抽奖 一堆用户参与进来,然后随机抽取几个幸运用户给予实物/虚拟的奖品;此时,开发人员就需要写上一个抽奖的算法,来实现幸运用户的抽取;其实我们完全可以利用Redis的集合(Set),就能轻…

汽车CAN、LIN汇总

目录: 一、准备知识 1、什么是CAN 2、汽车网络发展时间轴 3、如何通信 4、CAN总线结构 1)ISO 11898 2)CAN 和 J1850的比较 3)CAN 和 UART的比较 5、关于节点 1)什么是节点 2)节点:报文传…

Jdbc开发结构

一、导入jar包,放置lib目录下,需要的有: (1)alibaba连接池(druid) (2)apache工具类(commons-dbutils&…

网络协议-HTTP入门和基础工具链

Http协议介绍 发明者:蒂姆伯纳斯-李 英国计算机科学家(1955-) 万维网(1990HTTP协议) 世界第一个浏览器 第一个服务端程序 创办MIT人工智能实验室 HTTP协议 超文本传输协议(Hyper Text Trabsfer Prot…

一文带你搞清 ChatGPT 与 Azure OpenAI 的区别

这两周是我从2017年开始全职涉入 NLP 领域后最忙的两周,无数的同事和客户都在向我提出一个询问:ChatGPT 可以帮到我们什么? 特别是在2023年3月31日我做了一场微软 Azure OpenAI [布局助力企业]拥抱新智能时代的演讲之后,这几天我…

信号系统中使用的继电器

继电器是什么 继电器是一种电气开关,它使用电磁力来控制一个或多个电气电路的操作。继电器通常由电磁铁、触点和弹簧等部件组成。当电磁铁被激活时,它会产生磁场,吸引或释放触点,从而打开或关闭电路。 继电器的分类 继电器分为…

CSS学习(5) - 布局

文章首发于我的个人博客:欢迎大佬们前来逛逛 文章目录 CSS布局display属性width和max-widthposition 属性溢出浮动和清除floatclear 布局案例 CSS布局 display属性 display 属性是CSS布局的最重要的属性。 display属性规定是否/如何显示元素。 display元素通常与…

Python词云

词云图wordcloud 1.安装第三方库 j i e b a 库、 m a t p l o t l i b 、 w o r d c l o u d 库 jieba库、matplotlib、wordcloud库 jieba库、matplotlib、wordcloud库 2.过程 1.使用 j i e b a jieba jieba 库对数据进行分词整理,转为 t x t txt txt文件&#…

AI和ML:数据中心的新前沿创新和优化

数据中心现在正在将人工智能(AI)和机器学习(ML)技术集成到其基础架构中,以保持竞争力。通过在传统数据中心架构中实施人工智能驱动层,企业可以创建自主数据中心,无需人工干预即可优化和执行通用数据工程任务。 随着对数据处理和存储的需求持续…

【行为型模式】策略模式

文章目录 1、简介2、结构3、实现方式3.1、案例引入3.2、结构分析3.3、具体实现 4、对比模板方法模式5、策略模式优缺点6、应用场景 1、简介 策略模式(Strategy)是一种设计模式,它允许在运行时根据需要选择算法的行为。这个模式将每个算法封装到一个类中&#xff0c…

Oracle VM VirtualBox安装开放麒麟桌面版本操作

1.环境 Oracle VM VirtualBox版本6.1.18 开放麒麟桌面版本openkylin 0.0.5 https://mirror.lzu.edu.cn/openkylin-cdimage/yangtze/openkylin-0.9.5-x86_64.iso 1.创建新虚拟电脑 ql 并将ios导入 然后点击启动 注意: vm box如果鼠标设置不当的话 基本上不可能完成…

PEIS源码 体检源码 医院体检系统源码

PEIS体检管理系统源码 PEIS源码 体检源码 医院体检系统源码 本套PEIS医院体检管理系统源码,采用C#语言开发,C/S架构,前台开发工具为Vs2012,后台数据库采用oracle大型数据库。有演示。 文末获取联系 PEIS体检管理系统适用于大中型…