当前位置: 首页 > news >正文

论文阅读——FECANet:应用特征增强的上下文感知小样本语义分割网络

代码:NUST-Machine-Intelligence-Laboratory/FECANET (github.com)
文章地址:地址
文章名称:FECANet: Boosting Few-Shot Semantic Segmentation with Feature-Enhanced Context-Aware Network

摘要

Few-shot semantic segmentation 是学习在查询图像中定位新类的每个像素的任务,只有几个带注释的支持图像。因为典型的基于原型的方法无法学习细粒度的对应关系,当前基于相关性的方法构建成对特征相关性以建立多对多匹配。 然而,现有方法仍然遭受朴素关联中包含的噪声和关联中缺乏上下文语义信息的问题。 为了缓解上述这些问题,我们提出了一个特征增强的上下文感知网络(FECANet)。 具体来说,提出了一个特征增强模块来抑制由类间局部相似性引起的匹配噪声,并增强朴素相关中的类内相关性。 此外,我们提出了一种新颖的相关重建模块,该模块对前景和背景之间的额外对应关系以及多尺度上下文语义特征进行编码,显着促进编码器捕获可靠的匹配模式。 在 PASCAL-5i 和 COCO-20i 数据集上的实验表明,我们提出的 FECANet 与以前的最新技术相比有了显着的改进,证明了它的有效性。

引言

参考文章的不足

本文是对HSNet的改进。

特征细节的缺失阻碍了原型向量与查询图像中的目标对象进行细粒度匹配。为此,HSNet提出一种多对多对应模型,旨在通过分析4D相关空间中的模式关系来学习视觉对应关系。它构造多对多的相关张量,并使用中心枢纽4D卷积进行处理。

HSNet的不足:

  • 主要缺点是HSNet直接使用来自主干网络的特征生成的初始相关性作为编码器输入。朴素相关性可能包含许多由类间局部相似性引起的噪声。这些噪声会误导编码器学习不恰当的关系匹配并将背景实例分割为目标类的对象。同一类的区域由于类内多样性会衍生出低相关性,从而导致对象发现不完整。
  • 另一个缺点是超相关性缺乏上下文语义信息,阻碍了编码器学习上级关系匹配。而且,其构建的稠密相关性过滤了支持图像中的背景信息,导致前景与背景之间许多潜在的对应关系被遗漏。

本文的改进

我们提出了一个特征增强模块( FEM ),该模块采用了一种新颖的交叉注意力机制促进支持特征和查询特征之间的精确模式匹配。

由于直接利用主干网络得到的特征会导致包含由类内多样性和类间相似性引起的噪声的朴素相关性,我们提出通过抑制不同类之间的局部相似性和增强相同类之间的全局相似性来增强特征表示。我们在查询和支持特征之间交换信息来实现信息交流,这是通过查询(支持)特征与支持(查询)特征的相关性对支持(查询)特征进行加权的方法实现的。

FEM是精心设计的,具有很少的可训练参数,以达到类不可知分割的目的,并保留高泛化能力。

我们注意到,赋予全局上下文的特征对CNN描述符中的类内变化更加鲁棒,这有利于编码器准确地分割目标。因此,我们设计了一个由稠密积分关联和全局上下文关联生成组成的关联重构模块(CRM)。具体来说,我们将背景信息保留在支持特征中,并聚合不同的语义特征以生成包含前景和背景之间对应关系的稠密的整体相关性。在全局上下文关联生成中,我们采用自相似性模块,将局部区域的语义信息编码成向量,生成全局上下文特征图。我们利用多尺度指导模块,在多个尺度上融合全局上下文语义特征,以捕获更多样和复杂的上下文特征。

贡献如下:

  • 我们提出了一个特征增强模块来过滤受类间相似性和类内多样性影响的相关性中的噪声。它在空间和通道维度上交换支持和查询特征之间的信息,以增强特征表示。
  • 我们提出了一个相关性重构模块,该模块编码了前景和背景之间的额外对应关系和多尺度上下文语义特征,显著提高了编码器捕获可靠匹配模式的能力。
  • 在PASCAL - 5i数据集和COCO - 20i数据集上进行了大量实验,并与现有方法进行了比较。

