本申请涉及模式识别和计算机视觉领域,具体而言,本申请涉及一种用于处理无向图的匹配问题的方法和设备。
背景技术:
在由多个点构成的图中,点之间的边没有方向的图被称为无向图。在实际应用中,无向图模型是一种广泛采用的数学模型,它可以用来表达各种关系和过程。一般说来,多个无向图的匹配可以用于图像拼接、物体的位置和姿态估计等问题。无向图的匹配的效率和精度,在很大程度上将会影响这些问题的处理结果。
特别的,在图像拼接中的某些应用场景下,一些传统的图匹配算法将会失效。例如,如图1中所示的场景,其中的图像主要是重复的纹理,以及如图2中所示的场景,其中的图像缺乏灰度的变化;在类似于图1和图2的应用场景下,基于点的局部特征(例如sift(scale-invariantfeaturetransform,尺度不变特征变换)特征)的图匹配算法豆浆失效。此时,必须使用基于点之间结构信息的图匹配算法。
二次指派问题是运筹学中的一种模型,对该问题的求解属于np难问题。对无向图的匹配问题,现有技术的一种主要处理方式是将该问题表达成一个二次指派问题,然后求该问题的近似解。具体而言,可以将无向图视为一个图模型g,其包含节点v和边e,其中,边e是没有方向的。一个无向图的点v和边e分别有相应的特征f和w。对两个无向图进行匹配其实就是要将这两个无向图的点和边的特征进行匹配。二次指派问题就是要对某个目标函数进行优化,从而使得两个无向图之间点和边之间相互匹配的特征的相似性达到最大化。
由于对二次指派问题的求解属于np难问题,因此一般而言,没有算法可以在多项式时间内找到相应的目标函数的最优解。在实践中,现有的算法主要在于对该问题进行近似求解,然而,这些现有算法所获得的匹配精度比较低,并且时间复杂度较高。尤其是当形变较大、受噪声或外点污染、或者无向图模型的规模较大时的匹配的情况下,现有的算法难以处理对目标函数的近似最优解的求解。
技术实现要素:
本申请的目的旨在至少解决上述技术缺陷之一,通过采用图模型来刻画结构信息。然后匹配两个图模型,找出两幅图像中的对应关系,进而实现图像的拼接。特别地,可以通过利用一个点阵来表达无向图,其中无向图的特征通过点阵的特征来表达。通过这种方法,可以将无向图的匹配问题转换成为点阵的匹配问题,从而不需要对上述的二次指派问题进行求解,因此降低了计算匹配的复杂度并提高了处理的精度。
根据本申请的一方面,提供了一种计算机实施的将无向图进行匹配的方法,包括:接收第一无向图和第二无向图;获得分别与第一无向图和第二无向图对应的第一点阵和第二点阵;以及对第一点阵和第二点阵进行匹配。
根据本申请的另一方面,提供了一种将无向图进行匹配的计算机系统,包括:处理器;以及存储器,其上存储有可由所述处理器执行的指令,当所述指令由所述处理器执行时,使得所述处理器执行如下步骤:接收第一无向图和第二无向图;获得分别与第一无向图和第二无向图对应的第一点阵和第二点阵;以及对第一点阵和第二点阵进行匹配。
根据本申请的另一方面,提供了一种机器可读的存储介质,其上存储有可由所述机器执行的指令,当所述指令由所述机器执行时,使得所述机器执行如下步骤:接收第一无向图和第二无向图;获得分别与第一无向图和第二无向图对应的第一点阵和第二点阵;以及对第一点阵和第二点阵进行匹配。
通过本申请提出的将无向图进行匹配的方法、设备及存储介质,能够有效地解决对无向图进行匹配的问题,降低处理的复杂度并提高匹配的精度。
附图说明
从以下结合附图的描述中,本公开的某些实施例的上述和其它方面、特征和优点将更加明显,在附图中:
图1是示出根据实际应用场景中具备重复纹理的图像的示意图;
图2是示出根据实际应用场景中缺乏灰度变化的图像的示意图;
图3是根据本申请的一些实施例的进行无向图匹配的算法的框架的示意图;
图4是根据本申请的一些实施例的一种应用无向图匹配的场景的示意图;
图5是根据本申请的一些实施例的一种应用无向图匹配的场景的示意图;
图6示出了已有的图匹配算法对于通用的公开数据集cmuhouse和cmuhotel的匹配结果的曲线图;以及
图7示出了已有的图匹配算法对于通用的公开数据集pascal2007的匹配结果的柱状图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
贯穿本说明书对“一个实施例”、“本实施例”和类似短语的引用意味着结合该实施例描述的特定特征、结构或特性包括在一个或多个实施例中的至少一个中。因此,在整个说明书中,这些短语在各个地方的出现不一定都是指代相同的实施例。此外,特定特征、结构或特性可以以任何合适的方式在一个或多个实施例中组合。
本技术领域技术人员可以理解,除非特意声明,否则这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
尽管将使用诸如“第一”、“第二”等的序数来描述各种部件,但是这些部件在本文不受限制。这些术语仅用于将一个部件与另一个部件区分开。例如,第一部件可以被称为第二部件,并且同样地,第二部件也可以被称为第一部件而没有背离创造性构思的教导。
图3中示出了本申请所提出的算法的整体框架。应当注意,该图仅为示例,并不意图限制本发明所请求保护的范围。
如图3所示,在该算法流程中,存在如下一些步骤:
首先,通过非度量的多维缩放将模板无向图和场景无向图表达为由对应的无向图导出的点阵;
随后,将得到的点阵旋转或反转,从而得到多个模板点阵和场景点阵,对于得到的模板点阵和场景点阵,分别抽取其局部特征;
基于抽取得到的局部特征、以及模板点阵和场景点阵的全局结构,通过保持全局和局部结构的点匹配算法来匹配由模板无向图和场景无向图分别导出的点阵。由于之前通过多个旋转或翻转产生了多个模板点阵,因此需要进行多次匹配,并得到多个匹配结果;
在所得到的多个匹配结果中,选择最佳的匹配结果作为最终结果。
在整个算法流程中,值得注意的是,在匹配不同的模板点阵和场景点阵时,可以通过采用并行计算的方式,从而极大地缩短了计算时间。
以下,将详细描述本申请所提出的算法。
这里,假定模板型无向图(简称模板图)的构成为
这里,场景图模型中所谓的外点,就是指这个点在模板图中没有对应的点。这样的点会使图匹配算法不稳定,匹配精度下降。由于对于原始的模板型无向图和场景型无向图,并非所有的节点都存在相应的边,因此,在将该n-m个虚拟点加入模板型无向图的节点集合gt时,不需考虑是否要加入与这些虚拟点相对应的边。
无向图的匹配算法旨在找到模板型无向图的节点集合gt与场景型无向图的节点集合gs之间的对应关系,并且相互匹配的特征之间的不相似程度最低。一般而言,无向图的匹配算法所得到的点与点之间是一一对应的;在匹配之后,将无向图的匹配算法优化为如下的二次指派问题:
s.t.1tx=1t,x1=1,x∈{01}n×n,(1)
其中,x是矩阵x的列向量拼接得到的向量,xij=1表示模板图中的第i个节点与场景图中的第j个节点相匹配。1表示一个所有元素都是1的列向量。kij;kl是在矩阵k的第((i-1)n+j)行第((k-1)n+l)列的元素,其表达了特征
在目前来看,对于问题(1)的求解仍然是一个np难的问题,因为在一般情况下,该问题的目标函数是不能高效求解的,并且该约束条件是组合式的。为了避免对问题(1)直接求解,这里提出一种从新的角度来处理无向图匹配问题的方法。
这里,以模板图gt为例,描述将gt转换为一个由该模板图导出的点阵(gips)的方法。
与gt对应的gips被定义为
点阵中的边的特征表达为点
具体而言,nmds首先随机生成一个点阵
首先,计算点阵中任意两点
在第三步中,更新点的坐标
如果克鲁斯卡压力stress1已经收敛,则nmds输出点阵
在克鲁斯卡压力stress1收敛之后,使得模板图的边的特征
结果,点阵
将两个点阵gips相匹配
给定分别与模板图gt和场景图gs对应的两个点阵gips,其中,与模板图gt对应的模板点阵
点阵的全局结构
模板点阵的全局结构
具体而言,假设在这个混合高斯模型中的所有高斯分量都有相等且各向同性的协方差σ2i,则通过采样获得某个场景点阵的概率为:
其中,集合
点阵的局部特征
局部特征决定了公式(3)中的成员概率πmn。
具体而言,假定矩阵a为两个点阵
其中
给定了匹配
其中
形变和匹配
现在已经在似然函数(3)中刻画了全局结构信息和局部特征。在此基础上,pr-gls算法使用一个关于参数θ的先验概率使得所求得的形变
具体而言,关于形变
这里,λ是一个正数,例如,我们可以将其设置为3。φ是一个关于
联合公式(6)和(3),使得负对数后验概率最小化,因此θ的最大后验概率map解是:
其中假设采样的点是相互独立的。该问题通过期望条件最大化(expectationconditionalmaximization,简称ecm)方法来求解。可以证明,关于形变
其中cn是矩阵c的第n个列向量。矩阵c由下式决定,
其中г的第i行第j列是гij,g(·)是取输入矩阵的对角元素形成新的对角矩阵。
到目前为止,pr-gls算法可以估计出能够最佳地将点阵
点阵之间匹配的形式
如果后验概率
同时,可以通过对指派问题进行求解,从而使得点阵到点阵之间的匹配是一对一的。为了实现这一目标,可以采用点的特征“形状上下文”作为局部特征来描述形变后的点阵
s.t.1tm=1t,m1=1,m∈{0,1}n×n,(11)
其中mmn=1表示点
算法的并行处理
联合公式(3)和(6),可以看到问题(11)的解依赖于点阵
为了取得更高的匹配准确率,对于多个模板点阵,可以对多个相应的pr-gls算法并行处理,其中每个算法都有不同的初始对其状态,并产生不同的匹配结果。具体而言,对于模板点阵gips,
其中
值得注意的是,对多个点阵gips进行匹配的过程可以并行计算,从而节省大量时间。
算法时间复杂度
上述算法的时间复杂度是o(n3),其中,n是场景图中节点的个数。具体而言,nmds通过o(n3)的时间复杂度将一个无向图转化为一个点阵。然后,pr-gls算法用o(n3)的时间复杂度来将两个点阵gips匹配。给定一对无向图,pr-gls算法运行2h次来获得最佳的匹配精度,其中,h控制了精度和效率之间的平衡。pr-gls算法的多个副本可以并行运行。
作为对比,传统的无向图匹配算法的运行时间通常是o(n4),因为他们需要计算在公式(1)中的n2×n2矩阵k。因此,与之前的传统算法相比,本申请所提出的算法的时间复杂度是较低的。
以下,本申请将提供算法所应用的几种场景,便于对该算法进行进一步的理解。
场景一
图像拼接是将多张有重叠部分的图像拼接成一幅图像的技术。图像拼接可以用于拼接遥感图像、制作地图,或用于天文空间图像、拼接全景图,是全景影像创作中采用的重要技术手段。它还可以用于比对医疗用图像,对于同一患者在不同时间获取的图像(检测身体的变化或监测肿瘤),可以进行图像拼接以处理由于呼吸、解剖学上的变化等而产生的变形。它可以实时地执行、运行在诸如相机和手机摄像头等的嵌入式设备中的许多不同的技术。
一般而言,图像拼接技术包含五个步骤:1.图像预处理,其中包括通过数字图像处理的基本操作(如去噪、边缘提取、直方图处理等),建立图像的匹配模板以及对图像进行某种变换等操作;2.图像配准,其中采用一定的配准策略,找出待拼接图像中的模板或特征点在参考图像中对应的位置,进而确定两幅图像之间直接的变换关系;3.建立变换模型,其中根据模板或者图像特征之间的对应关系,计算出变换模型中的各参数值;4.统一坐标变换,其中根据被建立的变换模型将待拼接的图像转换到参考图像的坐标系中;5.融合重构,其中将待拼接图像的重合区域融合,从而得到拼接重构的平滑无缝全景图像。
之前提出的算法主要应用于上述的第1步骤和第2步骤。在这两个步骤中,目标是找出两幅图像i1和i2之间的对应关系,如图4所示。具体而言,在第1步骤中,首先使用sift、lbp等算法找出图像中的关键点坐标,并描述关键点的局部特征。然后,根据关键点之间的空间位置关系,如距离、角度等,建立关键点与关键点之间的对应关系。这时,可以通过一个图模型来表达一幅图像。该图模型的节点表示图像中的关键点,且该图模型的边表示关键点之间的关系。在第2步中,假设用图模型g1表示图像i1,用图模型g2表示图i2,那么,图像i1和i2的配准可以通过匹配图模型g1和g2而得到。然后,基于之前提出的方法所给出的配准关系,可以进一步完成图像拼接的其余步骤。
通过上述方法,可以有效地匹配两个不同的图片,取得很高的匹配精度。
场景二
物体的位姿估计,是指对图像中物体的位置和姿态进行估计。位姿估计可以用于自动驾驶、场景理解等多种任务。例如,在自动驾驶时,可以通过分析人体、车辆的朝向和速度来判断是否存在潜在的危险。具体步骤上,物体的位姿估计可以分为如下三个步骤:第1步,建立姿态库,首先产生待分析的物体可能的姿态图像库;第2步,建立预处理姿态库,对姿态库中的图像,通过采用数字图像处理的基本操作(如去噪、边缘提取、直方图处理等),建立图像的匹配模板以及对图像进行某种变换等操作;第3步,预处理待分析的图像,这里所采取的预处理的方法类似第2步中的方法;第4步,将待分析的图像和姿态库中的图像进行匹配;第5步,根据匹配的结果,找出姿态库中与待分析的图像配准度最高的姿态图像。
本申请所提出的方法主要用于上述过程的第2步至第4步,并为第5步提供决策的信息。在第2步和第3步中,首先使用sift、lbp等算法找出图像中的关键点坐标,并描述关键点的局部特征。然后,根据关键点之间空间位置关系,如距离、角度等,建立关键点与关键点之间的关系。这时,可以通过一个图模型来表达一幅图像,其中,图模型的节点表示图像中的关键点,图模型的边表示关键点之间的关系。在第4步中,假设用图模型g1表示图像i1,用g2表示图i2,那么,图像i1和i2的对应关系可以通过将图模型g1和g2进行匹配而得到。如图5所示,假如i1是姿态库图像,其中物体的位置和姿态已知,则可以通过i1和i2的对应关系来估计物体在i2中的位置和姿态。在第5步中,可以通过分析当前匹配程度的高低来判断待分析的图像中的物体姿态更接近于哪一个模板库中的姿态。
本申请的技术效果
在通用的公开数据集cmuhouse和cmuhotel上,需要匹配的图存在一定程度的形变。cmuhouse和cmuhotel序列图像是目前用于测试基于图像的学习算法最为流行的实验数据,两个序列图像分别由111和110幅图像组成,每幅图具有30个标记的特征点。在下表中,示出了本申请的方法的精度为:
然而,目前已知的其它最好的图匹配算法(因式分解图匹配(fgm),重权重随机游走匹配(rrwm),谱匹配(sm),整数投影稳定点-均匀初始解(ipfp-u),整数投影稳定点-普匹配初始解(ipfp-s),谱匹配与仿射约束(smac),二值约束保留图匹配(bpgm))取得的精度如图6所示:
其中,横轴表示图模型的形变程度,纵轴表示不同方法的精度。对于最困难的形变,本申请的算法正确匹配了所有图的节点,而其它算法的最佳精度低于80%。
在通用的公开数据集pascal2007上,需要匹配的图包含一定量的外点。本申请的算法的精度为:
而目前最好的其它图匹配算法取得的精度如图7所示:
其中,横轴表示外点的数量,纵轴表示不同方法的精度。由此可见,本申请的算法极大地提高了匹配精度。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随即存储器)、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。