匹配算法:局部结构保留

匹配算法:局部结构保留

Locality Preserving Matching

论文地址:https://www.ijcai.org/Proceedings/2017/0627.pdf

摘要

   在计算机视觉中,获取两个特征集合的可靠的匹配关系是一个基础而又重要的任务。本文要解决的问题是,在已知两个特征集合的候选匹配关系时,剔除错误的匹配。为了实现该算法,本文一种名为“LPM”算法,其基本思想是保留正确的匹配的局部结构的一致性。本文将该问题抽象成数学模型,并推导了该问题的解析解,该算法具有线性对数的时间复杂度和线性的空间复杂度。该算法能够实现在几毫秒的时间内对数千个候选匹配进行错误匹配的筛选。为了验证该算法在图像匹配问题中的泛化性能,本文在通用特征匹配问题、点云注册问题、视觉定位问题和图像检索问题上进行了实验。和当前最优算法相比,本文的算法在精度上能够得到更好的结果,同时将运行时间减少了两个数量级。

主要贡献

本文的主要贡献为:

1)本文提出了一种简单有效的匹配算法,比起以往的算法,本文的算法不针对某一种特定的变换关系,而仅仅利用局部结构的一致性,因此具有更大的通用性;

2)本文的算法具有解析解,时间复杂度为线性对数。本文的方法能够在仅仅几毫秒内实现对上千对匹配的错误匹配的剔除;

3)本文的算法能够应用在诸如点云注册、视觉定位、图像检索等任务中。实验结果表明,本文的算法在精度和效率上都得到了改善。

性能指标

 

 

 

 

 

 算法流程

本文要解决的问题是:已知两组特征的候选匹配,如何快速有效地剔除错误的匹配?解决个问题的基本出发点是:无论两组特征间存在怎样的几何变换关系(刚性/非刚性),局部的几何结构通常不会有太大改变,基于这一约束进行建模,就能实现对错误匹配的剔除。本文提出了两种数学模型来描述这一约束:一是,距离约束,即两对匹配(x1, y1)和(x2, y2)对应点的距离应该保持一致,即d(x1,x2)=d(y1,y2)。直观上可以理解为:对于一个点及其邻域内的点,如果其匹配点都为正确的点时,那么这些匹配点往往也聚在一起,而如果存在错误的匹配点,那么这些点往往很分散。二是,拓扑约束,即局部范围内点的相对位置关系会保持一致。该约束是通过匹配点的偏移向量的长度和夹角关系来描述的。下面对算法进行具体的介绍:

一、局部一致性建模

 

 1、距离约束 

如上式所示,(xi, yi)为一对匹配特征,N_xi为xi的邻域内的特征点,N_yi为yi邻域内的特征点。上式惩罚在两个特征集中,距离不一致的候选匹配。最后一项为正则项,鼓励存在更多的内点。

考虑的在非刚性变换中,局部的线段长度不能完全保持不变,为提高鲁棒性,对上式进行离散化:

  上述问题可以转换为:

 

 2、拓扑约束

拓扑约束描述了局部特征点之间的相对位置关系,本文利用偏移向量来描述该约束。

对于一对匹配特征(xi, yi),其对应的偏移向量为vi=yi-xi。基于匹配向量,特征点间的拓扑约束定义为:

 

 其中前一项描述的是特征点偏移向量的长度变换,后一项描述的是夹角。当匹配及其邻域内的匹配都为正确匹配时,各个偏移向量的长度应该比较接近,且方向接近平行,此时上式取更大的值。同样,考虑到局部的形变,对上式进行离散化:

  3、多尺度邻域构造

上述两项约束中,都需要求某个特征的N近邻,因此N的选取往往会对结果产生影响,尤其是当两个特征集之间存在缩放时。本文通过构造多尺度的邻域来解决这一问题,即:

 

 二、问题求解

        通过对上式进行整理,可得:

 

 其中,

 

 容易看出,上述问题的解为:

 

 三、邻域点的选取

对于一个正确的匹配对,如果其邻域存在错误的匹配对,可能导致上述代价函数取值偏大,如果能够选择所有的正确的匹配(内点)来构造一对匹配的邻域,那么其代价函数与错误匹配的代价函数的差别将会更加显著。本文的实验表明,在选取所有的特征点来构造邻域时,能够将内点率提高到80%以上,在此基础上,将得到的内点集作为构造邻域的点集,能够进一步提高内点率(90%以上)。

主要结果

 本文主要在非刚性点云注册、视觉归航、图像检索三个任务中,对本文算法的精度和效率进行了验证,主要的实验结果为:

 

 1. LPM在10对具有代表性的图像上的匹配结果。从上到下、从左到右依次为:陆地、狐狸、书、视网膜、T恤、教堂、熊玩具、截头台和房子。这10对图像的内点率分别为:40.81%, 85.93%, 76.14%, 49.50%, 43.81%, 57.26%, 65.94%, 78.71%, 65.96% 和78.49%。箭头的颜色含义:蓝色——TP,黑色——TN,绿色——FN,红色——FP。为了能够更好看清,每对图像随机选取100组匹配点进行显示。

 

 2. 在五个数据集上,RANSAC, ICF, GS, GMS, BD, MR-RPM和LPM算法性能的定量比较。数据集从上到下分别是VGG, DAISY, DTU, RS和Retina。从左到右依次为:初始内点率、精度、召回率、运行时间。

 

 3. 二维点云注册:LPM和SC, TPS-RPM, RPM-LNS, GMMREG, CPD, VFC算法在鱼(左)和中文字符(右)数据集上的结果比较。误差箱型图表示的是100次运行结果的误差平均值和标准差。

 

 4. 三维点云注册任务:本文算法在狼形变(左)、遮挡(中)、野点(右)数据集上的实验结果。第一行表示初始位姿,第二行表示注册后的结果。

 

 5. 视觉归航任务:在全景图数据集上,RANSAC, ICF, GS, GMS, BD, MR-RPM 和LPM的精度(左),召回率(中)和运行时间(右)。 

 

 6. 图像检索任务:RANSAC, ICF, GS, GMS, MR-RPM和LPM算法的精度(左)和召回率(中)。右:14280次运行时间的统计结果。

 

posted @ 2020-05-27 08:31  吴建明wujianming  阅读(1538)  评论(2编辑  收藏  举报