目标检测中的ROI Pooling

目标检测中的ROI Pooling

ROI Pooling的产生背景

ROI Pooling是在Faster R-CNN中被提出,主要是解决基于区域提议的目标检测方法存在的两个问题:

  • 输入不统一: 区域提议网络(RPN)或选择性搜索(Selective Search)会产生成千上百个候选区域(ROI),这些候选区域的大小通常都是不一致的
  • 头部网络需要固定输入: 网络最终的分类头以及回归头需要输入必须是固定尺寸

如何将这些大小不一的候选区域转换为统一的输入尺寸输入到头部网络中,这就是ROI Pooling要解决的问题

ROI Pooling的工作原理

ROI Pooling操作可以分解为两个简单的步骤,假设目标输出尺寸需要统一为H×W

步骤一:映射与划分

  • 映射: 将RPN网络的候选区域坐标(x, y, w, h)映射到检测网络的特征图上,特征图假设经过了S倍下采样 ,则候选区域坐标需除以S获取对应于特征图上的坐标
  • 划分: 将映射后的特征图区域在逻辑上划分为H×W个大小近似的子窗口
    • 每个子窗口的高度为h / H, 宽度为w / W
    • 由于h / H、w / W很可能不是整数,因此需要对子窗口的边界进行取整,这样会导致子窗口的大小会略有不同

步骤二:最大池化

  • 对划分后的每一个子窗口执行最大池化操作,即取该窗口内最大的值作为输出,每一个通道单独执行最大池化
  • 经过对所有H × W个子窗口进行最大池化后,会得到一个H × W × C 的特征图,其中C表示通道数

具体的计算示例

假设:

  • 输入ROI的的大小为6×8
  • 目标输出大小为3×3

划分过程

  1. 划分网格:
    • 高度方向:6 / 3 = 2,将高度平分为3份,每份两个像素
    • 宽度方向:8 / 3 ~= 2.67,不是整数!需要处理小数问题:
      • 通常做法是:三个子窗口的宽度分别设置为[3, 3, 2],即第一个和第二个子窗口的宽度为3个像素,第三个子窗口的宽度为2个像素
  2. 最大池化:
    • 对这9个子窗口中的每一个,计算其覆盖区域内的最大值。
    • 例如,对于左上角的2x3子窗口,我们取这6个值中的最大值,作为输出特征图(0,0)位置的值。
    • 依次处理所有子窗口,最终得到一个3x3的输出特征图。

ROI Pooling的局限性

RoI Pooling 的核心问题在于两次量化操作:

  • 第一次量化: 将原始图像上的浮点数 RoI 坐标映射到特征图时,需要除以步长 S 并取整。这会导致 RoI 在特征图上的位置出现微小的偏差。

  • 第二次量化: 将特征图上的 RoI 区域划分成 H x W 个子窗口时,子窗口的边界需要取整。这会导致子窗口的大小和位置不精确。

这些取整操作(量化)虽然得到了固定尺寸的输出,但也引入了不精确的空间定位信息。对于分类任务来说,这种微小的偏差可能影响不大,但对于需要像素级精度的任务(如实例分割 Mask R-CNN)或精细的边界框回归,这种不精确性会带来显著的负面影响。

相关推荐
子夜江寒6 小时前
基于 OpenCV 的图像形态学与边缘检测
python·opencv·计算机视觉
工藤学编程7 小时前
零基础学AI大模型之LangChain智能体之initialize_agent开发实战
人工智能·langchain
king王一帅8 小时前
Incremark Solid 版本上线:Vue/React/Svelte/Solid 四大框架,统一体验
前端·javascript·人工智能
泰迪智能科技11 小时前
分享|职业技术培训|数字技术应用工程师快问快答
人工智能
Dxy123931021612 小时前
如何给AI提问:让机器高效理解你的需求
人工智能
少林码僧13 小时前
2.31 机器学习神器项目实战:如何在真实项目中应用XGBoost等算法
人工智能·python·算法·机器学习·ai·数据挖掘
钱彬 (Qian Bin)13 小时前
项目实践15—全球证件智能识别系统(切换为Qwen3-VL-8B-Instruct图文多模态大模型)
人工智能·算法·机器学习·多模态·全球证件识别
没学上了13 小时前
CNNMNIST
人工智能·深度学习
宝贝儿好13 小时前
【强化学习】第六章:无模型控制:在轨MC控制、在轨时序差分学习(Sarsa)、离轨学习(Q-learning)
人工智能·python·深度学习·学习·机器学习·机器人
智驱力人工智能14 小时前
守护流动的规则 基于视觉分析的穿越导流线区检测技术工程实践 交通路口导流区穿越实时预警技术 智慧交通部署指南
人工智能·opencv·安全·目标检测·计算机视觉·cnn·边缘计算