机器学习中的图匹配问题—基础学习

机器学习中的图匹配问题

结合导师所给的方向,能否将实例之间的点匹配问题转换为点到实例之间的匹配问题来进行求解呢?这里结合师姐推荐的讲座首先对图匹配的这个方向来进行简单的了解和接触。

图匹配问题概述

图匹配就是:不仅考虑点之间的配准,还考虑边之间的配准 registration。

这里在匹配的时候不仅要考虑到两个点之间的相似度,还要考虑到两个点之间边的一个相似度,从而就可以构成图结构,从而引入了图匹配的问题。

在这里插入图片描述
如上,匹配两个图,一个图有5个点,一个图有4个点,我们要做的就是求解出一个5×4的0-1矩阵(组合优化问题),得到点与点间的匹配关系。

一个很直接的求解方法是:计算点与点之间的相似度,构造Kp矩阵,然后求解这个规划模型。

这里涉及了多目标跟踪领域的一个很常见的二部图关联算法—匈牙利算法, 这里的匹配问题是之前常用的线性指派的问题。 通过计算点和点之间的相似度或者匹配的代价矩阵,来完成相关的一个匹配的问题。

在这里插入图片描述

图匹配问题的难点

这个问题的难点在于,我们不仅仅要考虑点与点之间的相似性,还要考虑边与边之间的相似性。

从而从一个一阶的匹配问题转化为了一个二阶的问题就导致了整个的难度的上升也就出现了图匹配的一个难点问题。

在这里插入图片描述

这里对于边匹配的问题来说,第一个图上有8条边第二个图上有4条边,这里对于的边的矩阵就是8x4的一个规模了。

节点之间的匹配矩阵是一阶的复杂度,因为它只涉及到两个图中节点的两两匹配,而边之间的匹配矩阵是二阶的复杂度,因为它涉及到两个图中所有可能的边对之间的匹配。

在这里插入图片描述
这里自己感觉和GmTracker所说的图匹配中的一个凸二次规划问题是一个意思。 可以看到边的数量明显上升。

在这里插入图片描述

之后的图匹配的问题通过引入了affinity matrix矩阵来进一步进行优化求解。

我们可以对点和边的关系进行编码,压缩成一个矩阵:affinity matrix(相似性矩阵) 如上,对于5点对4点的情况,我们需要5乘4等于20规模的方阵,这样就可以两两编码(1a、1b、…、5d,共20个)。如上,3b行与5c列的交点意味着:3和5连成的边与b和c连成的边的相似度。但是这样K矩阵比较稀疏

有了这个矩阵,我们将其转换为QAP。

在这里插入图片描述
二次分配问题(Quadratic Assignment Problem,简称 QAP)是一种组合优化问题,它涉及将设施分配到位置的最优方案。QAP 的目标是找到最佳分配,以最小化设施对之间的总成本或距离,同时考虑到它们之间的相互作用以及对应位置之间的距离。

在这里插入图片描述
然后我们对这里的公式图来进行一个简单的解释说明。我们在建立完成上文提到的K矩阵的基础上,需要求解的就是X这样一个匹配矩阵。来确定之间的匹配关系,本质上是让求解出来的值最大。

有人证明了这是一个NP难的问题。如上,转化为一个二次问题。注意到,vec 是向量化的意思,就是把 X5×4 转化为 X20×1 这是一个NP-hard问题。

图匹配问题的求解

  1. 对于这个NP难的问题该如何进行求解呢?松弛是一个好办法

大部分以前的方法都是通过松弛的方法来进行求解。将约束的问题转化成为一个关于模的问题来进行求解。通过求一些特征值和特征向量的形式来进行完成的。

在这里插入图片描述

  1. 考虑高阶的信息在CV领域,3阶代表相似变换的不变性,4阶代表仿射变换的不变性。因此,是否可以将 graph 变为超图(提高阶数)?

但是,这不可行,维度爆炸。

在这里插入图片描述
总结:在传统的机器学习的方法中最常用的两种关于图匹配的形式主要是,通过凸优化松弛的方式,或者说通过矩阵分解的方式来进行求解的。

Existing multiple GM methods

然而,在实际问题中,不仅仅是两张图的匹配,我们需要提取信息,并且能做到,多张图协同匹配。Composition based Affinity Optimization

在这里插入图片描述

这里涉及的多是多图的匹配,自己目前用不上简单了解

  • 有一种思想是,如果G1和G2匹配很难,是否可以通过G3作为中介(比如儿子于父母),分别与G1和G2匹配。
  • 在多图中,我们提出 consistency 的概念,注意,对于i和j,我们引入第三者第四者等等,用于计算 consistency ,这个值越高越接近1,则匹配效果越好。

Background: Learning on Graph Matching

这里根据讲座中的信息建立并且了解可学习的图匹配的相关的背景信息,(机器学习,深度学习相关)

在这里插入图片描述
通过学习的方法建立图匹配的过程是 : 给定两个图之后由机器训练出来的模型来自动的学习出不同的权重从而构建出一个新的图的信息。

这里刚开始节点和边的权重都被初始化为1 这里在图匹配中的pai代表的是它们之间的对应关系。

S ( G , G ′ , π ; ω ) = ⟨ ω , Φ ( G , G ′ , π ) ⟩ S\left(\mathcal{G}, \mathcal{G}^{\prime}, \pi ; \omega\right)=\left\langle\omega, \Phi\left(\mathcal{G}, \mathcal{G}^{\prime}, \pi\right)\right\rangle S(G,G,π;ω)=ω,Φ(G,G,π)

g ω ( G , G ′ ) = argmax ⁡ π S ( G , G ′ , π ; ω ) g_{\omega}\left(\mathcal{G}, \mathcal{G}^{\prime}\right)=\underset{\pi}{\operatorname{argmax}} S\left(\mathcal{G}, \mathcal{G}^{\prime}, \pi ; \omega\right) gω(G,G)=πargmaxS(G,G,π;ω)

通过引入一个可学习的参数,让我们的图之间对应关系的匹配可以达到最大。

g ( G , G ′ ) = argmax ⁡ π S ( G , G ′ , π ; 1 ) = argmax ⁡ π ∑ i s V ( a i , a π ( i ) ′ ) + ∑ i , j ∘ s E ( a i j , a π ( i ) π ( j ) ′ ) \begin{aligned} g\left(\mathcal{G}, \mathcal{G}^{\prime}\right) & =\underset{\pi}{\operatorname{argmax}} S\left(\mathcal{G}, \mathcal{G}^{\prime}, \pi ; \mathbf{1}\right) \\ & =\underset{\pi}{\operatorname{argmax}} \sum_{i} \boldsymbol{s}_{V}\left(a_{i}, a_{\pi(i)}^{\prime}\right)+\sum_{i, j^{\circ}} \boldsymbol{s}_{E}\left(a_{i j}, a_{\pi(i) \pi(j)}^{\prime}\right) \end{aligned} g(G,G)=πargmaxS(G,G,π;1)=πargmaxisV(ai,aπ(i))+i,jsE(aij,aπ(i)π(j))

在这里插入图片描述

图的构建过程本身是可以学习出来的

在这里插入图片描述

Learning Matching Features: Deep Learning of Graph Matching
能否用深度学习拥抱匹配任务?(这篇文章首发)

在这里插入图片描述
这里的SM就是谱方法

CNN与谱方法SM提取特征,之后对比一下,然后得到 loss 。但是,问题:SM本身不是做GM的solver,因此只能得出近似解;损失函数有缺陷,仅仅在计算两个对应点在空间中的距离(并不解决我们的匹配需求,匹配不再离得远不远,只在乎有没有配对准)

不是完全的用到深度学习。

作者针对图匹配的改进工作

Learning Combinatorial Embedding Networks for Deep Graph Matching.

交替地对每个点进行更新。“实际上就是GNN”。

在这里插入图片描述

对图做完嵌入后,把边信息都压缩到节点上,因此变为了一个只有点的问题,是一个 指派问题 。将边的问题转换为点的一个问题。

Distance Metric给定两个嵌入的结果,xi 和 xj 怎么算相似性呢?

s ( x i , x j ) = exp ⁡ ( x i T A x j ) s\left(x_{i}, x_{j}\right)=\exp \left(x_{i}^{T} \mathbf{A} x_{j}\right) s(xi,xj)=exp(xiTAxj)

A是可学习的权重矩阵。exp保证非负。

在这里插入图片描述

现在有了距离的计算方法,构造非负距离矩阵。那怎么得到最后的匹配结果呢?做交替的 Row-Norm 和 Col-Norm ,直到行和列都是和为 1 为止(收敛到双随机矩阵)。这个过程就是 Sinkhorn Algorithm。

在这里插入图片描述

总结:这里主要是学习图匹配网络的一些基础的知识,尝试将图匹配网络与神经网络相结合放置到多目标跟踪的部分中去。

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

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

相关文章

2024.11.29——[HCTF 2018]WarmUp 1

拿到题&#xff0c;发现是一张图&#xff0c;查看源代码发现了被注释掉的提示 <!-- source.php--> step 1 在url传参看看这个文件&#xff0c;发现了这道题的源码 step 2 开始审计代码&#xff0c;分析关键函数 //mb_strpos($haystack,$needle,$offset,$encoding):int|…

gRPC 快速入门 — SpringBoot 实现(1)

目录 一、什么是 RPC 框架 &#xff1f; 二、什么是 gRPC 框架 &#xff1f; 三、传统 RPC 与 gRPC 对比 四、gRPC 的优势和适用场景 五、gRPC 在分布式系统中应用场景 六、什么是 Protocol Buffers&#xff08;ProtoBuf&#xff09;&#xff1f; 特点 使用场景 简单的…

工具篇--GitHub Desktop 使用

文章目录 前言一、GitHub Desktop 的使用&#xff1a;1.1 通过官网下载GitHub Desktop和安装&#xff1a;1.2 安装和使用&#xff1a;1.2.1 填充自己的标识&#xff1a;1.2.3 克隆项目&#xff1a;1.2.4 git 常用忽略项配置&#xff1a; 二、代码的更新和提交&#xff1a;2.1 代…

MySQL事物隔离级别详细解释

目录 事务隔离级别总结 实际情况演示 脏读(读未提交) 避免脏读(读已提交) 不可重复读 可重复读 幻读 解决幻读的方法 事务隔离级别总结 SQL 标准定义了四个隔离级别&#xff1a; READ-UNCOMMITTED(读取未提交) &#xff1a;最低的隔离级别&#xff0c;允许读取尚未提…

[每周一更]-(第126期):MQ解耦场景

消息队列&#xff08;MQ&#xff09;解耦是一种软件架构设计模式&#xff0c;主要通过中间件将系统中的生产者和消费者模块分离&#xff0c;减少模块之间的直接依赖&#xff0c;使系统具有更高的扩展性和灵活性。这种模式尤其适用于需要处理复杂业务逻辑、频繁请求或异步处理的…

Redis的高可用之哨兵模式

Redis哨兵主要是解决Redis主从同步时主数据库宕机问题,使其能够自动进行故障恢复&#xff0c;提高Redis系统的高可用性。 1. 哨兵的作用&#xff1a; 监控&#xff1a;哨兵通过心跳机制监控主库和从库的存活性。 选主&#xff1a;当主库宕机时&#xff0c;哨兵会选举出一个领…

知识分享|一文了解实时荧光定量PCR(qPCR)技术的原理与分类

