MaskRCNN与注意力机制

news2024/11/23 14:51:19

Mask RCNN---two stage

mask rcnn是一个分割算法(实例分割),可用于:

  • 目标检测

  • 实例分割

  • 关键点检测

本质上,mask R-CNN是在faster rcnn的基础上,加入了FCN模块,得到最终的分割结果。

先检测,再分割。不是对整张feature map进行fcn,而是通过faster rcnn得到不同的region proposal,通过roi pooling将小特征图变为相同大小,对其进行fcn。

模型框架

改进1: ROI Pooling → ROI Align

ROI Pooling的过程较为粗糙,存在两次量化过程,导致最终的定位精度不够精确。

给定一个feature map,得到了若干个Region Proposal

经过筛选后,这些proposal需要映射到feature map上,统一池化成7×7的尺寸

然而,该过程会发生两次量化误差。

第一次: 原图映射到feature map上产生误差。

假设一个region尺寸为665,映射到feature map上的时候缩小了32倍<2^5>(5次卷积)。

那么roi pooling选择的就是20×20的区域。

实际上,理论的尺寸为665/32=20.78, roi pooling将其约等于20,造成了0.78的误差。

0.78×32=24.96,因此造成的bbox的误差约为25个像素。

这对于小目标的尺寸会造成较大误差。

第二次 第二次误差来自于池化过程。

roi pooling在池化过程中,将feature按整数切割成若干个同等大小的块,然后分别取max。

也就是说按照整数坐标对图像进行池化。显然,这存在问题。

例如,20×20的feature进行池化,得到7×7,每个格子的坐标为2.86×2.86

这里取整数显然存在问题

ROI Align

roi align则采用了浮点坐标的方式,来尽量减小量化误差

其核心思想为:通过浮点数坐标的方式进行计算。虽然在浮点数上没有数值,也可以通过(双)线性插值的方式来得到像素值

从大图中,找到region的四个角坐标(浮点数)

然后,在此区域将region划分成相等大小的7×7块

在这些块内,每个块产生4个坐标点,通过线性插值的方式来得到像素值。

然后对这些像素值进行池化处理。

改进2: FPN

加入了FPN分支

右侧模型输出了更大的尺寸,从而能够获得更加精细的结果。

损失函数

 效果展示

注意力机制的语义分割

什么是注意力机制?

早期人们对注意力的认知,主要是上下文的关联,或者说是全局性的关联。

往往,一张图像中像素的语义,不仅仅和周围像素相关,也可能和较远的像素相关。

然而,受限于卷积的特性,无法从全局层面去观察图像,从而使得像素之间的上下文关联较为薄弱。

从另一个角度讲,注意力机制的存在一个重要作用,是为了更好的扩大感受野。

因此,空洞卷积(位置固定),从某种程度上来说,可以认为是注意力机制的萌芽

同时需要注意的是,注意力机制不仅仅是扩大感受野。同时,包括:

扩大感受野:为了考虑到相隔较远的像素的关系

  • 过滤不相干信息

  • 建模长距离依赖性

基于注意力机制的模型--PSANet

psanet是较早使用注意力机制的模型。

在该模型之前,语义分割所面临的主要痛点在于:

  1. 感受野问题。堆叠卷积效果一般,空洞卷积位置固定,难以灵活建模和过滤信息

  2. 上下文信息难以结合。相距较远的像素区域存在强关联,但无法有效的关联起来

PSANet针对上述问题的解决方案是:

利用自注意力机制,学习一个注意力掩膜mask,从而在特征层面关联建模,来解决局部特征的约束。

网络结构

input为特征,通过卷积得到两两之间注意力值<变长>(2h*2w),每一长条即:当前点与其他点的相关性;

其中,粉红色的块即得到的注意力特征;X为backbone的输出,经过上路(collect)和下路(distribute)两个分支融合后,得到最终输出。

以上内容即为注意力模块。

总体结构

代码

注意力模型2--DANet

DANet创新性地将注意力划分成两种类型

1. 通道间的注意力(蓝色的块)
2. 通道内的注意力(绿色的块)

以通道内注意力为例,其基本计算过程如下图所示

首先,给定A如下

B经过reshape之后,得到

再转置,得到

那么B C矩阵相乘的结果为

最后,再乘以D,得到

这样,可以看出将同一个通道内的不同位置的信息,融合到了一起

而通道间的注意力map经过类似的处理,得到了下图的结果

