RoI Pooling 和 RoI Align

article/2025/9/22 6:47:47

RoI Pooling 和 RoI Align

  • 一、背景和基本概念
    • 1.背景
    • 2.基本概念
  • 二、RoI Pooling原理
    • 1.目的
    • 2.步骤(以输出RoI feature大小为2×2×5为例)
      • Step1
      • Step2
      • Step3
      • Step4
  • 三、RoI Align原理
    • 1.目的
    • 2.步骤(以输出RoI feature大小为2×2×5为例)
      • step1
      • Step2
      • Step3
      • Step4

一、背景和基本概念

1.背景

一个Label在原图上标记出一个包含目标的区域。这个框在特征提取后,大小被缩小到了什么程度?如果这个label框本身就不大,那么经过几层池化之后,是不是在最后的feature map上都没有一个位置,能够对应到这个区域?

这个问题更广义的描述:针对一个固定网络,多大的框(目标)才能在深度网络提取的特征中至少剩余一个明确的像素点,指向这个目标。

反过来看,也就是说最后一层的feature map上的一个点,映射回原图得到一片感受野,如果目标框比这个感受野还要小,会不会就是过度的特征提取?假设这个思路成立,可能这就是模型能力相对与不同大小的目标而言的一种模糊下界。

2.基本概念

RoI(Region of Interest):是通过不同区域(region)的选择方法,从原始图像(original image)得到的候选区域(proposal region)。但是RoI不等价于Bounding Box,它们可能看起来很像,但是RoI只是为了进一步处理而产生的候选区域。可以简单把RoI理解为“feature map”上的框。

Bounding Box:Bounding Box是指检测目标的边界矩形框。

二、RoI Pooling原理

1.目的

RoI Pooling是在Fast RCNN中首次被提出。RoI Pooling直接从feature map中截取各个RoI的feature,并且输出时RoI的feature变成大小一样的了。

RoI Pooling的作用本质上是为了将不同尺寸的RoI特征转换为相同尺寸的feature输出,保证其能够与下层的全连接层连接,分别执行线性分类(linear classifier)和边框回归(bounding box regressor)。

2.步骤(以输出RoI feature大小为2×2×5为例)

Step1

得到RoI(由RPN得到)

对于输入图片,通过候选区域方法得到固定大小数量(Faster RCNN中为256)的候选区域坐标。将整个输入图片喂入基网络(如vgg, resnet等)提取feature map(Fast RCNN 中为vgg网络的conv5层特征)。

Step2

对齐到网格单元(snap to grid cell):根据输入image,将ROI映射到feature map对应位置。

首先对RoI对于的feature与原始的feature map网格单元对齐,下图中绿色框为RoI对应的实际区域(由于经过特征尺度变换,导致RoI的feature坐标可能会落在feature map的单元之间),蓝色框表示网格对齐后的RoI所对应的feature。
在这里插入图片描述

Step3

划分网格为子区域:将映射后的区域划分为相同大小的sections(sections数量与输出的维度相同)。

粗略地将网格分为 H × W H × W H×W (Fast RCNN 中设为 7 × 7 7 × 7 7×7 )个子网格区域。将上一步得到的RoI feature进一步细分为量化的空间单元。

为了得到输出的特征图为 2 × 2 × 512 2×2×512 2×2×512 ,这里的操作就是将上一步的RoI feature划分为 2 × 2 2×2 2×2 个特征单元。如果无法通过直接均分得到子区域,通过分别采取向上取整(ceil)和向下取整(floor)的到对应的单元尺寸大小。以当前 4 × 5 4×5 4×5 尺寸的特征图为例,对于宽度方向 4 / 2 = 2 4/2 = 2 4/2=2,但是对于高度方向由于 5 / 2 = 2.5 5/2 = 2.5 5/2=2.5, 通过向上和向下取整,确定宽度方向和高度方向特征子区域的大小分别为2和3。
在这里插入图片描述

Step4

最大池化操作:对每个sections进行max pooling操作。

在每一个子区域执行聚合操作得到单元的特征值(一般是最大池化)。对上一步得到的 2 × 2 2×2 2×2 个子区域分别做最大池化操作,得到 2 × 2 × 512 2×2×512 2×2×512 的RoI feature。

输出是batch个vector,其中batch的值等于RoI的个数,vector的大小为channel * w * h;RoI Pooling的过程就是将一个个大小不同的box矩形框,都映射成大小固定(w * h)的矩形框。
在这里插入图片描述

三、RoI Align原理

1.目的

