Introduktion til SIFT( Skala Invariant Funktion Transform)
SIFT står for Skala-Invariant Har Omdanne og blev præsenteret første gang i 2004, af D. Lowe, University of British Columbia. Sigt er invariance til billedskala og rotation. Denne algoritme er patenteret, så denne algoritme er inkluderet i det ikke-frie modul i OpenCV.
store fordele ved sift er
- lokalitet: funktioner er lokale, så robuste over for okklusion og rod (ingen forudgående segmentering)
- særpræg: individuelle funktioner kan matches med en stor database med objekter
- Antal: mange funktioner kan genereres til selv små objekter
- effektivitet: tæt på realtidsydelse
- udvidelsesmuligheder: kan let udvides til en lang række forskellige funktionstyper, hvor hver tilføjer robusthed
Dette er en del af en 7-serie Funktionsdetektering og matchning. Andre artikler inkluderet
- Introduktion til Funktionsdetektion og matchning
- Introduktion til Harris Corner Detector
- Introduktion til SURF (fremskyndede robuste funktioner)
- Introduktion til hurtig (funktioner fra accelereret Segmenttest)
- Introduktion til kort (binære robuste uafhængige elementære funktioner)
- Introduktion til ORB (orienteret hurtigt og roteret kort)
sigt er en ganske involveret algoritme. Der er hovedsageligt fire trin involveret i SIFT-algoritmen. Vi vil se dem en efter en.
- skala-space peak valg: Potentiel placering til at finde funktioner.
- Keypoint lokalisering: præcis lokalisering af funktionen keypoints.
- Orienteringsopgave: tildeling af orientering til tastaturpunkter.
- Keypoint descriptor: beskriver tastepunkterne som en højdimensionel vektor.
- Keypoint Matching
Scale-space peak Selection
virkelige verdensobjekter er kun meningsfulde i en bestemt skala. Du kan se en sukkerterning perfekt på et bord. Men hvis man ser på hele Mælkevejen, eksisterer den simpelthen ikke. Denne multi-skala karakter af objekter er ret almindelig i naturen. Og et skalarum forsøger at replikere dette koncept på digitale billeder.
sløring
inden for en oktav sløres billederne gradvist ved hjælp af den gaussiske Sløringsoperator. Matematisk betegnes “sløring”som den gaussiske operatørs og billedet. Gaussian blur har et bestemt udtryk eller” operator”, der anvendes på hvert punkt. Hvilke resultater er det slørede billede.
g er den gaussiske sløringsoperatør, og jeg er et billede. Y er lokaliseringskoordinaterne, mens “Skala” – parameteren er “skala” – parameteren. Tænk på det som mængden af sløring. Større værdi, større sløring.
hund(forskel på gaussisk kerne)
nu bruger vi de slørede billeder til at generere et andet sæt billeder, forskellen mellem gaussere (hund). Disse hundebilleder er gode til at finde ud af interessante nøglepunkter i billedet. Forskellen på Gaussisk opnås som forskellen på Gaussisk sløring af et billede med to forskellige kr., lad det være kr. og kr. kr. Denne proces udføres for forskellige oktaver af billedet i den gaussiske pyramide. Det er repræsenteret i nedenstående billede:
find tastaturer
indtil nu har vi genereret et skalarum og brugt skalarummet til at beregne forskellen mellem gaussere. Disse bruges derefter til at beregne Laplacian af gaussiske tilnærmelser, der er skala invariant.
et billedpunkt i et billede sammenlignes med dets 8 naboer samt 9 billedpunkter i den næste skala og 9 billedpunkter i tidligere skalaer. På denne måde foretages i alt 26 kontroller. Hvis det er en lokal ekstrema, er det et potentielt tastatur. Det betyder dybest set, at keypoint er bedst repræsenteret i denne skala.
Keypoint lokalisering
Key0points genereret i det foregående trin producerer mange keypoints. Nogle af dem ligger langs en kant, eller de har ikke nok kontrast. I begge tilfælde er de ikke så nyttige som funktioner. Så vi slippe af med dem. Fremgangsmåden svarer til den, der anvendes i Harris Corner Detector til fjernelse af kantfunktioner. For funktioner med lav kontrast kontrollerer vi simpelthen deres intensiteter.
de brugte Taylor-serieudvidelse af skalarum for at få en mere nøjagtig placering af ekstrema, og hvis intensiteten ved denne ekstrema er mindre end en tærskelværdi (0,03 i henhold til papiret), afvises den. Hund har en højere respons for kanter, så kanter også skal fjernes. De brugte en 2H2 hessisk matrice (H) til at beregne hovedkrumningen.