NMS:Non-maximum Suppression學習筆記

非極大值抑制可當作一種局部極大值搜索,這裏的局部極大值要比他的鄰域值都要大。這裏的鄰域表示有兩個參數:維度和n-鄰域。維度有1-D,2-D,3-D...;至於n值根據具體狀況設置。舉個例子:一維的狀況,某個像素點左右各n個鄰域點(加上該像素點,鄰域區域共有2n+1個像素);二維的狀況以當前像素爲中心以n爲半徑向周圍輻射到的區域均是鄰域。
具體講幾個算法實例可能有助於咱們對算法的理解:
1.一維三鄰域算法
算法僞代碼以下:
1 i ← 1;
2 while i + 1 < W do
3     if I[i] > I[i + 1] then
4        if I[i] >= I[i ? 1] then
5            MaximumAt(i);
         Endif
6     else
7       i ← i + 1;
8        while i + 1 < W AND I[i] ≤ I[i + 1] do
9            i ← i + 1;
          EndWhile
10      if i + 1 < W then
11         MaximumAt(i);
12   i ← i + 2;
    EndWhile
i表示圖像I中像素點下標,W是下標上限。
算法說明:
① 最理想的狀況是當前像素點I[i]比它的左右鄰點都大,那麼當前像素點記爲局部極大值點(Line 3-5)。
② 若是已經肯定像素點i+1比它的左鄰點i小,那麼i+1必不是局部極值點,此時能夠直接將下標加2(Line 12)。PS:該算法添加了一個強制性條件:局部極值點必大於左鄰點.
③ 若是當前像素點i比其右鄰域點小,那麼下標加1(Line 7).算法

相關文章
相關標籤/搜索