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

相似性图相关性重构网络用于无监督跨模态哈希

《Similarity Graph-correlation Reconstruction Network for unsupervised cross-modal hashing》

  • 摘要
  • 1. 引言
  • 2. 相关工作
    • 2.1. 监督跨模态哈希方法
    • 2.2. 无监督跨模态哈希方法
  • 3. 方法论
    • 3.1 问题定义
    • 3.2 特征提取
    • 3.3 模态内关系图构建
    • 3.4. 局部关系图重置
    • 3.5. 跨模态关系图构建
    • 3.6 全局关系图构建
    • 3.7 训练目标
  • 4. 框图介绍

摘要

      现有的跨模态哈希检索方法可以同时提高检索速度和减少存储空间。然而,这些方法在确定两种模态之间的相似性度量时面临一个主要挑战。具体来说,模态内和模态间的相似性测量准确性不足,模态间的巨大差异导致语义偏差。在本文中,我们提出了一种相似性图相关性重构网络(SGRN)用于无监督跨模态哈希。特别地,局部关系图重置模块用于过滤掉相似性弱的图节点并将相似性强的图节点关联起来,从而得到细粒度的模态内相似关系图全局关系图重构模块进一步增强跨模态相关性并模态间实现细粒度的相似性对齐。此外,为了弥合模态间的差距,我们结合了实值和哈希特征的相似性表示来设计模态内和模态间的训练策略。SGRN在两个跨模态检索数据集上进行了广泛的实验,实验结果有效地验证了所提方法的优越性,并显著提高了检索性能。

“细粒度”
图像和视觉分析中的细粒度:在图像处理中,高细粒度图像包含更多的像素,因此可以显示更多的细节。在特征提取中,细粒度特征可能捕捉到更具体的图像局部变化
相似性分析中的细粒度:在相似性分析或关系图构建中,细粒度可能指的是相似性计算的精确程度。例如,在跨模态检索中,细粒度相似性对齐可能意味着能够捕捉到更细微的相似性差异,从而提供更精确的检索结果

1. 引言

      随着互联网上数据的持续扩展,用户的检索需求增加,导致检索技术的演变。大量研究兴趣致力于跨模态检索,它努力利用一种模态作为查询从另一种模态检索相关数据并探索来自各种模态的数据之间的联系。随着信息技术的进步和多媒体数据的激增,跨模态检索的效率和准确性变得越来越重要。与广泛使用的实例公共空间方法相比,跨模态哈希检索方法 可以提高跨模态检索的速度,减少存储空间,并在保持准确性在一个可控范围内的同时大大提高检索效率,从而在准确性和效率之间实现更好的平衡。跨模态哈希检索方法的基本概念是将跨模态数据映射到一个共同的汉明空间,获得相似的跨模态内容以及相似的二进制哈希代码,并保留模态内和模态间的相似性。跨模态哈希方法可以分为监督和无监督方法。监督方法需要手动标注的语义标签。在现实世界场景中,数据通常是未标记的,标记数据集非常有限。为了获得大规模多模态数据的标签,需要手动标注大量集合,这是耗时的、劳动密集型的,并且成本高昂。尽管监督方法可以实现更好的检索性能,但无监督方法更为实用无监督方法主要依赖于异构数据的共存来指导哈希代码学习。许多方法正在解决异构数据共存的一些问题。与通过语义标签学习更一致的哈希代码以获得语义相关的跨模态数据的监督方法相比,无监督方法有效地降低了计算成本。在本文中,我们专注于无监督跨模态哈希方法

2. 相关工作

2.1. 监督跨模态哈希方法

      一些监督方法使用标签信息结合语义关系来获取有效的哈希码。SDDH 对矩阵施加正交性和平衡约束,并将其嵌入哈希码中,以更好地捕获同类的相似性信息。QDCMH 提出了一种构建二次损失函数的方法。该方法将它们与表示学习和哈希码结合,以有效捕获异构跨模态相似性。NSDH 构建了一个语义标签矩阵,并结合相似性信息来增强哈希码的语义信息。最终获得了更具辨识力的哈希码。MSLF 使用标签生成不同模态的共同属性,并以较低的计算成本获得哈希码。OLCH 提出了一个在线语义表示的学习框架,以有效处理大规模和流数据。学习数据增量的哈希码,以流式方式更新哈希函数,并最终优化哈希函数。

