MOPS中ANMS(非极大值抑制)算法讨论

Matthew Brown等人在Multi-Image Matching using Multi-Scale Oriented Patches中提到使用自适应非极大值抑制(ANMS)算法对Harris角点检测所得到的大量关键点(Interest Point)做进一步筛选,以达到减少关键点数量,同时尽可能保持角点响应大的点,并且关键点分布均匀这三个目的。

论文中没有详细提及该步骤的算法细节,故做如下探讨。
假设上一步Harris角点检测结果是 N 个Harris角点
x1(x,y),x2(x,y),x3(x,y),...,xN(x,y),
它们的集合为Ω。它们对应的角点响应为
f(x1),f(x2),f(xN)
用N维向量f存储。设置系数 crobust=0.9

第一步:寻找全局最大的角点响应值,即 fmax=max(f)

第二步:遍历N个角点,计算满足下列条件的 ri 用向量 r 存储
ri=minjxixj,s.t.f(xi)<crobustf(xj),xjΩ

for i = 1 to N
    {
        如果i点处的响应值f(i)> fmax*0.9
            则r(i)=∞;
        否则
        {
            将Ω内所有点xj的响应值乘以0.90.9f(x_j ),找出所有满足约束条件f(x_i )<0.9f(x_j )的点xj;
            求上一步满足约束条件的xj与xi之间的欧氏距离,储存在向量d;
            取d中最小值为r(i),即r(i)=min(d);
        }
    }

第三步:将向量 r 按照降序排列,取前500个 ri 对应的点作为MOPS的特征点。

你可能感兴趣的:(harris,自适应非极大值抑制,ANMS,MOPS)