实时荧光定量PCR技术(Realtime quantitative PCR&#xff0c;qPCR)是在PCR反应体系中添加荧光报告基团和荧光淬灭基团&#xff0c;通过荧光信号来实现对核酸分子的定量检测过程在反应过程中&#xff0c;PCR产物随着扩增反应的进行不断生成&#xff0c;荧光信号不断增加&#xf…

【MySQL】环境变量配置

环境变量英文名SystemRoot&#xff0c;直译为“系统总&#xff08;根&#xff09;目录"&#xff0c;主要指明操作系统的重要目录在哪里。那么配置MySQL的环境变量&#xff0c;就是在程序运行时&#xff0c;告诉操作系统你的MySQL目录位置。 复制MySQL安装目录&#xff1a;…

高级 CEF 内核集成与 VC++——开发环境搭建与配置

开发环境的搭建是 CEF 浏览器开发中至关重要的一步。正确配置开发环境不仅能提高开发效率&#xff0c;也能确保开发过程中的稳定性与可靠性。本文将结合最新的资料和技术方案&#xff0c;深入讲解如何搭建 CEF 编译与配置环境&#xff0c;正确配置 Windows SDK 与依赖库&#x…

【React】组件通讯有哪几种方式?

文章目录 一、父子组件通讯二、兄弟组件通讯3、context 跨级组件通讯 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、父子组件通讯 父组件 ----> 子组件&#xff1a; props 父组件提供要传递的 state 数据 给子组件标签添加属性&#xff0c;值…

huggingface-cli下载数据(含下载指定数据教程)

在国内&#xff0c;推荐使用&#xff1a;HF-Mirror 1.尝试下载大模型相关文件 在huggingface镜像首页&#xff0c;可以看到如图&#xff1a; 2.使用huggingface-cli下载文件 2.1 首先激活自己的虚拟环境&#xff0c;然后安装环境&#xff0c;使用如下命令&#xff1a; pip …

生产慎用之调试日志对空间矢量数据批量插入的性能影响-以MybatisPlus为例

目录 前言 一、一些缘由 1、性能分析 二、插入方式调整 1、批量插入的实现 2、MP的批量插入实现 3、日志的配置 三、默认处理方式 1、基础程序代码 2、执行情况 四、提升调试日志等级 1、在logback中进行设置 2、提升后的效果 五、总结 前言 在现代软件开发中&…

Linux下编译安装METIS

本文记录Linux下编译安装METIS的流程。 零、环境 操作系统Ubuntu 22.04.4 LTSVS Code1.92.1Git2.34.1GCC11.4.0CMake3.22.1 一、安装依赖 1.1 下载GKlib sudo apt-get install build-essential sudo apt-get install cmake 2.2 编译安装GKlib 下载GKlib代码&#xff0c; …

数据链路层总结

- - 链路、物理链路&#xff1a;两节点间物理线路&#xff08;有线、无线&#xff09;&#xff0c;中间没有任何其他的交换节点 数据链路、逻辑链路&#xff1a; 链路 协议需要的硬件、软件 网络适配器(网卡)&#xff1a;包含物理层、数据链路层 网络适配器软件驱动程…

基于Java和Vue开发的漫画阅读软件漫画阅读小程序漫画APP

前景分析 受众广泛&#xff1a;漫画的受众群体广泛&#xff0c;不仅限于青少年&#xff0c;还涵盖了成年人等多个年龄层和社会阶层。漫画文化在全球范围内的影响力不断扩大&#xff0c;未来漫画软件创业可以考虑全球市场的拓展。 市场需求大&#xff1a;数字化阅读趋势下&…

LoRa无线空调计费系统都应用在哪里

中央空调计费系统由于布线方式需要消耗大量的人力及成本&#xff0c;LoRa在楼宇自控及智能家居中的应用越来越广泛&#xff0c;成为当前普遍应用的通信技术。 LoRa模块无线传输技术的不断完善&#xff0c;逐步解决了温控器通信方面布线困难、施工成本高的问题&#xff0c;促进…

4.STM32通信接口之SPI通信---硬件SPI的介绍

上一节&#xff0c;我们学会软件的SPI&#xff0c;本节&#xff0c;我们将学习STM32的SPI硬件收发电路&#xff0c;虽然STM32的硬件收发电路很强大&#xff0c;但是&#xff0c;很多我们都用不到&#xff0c;我们只需会最基本的就可以。硬件的好处就是稳定&#xff0c;功能模块…

Open AI 推出 ChatGPT Pro

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

洛谷P1030 [NOIP2001 普及组] 求先序排列(c嘎嘎)

题目链接&#xff1a;P1030 [NOIP2001 普及组] 求先序排列 - 洛谷 | 计算机科学教育新生态 题目难度&#xff1a;普及 解题思路&#xff1a;这道题和之前做过的一道题很像&#xff0c;举一反三就行 相似题目&#xff1a;P1827 [USACO3.4] 美国血统 American Heritage - 洛谷 |…

创意型广告如何配音梨花声音研修院退费

张弛播音5天训练营靠谱吗&#xff0c;在当今竞争激烈的广告市场中&#xff0c;创意型广告以其独特的构思和表现形式脱颖而出。而配音作为广告的重要组成部分&#xff0c;对于创意型广告的成功起着至关重要的作用。 在为创意型广告配音之前&#xff0c;首先要深入理解广告的创意…