Előismeret
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
- Határozzuk meg minden pontban skálaérték mellett a Hesse-féle mátrix értékét
ahol az kép a Gauss-függvény másodrendű deriváltjával konvolvált eredménye az pontban (a többi érték hasonlóan számolandó).
- 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.
- Az érdekes pontok lokalizációja a skálatérben -as környezettel történik (nem-maximális pontok elnyomása).
- Az orientáció meghatározásához Haar-waveleteket használnak az "érdekes pontok" egy lokális környezetében.
- Az "érdekes pontok" méretű környezetét (ahol a skála-érték, ahol a pontot detektáltuk) részre osztjuk és mindegyik -ö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.