(TGRS,2024)KG-ZSL:利用基于知识图谱的零样本学习模型识别未知灾难场景

news2024/11/15 10:51:49

文章目录

  • Recognizing Unknown Disaster Scenes With Knowledge Graph-Based Zero-Shot Learning (KG-ZSL) Model
    • 相关资料
    • 摘要
    • 引言
    • 方法
      • 总体框架
      • 视觉-语义特征提取过程
        • TransD
        • 交互式注意力模块
      • 多特征整合用于零样本推理
    • 实验

Recognizing Unknown Disaster Scenes With Knowledge Graph-Based Zero-Shot Learning (KG-ZSL) Model

相关资料

论文:https://ieeexplore.ieee.org/document/10516579

摘要

未见类别预测是现实世界应用中的一个常见挑战,特别是在遥感(RS)图像解释领域。基于零样本学习(ZSL)的场景分类方法最近取得了显著进展,为RS领域中未见场景识别提供了一种有效的解决方案,通过语义嵌入将看到和未见类别联系起来。然而,现有的ZSL方法主要关注语义特征探索,未能有效结合图像特征和语义特征。为了解决上述挑战,我们提出了一种新颖的基于知识图谱(KG)的ZSL模型,该模型巧妙地整合了图像和语义特征以识别灾难RS场景。首先,我们构建了一个RS-KG来生成RS场景的语义特征,增强了从传统RS场景类别到灾难RS场景类别的推理能力。其次,我们提出了一种交互式注意力机制来整合图像和语义特征,专注于最信息丰富的区域。最后,我们引入了一个RS领域适配器,使模型更好地适应RS数据,将公共特征重新投射到RS领域,从而解决零样本RS场景分类任务。为了证明我们方法的有效性,我们构建了一个包含8700个高质量灾难场景的RS灾难场景数据集。广泛的实验表明,我们提出的方法在零样本RS图像场景分类设置下超越了当前的最先进(SOTA)方法。

引言

与仅依赖从图像场景中提取的特征不同,零样本学习利用辅助信息,通常以语义嵌入的形式,例如词向量或属性。例如,可以看到的类别属性可以被视为输入,为未见过的类别生成视觉特征,或者测量来自同一场景类别的图像之间的视觉相似性,并使用基于稀疏学习的标签细化方法来解决零样本任务。因此,ZSL在RS场景分类中的应用主要是从已知类别转移图像特征或计算视觉相似性。然而,基于ZSL的方法常常忽视在各种RS场景类别之间建立语义关系和文本描述。鉴于RS图像捕获的广阔多样的陆地表面结构和自然现象,这一缺陷尤为明显,这些都需要对看到和未见过的类别之间复杂的内在关系有更全面的理解
CLIP通过将图像和上下文投影到共享的嵌入空间,然后计算它们的余弦相似度以生成相似度分数,执行零样本推理。对于上述视觉-语言模型,文本输入(即提示)在零样本任务中起着关键作用,但找到最合适的提示是一项耗时且费力的工作。即使通过广泛的微调,也不能保证生成的提示在其他下游任务上实现最佳性能。为了解决这个问题,条件上下文优化(CoCoOp)模型使用可学习的向量来建模上下文,这些向量可以以随机值或预训练的词嵌入进行初始化。同时,CoCoOp引入了一个实例条件上下文。这种方法通过将重点从特定标签集转移到每个输入实例和整个任务上,从而增强泛化能力并减少过拟合。此外,CoCoOp提出了一个名为Meta-Net的轻量级神经网络,该网络在M个上下文向量上训练,为每个输入生成一个条件标记,然后将其与上下文向量结合。尽管这些方法通过文本描述提供了上下文和背景信息,但它们常常未能捕获详细的结构化信息以及深入的领域知识。然而,这种显式的语义信息对于表示可见和不可见类别之间的特定关系至关重要,这可以有效地建立零样本推理中的推理能力。
作为一个可能的方法,知识图谱(KG)提供了一种新颖的策略来表示语义关系,通过形式为<head, relation, tail>的三元组有效地建立头实体和尾实体之间的语义关系。在RS场景分类的背景下,可以构建一个三元组,如<wildfire, near, forest>,表示野火通常位于森林附近。KG提供的语义表示可以帮助模型理解野火和森林类别之间的紧密联系。通过将从KG派生的语义表示与RS图像中丰富的视觉特征(如纹理和空间关系)相结合,可以更全面和详细地了解RS场景。
为了解决上述分析的关键问题,我们提出了一种
基于知识图谱的零样本学习(KG-ZSL)模型的灾害场景识别
。该模型使用图像特征上下文特征语义特征来增强未见灾害场景识别的能力。KG-ZSL由三部分组成:

  1. 对RS图像和KG三元数据的特征进行编码。它通过交互式注意力模块结合了由ViT生成的视觉特征和由KG表示模型生成的语义特征
  2. 多特征整合,其中由交互式注意力模块捕获的多模态特征文本描述提供的上下文特征逐元素相加,通过文本编码器和轻量级领域适配器(DA),并与视觉特征计算余弦相似度以获得分类结果;
  3. 零样本推理阶段,输入RS灾害场景图像,并通过预训练的KG-ZSL模型预测相应的灾害类别。

方法

在这里插入图片描述

总体框架

在本节中,我们详细介绍了KG-ZSL的框架,图1提供了我们模型的概览。

  1. 使用预训练的图像特征提取器来获取RS图像的图像特征。同时,我们采用了TransD模型,这是一种表示学习模型,用于从RS三元数据中提取语义特征。
  2. 图像特征和语义特征同时输入到交互式注意力模块中,以实现这两种不同模态特征的有效融合。交互式注意力模块生成的多模态特征随后与提示中的上下文向量相结合,生成实例条件上下文特征。这个特征接着作为预训练文本特征提取器的输入,并通过领域适配器(DA)将特征从通用域重新映射到RS域。
  3. 通过计算图像特征实例条件上下文特征之间的余弦相似度来进行零样本场景分类推断。余弦相似度最高的上下文是图像的分类标签。

与其他主流ZSL方法不同,我们的方法在两个不同的RS数据集上运行:训练数据集和未见过的测试数据集。训练数据集由包含传统RS场景的广泛图像组成。而未见过的测试数据集主要关注RS灾害场景。

视觉-语义特征提取过程

为了结合RS图像的空间信息和KG提供的语义信息,我们将三元数据和输入的RS图像映射到高维潜在空间,然后通过交互式注意力机制融合来自不同模态的两种特征。本研究利用预训练的CLIP作为图像编码器(ViT),捕捉RS图像的空间信息。ViT通过引入基于图像的自注意力机制实现对RS场景信息(例如,纹理信息和形状)的全局建模。同时,我们使用表示学习模型来获取KG中不同场景类别之间的语义关系。

TransD

在这里插入图片描述

我们采用一种增强的表示学习模型,称为TransD。TransD模型通过为实体和关系引入单独的投影矩阵来克服这些限制,实现更灵活和有效的表示学习过程。图2展示了KG表示模型(TransD)的细节。对于KG中的每个三元组 ( h , r , t ) (h, r, t) (h,r,t),给定 h ∈ R d h ∈ R^d hRd, t ∈ R d t ∈ R^d tRd, 和 t ∈ R d t ∈ R^d tRd,其中 d d d表示语义嵌入空间中的维度。TransD将 h h h r r r从实体空间映射到关系空间,设:

h ⊥ = s u m ( W h ∗ h ) ∗ W r + h ( 1 ) h_⊥ = sum(W_h ∗ h) ∗ W_r + h (1) h=sum(Whh)Wr+h(1)
t ⊥ = s u m ( W t ∗ t ) ∗ W r + t ( 2 ) t_⊥ = sum(W_t ∗ t) ∗ W_r + t (2) t=sum(Wtt)Wr+t(2)

其中 W h W_h Wh, W r W_r Wr, 和 W t W_t Wt分别是头部投影矩阵、关系投影矩阵和尾部投影矩阵。求和操作表示沿着维度对特征进行求和。然后,输出的语义特征可以按照公式计算为

X s = h ⊥ + r − t ⊥ ( 3 ) X_s = h_⊥ + r - t_⊥ (3) Xs=h+rt(3)

其中 X s X_s Xs表示由TransD生成的语义特征。通过在不同的投影空间中显式地对实体和关系嵌入进行建模,TransD捕获了实体和关系之间的复杂交互,从而实现了改进的语义表示。因此,我们在所提出的网络中使用TransD来增强复杂关系的建模,使得在KG应用中能够更准确和全面地表示。

交互式注意力模块

在这里插入图片描述

为了更好地整合提取的图像特征和语义信息,本研究提出了一个交互式注意力模块,如图3所示,它允许模型捕获视觉和语义特征之间的复杂关系,并选择性地关注每种模态中最有信息的特征,以学习视觉和语义特征的联合表示。这可以提高模型识别和分类图像或语义信息的能力,特别是当输入数据复杂并包含来自多个模态的信息时。交互式注意力模块接收两个输入:图像特征和语义特征,并使用 image transformed netsemantic transformed net对每个输入执行线性和非线性变换。这两个网络由两个全连接层组成,并执行残差和**修正线性单元(ReLU)**操作,以提高泛化性能。线性和非线性变换的过程可以表示为

F i = L ( R e L U ( L ( X i ) ) ) + X i ( 4 ) F_i = L(ReLU(L(X_i))) + X_i (4) Fi=L(ReLU(L(Xi)))+Xi(4)
F s = L ( R e L U ( L ( X s ) ) ) + X s ( 5 ) F_s = L(ReLU(L(X_s))) + X_s (5) Fs=L(ReLU(L(Xs)))+Xs(5)

其中 X i X_i Xi X s X_s Xs分别表示图像特征和语义特征, L L L表示全连接层。然后,通过将图像转换后的特征与语义转换后的特征相加,计算成对的注意力分数,反映每个特征之间的相关性。接下来,使用softmax函数计算每个特征在不同特征维度上的注意力权重,确定每个特征对最终表示的贡献权重。然后,对图像特征及其相应的注意力权重进行Hadamard积,并沿行对图像特征矩阵进行求和,以获得加权图像特征的加权和 W S u m i WSum_i WSumi。获得语义特征的加权和 W S u m s WSum_s WSums的过程与图像特征相同。加权和的计算过程可以表示如下:

W S u m i = S u m ( S o f t m a x ( F i + F s ) ∗ X i ) ( 6 ) WSum_i = Sum(Softmax(F_i + F_s) ∗ X_i) (6) WSumi=Sum(Softmax(Fi+Fs)Xi)(6)
W S u m s = S u m ( S o f t m a x ( F i + F s ) ∗ X s ) ( 7 ) WSum_s = Sum(Softmax(F_i + F_s) ∗ X_s) (7) WSums=Sum(Softmax(Fi+Fs)Xs)(7)

其中Sum表示沿维度的求和操作。这些加权和代表了每种模态中最重要的特征。这允许模型确定每个图像特征和每个语义特征在信息融合中的重要性,使模型能够根据视觉和语义特征之间的相关性自适应地融合信息。最后,将视觉和语义特征的加权和连接起来形成一个联合表示,并通过线性层转换以获得多模态特征 X m X_m Xm,该特征融合了视觉和语义信息,并体现了两种模态之间的交互。

X m = C o n c a t ( W S u m i , W S u m s ) ( 8 ) X_m = Concat(WSum_i, WSum_s) (8) Xm=Concat(WSumi,WSums)(8)

多特征整合用于零样本推理

通过交互式注意力模块生成的多模态特征随后被加入到包含M个标记的可学习文本向量中,这些标记由提示模板初始化,以获得实例条件上下文特征。实例条件上下文特征包括来自RS图像的图像特征、由KG生成的语义特征以及文本特征。这使得模型不仅可以学习RS图像的纹理信息,还可以使用KG中的语义关系和文本提示中的上下文信息来弥合看到和未见类别之间的差距。这可以在公式中表示为:

X c = X m + ∑ j = 1 M C j X_c = X_m + \sum_{j=1}^{M} C_j Xc=Xm+j=1MCj

其中 X m X_m Xm 表示多模态特征, C j C_j Cj表示文本向量中的第j个标记, X c X_c Xc表示实例条件上下文特征。

由于RS图像与传统图像之间存在显著的领域差异,直接应用由CLIP文本特征提取器提取的结合了图像和上下文信息的实例条件上下文特征到复杂的RS数据上,将大大减少场景分类性能。因此,有必要构建一个RS-DA来重新投射实例条件上下文特征。此外,我们建议RS-DA是一个轻量级结构,只需要识别在RS场景分类中更重要的特征。同时,轻量级结构可以有效降低计算成本。然而,直接使用具有线性投影的全连接层容易过拟合,并由于随机选择的样本的影响,可能会忽略对下游任务有用的信息,例如物体颜色或纹理信息,从而限制了特征提取器的辨别能力。因此,我们使用非线性投影领域适配器来提取保留信息的能力。在这项工作中,我们的RS-DA由两个线性层、批量归一化、残差和ReLU操作组成。具体来说,我们使用线性层将特征维度增加到原始大小的四倍,然后重新投影回输入维度以减少信息丢失并过滤无效信息。批量归一化、残差和ReLU操作执行以增强稳定性和泛化性能。RS-DA可以在公式中表示为:

X t = L 2 ( ReLU ( BN ( L 1 ( E t ( X c ) ) ) ) ) + X c X_t = L_2(\text{ReLU}(\text{BN}(L_1(E_t(X_c))))) + X_c Xt=L2(ReLU(BN(L1(Et(Xc)))))+Xc

其中 L 1 L_1 L1 L 2 L_2 L2分别表示第一和第二线性层,ReLU代表激活函数, E t E_t Et表示CLIP的文本编码器,BN代表批量归一化, X t X_t Xt表示RS-DA的输出。接下来,我们计算图像特征和由RS-DA生成的RS域特征之间的余弦相似度。余弦相似度可以在公式中表示为:

sim ( x , t ) = X i ⋅ X t ∥ X i ∥ ⋅ ∥ X t ∥ \text{sim}(x, t) = \frac{X_i \cdot X_t}{\|X_i\| \cdot \|X_t\|} sim(x,t)=XiXtXiXt

这里, ∥ X i ∥ \|X_i\| Xi ∥ X t ∥ \|X_t\| Xt分别表示图像特征和实例条件上下文特征的范数,“∗” 表示乘法,“·” 表示矩阵乘法。然后,计算预测RS图像的看到场景类别的概率,可以表示为:

p i = exp ⁡ ( sim ( X i , X t i ) ) ∑ j = 1 N exp ⁡ ( sim ( X i , X t j ) ) p_i = \frac{\exp(\text{sim}(X_i, X_{t_i}))}{\sum_{j=1}^{N} \exp(\text{sim}(X_i, X_{t_j}))} pi=j=1Nexp(sim(Xi,Xtj))exp(sim(Xi,Xti))

其中 sim (·, ·) 表示余弦相似度, p i p_i pi是第i个看到类别的最终预测概率。预测概率最高的类别是对应于RS图像的看到类别。最后,我们使用预测概率 p i p_i pi和真实标签 y i y_i yi来最小化损失函数,如下所示:

L ce = − ∑ i = 1 N y i log ⁡ ( p i ) L_{\text{ce}} = -\sum_{i=1}^{N} y_i \log(p_i) Lce=i=1Nyilog(pi)

如图1(b)所示,在零样本推理阶段,设x表示由图像编码器生成的来自未见过的灾害类别的测试图像的图像特征, t t t 表示由RS-DA生成的N个未见过的灾害类别的实例条件上下文特征集。然后,来自未见过的灾害类别的图像的预测标签可以推断为:

p u = exp ⁡ ( sim ( x , t u ) ) ∑ j = 1 N exp ⁡ ( sim ( x , t j ) ) p_u = \frac{\exp(\text{sim}(x, t_u))}{\sum_{j=1}^{N} \exp(\text{sim}(x, t_j))} pu=j=1Nexp(sim(x,tj))exp(sim(x,tu))

其中 sim (·, ·) 表示余弦相似度, p u p_u pu 是每个灾害场景类别的最终预测概率。

实验

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

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

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

相关文章

我以为我对Spring MVC很了解,直到我遇到了...

点赞再看&#xff0c;Java进阶一大半 所有人都知道Spring MVC是Rod Johnson是开发的&#xff0c;却鲜有人知道Spring MVC的理论基础来自于1978 年提出MVC模式的一个老头子&#xff0c;他就是Trygve Mikkjel Heyerdahl Reenskaug&#xff0c;挪威计算机科学家&#xff0c;奥斯陆…

【笔记】从零开始做一个精灵龙女-画贴图阶段(上)

此文只是我的笔记&#xff0c;不包全看懂&#xff0c;有问题可评论 PS贴图加工 1.打开ps 拖入uv图&#xff0c;新建图层&#xff0c;设置背景色为灰色&#xff0c;改一下图层名字 2.按z缩小一下uv图层&#xff0c;拖入实体uv图片&#xff08;目的是更好上色&#xff0c;比如…

第二证券:70万手封单,超3亿元资金盯上这只绩优股

今天A股商场收盘共50股涨停&#xff0c;剔除9只ST股后&#xff0c;41股涨停&#xff1b;25股封板未遂&#xff0c;全体封板率为67.78%。 涨停战场&#xff1a; 超3亿元资金封板盛屯矿业 据证券时报数据宝核算&#xff0c;从收盘涨停板封单量来看&#xff0c;盛屯矿业封单量最…

洛杉矶裸机云大宽带服务器的特性和优势

洛杉矶裸机云大宽带服务器是结合了物理服务器性能和云服务灵活性的高性能计算服务&#xff0c;为用户提供高效、安全的计算和存储能力。在了解如何使用洛杉矶裸机云大宽带服务器之前&#xff0c;需要了解其基本特性和优势。以下是对洛杉矶裸机云大宽带服务器的具体分析&#xf…

短信验证码研究:公开的短信验证码接口、不需要注册的短信验证码接口

短信验证码研究&#xff1a;公开的短信验证码接口、不需要注册的短信验证码接口 0 说明 本文提供了一个短信验证码接口&#xff0c;主要用于以下场景&#xff1a; 1、用于开发调试 2、用于申请验证码困难的企业和个人 3、用于短信验证码认证还没有通过&#xff0c;但是着急…

“论面向方面的编程技术及其应用”写作框架,软考高级论文,系统架构设计师论文

论文真题 针对应用开发所面临的规模不断扩大、复杂度不断提升的问题&#xff0c;面向方面的编程&#xff08;Aspect Oriented Programming,AOP&#xff09;技术提供了一种有效的程序开发方法。为了理解和完成一个复杂的程序&#xff0c;通常要把程序进行功能划分和封装。一般系…

uni-app三部曲之三: 路由拦截

1.引言 路由拦截&#xff0c;个人理解就是在页面跳转的时候&#xff0c;增加一级拦截器&#xff0c;实现一些自定义的功能&#xff0c;其中最重要的就是判断跳转的页面是否需要登录后查看&#xff0c;如果需要登录后查看且此时系统并未登录&#xff0c;就需要跳转到登录页&…

Dify工作流中的迭代节点

一.定义 迭代节点的本质就是对数组内容循环处理。对数组执行多次步骤直至输出所有结果。 迭代步骤在列表中的每个条目&#xff08;item&#xff09;上执行相同的步骤。使用迭代的条件是确保输入值已经格式化为列表对象。迭代节点允许 AI 工作流处理更复杂的处理逻辑&#xff…

衣服、帽子、鞋子相关深度学习数据集大合集(2)

继续为大家分享关于衣帽鞋子的深度学习数据集&#xff0c;主要有衣服、帽子、鞋子、短裤、短袖、T恤等。 1、人头上带着各种帽子图片数据集 数据格式&#xff1a;图片 是否标注&#xff1a;已标注 标注格式&#xff1a;yolov8 图片数量&#xff1a;1853张 数据查看地址&a…

JavaScript(7)——数组

JavaScript中数组的用法与Java差不多&#xff0c;但还是有一些区别 声明数组 语法: let 数组名 [数据1,数据2,数据...] let arr new Array(数据1,数据2,...数据n) 添加数据 数组.push()方法将一个或多个元素添加到数组末尾&#xff0c;并返回该数组新长度 <script>…