方法

整体框架

在这里插入图片描述
(1)首先利用在ImageNet上预训练的卷积神经网络作为主干,为support image和query image提取丰富的中间特征图集,并将其表示为稠密成对集合

(2)从成对集合中选取3对support-query特征图,用support mask过滤掉support images中的背景信息

(3)每一对support和query特征被输入到提出的特征增强模块(FEM)中,通过support和query image之间的信息交换来增强特征表示。

(4)增强的特征(Esl , Eql)}被传输到提出的相关性重构模块(CRM)中,该模块通过一个新的自相似性模块捕获上下文语义信息,并在每个语义级别上建立support和query特征之间的局部和全局相关性。

(5)应用4D卷积编码器来分析相关性以捕获视觉对应关系,并将它们自下而上地进行融合。

(6)通过对编码器输出进行平均池化操作获取查询表示,并将其传递给residual 2D decoder以获得最终的查询掩码预测。

Feature Enhancement Module

在这里插入图片描述
受非局部块编码更广泛的上下文信息以增强表示能力的启发,我们开发了一个新颖的特征增强模块,通过在query和support特征之间交换信息来增强特征表示。与自注意力机制不同,我们的特征增强模块旨在通过空间层面的信息交流来捕获support特征和query特征之间的cross-image语义相似性和差异性。

我们注意到特征的每个通道图都可以看作是一个语义特定的响应(其实就是卷积的本质),并且不同的语义响应是相互关联的。因此我们设计了一个通道注意力模块来对二次加权的增强特征进行更好的相关性细化。

Cross-image information communication.

(1)首先利用在Fs和Fq上使用卷积操作生成新的特征图K和Q,其中:Q, K ∈ R ^Ck×Hl×Wl;Fs,Fq∈R ^Cl×Hl×Wl

(2)对Q和K的转置进行矩阵相乘得到特征图,并将此计算结果转置得到另一个分支的特征图

(3)我们分别对query分支和support分支应用softmax层计算空间注意力图Aq和As。
在这里插入图片描述
其中Aq ji表示query的第i个位置对support的第j个位置的影响。

(4)跟(1)同时,将Fq和Fs特征输入到同一个卷积层,分别生成两个新的特征图Vq和Vs

(5)在Vq和Aq之间执行矩阵乘法并将结果重塑为Ck × Hl × Wl的形状。support分支跟这个类似。

(6)分别将它们送入两个不同的转换函数层Transq和Transs,生成结果图Pq和Ps。
在这里插入图片描述
其中:Transq和Transq是由卷积构成的不同变换函数层。

具有全局上下文视图的增强特征图可以根据空间注意力图选择性地聚合上下文。相似的语义特征实现了相互增益,从而提高了类内紧凑性和语义一致性。
(1)利用全局池化层将support/query特征聚合为类特定的通道向量。

(2)使用由全连接层和激活函数组成的多层感知器将support/query通道向量映射到一个具有相似关系的通道特征空间。

常用的多层感知器通过利用支持特征和查询特征之间通道图的相互依赖关系来改进特定语义的特征表示。

(3)我们将映射后的通道向量与位置嵌入特征以重新加权的方式相乘,选择性地突出最重要的特征。

(4)我们利用残差连接将输出与原始输入特征结合。
在这里插入图片描述

Correlations Reconstruction Module

在这里插入图片描述
全局上下文特征为基于CNN的描述符的类内变化提供了鲁棒性。

在本模块中,相关性的集合被显式地在局部和全局上重建。

Dense integral correlation

我们从主干网络中选取若干个中间特征构建稠密关联集合,这些特征有细节信息,可以提升编码器学习细粒度对应关系的能力。

我们没有使用对象mask来过滤support特征并保持背景信息的相关性。

我们从骨干网中的一系列中间特征图中选择L对深度特征{(Fql , Fsl)}。我们直接在第l层使用余弦相似度计算与每一对查询和支持特征的相似度

在这里插入图片描述
其中,xq和xs分别表示Fq和Fs特征图的二维空间位置。

