AdaLAM: Revisiting Handcrafted Outlier Detection
本文设计实现了一个快速并行的outlier检测器,可以接入到任何pipeline中作为一个filter使用
3. Hierarchical Adaptive Affine Verification
本文仍然是作用在image to image的匹配上的,整体大概思路是这样的:
-
首先仍然是根据特征匹配得到密集的匹配对(所有的匹配都取top1,不经过ratio)。
-
然后选取seed点,并圈出一个邻域,然后在邻域之内执行ransac,最后只保留inlier点个数多的圈
3.1. Preliminaries and core assumptions
使用homograph是一个很好的几何verify,但是由于:
1: 2d-2d匹配生成的3d点在空间可能不共面(homograph要求的是共面的点)
2: 如果检测的点如果相对较远,则会影响误差
3:由于遮挡,光照等,有可能匹配的2d-2d 不是一个3d上边的点(误匹配等)
4:畸变也会带来误差
为了解决上述问题,在核心假设的基础上增加了松弛项
3.2 seed的选择
1.我们的目的是尽可能的选取置信度比较高的seed点,那么怎样选取呢:
我们为每个匹配赋值一个score(score可以从ratio test的到,置信度越高score越高),然后使用类似sift提取的时候的在一定范围内使用非极大值抑制的到score最高的match point即选取为seed点
3.3. 邻域选取和filter
邻域的选取使用:
这里其实类似传统的邻域一致性约束,选取满足条件的种子点的附近的点(匹配),构成邻域来支持seed点(匹配)
3.4. Adaptive Affine Verification
最后在每个邻域集合中使用固定迭代次数的ransac,得到,score比较高的inlier集合,最后整体在过一遍即可。
结果竟然比OA-NET这样的dl方法都要好,这也验证了dl现在仍然没有办法达到一个好的结果????
最后贴一张实验结果图: