目标检测——Mask R-CNN算法解读

论文:Mask R-CNN
作者:Kaiming He Georgia Gkioxari Piotr Doll´ar Ross Girshick
链接:https://arxiv.org/abs/1703.06870
代码:https://github.com/facebookresearch/Detectron

R-CNN系列其他文章:

  • R-CNN算法解读
  • SPPNet算法解读
  • Fast R-CNN算法解读
  • Faster R-CNN算法解读

目录

  • 1、算法概述
  • 2、Mask R-CNN细节
    • 2.1 Mask Representation
    • 2.2 RoI Align
  • 3、实验结果
  • 4、创新点

1、算法概述

该论文主要实现的是把图片中的目标一个一个的分割出来,也叫实例分割;是在Faster R-CNN的基础上增加了一个预测实例目标掩模的分支。该算法在COCO 2016竞赛的三大任务(实例分割、目标检测、关键点预测)中都获得了单模型最好的成绩。
在这里插入图片描述
如上图所示,(d)即为实例分割,实例分割是具有挑战性的,因为它需要正确检测图像中的所有对象,同时还要精确分割每个实例。因此,它结合了对单个对象进行分类和使用边界框对每个对象进行定位。

2、Mask R-CNN细节

在这里插入图片描述
在这里插入图片描述
如上图所示,Mask R-CNN就是在Faster R-CNN的基础上增加一个mask分支,但是额外的掩码输出与原本的class和box输出不同,需要提取对象的更精细的空间布局,包括需要学习像素级对齐。对于每个RoI,Mask R-CNN在预测类别和box偏置的同时,还会输出二进制掩码。
在训练阶段,也采用多任务损失:L=Lcls+Lbox+Lmask

2.1 Mask Representation

Mask分支以RoI的特征图作为输入完成mask编码学习,它不像类别分类和box偏移以压缩形式的全连接作为输入,因为它需要以卷积的形式学习像素到像素的对应关系。Mask R-CNN的mask分支是一个FCN结构,对于每个RoI特征输入,输出大小为mxm大小的mask,若类别为K,则输出为Kmxm,对于每类(对应一个mxm大小的feature map)都在每个像素应用sigmoid操作用来评估是否属于该类。

由于mask分支为FCN结构,所以能让分支上的每一层都保持对应的空间结构,这就要求RoI特征和输入图像的特征在空间位置上要保存对应关系,不能有空间上的偏移,这促使作者改进Faster R-CNN的RoI Pooling层为RoI Align。

2.2 RoI Align

RoI Pooling是从每个RoI中提取小特征图(例如7x7)的标准操作。在Faster R-CNN中,使用RoI Pooling之前的特征图大小是原图的1/16,假设某个RoI区域在原图位置上的横坐标范围是x0到x1,纵坐标范围是y0到y1,那么这个RoI区域在经过一系列卷积后,在RoI Pooling的输入特征图上的横坐标范围应为x0/16到x1/16,纵坐标范围应为y0/16到y1/16。但是RoI Pooling操作做了取整操作,即RoI在特征图上的位置变为了[x0/16] 到[x1/16]和[y0/16]到[y1/16],这里的取整操作反映到原图上就发生了位置偏移,造成了RoI区域在空间位置上没有对齐,这可能对分类不会有太大影响,但是对应mask学习,影响太大了。所以作者没有采用RoI Pooling,而且采用了RoI Align,它没有取整操作,而且对相应位置做了双线性插值,以保证位置前后对齐。
在这里插入图片描述
在这里插入图片描述

3、实验结果

作者以ResNet50,ResNet101和ResNeXt50,ResNeXt101作为backbone,假如Faster R-CNN采用ResNet50并以第4个stage的输出作为RoI的特征就命名为ResNet-50-C4,实验在COCO数据集上进行统计,实例分割结果如下:
在这里插入图片描述
目标检测的结果如下:
在这里插入图片描述
关键点检测结果如下:
在这里插入图片描述

4、创新点

  • 创新点:
    1、在Faster R-CNN的基础上新增mask分支,对bounding box回归有相互促进的效果;
    2、提出RoI Align操作,纠正了RoI Pooling在特征图上的取值偏移,使得检测分支和mask分支在特征图上的RoI区域和原图的RoI区域在空间位置上对齐;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/188375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

List集合,遍历,数据结构

一.List常见的方法: 二. List集合的遍历方式 除了 迭代器遍历 增强for遍历 Lambda表达式遍历,还有自己独有的普通for遍历,列表迭代器遍历 1.迭代器遍历 2.增强for遍历 3.Lambda表达式遍历 4.普通for遍历 5.列表迭代器遍历 列表迭代器相对于…

CCFCSP试题编号:202009-2试题名称:风险人群筛查

#include <iostream> using namespace std;//判断是否在区域 bool isIn(int xl, int yd, int xr, int yu, int x, int y) {if ((x > xl && x < xr) && (y > yd && y < yu)){return true;}return false; }struct position {int a, b;…

HashMap底层实现原理详解

一、HashMap重要知识点 HashMap是无序且不安全的数据结构。HashMap 是以key–value对的形式存储的&#xff0c;key值是唯一的&#xff08;可以为null&#xff09;&#xff0c;一个key只能对应着一个value&#xff0c;但是value是可以重复的。HashMap 如果再次添加相同的key值&…

管理Windows资产新方式:SSH协议

配置默认shell&#xff0c;需要管理员权限运行powershell执行下面命令&#xff1a; New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -F…

安卓小程序与编译抓包

APK小程序渗透测试 查找bp的证书 在浏览器中打开bp代理&#xff0c;然后在网页中搜索hppps://burp 点击高级——接受风险并继续 拿到证书 将浏览器信任证书 打开设置 搜索证书——查看证书 点击导入——导入证书 证书验证成功后&#xff0c;访问网页&#xff08;吾爱破解&a…

