📝笔记:AdaLAM: Revisiting Handcrafted Outlier Detection 超强外点滤除算法
AdaLAM
的全称是Adaptive Locally-Affine Matching
(自适应局部仿射匹配),本文提出了一种高效快速外点滤除算法。
先祭出Github Repo:
原有技术问题
在图像匹配任务中初始匹配中外点较多,目前难以高效快速地滤除外点。
新技术创新点
- 基于目前已有的外点滤除算法(spatial matching),提出了现有的鲁棒快速的图像一致性空域验证算法;
- 本框架基于一种几何假设(局部仿射),场景实用性较强;经实验验证,该算法目前达到了SOTA(很自信啊)。
新技术主要框架以及关键技术点
总共分四步:
- 找到初始匹配(最近邻top1);
- 找到置信度高且分布较好的点作为“种子点”;
- 在初始匹配中选择与该种子点在同一个区域的匹配点;
- 保留那些局部一致较好匹配;
接下来重点介绍后3点。
种子点选择
将ratio-test
得到的最优次优比
作为左图上匹配点的匹配置信度,选择那些在半径
局部选择与过滤
接下来要寻找一些可以支持种子匹配的匹配对。
令
上式中
上面的第一个式子表示:初始匹配中与种子点相对位置差不多且在半径在
自适应仿射校验
我们假设匹配对之间符合局部仿射变换,即上述的每个
由于仅使用2对匹配点就可以得到仿射矩阵,那么即使对每个圈圈求仿射也并不耗时。对于第
然后作者参考文献36,设计了置信度
注意每次迭代需要更新上述残差/置信度以及内点,后一次利用前一次得到的内点去拟合新的仿射矩阵,然后做校验,直至达到最大迭代次数,最后输出内点。
实验
看到没,竟然超过了效果极好的GMS。
实时性:在RTX2080Ti平台下处理4000-8000个点耗时15-25ms。
借鉴意义
本文提出了一种高效快速的外点滤除算法,可加入到任何特征匹配算法中,预期能够提高位姿解算的精度。但上述实验结果中对GPU的要求较高,目前不清楚在低配版GPU或者在CPU平台下的表现。