《Improving Referring Image Segmentation usingVision-Aware Text Features》论文笔记

摘要

现有的大部分方法更加依赖于视觉特征取生成分割掩码,只是将文本特征作为支持的组件。作者认为在文本提示不明确或者依赖于上下文的复杂场景中会导致次优的结果。

为此作者提出了VATEX框架:通过视觉感知的文本特征增强对象和上下文的理解来改善RIS。

网络框架

概述

1.CLIP Prior模块结合图像和文本生成一个以对象为中心的视觉热图。用于初始化DETR-based方法的对象查询。

2.使用上下文解码器(交叉注意力模块)对文本特征和视觉特征进行交互。利用Meaning Consistency Constraint获得有意义且一致的特征空间。

3.利用masked-attention transformer decoder使用多尺度文本引导的视觉特征增强对象查询。最后增强的对象查询和CMD的视觉特征被用来输出分割掩码。

以上是论文中的概述,看完很懵,看具体实现细节。

实现细节

H \times W \times 3的图片,经过visual encoder得到多尺度视觉特征V = \left \{ V_i \right \}_{i=1}^4,V_i \in R^{H_i\times W_i \times C_i}

L-word的语言表达式输入text encoder得到单词级文本特征f_w\in R^{L\times C}

Object Localization with CLIP Prior

作者的目标是利用CLIP模型的视觉和文本特征表达的对齐性用来显式地生成热图并将该该位置嵌入查询中。作者在这里提了一个问题,如果直接使用CLIP的话,由于文本提示的复杂性增加,特征空间中的冗余特征也相应的增加。生成的热图可能会覆盖图像中不相关的区域,并且不以分割句子的主要对象为目标。

作者的想法是把句子分解成:目标对象和描述目标对象的上下文信息。然后先用目标对象将图像内的搜索缩小到与主要对象类别匹配的对象(比如公牛,那么就会搜索到图像中的所有公牛),最后一步涉及使用表达式中描述的特定特征或上下文信息来精确定位目标对象。

Heatmap实现方式:先提取句子中的主名词短语,接着作者使用对于CLIP模型常见的prompt方式:"A Photo of [Object]"。生成的文本特征表示为F_{text}。图像经过CLIP的image encoder之后得到F_{CLIP-Image}\in R^{\left ( H/16 \times W/16 + 1 \right )\times C}。(这篇论文作者提供的源码网址有问题查不到源码,这里的视觉特征应该是用基于VIT模型的image_encoder)。

计算视觉特征和文本特征之间的相似度,然后重塑到图像空间并经过l2归一化得到:

通过上图可以知道热图经过线性映射为C与F_{text}相加再复制N次得到最终的queries。(这里我一直想不明白,复制的意义是什么,复制后每个query不都是相同的嘛,希望有人明白可以留言)

Contextual Multimodal Decoder

右图的BAT是具体的cross-attention方法。数学公式如下:

Meaning Consistency Constraint

原理就是,对图片中同一个对象可以有多种不同的描述表达式,但他们所传达的语义是相同的。

具体实现是设置三个句子,两个句子描述的是同一个对象也就是正列,一个句子描述的不是当前对象也就是负列。对于每一个句子x,通过CMD解码器后得到的F_4^w\left ( x \right )。在做如下操作:

,其中F_4^w\in R^{L\times C},F_s\in R^C

使用InfoNCE loss确保指向同一个对象的语言特征收敛更接近,而不同对象的特征发散。

,其中:句子级余弦相似度指数。

写不下去了,没看明白。

内容概要:本文档围绕“经济学期刊论文复现:数字化转型能否促进企业的高质量发展”这一核心命题,系统整合了MATLAB与Python编程实现的大量科研案例,聚焦于数字化转型对企业全要素生产率(TFP)及高质量发展影响的实证研究。文档不仅复现了高水平经济学期刊论文中的计量经济模型,如基于中国上市公司数据的数字化转型与生产率关系分析,还深度融合了工程领域的建模技术,涵盖微电网优化、负荷预测、风电光伏不确定性建模、电力系统故障仿真等。同时,提供了智能优化算法(如遗传算法、粒子群优化)、机器学习(LSTM、CNN-BiGRU-Attention)、信号处理、路径规划等多学科交叉的技术资源,构建了一个从理论推导到代码实现的完整科研支持体系,旨在帮助研究者系统掌握论文复现与实证分析的核心方法。; 适合人群:具备一定MATLAB或Python编程基础,从事经济学、管理学、能源系统、智能制造及相关交叉学科研究的研究生、科研人员及高校教师。; 使用场景及目标:①复现经济学顶刊中关于数字化转型与企业高质量发展的实证模型;②学习如何量化数字化转型并构建其对企业绩效的影响评估框架;③掌握基于真实数据的计量经济建模、场景生成与优化调度仿真技术,全面提升科研论文写作与实证研究能力。; 阅读建议:建议读者结合文中提供的代码与数据资源,重点研读“论文复现”与“创新未发表”模块,按照技术路径循序渐进地实现模型复现与拓展。推荐关注“荔枝科研社”公众号及百度网盘链接获取完整资料,系统性地开展学习与科研实践。
下载代码方式:https://pan.quark.cn/s/9de6a9d0b3d8 依据所提供的文件内容,能够推导出此段程序的核心任务在于对一个任意的三位数进行拆解,并且分别呈现该数值的百位、十位及个位部分。随后,我们将对该知识点进行进一步的深入研究。 ### 一、程序功能说明 #### 1. 接收任意一个三位数输入 程序起始阶段运用`scanf`函数来获取用户输入的一个整数。为确保输入内容确实为一个三位数,在实际应用场景中通常需要嵌入验证机制来保障输入的有效性。然而,在本示例情形下,该环节被简化处理,预设用户总会准确输入一个三位数。 #### 2. 实施数字的拆分并提取各位置数值 程序借助一系列数学计算来对三位数进行拆分,将其转化为百位、十位和个位三个独立的构成部分。具体而言,通过除法和取模运算完成了这一过程。 #### 3. 展示各位置上的数值 程序运用`printf`函数来输出原始数值以及各个位上的数值。需要留意的是,代码中的输出部分似乎存在一些混淆,存在语法上的错误,例如多余的`printf`语句和乱码字符等问题。 ### 二、核心代码分析 #### 1. 数字拆分逻辑 ```c a[0] = n / 1000; // 提取千位数,但鉴于题目要求是三位数,此处应为百位数 a[1] = n % 1000 / 100; // 提取百位数 a[2] = n % 1000 % 100 / 10; // 提取十位数 a[3] = n % 1000 % 100 % 10; // 提取个位数 ``` 这段代码通过一连串的除法和取模运算,成功地将输入的数字n拆分为百位、十位和个位三个独立的构成部分,...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值