最后,我们将具有相同空间大小的4D相似性张量沿通道维度进行拼接来构建相关集合。我们在相关性集合中得到了三种稠密相关性,并将它们划分为三个不同的语义层。

Global context correlation

引入了一种新颖的局部自相似性方法,将局部空间语义特征编码为上下文向量特征,以获得全局上下文特征图。此外,我们引入了多尺度引导结构来捕获更多全局和复杂的上下文特征。

Local self-similarity

思路:计算特定大小的局部近邻区域内每个空间位置的相似性,用于self-similarity生成。

步骤:

(1)为了保证特征图中的边界位置可以包含在局部自相似性计算中,我们对特征图Esq进行大小为(k-1)/2(我们设k为奇数)的补零操作,得到补零后的特征图Esq∈R^C × (H+k-1) × (W+k-1)。Esq为特征对,含有query特征和support特征。

(2)以Esq中的某位置xij为中心,建立一个k*k的局部近邻区域,然后计算该中心和在局部区域中的每个点的点积来生成self-similarity向量ss。

在这里插入图片描述
Multi-scale guidance

问题:由于局部区域的大小限制了上述self-similarity特征图的通道数,难以包含更大范围的上下文语义信息。

思路:利用多尺度自相似性进一步提取上下文语义特征,捕获更复杂的自相似性特征

多尺度相似性可以提供更大的局部感受野和更丰富的上下文语义信息。

(1)用两个连续的卷积层F1和F2细化自相似性输出SS,生成SS1和SS2。

(2)将这些不同尺度的self-similarity特征与上采样操作串联起来,形成多尺度上下文特征图

在这里插入图片描述
(3)计算全局上下文相关性
在这里插入图片描述
其中MSql和MSsl分别表示查询和支持增强特征图Eql和Esl得到的多尺度self-similarity

作为对结果改进最有帮助的部分,我们的全局上下文相关性优化了相关性的构建。它利用赋予全局上下文的特征来生成上下文相关,其中包含了区域之间的对应关系。在CRM中,我们得到的区域到区域和像素到像素的相关性可以有效地促进编码器学习更全面和更深层次的模式匹配关系。

(4)将稠密积分关联Cl(上一个模块得到的)和多尺度全局上下文关联GCl沿通道维度串联起来构造集合

(5)由于相关性的集合具有不同的分辨率大小,文章将它们分别送入三个不同的4D卷积编码器中,分析query和support图像之间不同的语义级别对应关系。

Residual 2D Decoder

由于同一类别内的外观差异,当前支持图像可能仅引导网络分割查询图像中的部分对象。因此,我们构建了一个持续更新的记忆库来存储每个query image的预测图,从而进一步细化2D编码器的输出,为下一次相应的查询图像预测提供粗略的物体位置线索。

(1)对于训练阶段的每个查询图像,我们从内存库中获取对应的查询预测图,并将其与当前编码器输出进行拼接。

(2)对内存库中的初始查询预测图进行补零操作。

(3)然后,将拼接后的特征送入残差卷积模块。残差卷积模块由少数几个3x3和5x5卷积组成,并在每个卷积操作中使用残差连接来融合输入和输出。

(4)将残差卷积模块的输出传递给卷积块,预测一个双通道mask图。

(5)最后,我们将查询图像的当前预测图存储在内存库中,以便下一次进行相应的查询图像预测。

损失函数:

使用交叉熵损失,M是真实的,P是预测的。
在这里插入图片描述

实验

在这里插入图片描述
在这里插入图片描述

结论

在这项工作中,我们提出了一种新的FECANet网络用于少样本语义分割任务。具体来说,我们提出了特征增强模块,通过在支持特征和查询特征之间交换信息,过滤受局部相似性和类内多样性影响的相关性中的噪声。过滤后的相关性为编码器学习合适的关系匹配提供了很好的指导。为了提高基于CNN的编码器对类内变化的鲁棒性,我们引入了自相似性方法,将全局上下文信息融入到相关性中。此外,在PASCAL - 5i和COCO - 20i数据集上的大量实验证明了所提模型的优越性。

相关文章:

论文阅读——FECANet:应用特征增强的上下文感知小样本语义分割网络

代码:NUST-Machine-Intelligence-Laboratory/FECANET (github.com) 文章地址:地址 文章名称:FECANet: Boosting Few-Shot Semantic Segmentation with Feature-Enhanced Context-Aware Network 摘要 Few-shot semantic segmentation 是学习…...

数组模拟常见数据结构

我们来学习一下用数组模拟常见的数据结构:单链表,双链表,栈,队列。用数组模拟这些常见的数据结构,需要我们对这些数据结构有一定的了解哈。单链表请参考:http://t.csdn.cn/SUv8F 用数组模拟实现比STL要快&a…...

ADC0832的AD模数转换原理及编程

✅作者简介:嵌入式领域优质创作者,博客专家 ✨个人主页:咸鱼弟 🔥系列专栏:单片机设计专栏 📃推荐一款求职面试、刷题神器👉注册免费刷题 目录 一、描述 二、模数转换原理: 三、…...

【工具插件类教学】UnityPackageManager私人定制资源工具包

目录 一.UnityPackageManager的介绍 二.package包命名 三.包的布局 四.生成清单文件 五.制作package内功能 六.为您的软件包撰写文档 1.信息的结构 2.文档格式 七.提交上传云端仓库 1.生成程序集文件 2.上传至云端仓库 八.下载使用package包 1.获取包的云端路径 …...

【软件测试】2023年了还不会接口测试?老鸟总结接口测试面试谁还敢说我不会......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 测试面试&#xff0…...

类Vuex轻量级状态管理实现

引用自 摸鱼wiki 1. vuex vuex是一个前端广泛流行的状态管理库,主要由以下几大模块组成: state:状态存储getter:属性访问器mutation:可以理解为一个同步的原子性事务,修改state状态action:触发…...

Java 基本数据类型

Java基本数据类型是Java编程语言中最基本的数据类型,包括整型、浮点型、字符型、布尔型和空类型。本文将详细介绍Java基本数据类型的作用和在实际工作中的用途。 整型(int、long、short、byte) 整型是Java中最常见的基本数据类型&#xff0…...

全网资料最全Java数据结构与算法-----算法分析

算法分析 研究算法的最终目的就是如何花更少的时间,如何占用更少的内存去完成相同的需求,并且也通过案例演示了不同算法之间时间耗费和空间耗费上的差异,但我们并不能将时间占用和空间占用量化,因此,接下来我们要学习…...

【封装xib补充 Objective-C语言】

一、那么首先,咱们就从这个结果来分析 1.就不给大家一步一步分析了,直接分析我们这里怎么想的, 首先,我们看到这样的一个界面,我们想,这些应用数据是不是来源于一个plist文件吧, 所以说,我们首先要,第一步,要懒加载,把这个plist文件中的数据,加载起来, 那么,因…...

linux + jenkins + svn + maven + node 搭建及部署springboot多模块前后端服务

linux搭建jenkins 基础准备 linux配置jdk、maven,配置系统配置文件 vi /etc/profile配置jdk、maven export JAVA_HOME/usr/java/jdk1.8.0_261-amd64 export CLASSPATH.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport MAVEN_H…...

VBA之正则表达式(41)-- 快速标记两个星号之后的字符

实例需求:工作表中的数据保存在A列~G列,现需要识别D列中包含超过两个星号的内容,并将第3个星号及其之后的字符设置为红色字体,如图所示。 示例代码如下。 Sub Demo1()Dim objRegExp As ObjectDim objMatch As ObjectDim strMatch…...

VMware16安装MacOS【详细教程】

安装VMware workstation 双击安装包,然后一直下一步就行了。 进行VMware安装,一直 下一步 在输入产品密钥这一步,如果有查找到可用密钥就填进去,没有就跳过,进入软件后也能输入密钥的。 输入密钥。 最后一步&#xff…...

Netty学习(一):Netty概述

一、原生NIO存在的问题 NIO 的类库和API繁杂,使用麻烦:需要熟练掌握Selector、ServerSocketChannel、SocketChannel、ByteBuffer等。需要具备其他的额外技能:要熟悉Java 多线程编程,因为NIO编程涉及到Reactor 模式,你必须对多线程和网络编程…...

【论文精读】Benchmarking Deep Learning Interpretability in Time Series Predictions

【论文精读】Benchmarking Deep Learning Interpretability in Time Series Predictions Abstract Saliency methods are used extensively to highlight the importance of input features in model predictions. These methods are mostly used in vision and language task…...

自己第一次在虚拟机完整部署ssm项目心得体会

过程使用资源和博文 琳哥发的linux课件文档,阳哥发的linux课件文档(私聊我要) https://www.likecs.com/show-205274015.html https://www.cnblogs.com/aluoluo/articles/15845183.html https://blog.csdn.net/osfipin/article/details/54405445 https://blog.csdn.net/drea…...

操作系统权限提升(二十二)之Linux提权-SUDO滥用提权

系列文章 操作系统权限提升(十八)之Linux提权-内核提权 操作系统权限提升(十九)之Linux提权-SUID提权 操作系统权限提升(二十)之Linux提权-计划任务提权 操作系统权限提升(二十一)之Linux提权-环境变量劫持提权 SUDO滥用提权 SUDO滥用提权原理 sudo是linux系统管理指令&…...

操作系统权限提升(二十四)之Linux提权-明文ROOT密码提权

系列文章 操作系统权限提升(十八)之Linux提权-内核提权 操作系统权限提升(十九)之Linux提权-SUID提权 操作系统权限提升(二十)之Linux提权-计划任务提权 操作系统权限提升(二十一)之Linux提权-环境变量劫持提权 操作系统权限提升(二十二)之Linux提权-SUDO滥用提权 操作系统权限…...

Linux基本命令复习-面试急救版本

1、file 通过探测文件内容判断文件类型,使用权是所有用户, file[options]文件名2、mkdir/rmdir 创建文件目录(文件夹)/删除文件目录 3、grep 指定文件中搜索的特定内容 4、find 通过文件名搜索文件 find name 文件名 5、ps 查…...

随想录二刷Day09——字符串

