论文阅读笔记《Neural Graph Matching Network: Learning Lawler’s Quadratic Assignment Problem With Extension》

核心思想

  该文提出一种图匹配神经网络用于解决Lawler’s形式的二次分配问题,并将其推广到超图匹配和多图匹配领域。在之前的文章中,我们介绍过图匹配问题通常被定义为一种二次分配问题(QAP),通常有两种形式化方式:Lawler’s QAP问题和Koopmans-Beckmann’s QAP问题。Koopmans-Beckmann’s QAP可以看作是Lawler’s QAP的一个特例,现有的基于深度学习的图匹配方法都是基于Koopmans-Beckmann’s QAP形式研究的,而该文则是首次使用图匹配神经网络解决了Lawler’s QAP。作者将图和图之间的关联矩阵(affinity matrix)转化为关联图(association graph),来描述点和点与边和边之间的相似程度,并采用分类的方式从关联图中选出匹配得分高的顶点,其对应的节点对则认为是匹配点。作者还将SplineConv卷积层引入了特征提取阶段,并融合了匹配约束,进一步提高了图匹配的效果。最后,作者将二阶图匹配推广到高阶的超图匹配和多图匹配问题中,取得了更加鲁棒和稳定的效果。算法流程如下图所示
论文阅读笔记《Neural Graph Matching Network: Learning Lawler’s Quadratic Assignment Problem With Extension》_第1张图片

实现过程

   该文不限制于图像中的关键点匹配,任何的图结构数据,只要给定对应的关联矩阵都可以用本文的方法求解,但为了方便理解我们还是以图像中的关键点图匹配为例来介绍。首先输入的图像经过CNN进行特征提取,利用VGG的relu4_2层输出的特征向量 U ˉ \bar{U} Uˉ作为节点的特征,并通过双边上采样的方式与人工标注的关键点进行对齐,得到每个关键点的特征向量。relu5_1层输出的特征向量 F ˉ \bar{F} Fˉ用于描述边的特征,图的结构是采用 G , H G,H G,H矩阵来描述的,具体可参考这篇博客。通过级联每条边的两个端点的特征来表示边特征:
在这里插入图片描述
其中 [ ⋅ ⋅ ] [\cdot \cdot] []表示级联操作。节点之间的相似矩阵 K p K_p Kp和边之间的相似矩阵 K e K_e Ke计算方法如下
在这里插入图片描述
其中 Λ \Lambda Λ是可学习的参数矩阵,关联矩阵 K K K是采用因式分解图匹配(FGM)形式描述
在这里插入图片描述
  得到关联矩阵 K K K后,进而构建关联图,如下图所示
论文阅读笔记《Neural Graph Matching Network: Learning Lawler’s Quadratic Assignment Problem With Extension》_第2张图片
图中看起来邻接矩阵 W W W和原本的关联矩阵 K K K是一样的呀,这种转换是不是没有什么差别呢?为了方便大家理解,我这里简单的辨析几个图匹配的概念。

邻接矩阵(adjacency matrix) 描述的是一幅图内部节点之间的关系,比如一幅图包含 n n n个节点,则邻接矩阵就是 n × n n\times n n×n维的,描述了任意两个节点之间的关系,比如节点之间的相似性或者距离,或是两个节点是否有边连接。所以邻接矩阵的非对角线元素也就描述了图的边的特征,如果两个节点之间没有边连接那么对应边的特征也就为0。
关联矩阵(affinity matrix) 描述的是两个图之间的对应关系,比如两幅图分别包含 n n n m m m个节点,那么关联矩阵就是 n m × n m nm\times nm nm×nm维的。其中对角线元素描述了两个节点之间的关系(通常是相似性),如 K 1 a , 1 a K_{1a,1a} K1a,1a元素就描述了图 G 1 G_1 G1中的节点 V 1 V_1 V1和图 G 2 G_2 G2中的节点 V a V_a Va之间的相似关系。非对角线元素描述了两个边之间的关系,如 K 1 a , 2 b K_{1a,2b} K1a,2b元素就描述了图 G 1 G_1 G1中的边 E 12 E_{12} E12和图 G 2 G_2 G2中的边 E a b E_{ab} Eab之间的相似关系。

回到本文的中,原本是利用关联矩阵 K K K来描述两幅图之间的关系的,而作者将两幅图之间的关系转化成了一个新的图,称之为关联图(association graph)。则原本两幅图节点(node)之间的对应关系,即关联矩阵 K K K的对角线元素, 转化到关联图中就成了关联图的顶点(vertex)。

为了方便区分,图中的每个元素我们称之为节点(node),关联图中的每个元素我们称之为顶点(vertex)。 对于图的邻接矩阵,其对角线元素描述的节点和自身之间的关系,通常都是常值1。但对于关联图而言,他的邻接矩阵对角线元素则是描述了顶点和自身之间的关系,实质上是原图中对应两个节点之间的相似程度

两幅图边之间的关系,如 E 12 E_{12} E12 E a b E_{ab} Eab之间的相似程度,即关联矩阵 K K K的非对角元素,转换到关联图中就变成关联图的边。因此,关联图的加权邻接矩阵 W W W是来自于关联矩阵 K K K的非对角元素,而初始的顶点特征 v ( 0 ) v^{(0)} v(0)就是 K K K的对角元素:
在这里插入图片描述
  完成关联图的构建后,本文利用图卷积网络对顶点进行分类预测,得到两个图的匹配关系。顶点的特征值越大,就表示该顶点所描述两个节点之间匹配的概率就更大。作者构建了无加权的邻接矩阵 A A A,如果 K i a , j b > 0 K_{ia,jb}>0 Kia,jb>0则对应的元素 A i a , j b = 1 A_{ia,jb}=1 Aia,jb=1,否则就为0。简单来说 A A A描述了关联图的顶点之间是否有边连接。然后计算度矩阵 D D D
在这里插入图片描述
顶点的信息更新与聚合方式如下
在这里插入图片描述
v ( k ) v^{(k)} v(k)表示第 k k k层图卷积神经网络的节点的特征向量, f m f_m fm f v f_v fv都是带有ReLU激活函数的全连接层,分别表示信息传递函数和节点更新函数。上述是原始的信息编码方式,没有考虑匹配过程中节点之间一 一对应的约束条件。因此作者在此基础上又提出了带有匹配约束的编码方式,顶点的特征向量为
在这里插入图片描述
其中 v e c vec vec表示向量化操作,Classifier是一个由Sinkhorn网络构成的分类器。如前图(d)所示,将顶点特征向量转化为节点之间的相似性得分矩阵,然后经过Sinkhorn网络转化为双随机矩阵,最后再重新进行向量化,并与原顶点特征 m ( k ) m^{(k)} m(k)进行级联,构成带有匹配信息的特征向量。这是由于Sinkhorn处理过后,矩阵的每一行每一列都进行归一化处理,每一行的最大值对应的列就是该点对应的匹配点。
  经过几层图卷积神经网络的处理之后,顶点的分类任务同样由Sinkhorn网络实现。先对定地点的特征向量进行全连接映射与指数函数激活,如下式
在这里插入图片描述
α \alpha α表示规则化权重,经过激活处理的得分向量 s ( k ) s^{(k)} s(k),变形为 n 1 × n 2 n_1\times n_2 n1×n2维的矩阵,然后经过Sinkhorn处理得到双随机矩阵 S S S,来表示节点之间的相似性得分。此外作者还提出一种名为Gumbel-Sinkhorn的分类方法,上式的计算改变为
在这里插入图片描述
其中 g g g是从标准Gumbel分布中采样得到的,其累计分布函数为
在这里插入图片描述

最后利用交叉熵损失函数来进行训练
在这里插入图片描述
X g t X^{gt} Xgt表示真实的匹配关系矩阵, X i , a g t = 1 X^{gt}_{i,a}=1 Xi,agt=1表示节点 V i V_i Vi和节点 V a V_a Va匹配,否则不匹配。
论文阅读笔记《Neural Graph Matching Network: Learning Lawler’s Quadratic Assignment Problem With Extension》_第3张图片

  为了提高图匹配的效果,作者在特征提取阶段引入了SplineConv层用于编码几何信息。具体实现如上图所示,VGG的relu4_2层和relu5_1层输出级联起来构成初始节点特征 U ˉ \bar{U} Uˉ,然后经过SplineConv层后得到改进后的节点特征向量 F ˉ \bar{F} Fˉ,边的特征由其端点对应节点之间的差值来构成
在这里插入图片描述
然后,VGG的relu5_3输出的特征值经过最大值池化后得到全局特征向量,两幅图对应的全局特征向量 g ˉ 1 , g ˉ 2 \bar{g}^1,\bar{g}^2 gˉ1,gˉ2经过级联,全连接层和tanh激活函数后,得到特征向量 g ˉ \bar{g} gˉ
在这里插入图片描述
分别计算节点和边对应的全局特征向量 g ˉ n o d e , g ˉ e d g e \bar{g}_{node},\bar{g}_{edge} gˉnode,gˉedge用于关联矩阵的计算
在这里插入图片描述

创新点

  • 首次提出一种图匹配神经网络用于解决Lawler’s形式的二次分配问题
  • 在特征提取阶段引入SplineConv,在编码阶段引入匹配约束提高了图匹配的效果
  • 将该方法推广到超图匹配和多图匹配任务中

算法评价

  本文首次通过深度学习的方式解决了Lawler’s形式的二次分配问题,拓宽了图匹配神经网络能够解决的问题范围。通过关联图的构建,将图匹配问题转化为节点的分类问题,使得该问题能够利用图神经网络进行预测求解,并且整个过程都是可微分的。过程中引入的匹配约束,SplinceConv和Gumbel-Sinkhorn等方法都有效的改进了图匹配的效果。关于超图匹配和多图匹配部分,我目前还没有完全搞明白,后面再找机会补充。

如果大家对于深度学习与计算机视觉领域感兴趣,希望获得更多的知识分享与最新的论文解读,欢迎关注我的个人公众号“深视”。

你可能感兴趣的:(图匹配,论文阅读笔记,论文阅读,图匹配)