目标检测-Two Stage-Mask RCNN

文章目录

  • 前言
  • [一、Mask RCNN的网络结构和流程](#一、Mask RCNN的网络结构和流程)
  • [二、Mask RCNN的创新点](#二、Mask RCNN的创新点)
  • 总结

前言

前文目标检测-Two Stage-Faster RCNN提到了Faster RCNN主要缺点是:

  • ROI Pooling有两次量化操作,会引入误差影响精度

Mask RCNN针对这一缺点做了改进,此外Mask RCNN还添加了全卷积网络的分支,拓展了网络的应用范围,使其可用于多种视觉任务:包括目标分类、目标检测、语义分割、实例分割、人体姿态识别等


提示:以下是本篇文章正文内容,下面内容可供参考

一、Mask RCNN的网络结构和流程

  1. 利用骨干网架构(Backbone Architecture)提取多尺度特征,获得多尺度共享卷积特征图(Feature Maps)

Backbone Architecture由Backbone(ResNet50)和特征金字塔网络FPN(Feature Pyramid Network)组成

  1. 利用RPN(Region Proposal Network)网络生成候选框,进行分类和第一次边框修正

ps:输入的是多个尺度特征图,每个特征图对应一个RPN,因为输入是多尺度特征,就不需要再对每层都使用3种不同尺度的anchor了,所以只为每层设定一种尺寸的anchor

在P2-P6的五个特征图上分别对应设置5个不同的anchor size(32, 64, 128, 256, 512)并设置3种长宽比(0.5, 1.0, 2.0) ,也就是每个特征图的每个像素点生成3个anchor(x, y, w, h)

例如,输入图像为512 × 512,那么五个特征图的尺寸分别为128, 64, 32, 16, 8,那么生成的anchors的数量为(128 × 128 + 64 × 64 + 32 × 32 + 16 × 16 + 8 × 8) × 3 = 21824 × 3 = 65472

  1. 将生成的Region Proposal和多尺度共享卷积特征图(Feature Maps)输入RoI Align,获取每个候选框的多尺度池化特征图

ps:ROI Align是RoI Pooling的改进

ROI Align并没有采用量化操作,而是使用线性插值算法计算特征图,因为没有用到量化操作,就没有引入误差,即原图中的像素和feature map中的像素是完全对齐的,没有偏差,这不仅会提高检测的精度,同时也会有利于实例分割。

  1. 将候选框的池化特征图输入Head Architecture结构进行分类、第二次边框修正以及生成掩膜(mask)

ps:当使用FPN时,Head Architecture为左边结构,反之为右边结构,实际使用中右边结构更加常用


二、Mask RCNN的创新点

  1. 结合FCN增加了Mask Prediction Branch,使得到的网络可用于多种视觉任务,向通用视觉模型迈出了一步
  2. 提出了RoI Pooling的改良方法RoI Align,提高了精度
  3. 通过引入特征金字塔网络(Feature Pyramid Network,简称FPN)来处理不同尺度的目标,有助于改进目标检测的性能,尤其是小尺寸对象目标检测。

总结

  • 整个Mask R-CNN算法非常的灵活,可以用来完成多种任务,包括目标分类、目标检测、语义分割、实例分割、人体姿态识别等多个任务
  • 除此之外,我们可以更换不同的Backbone Architecture和Head Architecture来获得不同性能的结果。
  • 但是,Mask RCNN仍未脱离Two Stage算法速度慢的限制,难以用于实时场景,因此,出现了目标检测新的流派:One Stage算法
相关推荐
GuWenyue2 小时前
写Agent还要重复封装工具?一套MCP多服务方案,3个能力让AI自动查地图、读写文件、操控浏览器
人工智能·机器学习·开源
GuWenyue2 小时前
90%AI新手不会调参!LangChain双模型流水线实战,一套代码兼顾严谨+创意
人工智能
To_OC3 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
光锥智能4 小时前
WAIC亮点|兼具泛化能力与作业效率的极智嘉机器人天团
人工智能·机器人
阳光是sunny4 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端
甲维斯4 小时前
Kimi K3 重构10000行单文件屎山代码!
人工智能
旖-旎4 小时前
LeetCode 518:零钱兑换||(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
阳光是sunny4 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
新知图书4 小时前
11.3 详细实现与核心配置(作业批改智能体开发)
人工智能·agent·ai agent·智能体·扣子
To_OC4 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode