Skip navigation

SURF detektor

A SURF detektor bemutatása

Ebben a leckében áttekintjük a SURF detektor működését és használatát OpenCV-ben. Az algoritmus leírását illetően - a korlátozott terjedelem miatt - nem térünk ki minden részletre. Az Olvasó Herbert Bay és szerzőtársai "Speeded Up Robust Features" című cikkében nézhet utána a részletes leírásnak.

A SURF detektor működése

  1. Határozzuk meg minden p pontban σ skálaérték mellett a H(p,σ) Hesse-féle mátrix értékét
    H(p,σ)=(Lxx(p,σ)Lxy(p,σ)Lyx(p,σ)Lyy(p,σ)),
    ahol Lxx az I(x,y) kép a Gauss-függvény másodrendű deriváltjával konvolvált eredménye az x pontban (a többi érték hasonlóan számolandó).
  2. A többi jellemződetektortól eltérően itt a simítás nem képpiramis előállításával, hanem a szűrőméret növelésével történik, amely felgyorsítja az eljárást.
  3. Az érdekes pontok lokalizációja a skálatérben 3×3×3-as környezettel történik (nem-maximális pontok elnyomása).
  4. Az orientáció meghatározásához Haar-waveleteket használnak az "érdekes pontok" egy lokális környezetében.
  5. Az "érdekes pontok" 20s méretű környezetét (ahol s a skála-érték, ahol a pontot detektáltuk) 4×4 részre osztjuk és mindegyik 5×5-ös méretű részre kiszámoljuk a Haar-wavelet válaszfüggvény értékét, amelyet a Gauss-függvény szerint súlyozunk.