Matthew Brown等人在Multi-Image Matching using Multi-Scale Oriented Patches中提到使用自適應非極大值抑制(ANMS)算法對Harris角點檢測所得到的大量關鍵點(Interest Point)做進一步篩選,以達到減少關鍵點數量,同時儘可能保持角點響應大的點,並且關鍵點分佈均勻這三個目的。
論文中沒有詳細提及該步驟的算法細節,故做如下探討。
假設上一步Harris角點檢測結果是
它們的集合爲Ω。它們對應的角點響應爲
用N維向量f存儲。設置係數
第一步:尋找全局最大的角點響應值,即
第二步:遍歷N個角點,計算滿足下列條件的
for i = 1 to N
{
如果i點處的響應值f(i)> fmax*0.9
則r(i)=∞;
否則
{
將Ω內所有點xj的響應值乘以0.9即0.9f(x_j ),找出所有滿足約束條件f(x_i )<0.9f(x_j )的點xj;
求上一步滿足約束條件的xj與xi之間的歐氏距離,儲存在向量d;
取d中最小值爲r(i),即r(i)=min(d);
}
}
第三步:將向量