目标检测-Two Stage-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算法

http://www.niftyadmin.cn/n/5298456.html

相关文章

第三百四十回

文章目录 1. 概念介绍2. 方法与信息2.1 获取方法2.2 详细信息 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何获取设备信息"相关的内容,本章回中将介绍如何获取App自身的信息.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本…

5个用于构建Web应用程序的Go Web框架

探索高效Web开发的顶级Go框架 Go(或称为Golang)以其简洁性、高效性和出色的标准库而闻名。然而,有几个流行的Go Web框架和库为构建Web应用程序提供了额外的功能。以下是五个最值得注意的Go框架: 1. Gin: Gin是一个高…

每日算法打卡:递归实现指数型枚举 day 1

文章目录 原题链接题目描述输入格式输出格式数据范围输入样例:输出样例: 题目分析 原题链接 92. 递归实现指数型枚举 题目难度:简单 题目描述 从 1 ∼ n 1 \sim n 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案…

Nx市工业数据洞察:Flask、MySQL、Echarts的可视化之旅

Nx市工业数据洞察:Flask、MySQL、Echarts的可视化之旅 背景数据集来源技术选型功能介绍创新点总结 背景 随着工业化的不断发展,Nx市工业数据的收集和分析变得愈发重要。本博客将介绍如何利用Flask、MySQL和Echarts等技术,从统计局获取的数据…

前端Vue日常工作中--Vue路由相关

前端Vue日常工作中–Vue路由相关 文章目录 前端Vue日常工作中--Vue路由相关1.路由模式2.router和$route3.路由跳转4.路由守卫5.路由传参6.问题:Vue路由解决页面刷新参数丢失的问题 1.路由模式 Vue 路由模式主要有两种:哈希模式(Hash Mode&am…

【产品评测】戴尔G15 5510笔记本电脑拆机实拍

笔者最近入手了一台戴尔G15 5510笔记本电脑,第一时间将其初步拆解,了解其内部设计、构造和扩展性。 一、机身总览 1、屏幕和键盘 2、A面 略粗糙的手感。 3、D面 D面共有8颗螺丝,其中4颗(上有保护膜)为戴尔家比较常见…

simulink代码生成(五)——ePWM模块初级应用

前面分别讲到了SCI及ADC的配置及使用,现在梳理一下ePWM的配置和使用; 先打一些基础的DSP28335的基础知识; F28335 关于ePWM中断与SOC采样信号的一些思考_socasel-CSDN博客 F28335 ePWM模块简介——TMS320F28335学习笔记(四&…

Python爬虫---使用BeautifulSoup下载麦当劳点餐图片

步骤: 1. 导入需要使用的包 2. 定位正确的url地址 3. 发请求 4. 获取响应 5. 解析响应的内容 6. 将获取的xpath语法转换成bs4语法 7.下载图片 import urllib.request from bs4 import BeautifulSoup# url url "https://www.mcdonalds.com.cn/index/Fo…