RoI Pooling的Step2和Step3都会对应着轻微的区域特征错位(misaligned), 这些操作在RoI和提取到的特征之间引入了偏差。这些偏差可能不会影响对分类任务,但它对预测像素精度掩模有很大的负面影响。

所以针对RoI Pooling的缺点,提出了RoI Align提高精度(在Mask CRCNN中提出)。

2.步骤(以输出RoI feature大小为2×2×5为例)

step1

每个RoI,保持浮点数边界不做对齐(不对齐网格单元);同时平均分网格分为 H × W H × W H×W (这里为 2 × 2 2 × 2 2×2 )个子网格区域,每个单元的边界也不做量化。

在这里插入图片描述

Step2

对于每个区域选择4个规则采样点(分别对应将区域进一步平均分为四个区域,取每个子区域的中点)。
在这里插入图片描述

Step3

利用双线性插值( 双线性插值本质上是目标像素所相邻的四个像素, 分别以像素对应的对角像素与目标像素的构成的矩形区域为权重,像素大小为值的加权和。)计算得到四个采用点的像素值大小。下图为一个规则采样点所对应的邻近区域示意图。
在这里插入图片描述

Step4

利用最大池化(max pooling)或平均池化(average pooling)分别对每个子区域执行聚合操作,得到最终的特征图。
在这里插入图片描述
输出是batch个vector,其中batch的值等于RoI的个数,vector的大小为channel * w * h;RoI Pooling的过程就是将一个个大小不同的box矩形框,都映射成大小固定(w * h)的矩形框。


http://chatgpt.dhexx.cn/article/YmbWhZHv.shtml

相关文章

ROI Pooling解析

ROI Pooling最早由Ross Girshick在2015年的论文fast rcnn中提出,是对ROI(Region of Interest)的Pooling操作,广泛应用于物体检测的研究领域。该操作旨在对输入特征图中不同大小的ROI利用池化方法获得固定大小的输出特征图。 ROI Pooling层的输入&#x…

ROI

栗子&#xff1a; #include<cv.h> #include<highgui.h> using namespace cv; //方法1&#xff0c;假如区域为长方形&#xff0c;使用MAT 构造函数设置区域内的值为255 int main() {Mat imageimread("boldt.jpg");//初始化掩模矩阵Mat mask Mat::zeros(…

OpenCV--0016:图像ROI与ROI操作

文章目录 一、图像ROI1. 概念2. 图像ROI操作2.1 矩形感兴趣区域2.1.1 使用Rect函数2.1.2 使用Range2.1.3 应用实例 2.2 不规则ROI区域2.2.1 通过inRange函数生成mask2.2.2 通过“与”操作提取ROI 一、图像ROI 1. 概念 图像ROI&#xff08;region of interest&#xff09;是指…

ROI pooling 和 ROI Align详解

ROI Align 是在Mask-RCNN这篇论文里提出的一种区域特征聚集方式, 很好地解决了ROI Pooling操作中两次量化造成的区域不匹配(mis-alignment)的问题。实验显示&#xff0c;在检测测任务中将 ROI Pooling 替换为 ROI Align 可以提升检测模型的准确性。 ROI Pooling 的局限性分析 …

【深度学习】ROI Pooling 和 ROI Align 计算机视觉 目标检测

文章目录 ROI Pooling和ROI Align&#xff1a;一篇好的文章ROI Pooling 如何计算&#xff1f;AdaptiveMaxPool2d 在做啥Fast RCNN或者Faster RCNN中都使用了ROI PoolingROI Align ROI Pooling和ROI Align&#xff1a; &#xff08;1&#xff09;ROI Pooling 是为了让特征图输出…

ROI Pooling

RCNN ref 1 步骤: 1.使用Selective Search方法生成候选区域 2.对每一个候选区域使用CNN进行特征提取 3.对提取到的特征送入到每一类的SVM分类器 判断该区域是否属于该类特征 4.使用回归器精修候选框的位置 候选框搜索阶段: 使用selective search方法生成候选框,由于CNN提取…

ROI 详解

SPPNet、roi pooling 和 average pooling之间的区别&#xff0c;都是起到对任意大小的输入产生固定的输出的作用。其中SPPNet、roi pooling是一样的。 下面对ROI Pooling 进行详解&#xff1a; ROI是Region of Interest的简写&#xff0c;指的是在“特征图上的框”&#xff1…

【深度学习小知识】ROI到ROI pooling 再到ROI Align

ROI&#xff01;RoI Pooling&#xff01; ROI详解RoI Pooling详解Pooling操作ROI pooling ROI Align详解 ROI详解 Region of interest(ROI),中文译为感兴趣区域。在计算机视觉领域&#xff0c;从输入的图像中框选处理待处理的区域就是ROI。 ROI / Region proposals大致过程&am…