显然,他可以融合不同通道间的内容

代码

CCNET:一种十字形的attention模块

non-block:非局部(即全局)

attention与原始特征相乘:即加权

(a)太慢了

一种简化计算的注意力机制。

与级联操作 ( 3*3先经过1*3,在经过3*1:可以加速 ) 类似

经过两次十字attention,即可求解全局下的注意力。

网络结构

reducation:减小channels(为了减小计算量)

加入attention后,就不用加CRF就可以比较好的分割出边缘细节

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

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

相关文章

实战:在Docker上部署Springboot项目(附源码)

实战&#xff1a;在Docker上部署Springboot项目&#xff08;附源码&#xff09; 1、docker的基本使用 1、为什么使用docker 2、docker的介绍 3、docker安装 https://www.codezhou.top/article/docker%E4%BD%BF%E7%94%A8 2、dockers安装mysql 拉取 Mysql 5.7.31 镜像 dock…

手工测试没有前途,自动化测试会取代手工测试?

在测试行业&#xff0c;一个一直被讨论的问题就是&#xff1a;手工测试没有前途&#xff0c;自动化测试会取代手工测试&#xff1f; 首先说结论&#xff1a;自动化测试不会取代手工测试&#xff0c;这完全是两个维度的事情。为什么不会呢&#xff1f;我们需要从本源上说起。 什…

【数据挖掘实战】——舆情分析:对微博文本进行情绪分类

&#x1f935;‍♂️ 个人主页&#xff1a;Lingxw_w的个人主页 ✍&#x1f3fb;作者简介&#xff1a;计算机科学与技术研究生在读 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4a…

Tomcat部署及多实例部署

Tomcat部署及多实例部署 一、什么是Tomcat二、Tomcat核心组件1.什么是servlet2.什么是 JSP 三、Tomcat 功能组件结构1.Connector2.Container2.1Container 包含四个子容器 3.Service 四、Tomcat 请求过程五、Tomcat 服务部署1.关闭防火墙2.上传jdk包&#xff0c;查看jdk版本&…

SpringCloud Gateway网关多路由配置访问404解决方案

文章目录 一、问题描述&#xff1a;SpringCloud GateWay Eureka访问出现404&#xff0c;Not Found二、解决方案:1、 配置 filters: - StripPrefix12、删除冲突依赖3、检查启动类4、检查配置文件 一、问题描述&#xff1a;SpringCloud GateWay Eureka访问出现404&#xff0c…

如何用新范式解决安全难题?数字安全免疫力研讨论坛给你答案!

6月13日&#xff0c;腾讯安全、腾讯研究院将联动IDC、《中国信息安全》杂志社、CIO 时代、新基建创新研究院等多家行业机构、媒体共同发起「数字安全免疫力」研讨论坛&#xff0c;汇聚产学研各界专家&#xff0c;研判安全态势、分享最佳实践&#xff0c;碰撞新一代的安全理念&a…

【Java基础学习打卡02】计算机硬件与软件

目录 引言一、硬件组成二、软件组成三、软硬件工作流程四、性能指标五、选购建议总结 引言 本小节将认识计算机硬件与软件&#xff0c;以及软硬件工作流程&#xff0c;还要知道计算机性能指标&#xff0c;并可以指导我们购买电脑。还是那句话&#xff0c;了解计算机工作流程对…

Qt6之样式表

Qt的样式表主要是受到CSS的启发&#xff0c;通过调用QWidget::setStyleSheet()或QApplication::setStyleSheet()&#xff0c;你可以为一个独立的子部件、整个窗口&#xff0c;甚至是整个应用程序指定一个样式表。样式表由影响窗口部件绘制的样式规则组成。这些规则都是普通文本…

stable-diffusion领域prompt集合

有什么写实的stable diffusion模型&#xff1f; - 知乎试了试这个模型&#xff0c;感觉勉强&#xff0c;大佬们知道有没有更写实的模型&#xff1f;https://huggingface.co/CompVis/stable-diff…https://www.zhihu.com/question/567026134Stable Diffusion好看的御姐风AI美女P…

数据仓库分析工具Hive

数据仓库分析工具Hive 概述Hive简介Hive与Hadoop生态系统中其他组件的关系Hive与传统数据库的对比 Hive系统架构概述Hive组成模块Hive工作原理SQL语句转换成MapReduce的基本原理Hive中SQL查询转换成MapReduce作业的过程 从外部访问Hive的典型方式 Hive的应用Hive在报表中心的应…

