特征匹配--GMS: Grid-based Motion Statistics for Fast, Ultra-robust Feature Correspondence

GMS: Grid-based Motion Statistics for Fast, Ultra-robust Feature Correspondence CVPR2017 c++ code: https://github.com/JiawangBian/GMS-Feature-Matcher

主要本要针对特征匹配问题,提出了一个简单的基于统计的解决方法,可以快速区分出正确的匹配和错误的匹配,提高了匹配的稳定性。

首先来个直观的特征匹配图示

特征匹配是计算机视觉里一个基础性问题,对于特征匹配当前主要的问题在 robust 的匹配速度慢,快的匹配经常不稳定。 there is a wide performance gap between slow (but robust) feature matchers and the much faster (but often unstable) real-time solutions.

问题的核心在于邻域一致性这个约束的怎么利用。The central problem lies in the coherence constraints (neighboring pixels share similar motion) utilized in the more powerful feature correspondence techniques.

一致性是一个很强大的约束,但是稀疏特征不能很好的定义邻域。这导致基于一致性的特征匹配的计算量比较大,很难实现。 Coherence is a powerful constraint but sparse features lack well defined neighbors。 This causes coherence based feature correspondence [16, 42] to be both expensive to compute and complex to implement.

本文提出 GMS (Grid-based Motion Statistics) 可以有效的解决这个问题。 a means of encapsulating motion smoothness as a statistical likelihood of having a certain number of feature matches between a region pair. We show GMS can rapidly and reliably differentiate true and false matches

本文的核心思想很简单:运动的平滑性导致了匹配的特征点邻域有较多匹配的点。我们可以通过计数邻域的匹配点个数来判断一个匹配正确与否。 Motion smoothness induces correspondence clusters that are highly unlikely to occur at random. Thus true and false matches can be differentiated by simply counting the number of matches in their neighborhood.

2 Our approach

S_i is a measure of neighborhood support

Assumption 1. Motion smoothness causes a (small) neighborhood around a true match to view the same 3D location. Likewise, the neighborhood around a false match views geometrically different 3D locations. 运动的平滑性导致了正确的匹配点附近的邻域里的特征点也是一一对应的。

下面首先用数学的角度推导出 正确匹配点附近的邻域中正确匹配和错误匹配的概率分布。 最终的结论如下:

分布图示

我们的目标是:

下面是将上面的理论分析变成可以实际中的运行算法 主要解决下面四个问题: a) Efficient score computation through grid-cells; b) Which neighborhoods to use; c) How many grid-cells to use; d) How to compute an effectively threshold S

3.1. Griding the problem

a) Efficient score evaluation, 这里我们主要通过将图像分为 G = 20×20 网格来实现 Scores of potential cell-pairs are computed only once. All matches between cell-pairs deemed true are accepted

b) Grouping match neighborhoods (cell-pairs) for robustness. 这里我们计算了一个网络四周的3*3=9个网格,如下图所示

c) How many grid-cells should be used? 经验值 G = 20 × 20 cells for 10,000 features n 大约为 25

d) Thresholding S_ij to divide cell-pairs into true and false sets {T ,F}.

整个算法流程图如下所示:

效果对比图

Dataset details

F-measure, Recall and Precision vs baseline

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CDA数据分析师

一篇文章教你如何用R进行数据挖掘

引言 R是一种广泛用于数据分析和统计计算的强大语言,于上世纪90年代开始发展起来。得益于全世界众多 爱好者的无尽努力,大家继而开发出了一种基于R但优于R基本文本...

2005
来自专栏文武兼修ing——机器学习与IC设计

算法复杂度分析与最大子串问题算法复杂度分析最大子序列问题

算法复杂度分析 算法复杂度基本定义 算法复杂度分析基于以下四条定义: 如果存在常数c与$n_{0}$使$N \geq n_{0} $时,有$T(N) \leq ...

2366
来自专栏C语言及其他语言

[每日一题]1453: [蓝桥杯][历届试题]翻硬币

题目描述 小明正在玩一个“翻硬币”的游戏。 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。 比如,可...

26511
来自专栏数值分析与有限元编程

有限元 | 三次样条梁单元

样条梁单元是样条函数与有限元法相结合的产物。有限元法将结构分割成若干单元,位移场采用分段插值或者分区插值。常用的插值方法有Lagrange插值,Hermite插...

3536
来自专栏数据结构与算法

BZOJ2216: [Poi2011]Lightning Conductor(DP 决策单调性)

首先把给出的式子移项,我们要求的$P_i = max(a_j + \sqrt{|i - j|}) - a_i$。

672
来自专栏崔庆才的专栏

自然语言处理中句子相似度计算的几种方法

在做自然语言处理的过程中,我们经常会遇到需要找出相似语句的场景,或者找出句子的近似表达,这时候我们就需要把类似的句子归到一起,这里面就涉及到句子相似度计算的问题...

1883
来自专栏机器学习养成记

特征工程(一):前向逐步回归(R语言)

“ 建模过程中,选择合适的特征集合,可以帮助控制模型复杂度,防止过拟合等问题。为了选取最佳的特征集合,可以遍历所有的列组合,找出效果最佳的集合,但这样需要大量的...

35011
来自专栏个人分享

行为科学统计第一章知识点总结

1、什么是总体?什么是样本? 总体是一个研究的所有研究对象的个体的集合。样本是被选择出来的参与研究的特定的个体集合。样本被期望能够代表总体。

571
来自专栏数值分析与有限元编程

Newton–Raphson法解串联弹簧问题

如图所示的串联弹簧,F=100,弹簧刚度为k1 = 50 + 500u ,k2 = 100+ 200u ,u是弹簧伸长量,则平衡方程为 ? ? k1,k2带入得...

2576
来自专栏人工智能LeadAI

神经网络思想建立LR模型(DL公开课第二周答案)

LR回顾 ? LR计算图求导 ? 算法结构 设计一个简单的算法实现判别是否是猫。 用一个神经网络的思想建立一个LR模型,下面这个图解释了为什么LR事实上是一个...

2584

扫码关注云+社区