文章目录字符串1. 反转字符串2. 反转字符串 II3. 替换空格4. 反转字符串中的单词5. 左旋转字符串字符串 1. 反转字符串 344. 反转字符串 思路: 设置两个指针,分别指向字符串首尾,两指针向中间移动,内容交换。 class Solution { …...

正点原子IMX6ULL开发板-liunx内核移植例程-uboot卡在Starting kernel...问题

环境 虚拟机与Linux版本: VMware 17.0.0 Ubuntu16 NXP提供的U-boot与Linux版本: u-boot:uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2 linux:linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2 开发板: 正点原子-IMX6ULL_EMMC版本,底板版…...

使用手工特征提升模型性能

本文将使用信用违约数据集介绍手工特征的概念和创建过程。 通过对原始数据进行手工的特征工程,我们可以将模型的准确性和性能提升到新的水平,为更精确的预测和更明智的业务决策铺平道路, 可以以前所未有的方式优化模型并提升业务能力。 原始…...

【运维有小邓】Oracle数据库审计

一些机构通常将客户记录、信用卡信息、财务明细之类的机密业务数据存储在Oracle数据库服务器中。这些数据存储库经常因为内部安全漏洞和外部安全漏洞而受到攻击。对这类敏感数据的任何损害都可能严重降低客户对机构的信任。因此,数据库安全性对于任何IT管理员来说都…...

JDK下载安装与环境

🥲 🥸 🤌 🫀 🫁 🥷 🐻‍❄️🦤 🪶 🦭 🪲 🪳 🪰 🪱 🪴 🫐 🫒 🫑…...

FPGA纯verilog代码实现4路视频缩放拼接 提供工程源码和技术支持

目录1、前言2、目前主流的FPGA图像缩放方案3、目前主流的FPGA视频拼接方案4、本设计方案的优越性5、详细设计方案解读HDMI输入图像缩放图像缓存VGA时序HDMI输出6、vivado工程详解7、上板调试验证8、福利:工程源码获取1、前言 本文详细描述了FPGA纯verilog代码实现4…...

Spark on YARN运行过程,YARN-Client和YARN-Cluster

Spark on YARN运行过程 YARN是一种统一资源管理机制,在其上面可以运行多套计算框架。目前的大数据技术世界,大多数公司除了使用Spark来进行数据计算,由于历史原因或者单方面业务处理的性能考虑而使用着其他的计算框架,比如MapRed…...

NLP中一些工具列举

文章目录StanfordcoreNLPStanzaTankitspaCySuPar总结StanfordcoreNLP 这个老早就出来了,用java写的,但是已经有很多比他效果好的了。 Stanza 2020ACL发表的,看名字就知道和上一个是同一家的。 用已经切好词的句子进行依存分析。 这个功能…...

面试官:给你一段有问题的SQL,如何优化?

大家好,我是飘渺!我在面试的时候很喜欢问候选人这样一个问题:“你在项目中遇到过慢查询问题吗?你是怎么做SQL优化的?”很多时候,候选人会直接跟我说他们在编写SQL时会遵循的一些常用技巧,比如&a…...

嵌入式 Linux 文件IO操作

目录 Linux 文件操作 1 Linux 系统环境文件操作概念 2 缓冲 IO 文件操作 1 文件的创建,打开与关闭 fopen 函数函数 2 freopen 函数 3、fdopen函数 4、fclose函数 5、格式化读写 6、单个字符读写 7、文件定位 8、标准目录文件 9、非缓冲IO文件操作 Linux 文…...

植物大战 二叉搜索树——C++

这里是目录标题二叉排序树的概念模拟二叉搜索树定义节点类insert非递归Finderase(重点)析构函数拷贝构造(深拷贝)赋值构造递归FindRInsertR二叉搜索树的应用k模型KV模型二叉排序树的概念 单纯的二叉树存储数据没有太大的作用。 搜索二叉树作用很大。 搜索二叉树的一般都是用…...

[MatLab]矩阵运算和程序结构

一、矩阵 1.定义 矩阵以[ ]包含,以空格表示数据分隔,以;表示换行。 A [1 2 3 4 5 6] B 1:2:9 %1-9中的数,中间是步长(不能缺省) C repmat(B,3,2) %将B横向重复2次,纵向重复2次 D ones(2,4) …...

互联网技术网站/著名营销策划公司

一、先把适量的盐加到面粉里面,倒上适量的清水,和成面团,再切下一半来,放上适量的红曲粉,肉成红面团,把两个面团揉光滑之后用保鲜膜盖起来,发一下面。七、把捏好的面团切成剂子,擀成…...

wordpress编辑器没有16px/网络营销的平台有哪些

一、导读 本文主要内容包括数组转换成List,List转成数组,List转成map的几种方式。 好文章 记得 收藏点赞关注 !!! 二、代码 /*** 练习数组转list,list转数组,list转map** author JiaMing* sin…...

wordpress上传ftp/谷歌seo实战教程

经过一年的不健康的作息和饮食导致在体检的时候有轻度脂肪肝,脂肪肝危害还是挺大的,这个只是前兆,没准以后会出个啥病啥的,所以还是养成一个好的饮食生活习惯还是挺重要的。 一、人一天正常一日三餐大概摄入多少卡路里? (1) 饭量不同,吃的东西不同&#…...

国外大神的平面设计网站有哪些/网站怎么优化seo

数据库索引编辑锁定索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。索引的一个主要目的就是加快检…...

wordpress文章中外链/如何做线上销售和推广

阶段一:◆ 实训内容(J2SE)1)Java语法; 2)变量,方法; 3)构造方法; 4)String字符串; 5)This的使用; 6)面向对象; 7)一维数组; 8)二维数组; 9)排序; 10)数据结构; 11)文件操作; 12)IO流操作; 13)socket网络通信编程; 14)Swing; 15)线程,多线程;◆…...

启东 网站开发/互联网舆情

<?xml version"1.0" encoding"utf-8"?> 功能模块 LinearMath功能模块 LinearMath Table of Contents btScalar 宏定义类型函数btMinMax 文件btAlignedAllocator 宏定义函数类特殊说明btAlignedObjectArray 宏定义btAlignedObjectArray 类btList bt…...