jmeter性能测试实战--web程序

目录 前言&#xff1a; 项目背景 测试步骤 前言&#xff1a; JMeter是开源的Java性能测试工具&#xff0c;广泛应用于Web、移动应用程序等领域的性能测试中。在Web应用程序中&#xff0c;JMeter能够模拟多用户并发请求&#xff0c;验证系统在高负载情况下的性能&#xff0c…

【王道考研】王道数据结构与算法详细笔记(全)

目录 第一章 数据结构绪论 1.1 数据结构的基本概念 1.2 数据结构的三要素 1.2.1. 数据的逻辑结构 1.2.2. 数据的存储结构&#xff08;物理结构&#xff09; 1.2.3. 数据的运算 1.2.4. 数据类型和抽线数据类型 1.3 算法的基本概念 1.4 算法的时间复杂度 1.5 算法的空…

再一次安装anygrasp

1&#xff0c;anaconda 2&#xff0c;新建py3.6.2的环境 因为anygrasp 要求 pytorch 1.6 太老了&#xff0c;而且对应的cuda 都是cuda 11以下的版本 我是笔记本带3060&#xff0c;只能cuda11以上。 为了解决这个问题&#xff0c;感谢史驭舒大佬提供的思路 他复现用的环境是…

代码随想录刷题第48天|LeetCode198打家劫舍、LeetCode213打家劫舍II、LeetCode337打家劫舍III

1、LeetCode198打家劫舍 题目链接&#xff1a;198、打家劫舍 1、dp[i]&#xff1a;考虑下标i&#xff08;包括i&#xff09;以内的房屋&#xff0c;最多可以偷窃的金额为dp[i]。 2、递推公式&#xff1a; 如果偷第i房间&#xff0c;那么dp[i] dp[i - 2] nums[i] &#xf…

cvte 前端一面 凉经

cvte 前端一面 凉经 原文面试题地址&#xff1a;https://www.nowcoder.com/discuss/353159272857018368?sourceSSRsearch 1. vuex原理 和vuerouter的原理差不多 2. vuerouter的原理 ​ 首先在main.js中&#xff0c;import router from ‘./router’ 引入在router文件夹下面…

Unity:鼠标【上下左右滑动时】控制相机【左右张望】和【上下抬头】

相机旋转&#xff0c;看着是小事&#xff0c;但是却关系到用户的直观体验。旋转对了母慈子孝&#xff0c;旋转错了则翻江倒海。 一、功能 鼠标左右移动时&#xff0c;控制相机左右转动 鼠标上下移动时&#xff0c;控制相机抬头低头 二、被GPT带翻的过程 你可以在GPT里提问&…

【FPGA零基础学习之旅#7】BCD计数器设计

&#x1f389;欢迎来到FPGA专栏~BCD计数器设计 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒&#x1f379; ✨博客主页&#xff1a;小夏与酒的博客 &#x1f388;该系列文章专栏&#xff1a;FPGA学习之旅 文章作者技术和水平有限&#xff0c;如果文中出现错误&#xff0c;希望大家能指正…

Virtual Serial Port Driver Pro 11 Crack

Virtual Serial Port Driver 虚拟串行端口驱动程序允许创建大量的虚拟COM端口&#xff0c;并为您提供充分模拟串行端口行为的巨大可能性。虚拟串行端口软件不仅仅是一个简单的COM端口模拟器。它提供了灵活的端口创建、管理和删除&#xff0c;允许测试串行软件&#xff0c;支持控…

Megatron + zero

文章目录 简介3D并行前置知识点&#xff1a;通信算子1. DP 数据并行显存效率优化&#xff08;ZeRO &#xff09;计算效率优化&#xff08;梯度累计减少通信&#xff09; 2. TP tensor并行&#xff08;算子内&#xff09;前置知识点&#xff1a;矩阵分块并行计算MLPself-attenti…

绿色荧光试剂210236-90-1,FITC Tyramide,Fluorescein-Tyramide

●中文名&#xff1a;荧光素酪胺 ●英文名&#xff1a;FITC Tyramide&#xff0c;Fluorescein-Tyramide&#xff0c;FITC TSA &#xff08;文章编辑资料汇总来源于&#xff1a;陕西新研博美生物科技有限公司小编MISSwu&#xff09;​ ●外观以及性质&#xff1a; 荧光素酪胺…