2.2. 无监督跨模态哈希方法

      一些无监督方法专注于计算特征之间的相似性,使用相似性度量作为优化目标。DGCPN 构建检索数据作为静态全局KNN图,计算两个节点之间的相似性概率,并获取图邻居一致性。该方法通过组合损失提高相似性的准确性。构建的相似性矩阵进一步由HNH分析,从而在模态间产生高阶相似性矩阵。在此基础上引入了基于不同模态的共同表示,以减轻模态间的差异。SRCH 首先在模态内生成几何和语义图,然后应用哈希码重新定义图中的边。该方法使用哈希自编码器来维护和量化模态间的相似性。IRGR 使用KNN方法构建全局和局部相似性关系图。该方法基于图推理获得有效的相似性信息,并提出逐步训练策略以减少语义损失。DJSRH 构建实例之间的联合相似性矩阵。然而,这种方法也整合了无意义的对齐信息,造成数据冗余。在DJSRH 的基础上,DSAH 和 JDSH 更加充分利用语义相似性。DSAH 在原始特征和它们的哈希码之间实现相似性对齐。JDSH 生成辨别力哈希码,将语义相似的实例对推得更近。DGCPN 基于数据集构建静态全局KNN图,并提出新的相似性表示,但对局部的考虑不完整。HNH 考虑局部和非局部情况,并构建更高阶的相似性矩阵。然而,对模态内相似性信息的考虑不够细致,未能获得更细粒度的相似性信息。
      一些现有方法的问题需要进一步考虑。
      首先,由余弦函数表示的相似性只能捕获实例间一定程度的相关性。生成的相似性矩阵只考虑了一组实例中的成对关系,忽略了邻域关系,这将导致矩阵的准确性不足并产生无意义的相似性信息。尽管我们可以通过余弦函数计算模态内和模态间的相似性,但获得的相似性信息不够准确。因此,如何处理模态内和模态间的相似性信息尤为重要。一些方法使用关系图来表示相似性矩阵。图中的每个节点代表相似性矩阵中的每个实例,图中每条边的权重代表通过边连接的实例之间的相似性,对应于矩阵的值。第二个问题是构建相似性关系图的局限性。在构建关系图时,一些方法忽略了节点与其多个邻居之间的关系。它们大多只考虑节点对。这可能导致构建的关系图没有考虑到更全面相似性信息。最后一点是现有方法在构建两个模态之间的全局关系图时可能忽略了局部有用的信息。局部有用的相似性信息包括模态内和模态间的相关性信息,可以实现模态间细粒度的对齐并有效提高检索性能。
      为了解决上述问题,我们提出了一种无监督跨模态哈希的相似性图相关性重构网络(SGRN),以促进高效的跨模态检索。本文的主要贡献如下:
      我们提出了一种局部关系图重置(Local Relation Graph Rebasing, LRGR)模块。我们用局部关系图表示相似性,以弥补余弦函数只能捕获实例间一定程度相似性的问题以及现有方法忽略图节点邻域节点的问题。最终,我们获得了展现细粒度相似性的模态内关系图。我们提出的局部关系图重置(LRGR)模块的示意图如图1所示。
      通过本文提出的全局关系图重构(Global Relation Graph Reconstruction, GRGR)模块,我们重建的跨模态相似性关系图考虑了局部有用的相似性信息实现了模态间细粒度的对齐,并获得了更有价值的相似性信息。
      我们设计了一种结合模态内和模态间的训练策略。我们根据模态内损失和模态间损失分别训练模块,这有效地统一了相似性信息并缓解了异构数据共存问题。
      我们使用三个广泛使用的图像和文本检索数据集进行了全面实验,以验证SGRN显著提高了检索性能。我们的方法在MAP评估指标方面总体最优,我们的top-K精度曲线结果优于类似的最新无监督跨模态哈希检索方法。