MD5密钥

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

漫画戏说:如何破解MD5加密算法

本文将通过漫画的形式来解释&#xff1a;如何破解MD5加密算法。其中包括了暴力枚举法、字典法、彩虹表法三种破解MD5加密算法的方法。MD5破解原理都是利用了&#xff0c;被加密的数据与MD5加密算法所生成的哈希值并不是一一对应的关系&#xff0c;而是多对一&#xff0c;也就是…

基于量子计算的md5密码哈希破解方法

基于量子计算的md5密码哈希破解方法 背景 Md5密文破解&#xff08;解密&#xff09;可以说是网络攻击中的一个必不可少的环节&#xff0c;是黑客工具中的一个重要“辅助工具”。md5解密主要用于网络攻击&#xff0c;在对网站等进行入侵过程&#xff0c;有可能获得管理员或者其…

MD5与SHA

不管是MD5还是SHA&#xff0c;这一切的根本都是哈希算法&#xff0c;即单向函数 MD5 全称为 消息摘要算法版本5 &#xff08;Message Digest Algorithm 5&#xff09; 首先我要强调的是&#xff0c;MD5并不是加密算法&#xff0c;它是一种哈希散列算法。 但是其往往可以应用…

使用rainbowcrack破解md5密文

文章目录 1、rainbowcrack下载2、文件说明3、使用流程3.1 生成彩虹表3.2 排序彩虹表3.3 使用刚生成的彩虹表破解密文 4、实例4.1 生成彩虹表4.2 彩虹表排序4.3 破解密文 1、rainbowcrack下载 下载链接 2、文件说明 3、使用流程 环境&#xff1a;windows 前提&#xff1a;进入…

MD5算法破解思路

https://blog.csdn.net/wufaliang003/article/details/79794982 小明&#xff1a;老师&#xff0c;上次您讲了MD5算法。用它生成的信息摘要&#xff0c;真的可以被破解吗&#xff1f; 老师&#xff1a;有很多种方法可以破解&#xff0c;不过需要明确一点&#xff0c;这里所谓的…

MD5密文破解实验

实验目的与要求 1、 了解MD5加密的基本原理 2、 使用MD5Crack工具进行MD5解密 3、 使用网络资源对密文进行在线破解 4、 认真阅读并掌握本实验相关的知识点 5、上机实现实验所提到的工具和操作&#xff0c;得到实验结果&#xff0c;并填写实验报告 预备知识 MD5介绍 199…

破解MD5加密

本文摘自漫画戏说&#xff1a;如何破解MD5加密算法TOMORROW星辰 前言 这里所谓的破解并非是要把摘要还原成原文。因为MD5算法是用有穷的128位表示无穷的原文。对于MD5的破解&#xff0c;实际上都属于碰撞&#xff0c;比如原文A可以 通过MD5生成摘要M&#xff0c;我们只要找到…

MD5摘要算法的几种破解方法!

你知道的越多&#xff0c;不知道的就越多&#xff0c;业余的像一棵小草&#xff01; 你来&#xff0c;我们一起精进&#xff01;你不来&#xff0c;我和你的竞争对手一起精进&#xff01; 编辑&#xff1a;业余草 推荐&#xff1a;https://www.xttblog.com/?p5259 MD5 算法暴力…

比起高性能计算,高端存储才更亟待国产化

科技云报道原创。 上周末&#xff0c;2019全国高性能计算学术年会在内蒙古开幕&#xff0c;对于行业内的人来说&#xff0c;这是一个每年不能再熟悉的代表高性能领域的峰会了&#xff0c;CCF如今已经成为世界三大高性能计算学术年会之一。 ​ 值得注意的是&#xff0c;2019年的…

评测|HPE Nimble AF全闪存系列,诠释真正的高端存储

【IT168 评测】导语&#xff1a;随着AI、互联网、大数据等技术快速发展&#xff0c;企业对存储设备的需求已踏上一个更高的级别&#xff0c;高性能、低延时、大容量等多种需求的应用场景愈发常见&#xff0c;在这种情况下&#xff0c;寻求能够满足相应工作负载能力的存储设备已…

高端存储下一个爆款凭什么是它?

高端存储是企业级存储领域最令人淡定的市场&#xff0c;淡定在于这个市场门槛高&#xff0c;真正赢得了用户认可之后&#xff0c;基本上都可以淡定地稳步发展&#xff0c;但是想要取得绝对的优势&#xff0c;那还是需要下一番功夫不可。只是功夫非一日练成&#xff0c;更需耐力…