第二证券:销量暴跌95%,这一巨头市值蒸发超3000亿元!

在多重要素刺激下&#xff0c;PCB工作站上风口。 波音销量堕入停滞 6月仅售出3架客机 据央视财经&#xff0c;在一系列丑闻的影响下&#xff0c;波音公司本年出售遭到明显冲击。当地时间9日&#xff0c;波音发布的数据闪现&#xff0c;在以前一个月&#xff0c;该公司仅卖出…

Springcloud双重预防管理体系平台危险作业票子系统-计算机毕业设计源码48672

摘 要 随着企业生产规模的扩大和生产技术的提高&#xff0c;双重预防管理体系逐渐成为企业安全生产的重要手段。在双重预防管理体系中&#xff0c;危险作业票管理是其中的关键环节之一&#xff0c;对于预防生产事故和保障生产安全具有重要作用。 为了更好地管理危险作业票&…

【idea 修改VM配置,无法启动;必杀技】

idea 修改VM配置&#xff0c;无法启动&#xff1b;必杀技 报错信息 error launching idea failed to created JVM 解决方案 不要管你安装的环境在哪&#xff0c;使用了什么破解插件。统统不管用。直接找到C:\Users\YOURWORLD\AppData\Roaming\JetBrains下的idea中的idea64…

常用控件(三)

输入类控件 QLineEditQTextEditQComboBoxQSpinBoxQDateTimeEditQDialQSlider QLineEdit QLineEdit用来表示单行输入框&#xff0c;可以输入一段文本&#xff0c;但是不能换行; 核心属性: 属性说明text输入框中的文本inputMask输入内容格式约束maxLength最大长度frame是否添加边…

Java中实现二维数组(矩阵)的转置

在矩阵运算中&#xff0c;矩阵的转置是一个基本操作&#xff0c;即将矩阵的行变成列&#xff0c;列变成行。在Java中&#xff0c;我们可以通过编写一个方法来实现二维数组的转置。下面&#xff0c;我将详细介绍如何在Java中完成这一任务&#xff0c;并提供完整的代码示例。 编…

java算法day11

二叉树的递归遍历二叉树的非递归遍历写法层序遍历 递归怎么写&#xff1f; 按照三要素可以保证写出正确的递归算法&#xff1a; 1.确定递归函数的参数和返回值&#xff1a; 确定哪些参数是递归的过程中需要处理的&#xff0c;那么就在递归函数里加上这个参数&#xff0c; 并且…

运维锅总详解进程、内核线程、用户态线程和协程

I/O 密集型应用、计算密集型应用应该用什么实现&#xff1f;进程、内核线程、用户态线程、协程它们的原理和应用场景又是什么&#xff1f;如何组合它们才能让机器性能达到最优&#xff1f;它们的死锁和竞态又是什么&#xff1f;如何清晰地表示它们之间的关系&#xff1f;希望读…

创新设计策略:提升大屏幕可视化设计效果的关键方法

随着科技的不断发展和数据量的快速增长&#xff0c;数据可视化大屏在各个行业中的应用越来越广泛&#xff0c;可以帮助人们更好地理解和分析数据&#xff0c;可视化大屏设计也因此成了众多企业的需求。但很多设计师对可视化大屏设计并不了解&#xff0c;也不知道如何制作可视化…

一.9 重要主题

在此&#xff0c;小结一下我们旋风式的系统漫游。这次讨论得出一个很重要的观点&#xff0c;那就是系统不仅仅只是硬件。系统是硬件和系统软件互相交织的集合体。它们必须共同协作以达到运行应用程序的最终目的。本书的余下部分会讲述硬件和软件的详细内容&#xff0c;通过了解…

UnityHub 无法添加模块问题

文章目录 1.问题描述2.问题解决 1.问题描述 在Hub中无法添加模块 2.问题解决 1、点击设置 2、设置版本安装位置 可以发现installs的安装位置路径设置不是unity安装位置&#xff0c;这里我们更改成自己电脑unity安装位置的上一级路径 添加模块正常&#xff1a;