iOS 开发高效率工具包:10 大必备工具

​ 作为 iOS 开发人员&#xff0c;拥有合适的工具可以极大地提高您的工作效率和工作质量。无论您是刚刚起步还是已经开发 iOS 应用程序多年&#xff0c;以下是每个 iOS 开发人员都应该了解的 10 大必备工具。 让我们开始 Xcode Xcode 是用于 iOS 开发的官方 IDE&#xff08;…

【Windows】内网穿透实现hMailServer远程发送邮件

目录 前言1. 安装hMailServer2. 设置hMailServer3. 客户端安装添加账号4. 测试发送邮件5. 安装cpolar6. 创建公网地址7. 测试远程发送邮件8. 固定连接公网地址9. 测试固定远程地址发送邮件 前言 hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpolar内网…

Python 进阶(十二):随机数(random 模块)

《Python入门核心技术》专栏总目录・点这里 文章目录 1. 导入random库2. 常用随机数函数2.1 生成随机浮点数2.2 生成随机整数2.3 从序列中随机选择2.4 随机打乱序列3. 设置随机数种子4. 应用实例4.1 游戏开发4.2 数据分析4.3 加密与安全4.4 模拟实验

【方案】智慧林业:如何基于EasyCVR视频能力搭建智能林业监控系统

随着人类进程的发展。城市化范围的扩大&#xff0c;森林覆盖率越来越低&#xff0c;为保障地球环境&#xff0c;保护人类生存的净土&#xff0c;森林的保护与监管迫在眉睫。TSINGSEE青犀智慧林业智能视频监控系统方案的设计&#xff0c;旨在利用现代科技手段提高林业管理的效率…

设计模式---第二篇

系列文章目录 文章目录 系列文章目录前言一、抽象工厂模式二、装饰器模式是什么三、代理模式和装饰器模式有什么区别前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。…

双向ESD保护 汽车级TVS二极管 ESD9B3.3ST5G工作原理、特性参数、封装形式

什么是汽车级TVS二极管&#xff1f; TVS二极管是一种用于保护电子电路的电子元件。它主要用于电路中的过电压保护&#xff0c;防止电压过高而损坏其他部件。TVS二极管通常被称为“汽车级”是因为它们能够满足汽车电子系统的特殊要求。 在汽车电子系统中&#xff0c;由于车辆启…

20、LED点阵屏

LED点阵屏介绍 LED点阵屏由若干个独立的LED组成&#xff0c;LED以矩阵的形式排列&#xff0c;以灯珠亮灭来显示文字、图片、视频等。LED点阵屏广泛应用于各种公共场合&#xff0c;如汽车报站器、广告屏以及公告牌等 LED点阵屏分类 按颜色&#xff1a;单色、双色、全彩 按像素…

Mybatis批处理数据插入(rewriteBatchedStatements参数)

一、rewriteBatchedStatements参数 1、MySQL JDBC驱动在默认情况下会无视executeBatch()【也就是说JDBC默认情况下&#xff0c;会将你的语句分拆成单个&#xff0c;一条一条发给数据库执行&#xff0c;数据量小时感知不大&#xff0c;1w或10w以上差距越来越大】 2、MySQL的JDBC…

Python函数专题(下)侯小啾python领航班系列(十三)】

Python函数专题(下)侯小啾python领航班系列(十三)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹…

「Qt Widget中文示例指南」如何创建一个计算器?(二)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 本文将展示如何使用…

冒个泡!OceanBase亮相 2023 新加坡金融科技节

近日&#xff0c;OceanBase 亮相 Singapore Fintech Festival 2023&#xff08;2023 新加坡金融科技节&#xff09;&#xff01;本届新加坡金融科技节于 2023 年 11 月 15 日至 17 日在新加坡博览展览中心举行&#xff0c;展会期间&#xff0c;OceanBase 得到了众多金融科技机构…

MySQL实现(免密登录)

简介: MySQL免密登录是一种允许用户在没有输入密码的情况下直接登录到MySQL服务器的配置。这通常是通过在登录时跳过密码验证来实现的。 1、修改MySQL的配置文件 使用vi /etc/my.cnf&#xff0c;添加到【mysqld】后面 skip-grant-tables #配置项告诉mysql跳过权限验证&#…

程序员养生之道:延寿不忘初心——延寿必备

文章目录 每日一句正能量前言如何养生饮食篇运动篇休息篇后记 每日一句正能量 现代社会已不是大鱼吃小鱼的年代&#xff0c;而是快鱼吃慢鱼的年代。 前言 在IT行业中&#xff0c;程序员是一个重要的职业群体。由于长时间的繁重编程工作&#xff0c;程序员们常常忽略了身体健康…

Chrome 拓展开发系列:什么是 Chrome 拓展?

文章目录 Chrome 拓展&#xff08;Chrome Extension&#xff09;是什么为什么使用 Chrome 拓展&#xff1f;个性化浏览体验提高工作效率改善隐私和安全创新新功能 发展历史2009 年&#xff1a;初版发布2010 年&#xff1a;稳步增长2013 年&#xff1a;Chrome App 和扩展合并201…

Qt开发 之 安装程序错误--安装进程(qt.tool.perl)的解决办法

文章目录 1、问题描述2、问题原因3、解决方案3.1、不关闭错误弹出窗口3.2、手动安装Perl3.3、安装Perl完成后&#xff0c;点击“ignore”继续安装 1、问题描述 Win11下&#xff0c;安装qt5.12.12时遇到“安装进程(qt.tools.perl)运行期间出现错误” 问题描述&#xff1a; Err…