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

news2024/11/24 3:58:37

Faster RCNN系列:

Faster RCNN系列1——Anchor生成过程
Faster RCNN系列2——RPN的真值与预测值概述
Faster RCNN系列3——RPN的真值详解与损失值计算
Faster RCNN系列4——生成Proposal与RoI
Faster RCNN系列5——RoI Pooling与全连接层

   在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/448407.html

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

相关文章

融云出海赋能会干货回顾(二)| 地区、赛道选择和避坑攻略

“出海是这个时代给我们的机遇。”这是很多互联网出海人的心声。关注【融云全球互联网通信云】了解更多 走过跌宕起伏的 15 年出海历程,中国出海人现在面对与此前截然不同的市场环境,很多地区蓝海不再,也有不少赛道变得拥挤。 一体两面&…

交友项目【动态点赞动态喜欢】

目录 1:点赞 1.1:动态点赞 1.1.1:分析&实现 1.2:取消点赞 1.2.1:分析&实现 2:喜欢 2.1:动态喜欢 2.1.1:分析&实现 2.2:取消喜欢 2.2.2&#xff1a…

学成在线笔记+踩坑(5)——【媒资模块】上传视频,断点续传

目录 5 上传视频 5.1 媒资管理页面上传视频流程预览 5.2 断点续传技术 5.2.1 什么是断点续传 5.2.2 测试分块与合并,RandomAccessFile随机流 5.2.3 视频上传流程 5.2.4 测试minio合并文件 5.3 接口定义,检查文件/分块、上传分块、合并分块 5.4…

4年外包终上岸,我只能说这类公司能不去就不去

我大学学的是计算机专业,毕业的时候,对于找工作比较迷茫,也不知道当时怎么想的,一头就扎进了一家外包公司,一干就是4年。现在终于跳槽到了互联网公司了,我想说的是,但凡有点机会,千万…

类图(类之间的关系)

一.概述 类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。在软件工程中,类图是一种静态的结构图,描述了系统的类的集合…

基于Powell共轭方向法的UWB室内定位构型优化算法

基于Powell共轭方向法的UWB室内定位构型优化算法 阚昊宇 摘要: UWB室内定位系统的服务性能及定位精度很大程度上受UWB基站构型影响,而GDOP是衡量系统定位服务性能的重要指标。目前关于UWB室内定位基站构型的讨论主要集中于最小化限定基站数目下GDOP在自…

【系统集成项目管理工程师】项目资源管理

💥十大知识领域:项目资源管理 项目资源管理包括以下 4 个过程: 编制项目人力资源计划组建项目团队建设项目团队管理项目团队 一、编制项目人力资源计划 确定与识别项目中的角色、所需技能、分配项目职责和汇报关系,并记录下来形成书面文件&am…

CDN如何阻止网络攻击

随着网络技术的发展,网络攻击事件也越来越多,对企业和个人的安全和稳定造成严重威胁。为此,高防CDN应运而生,成为广大用户保障网络安全的重要工具。什么是高防CDN?高防CDN的特点有哪些?高防CDN如何阻止网络攻击?接下来让我们一…

【云原生|Docker】14-Dokcer Harbor高可用部署

【云原生Docker】14-Dokcer Harbor高可用部署 文章目录 【云原生Docker】14-Dokcer Harbor高可用部署前言Harbor高可用方案单主复制双主复制多Harbor共享后端存储 Harbor高可用部署方案说明环境说明部署步骤安装nfs安装redis和PostgreSQL安装harbor配置nginx访问测试 总结 前言…

netty源码学习之-HashedWheelTimer

netty源码学习之-HashedWheelTimer 概述使用相关概念解析时间轮 运行时序图 源码workerHashedWheelTimeoutHashedWheelBucket 概述 该部分源码是netty的时间轮,netty的时间轮是单轮,其他时间轮是多轮设计,今天先了解下netty的时间轮设计 使用…

hot100:数组——49、53、55

49. 字母异位词分组 用hashmap存储&#xff0c;其中每个key&#xff0c;用这组异位词的排序后的字符串&#xff1b;value是这组异位词。比如“tea”和“ate”是一组异位词&#xff0c;他们的排序结果都是“aet”。 public List<List<String>> groupAnagrams(Stri…

交流电中的无功功率和有功功率,减少无功功率

有功&#xff0c;无功功率 从字面上理解就是做功和不做功的功率。不做功的是因为负载电路中有电感和电容的存在。 电容和电感的电压电流关系 设加在两端的电压都是 U U m a x s i n w t UU_{max}sinwt UUmax​sinwt 电容和电感两端电压电流的关系 电容两端的电压电流关系…

Javaee Spring基于XML的AOP开发

快速入门 1. 导入 AOP 相关坐标 2. 创建目标接口和目标类&#xff08;内部有切点&#xff09; 3. 创建切面类&#xff08;内部有增强方法&#xff09; 4. 将目标类和切面类的对象创建权交给 spring 5. 在 applicationContext.xml 中配置织入关系 6. 测试代码 项目…

【数据库】MySQL数据约束和表关系详解

目录 1.数据库约束 1.1约束类型 1.2NULL约束 1.3UNIQUE&#xff1a;唯一约束 1.4DEFAULT&#xff1a;默认值约束 1.5PRIMARY&#xff1a;主键约束 1.6FOREIGH KEY:外键约束 2.表的关系 2.1一对一 2.2一对多 2.3多对多 1.数据库约束 数据库中的数据保存在数据表中&am…

数据库基础篇 《9. 子查询》

目录 1. 需求分析与问题解决 1.1 实际问题 1.2 子查询的基本使用 ​编辑1.3 子查询的分类 分类方式1&#xff1a;我们按内查询的结果返回一条还是多条记录&#xff0c;将子查询分为 单行子查询 、 多行子查询 。 分类方式2&#xff1a; 我们按内查询是否被执行多次&#x…

4WE10D50型力士乐液压阀规格

安装位置 可选择&#xff0c;方向阀最好水平安装&#xff01;对于阀品种&#xff0c;如 &#xff0d; 不带阀芯对中弹簧 &#xff0d; 或带下垂电磁铁 其他安装位置能够导致功能失常或违反有关的技朮规定。 带泄油口的压力开关的安装位置必须选择&#xff0c;使它的泄油口…

Redis源码分析之网络模型

Redis网络模型 阅读源码的初衷Redis源码阅读 阅读源码的初衷 很多网上解释这个Redis为啥这么块&#xff1f;都会说Redis这么快的原因会有一个Redis才用了单线程&使用了多路io复用来检查io事件&#xff0c;单线程可以避免多线程对资源的竞争。如果我们使用了多线程那么就需…

Revit中栏杆扶手、坡道的绘制及插件太多问题

一、在Revit中栏杆与扶手的绘制方法有两种&#xff1a; ①绘制路径 ②放置在主体上 二、执行方式 功能区&#xff1a;“建筑”选项卡“楼梯坡道”面板“栏杆扶手”下拉菜单“绘制路径”。 三、绘制技巧 首先我们一起来看看如何设置栏杆扶手属性。 第一步&#xff1a;设置属…

【vue3学习系列】对比vue2生命周期做了哪些改变,vue3初学者快来看看

文章目录 前言官方生命周期图分析去除beforeCreate与createdsetup代替created其他钩子只是改了名称 剔除vue2后的生命周期图其他钩子函数keepalive错误捕获其他的一些钩子去官方文档看看即可 前言 看了下官方的生命周期的说明&#xff0c;感觉讲的不算太清晰&#xff0c;所以个…

C++ 内联函数(inline)

内联函数&#xff1a;就是在函数前加inline 让函数在调用的地方直接展开 可是内联函数有什么作用呢&#xff1f;&#xff1f; 我们都知道&#xff0c;如果调用一个函数的话&#xff0c;会建立栈帧&#xff0c;在建立栈帧的时候会进行压栈等一系列操作。 而内联函数会在调用的…