3. 方法论

      图2展示了SGRN的框架,该框架可以通过特征提取获得深度语义特征。在本文中,我们采用预训练的AlexNet来提取图像特征,并使用词袋(BOW)模型来提取文本特征。随后根据DJSRH,我们对特征进行编码以获得隐藏层,并采𝑡𝑎𝑛ℎ(⋅)函数生成严格的二进制哈希码。此外,我们为原始特征和哈希特征构建了单独的相似性矩阵基于原始特征,我们的方法首先通过KNN方法构建模态内相似性关系图,然后局部关系图重置(LRGR)模块重构关系图以获得细粒度的模态内关系图。下一步是将模态内关系图结合起来获得两个模态之间的联合相似图,并通过全局关系图重构(GRGR)模块重构跨模态相似性关系图的相似性表示。最后,我们提出了一种结合模态内和模态间的训练策略来训练关系图和哈希特征的相似性矩阵以计算损失函数

3.1 问题定义

在这里插入图片描述

3.2 特征提取

在这里插入图片描述

3.3 模态内关系图构建

在这里插入图片描述

3.4. 局部关系图重置

在这里插入图片描述

3.5. 跨模态关系图构建

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

3.6 全局关系图构建

在这里插入图片描述

3.7 训练目标

在这里插入图片描述

4. 框图介绍

在这里插入图片描述

SGRN模型流程图:

      特征提取(Feature Extraction)

      图像特征(Image Features)和文本特征(Text Features)分别通过各自的特征提取网络进行提取。对于图像,使用预训练的AlexNet模型;对于文本,使用词袋(Bag-of-Words, BOW)模型。
      提取原始特征 𝐹𝐼 和 𝐹𝑇 ​ 通过K最近邻(KNN)算法构建局部关系图。

      局部关系图重置(Local Relation Graph Rebasing, LRGR)

      对于图像和文本模态,使用KNN算法分别构建局部关系图
      局部关系图重置模块(LRGR)通过门控机制(gating mechanism)过滤掉相似性较少的节点,保留相似性较强的节点,从而获得细粒度的局部关系图
      为视觉关系图和文本关系图分别生成门控掩码(Mask),通过sigmoid函数计算得到。

      全局关系图重构(Global Relation Graph Reconstruction, GRGR)

      将图像和文本模态的局部关系图结合,获得联合相似图
      全局关系图重构模块(GRGRGR)进一步优化跨模态相似性表示,通过增强权重掩码(enhanced weight)来整合两种模态的信息。
      计算图像到文本和文本到图像的跨模态相似性表示 𝑆𝐼,𝑇 和 𝑆𝑇,𝐼。

      相似性对齐(Alignment):

      对于图像和文本模态,分别计算二进制哈希码相似矩阵 BI​ 和 BT​。
      通过相似性对齐策略,减少两种模态之间的语义差距。

      连接(Concat):

      将图像和文本模态的相似性矩阵连接起来,形成联合跨模态相似性矩阵 S。

      训练目标(Training Objectives)

      结合模态内和模态间数据训练,分别计算模态内和模态间的损失。
      计算图像和文本模态的二进制哈希码相似矩阵。
      在每个模态内,执行哈希特征与实值特征的语义对齐。
      计算联合跨模态关系图相似性信息与跨模态哈希特征相似性信息之间的误差。
      通过上述步骤,SGRN模型能够有效地整合图像和文本模态的相似性信息,并通过全局关系图重构模块(GRGR)获得细粒度的相似性对齐,从而减少语义差距。

相关文章:

相似性图相关性重构网络用于无监督跨模态哈希

《Similarity Graph-correlation Reconstruction Network for unsupervised cross-modal hashing》 摘要1. 引言2. 相关工作2.1. 监督跨模态哈希方法2.2. 无监督跨模态哈希方法 3. 方法论3.1 问题定义3.2 特征提取3.3 模态内关系图构建3.4. 局部关系图重置3.5. 跨模态关系图构建…...

【Bug】属性 PackageVersion 应在所有目标框架中具有单个值,但却具有以下值

文章目录 问题问题代码原因解决处理Bug的具体步骤 问题 严重性 代码 说明 项目 文件 行 禁止显示状态 错误(活动) NU1105 无法读取“x”的项目信息: 属性 PackageVersion 应在所有目标框架中具有单个值,但却具有以下值: 1.0.0, 1.0.5 x (net8.0-android), x (net8.…...

C++ Primer 类型转换

欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…...

【CS61A 2024秋】Python入门课,全过程记录P7(Week13 Macros至完结)【完结撒花!】

文章目录 关于新的问题更好的解决方案Week13Mon Macros阅读材料Lab 11: Programs as Data, MacrosQ1: WWSD: QuasiquoteQ2: If ProgramQ3: Exponential PowersQ4: Repeat Wed SQL阅读材料Disc 11: MacrosQ1: Mystery MacroQ2: Multiple AssignmentQ3: Switch Optional Contest:…...

SSH隧道+Nginx:绿色通道详解(SSH Tunnel+nginx: Green Channel Detailed Explanation)

SSH隧道Nginx:内网资源访问的绿色通道 问题背景 模拟生产环境,使用两层Nginx做反向代理,请求公网IP来访问内网服务器的网站。通过ssh隧道反向代理来实现,重点分析一下nginx反代的基础配置。 实验环境 1、启动内网服务器的tomca…...

LabVIEW用户界面设计原则

在LabVIEW开发中,用户界面(UI)设计不仅仅是为了美观,它直接关系到用户的操作效率和体验。一个直观、简洁、易于使用的界面能够大大提升软件的可用性,尤其是在复杂的实验或工业应用中。设计良好的UI能够减少操作错误&am…...

Datawhale 数学建模导论二 2025年2月

第6章 数据处理与拟合模型 本章主要涉及到的知识点有: 数据与大数据Python数据预处理常见的统计分析模型随机过程与随机模拟数据可视化 本章内容涉及到基础的概率论与数理统计理论,如果对这部分内容不熟悉,可以参考相关概率论与数理统计的…...

SQL CASE表达式的用法

SQL CASE表达式的用法 一、CASE表达式的基础语法简单CASE表达式搜索CASE表达式 二、简单CASE表达式的应用示例三、搜索CASE表达式的应用示例四、CASE表达式在聚合函数中的应用五、嵌套CASE表达式的应用 今天在也无力用到了CASE表达式,于是有了这篇博客,C…...

趣味魔法项目 LinuxPDF —— 在 PDF 中启动一个 Linux 操作系统

最近,一位开源爱好者开发了一个LinuxPDF 项目(ading2210/linuxpdf: Linux running inside a PDF file via a RISC-V emulator),它的核心功能是在一个 PDF 文件中启动并运行 Linux 操作系统。它通过巧妙地使用 PDF 文件格式中的 Ja…...

win32汇编环境,窗口程序使用跟踪条(滑块)控件示例一

;运行效果 ;win32汇编环境,窗口程序使用跟踪条(滑块)控件示例一 ;生成2条横的跟踪条,分别设置不同的数值范围,设置不同的进度副度的例子 ;直接抄进RadAsm可编译运行。重要部分加备注。 ;下面为asm文件 ;>>>>>>>>>>>>>>>>>…...

mars3d接入到uniapp的时候ios上所有地图的瓦片都无法加载解决方案

用的是【Mars3d】官网的uniapp的仓库,安卓没有问题,但是ios的不行 相关链接 mars3d-uni-app: uni-app技术栈下的Mars3D项目模板 解决方案:感觉所有图片请求全被拦截了 uniapp的ios内核不允许跨域,需要先把瓦片下载后转base64&…...

使用 Notepad++ 编辑显示 MarkDown

Notepad 是一款免费的开源文本编辑器,专为 Windows 用户设计。它是替代记事本(Notepad)的最佳选择之一,因为它功能强大且轻量级。Notepad 支持多种编程语言和文件格式,并可以通过插件扩展其功能。 Notepad 是一款功能…...

wordpress主题制作

工具/原料 <P><BR>使用divcss语言编写的html静态页面一个</P> <P>Macromedia Dreamweaver软件<BR></P> WordPress主题结构分析 1 1、index.php首页模板&#xff08;最基本&#xff09; ---- 1、header.php头部 ---- 2、sidebar.php侧边…...

MybatisPlus常用增删改查

记录下MybatisPlus的简单的增删改查 接口概述 Service和Mapper区别 Mapper简化了单表的sql操作步骤&#xff08;CRUD&#xff09;&#xff0c;而Serivce则是对Mapper的功能增强。 Service虽然加入了数据库的操作&#xff0c;但还是以业务功能为主&#xff0c;而更加复杂的SQL…...

Citus的TPCC、TPCH性能测试

Citus的TPCC、TPCH性能测试 文章目录 Citus的TPCC、TPCH性能测试测试的目的适用范围测试环境架构信息硬件配置操作系统软件版本 测试结果TPCC测试测试结果TPCH测试测试结果 一、环境部署1.1、安装BenchmarkSQL1.2、PostgreSQL安装1.3、nmon部署1.4、TPC-H测试的生成数据工具安装…...

蓝桥杯---颜色分类(leetcode第75题)题解

文章目录 1.问题重述2.思路分析3.代码分析 1.问题重述 颜色分类&#xff0c;实际上就是赋予了三种颜色不同的数值&#xff0c;0,1,2分别代表的就是一个类型的颜色&#xff0c;我们题目说的是对于颜色进行分类&#xff0c;实际上就是对于0,1,2进行分类&#xff0c;我们把很多数…...

C语言基础13:循环结构 for和while

循环结构 什么是循环结构 代码在满足某种条件的前提下&#xff0c;重复执行&#xff0c;就叫做循环结构。 循环的分类 无限循环&#xff1a;其实就是死循环&#xff0c;程序设计中尽量避免无限循环&#xff0c;如果非要使用&#xff0c;那么这个循环一定要在可控范围内。有…...

六西格玛设计培训如何破解风电设备制造质量与成本困局

2023年&#xff0c;中国风电行业装机容量突破4.3亿千瓦&#xff0c;稳居全球第一&#xff0c;但高速扩张背后暗藏隐忧&#xff1a; 质量痛点&#xff1a;叶片开裂、齿轮箱故障等缺陷频发&#xff0c;运维成本占项目全生命周期成本超30%&#xff1b;成本压力&#xff1a;原材料…...

【Android开发】安卓手机APP使用机器学习进行QR二维码识别

前言:本项目是一个 Android 平台的二维码扫描应用,具备二维码扫描和信息展示功能。借助 AndroidX CameraX 库实现相机的预览、图像捕获与分析,使用 Google ML Kit 进行二维码识别。为方便大家了解项目全貌,以下将介绍项目核心代码文件 MainActivity.java 和 AndroidManifes…...

Zabbix-监控SSL证书有效期

背景 项目需要&#xff0c;需要监控所有的SSL证书的有效期&#xff0c;因此需要自定义一个监控项 实现 创建自定义脚本 在Zabbix的scripts目录(/etc/zabbix/scripts/)下创建一个新的shell脚本check_ssl.sh&#xff0c;内容如下 #!/bin/bash time$(echo | openssl s_client…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者&#xff1a;来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗&#xff1f;了解下一期 Elasticsearch Engineer 培训的时间吧&#xff01; Elasticsearch 拥有众多新功能&#xff0c;助你为自己…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 &#xff1a;主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 &#xff1a;确保数据的完整性&#xff0c;便于数据的查询和管理。 示例 &#xff1a;在学生信息表中&#xff0c;学号可以作为主键&#xff…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...