ROI pooling 和 ROI Align详解

article/2025/9/22 7:01:55

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

ROI Pooling 的局限性分析

在常见的两级检测框架(比如Fast-RCNN,Faster-RCNN,RFCN)中,ROI Pooling 的作用是根据预选框的位置坐标在特征图中将相应区域池化为固定尺寸的特征图,以便进行后续的分类和包围框回归操作。由于预选框的位置通常是由模型回归得到的,一般来讲是浮点数,而池化后的特征图要求尺寸固定。故ROI Pooling这一操作存在两次量化的过程。

将候选框边界量化为整数点坐标值。
将量化后的边界区域平均分割成 k x k 个单元(bin),对每一个单元的边界进行量化。
事实上,经过上述两次量化,此时的候选框已经和最开始回归出来的位置有一定的偏差,这个偏差会影响检测或者分割的准确度。在论文里,作者把它总结为“不匹配问题(misalignment)。

下面我们用直观的例子具体分析一下上述区域不匹配问题。如 图1 所示,这是一个Faster-RCNN检测框架。输入一张800 * 800的图片,图片上有一个665 * 665的包围框(框着一只狗)。图片经过主干网络提取特征后,特征图缩放步长(stride)为32。因此,图像和包围框的边长都是输入时的1/32。800正好可以被32整除变为25。但665除以32以后得到20.78,带有小数,于是ROI Pooling 直接将它量化成20。接下来需要把框内的特征池化7 * 7的大小,因此将上述包围框平均分割成7 * 7个矩形区域。显然,每个矩形区域的边长为2.86,又含有小数。于是ROI Pooling 再次把它量化到2。经过这两次量化,候选区域已经出现了较明显的偏差(如图中绿色部分所示)。更重要的是,该层特征图上0.1个像素的偏差,缩放到原图就是3.2个像素。那么0.8的偏差,在原图上就是接近30个像素点的差别,这一差别不容小觑。

图 1
在这里插入图片描述

ROI Align 的主要思想和具体方法

为了解决ROI Pooling的上述缺点,作者提出了ROI Align这一改进的方法(如图2)。ROI Align的思路很简单:取消量化操作,使用双线性内插的方法获得坐标为浮点数的像素点上的图像数值,从而将整个特征聚集过程转化为一个连续的操作,。值得注意的是,在具体的算法操作上,ROI Align并不是简单地补充出候选区域边界上的坐标点,然后将这些坐标点进行池化,而是重新设计了一套比较优雅的流程,如 图3 所示:

  • 遍历每一个候选区域,保持浮点数边界不做量化。
  • 将候选区域分割成k x k个单元,每个单元的边界也不做量化。
  • 在每个单元中计算固定四个坐标位置,用双线性内插的方法计算出这四个位置的值,然后进行最大池化操作。

这里对上述步骤的第三点作一些说明:这个固定位置是指在每一个矩形单元(bin)中按照固定规则确定的位置。比如,如果采样点数是1,那么就是这个单元的中心点。如果采样点数是4,那么就是把这个单元平均分割成四个小方块以后它们分别的中心点。显然这些采样点的坐标通常是浮点数,所以需要使用插值的方法得到它的像素值。在相关实验中,作者发现将采样点设为4会获得最佳性能,甚至直接设为1在性能上也相差无几。事实上,ROI Align 在遍历取样点的数量上没有ROIPooling那么多,但却可以获得更好的性能,这主要归功于解决了misalignment的问题。值得一提的是,我在实验时发现,ROI Align在VOC2007数据集上的提升效果并不如在COCO上明显。经过分析,造成这种区别的原因是COCO上小目标的数量更多,而小目标受misalignment问题的影响更大(比如,同样是0.5个像素点的偏差,对于较大的目标而言显得微不足道,但是对于小目标,误差的影响就要高很多)。

图 2
在这里插入图片描述
图 3
在这里插入图片描述

ROI Align 的反向传播

常规的ROI Pooling的反向传播公式如下:

在这里插入图片描述
这里,xi代表池化前特征图上的像素点;yrj代表池化后的第r个候选区域的第j个点;i*(r,j)代表点yrj像素值的来源(最大池化的时候选出的最大像素值所在点的坐标)。由上式可以看出,只有当池化后某一个点的像素值在池化过程中采用了当前点Xi的像素值(即满足i=i*(r,j)),才在xi处回传梯度。

类比于ROIPooling,ROIAlign的反向传播需要作出稍许修改:首先,在ROIAlign中,xi*(r,j)是一个浮点数的坐标位置(前向传播时计算出来的采样点),在池化前的特征图中,每一个与 xi*(r,j) 横纵坐标均小于1的点都应该接受与此对应的点yrj回传的梯度,故ROI Align 的反向传播公式如下:
在这里插入图片描述
上式中,d(.)表示两点之间的距离,Δh和Δw表示 xi 与 xi * (r,j) 横纵坐标的差值,这里作为双线性内插的系数乘在原始的梯度上。


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

相关文章

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

文章目录 ROI Pooling和ROI Align:一篇好的文章ROI Pooling 如何计算?AdaptiveMaxPool2d 在做啥Fast RCNN或者Faster RCNN中都使用了ROI PoolingROI Align ROI Pooling和ROI Align: (1)ROI Pooling 是为了让特征图输出…

ROI Pooling

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

ROI 详解

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

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

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

MD5密钥

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

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

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

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

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

MD5与SHA

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

使用rainbowcrack破解md5密文

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

MD5算法破解思路

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

MD5密文破解实验

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

破解MD5加密

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

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

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

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

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

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

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

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

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

再获最佳推荐,华为高端存储凭什么征服DCIG?

近日,全球著名技术分析机构DCIG发布《DCIG 2023-24高端存储阵列TOP5》报告,华为OceanStor Dorado 18000凭借可靠性、易用性和安全性等诸多优势,在DELL EMC、IBM、HPE、PureStorage等一众国际厂商中脱颖而出,荣获最佳推荐榜首。 一…

【业界新闻】浪潮高端存储系统技术发展及展望(上篇)

转自:http://news.watchstor.com/corp-147547.htm [导读]从“9.11事件”之后大量的企业因为数据丢失而宣告破产可以看出数据的重要地位。随着计算机技术的发展,实现了数据计算和数据存储的分离,而数据存储由存储系统完成。存储系统的出现&…

HDS不玩了,高端存储还能玩多久?

据悉,“日立公司高级管理系统与服务业务副总裁Keiichi Shiotsuka的表述。他指出,日立公司正"着手冻结存储业务之内高端机型的投资,且在对低营收硬件开发业务进行结构化调整,旨在于2019年3月31日之前将系统与服务业务运营利润…

【观察】Hitachi Vantara:高端存储再“升级”,数字化转型再“升维”

我们知道,“数字经济”自2017年政府工作报告首次提及至今,已多次被写入政府工作报告,这也意味着数字经济已对中国的经济运行方式产生深远影响,成为经济发展中的核心主线。 同样,作为数字经济中的关键生产要素&#xff…