Scale- invariant feature transform ( SIFT ) er en funktionsdetektionsalgoritme i computervision til detektering og beskrivelse af lokale funktioner i billeder . Algoritmen blev patenteret i Canada af University of British Columbia [1] og udgivet af David Lowe i 1999 [2] . Applikationer omfatter objektgenkendelse robotkortlægning og -navigation, billedsammensætning 3D - modellering , , sporing , identifikation af vilde dyr og positionssporing .
Først uddrages nøglepunkter for objekter i SIFT fra et sæt referencebilleder [2] og gemmes i databasen. Et objekt genkendes i et nyt billede ved at sammenligne hvert træk fra det nye billede med træk fra databasen og finde kandidattræk baseret på den euklidiske afstand mellem trækvektorer. Fra det fulde sæt af matches i det nye billede vælges undersæt af nøglepunkter, der bedst matcher objektet med hensyn til dets placering, skala og orientering. Det er hurtigt at bestemme passende funktionsblokke med en effektiv hash-tabelimplementering af den generaliserede Hough-transformation . Hver blok med 3 eller flere funktioner, der er i overensstemmelse med objektet og dets position, er underlagt yderligere detaljeret verifikation af modellens pasform, og afvigelser kasseres. Til sidst beregnes sandsynligheden for, at et bestemt sæt træk indikerer tilstedeværelsen af et objekt, hvilket giver information om nøjagtigheden af matchningen og antallet af mulige misses. Objekter, der består alle disse tests, kan med høj grad af sikkerhed betragtes som korrekte [3] .
For ethvert objekt i et billede kan trækpunkter udtrækkes for at give en "funktionsbeskrivelse" af objektet. Denne beskrivelse opnået fra træningsbilledet kan derefter bruges til at identificere objektet, når man forsøger at lokalisere objektet i et testbillede, der indeholder mange andre objekter. For pålidelig genkendelse er det vigtigt, at de funktioner, der er udtrukket fra træningsbilledet, kan detekteres selv med ændringer i billedskala, støj og belysning. Sådanne prikker ligger normalt i områder med høj kontrast, såsom kanterne på objekter.
En anden vigtig egenskab ved disse funktioner er, at de relative positioner mellem dem ikke bør ændre sig fra det ene billede til det næste. For eksempel, hvis kun de fire hjørner af en dør blev brugt som tegn, ville de fungere uanset dørens placering. Men hvis dørkarmpunkterne også blev brugt, kunne genkendelsen mislykkes, fordi døren kunne være åben eller lukket. Ligeledes fungerer funktioner placeret på leddelte eller fleksible objekter generelt ikke, hvis der sker en ændring i intern geometri mellem to billeder i behandlingssættet. Men i praksis detekterer og bruger SIFT et meget større antal billedfunktioner, hvilket reducerer bidraget fra hver fejl forårsaget af disse lokale ændringer til den samlede fejl for alle funktionsmatchningsfejl.
SIFT [1] kan pålideligt vælge objekter selv i nærvær af støj og delvis overlapning, da SIFT-funktionsbeskrivelsen er invariant i forhold til proportional skalering , orientering , lysændringer og er delvist invariant over for affine forvrængninger [2] . Dette afsnit beskriver den originale SIFT-algoritme og nævner adskillige konkurrerende teknikker til rådighed for støjende og overlappende objektgenkendelse.
SIFT-deskriptoren er baseret på billedmålinger i form af receptorfelter [4] [5] [6] [7] , for hvilke lokale skala-invariante referencerammer [8] [9] etableres ved at vælge en lokal skala [10] [11] [9] . En generel teoretisk forklaring af algoritmen er givet i Scholarpedia-projektet om SIFT [12] .
En opgave | Teknik | Fordel |
---|---|---|
nøgleplacering / skala / rotation | Gaussisk forskel / pyramide af rumskalaer / tildeling af retninger | nøjagtighed, stabilitet, skala og rotationsinvarians |
geometrisk forvrængning | sløring/resampling af lokale billedorienteringsplaner | affin invarians |
indeksering og matchning | nærmeste nabo / søg "Best Bin First" | Effektivitet / hastighed |
Klynge identifikation | Hough transformer stemme | pålidelige positionsmodeller |
Modelvalidering/outlier-detektion | Lineære mindste kvadrater | bedre fejltolerance med mindre overensstemmelse |
Hypotesegodkendelse | Bayesiansk sandsynlighedsanalyse | pålidelighed |
Lowes metode til generering af billedtræk konverterer billedet til et stort sæt af funktionsvektorer, som hver er invariant under (parallel) billedoversættelse, skalering og rotation, delvist invariant i forhold til lysændringer og modstandsdygtig over for lokale geometriske forvrængninger. Disse egenskaber har lignende egenskaber som neuroner i den primære visuelle cortex , der koder for grundlæggende form, farve og objektbevægelsesdetektion i primatsyn [13] . Placeringstasterne er defineret som maksimum og minimum af den Gaussiske differensfunktion , der anvendes i på en serie af udjævnede og gengivne billeder. Kandidatpunkter med lav kontrast og punkter langs kanterne kasseres. Lokaliserede nøglepunkter tildeles dominerende orienteringer. Disse trin giver mere stabilitet for nøglepunkter til matchning og genkendelse. SIFT-deskriptorer, der er resistente over for lokale affinitetsovertrædelser, opnås derefter ved at se på pixels omkring nøgleplaceringen ved at sløre og gensample de lokale billedorienteringsplaner.
Funktionsmatchning og indekseringIndeksering består i at huske SIFT-tasterne og identificere de tilsvarende nøgler fra det nye billede. Lowe brugte en modifikation af en k-dimensionel træalgoritme kaldet best-bin-first (BBF) [14] søgemetoden , som kan identificere den nærmeste nabo med høj sandsynlighed ved kun at bruge et begrænset antal beregninger. BBF-algoritmen bruger en ændret søgerækkefølge for den k-dimensionelle træalgoritme , således at områder i feature-rummet søges i rækkefølge efter deres nærmeste afstand fra den anmodede placering. Denne søgerækkefølge kræver brug af en heap -baseret prioritetskø for effektivt at bestemme søgerækkefølgen. Den bedste kandidat til hvert nøglepunkt findes ved at etablere dens nærmeste nabo i nøglepunktsdatabasen ud fra træningsbillederne. Nærmeste naboer er defineret som nøglepunkterne med den mindste euklidiske afstand fra den givne deskriptorvektor. Sandsynligheden for, at et match er korrekt, kan bestemmes ved at beregne forholdet mellem afstanden fra nærmeste nabo og afstanden til næstnærmeste nabo.
Lav [3] afviste alle kampe, hvor afstandsforholdet er større end 0,8, hvilket eliminerer 90% af ukorrekte kampe, mens mindre end 5% af korrekte kampe kasseres. For yderligere at forbedre ydeevnen stopper algoritmen for bedste-bin-først efter at have tjekket de første 200 nærmeste nabo-kandidater. For en database med 100.000 nøglepunkter giver dette en hastighedsforøgelse i forhold til den nøjagtige søgning efter naboer med 2 størrelsesordener, mens det forkerte valg ikke går ud over 5% af de korrekte matches.
Klyngeidentifikation ved at stemme på Hough-transformationenHough-transformationen bruges til at gruppere en robust hypotesemodel for at finde nøgler, der stemmer overens med en bestemt modelposition Hough-transformationen afslører klynger af funktioner med en ensartet fortolkning ved at stemme for hver funktion for alle objektpositioner, der er i overensstemmelse med funktionen. Når der findes klynger af træk med stemmer for den samme position af et objekt, er sandsynligheden for en korrekt fortolkning meget højere end for et enkelt træk. Der oprettes en hash -tabelpost , der indeholder den estimerede position, orientering og skala fra den matchende hypotese. Der søges i en hash-tabel for at identificere alle klynger med mindst 3 elementer i området, og områderne sorteres efter faldende størrelse.
Hvert af SIFT-nøglepunkterne definerer en 2D-placering, skala og orientering, og hvert nøglepunkt i databasen har en indgang med dets parametre relateret til træningsbilledet, hvor det blev fundet. Den analoge transformation som følge af disse 4 parametre er kun en tilnærmelse til det fulde positionsrum med 6 frihedsgrader for 3D-objekter og tager heller ikke højde for eventuelle fleksible deformationer. Således brugte Lowe [3] 30 graders områdestørrelser til orientering for placering, en faktor 2 for skala og en faktor på 0,25 for maksimal projektionsstørrelse af træningsbilledet (ved brug af den forudsagte skala). For SIFT-nøgler, der genereres i stor skala, gives dobbelt vægt sammenlignet med nøgler til en mindre skala. Det betyder, at en større skala er i stand til at bortfiltrere mere sandsynlige naboer for at teste i mindre skala. Det forbedrer også genkendelsesydelsen ved at give mere vægt til en mindre støjende skala. For at undgå problemet med grænseeffekter ved tildeling af et område, ser hvert nøglepunkt på stemmerne for de 2 nærmeste områder i hver retning, hvilket giver i alt 16 værdier for hver hypotese og slører positionsspredningen yderligere.
Mindste kvadraters modelvalideringHver etableret klynge er underlagt en verifikationsprocedure, der udfører en mindste kvadraters for de affine transformationsparametre , der er knyttet til billedmodellen. En affin transformation af et modelpunkt [xy] T til et billedpunkt [uv] T kan skrives som følger
hvor parallel translation er [tx ty] T , og affin rotation, skala og strækning er repræsenteret af parametrene m1, m2, m3 og m4. For at opnå transformationsparametrene kan ligningen omskrives, så alle ukendte er i en kolonnevektor.
Ligestilling viser et enkelt match, men et hvilket som helst antal matcher kan tilføjes, hvor hver match tilføjer to rækker til den første og sidste matrix. Der skal mindst 3 kampe til for at få en løsning. Vi kan skrive dette lineære system som
hvor A er en kendt matrix (normalt m > n ), x er en ukendt n - dimensionel parametervektor , og b er en kendt m - dimensionel dimensionsvektor.
Således er minimeringsvektoren løsningen på normalligningen
Løsningen til systemet af lineære ligninger er givet i form af en matrix kaldet den pseudoinverse matrix for A , i formen
,hvilket minimerer summen af de kvadrerede afstande af modelplaceringsprojektionerne til de tilsvarende billedplaceringer.
Identifikation af outliersOutliers kan nu kasseres ved at kontrollere overensstemmelsen mellem funktionen af hvert billede og modellen givet af parameterløsningen. Givet en mindste kvadraters løsning , skal hver match ikke stemme overens med mere end halvdelen af det fejlinterval, der blev brugt til parametrene i Hough-transformationsområderne . Outliers kasseres, mindste kvadraters løsning genberegnes for de resterende punkter, og processen gentages. Hvis der er mindre end 3 point tilbage efter at have kasseret outliers , afvises kampen. Derudover bruges top-down-matchningsfasen til at tilføje andre matchninger, der er i overensstemmelse med positionen af den projekterede model, som kan blive overset af Hough-transformationsregionen på grund af tilnærmelse af lignende transformationer eller andre fejl.
Den endelige beslutning om at acceptere eller afvise hypotesemodellen er baseret på en detaljeret probabilistisk model [15] . Denne metode beregner først det forventede antal fejlmatches for positionsmodellen, givet af modellens størrelse, antallet af funktioner inden for området og nøjagtigheden af tilpasningen. Bayesiansk analyse giver derefter sandsynligheden for, at objektet er til stede baseret på det faktiske antal fundne funktionsmatches. Modellen accepteres, hvis den endelige sandsynlighed for korrekt fortolkning er større end 0,98. Baseret på SIFT-metoden udviklet af Lowe, giver genkendelse af objekter fremragende resultater, undtagen i tilfælde af stor spredning af belysning og med ikke-stive transformationer.
Registrering og beskrivelse af lokale billedfunktioner kan hjælpe med genkendelse af objekter. SIFT-funktioner er lokale og er baseret på objektets manifestationer på specifikke enkeltpunkter. De er skalerings- og rotationsinvariante. De er også modstandsdygtige over for ændringer i belysning, støj og små ændringer i synsvinkel. Ud over disse egenskaber er de meget skelnelige, relativt nemme at hente og tillader objektidentifikation med få fejl. De er relativt lette at finde i en (stor) database over lokale funktioner, men funktionernes høje dimensionalitet kan dog forårsage vanskeligheder, så sandsynlige algoritmer såsom k-dimensionelle træer med best-bin-first søgning ( BBF) bruges. Beskrivelse af et objekt ved hjælp af SIFT-funktioner er også stabil med hensyn til delvis overlapning, da selv tre SIFT-funktioner af et objekt er nok til at beregne et objekts sted og position. Genkendelse kan udføres i næsten realtid, i det mindste for små databaser med moderne computerudstyr.
Vi starter med at identificere punkter, som kaldes nøglepunkter inden for SIFT. Billedet foldes med gaussiske filtre i forskellige skalaer, og derefter beregnes forskellen mellem successive gaussiske slørede billeder. Nøglepunkterne er derefter samplet som den maksimale/minimum forskel af Gaussians , der forekommer på forskellige skalaer. Den Gaussiske forskel er givet af udtrykket
, hvor er foldningen af det originale billede med Gaussisk sløring i skala , dvs.Derfor er billedet af den Gaussiske forskel mellem skalaer og forskellen mellem Gaussiske slørede billeder med skalaer og . For at bestemme ekstremum i skaleringsrummet , i SIFT-algoritmen, bliver billedet først foldet med Gaussisk sløring ved forskellige skalaer. Miniaturebillederne er grupperet efter oktav (en oktav svarer til en fordobling af værdien af ) og værdien er valgt, så vi får et fast antal thumbnails pr. oktav. Derefter beregnes den Gaussiske forskel fra tilstødende Gaussiske slørede billeder i en oktav.
Når billedets Gauss-forskel er opnået, defineres nøglepunkterne som det lokale minimum/maksimum af billedets Gauss-forskel over skabelonerne. Dette gøres ved at sammenligne hver pixel med billedets Gauss-forskel for dens otte naboer i samme skala og ni tilsvarende nabopixel ved hver af de tilstødende skalaer. Hvis pixelværdien er maksimum eller minimum blandt alle de sammenlignede punkter, vælges den som en nøglepunktskandidat.
Dette nøglepunktsdetektionstrin er en variation af en af Lindebergs pletdetektionsmetoder ved at finde ekstrema i skalarummet normaliseret til den Laplaciske skala [10] [11] . Det vil sige bestemmelsen af punkter, der er lokale ekstrema, under hensyntagen til både rumlig position og skala, i det diskrete tilfælde, ved sammenligning med de nærmeste 26 naboer i et diskretiseret volumen i skala rum. Den Gaussiske differensoperator kan ses som en tilnærmelse af Laplacian, med en implicit normalisering i pyramiden , der også indeholder en diskret tilnærmelse af den skalanormaliserede Laplacian [12] . En anden realtidsinkarnation af søgningen efter ekstrema af Laplace-operatørens skala-rum blev præsenteret af Lindeberg og Bretzner, den er baseret på en hybrid pyramide-repræsentation [16] , der blev brugt til computer-menneskelig interaktion til real-time gestusgenkendelse [17] .
Bestemmelsen af ekstrema af skalarummet giver for mange kandidater til nøglepunkter, hvoraf nogle er ustabile. Det næste trin i algoritmen er at udføre en detaljeret nabotilpasning til den nøjagtige placering, skala og hovedkrumningsforhold . Denne information giver dig mulighed for at kassere punkter, der har lav kontrast (og derfor er følsomme over for støj) eller dårligt placeret langs kanten.
Interpolation af nabodata for positionsnøjagtighedFor det første, for hver cue point-kandidat, bruges nærdatainterpolation til nøjagtigt at bestemme positionen. Den indledende tilgang var at bestemme placeringen af hvert nøglepunkt ud fra placeringen og skalaen af nøglepunktskandidaten [2] . Den nye tilgang beregner ekstremumets interpolerede position, hvilket forbedrer pasformen og stabiliteten markant [3] . Interpolationen udføres ved hjælp af den kvadratiske Taylor-udvidelse af funktionen Difference- of -Gaussian skala-space med nøglepunktskandidaten placeret ved origo. Denne Taylor-udvidelse er givet ved ligningen:
,hvor D og dets afledte beregnes på kandidatpunktet og er forskydningen fra dette punkt. Placeringen af ekstremum bestemmes ved at tage den afledede af denne funktion med hensyn til og lig med nul. Hvis skiftet er større i begge retninger, indikerer dette, at ekstremumet ligger tættere på en anden nøglepunktskandidat. I dette tilfælde ændres nøglepunktskandidaten, og der udføres interpolation for dette punkt. Ellers tilføjes en bias til nøglepunktskandidaten for at opnå et interpoleret estimat af ekstremumplaceringen. En lignende subpixelbestemmelse af placeringen af ekstrema af skalarummet, udviklet af Lindeberg et al., udføres i realtid baseret på hybridpyramider [16] .
Fjernelse af nøglepunkter med lav kontrastFor at kassere nøglepunkter med lav kontrast beregnes en andenordens Taylor-udvidelse med en bias . Hvis denne værdi er mindre end , kasseres nøglepunktskandidaten. Ellers gemmes det med en placering i begrænset skala , hvor er den oprindelige placering af nøglepunktet.
Ekskludering af kantbidragDen Gaussiske differensfunktion vil have stærke værdier langs kanterne, selvom nøglepunktskandidaten ikke er robust over for lille støj. For at øge stabiliteten bør du derfor udelukke nøglepunkter, der har en dårligt defineret placering, men som har et stort bidrag fra kanterne.
For dårligt definerede Gaussiske differensfunktionstoppe vil den primære krumning over en kant være meget større end den primære krumning langs den. At finde disse hovedkrumninger svarer til at finde egenværdierne af den andenordens hessiske matrix H :
Egenværdierne af H er proportionale med hovedkrumningen af matrixen D. Det viser sig, at forholdet mellem to egenværdier, f.eks . den største af dem, a er den mindste, med forholdet , er tilstrækkeligt til SIFT-formål. . Sporet af matricen H , dvs. , giver os summen af de to egenværdier, mens determinanten, dvs. , giver os produktet. Forholdet kan vises til at være , hvilket kun afhænger af forholdet mellem egenværdierne, ikke de enkelte værdier. R er minimum, hvis egenværdierne er ens. Jo højere den absolutte værdi af forskellen mellem to egenværdier er, hvilket svarer til den største absolutte værdi af forskellen mellem de to hovedkrumninger D, desto højere er værdien af R. Det følger heraf, at for nogle tærskelegenværdiforhold , hvis R for nøglepunktskandidaten er større end , så er nøglepunktet dårligt placeret og derfor kasseret. Den nye tilgang bruger [3] .
Dette kantresponsundertrykkelsestrin er at overføre den passende tilgang til Harris-operatøren for hjørnedetektering . Forskellen er, at målet for tærsklen beregnes ud fra den hessiske matrix og ikke ud fra matrixen af andet momenter .
I dette trin tildeles hvert nøglepunkt en eller flere orienteringer baseret på retningerne af gradienterne i det lokale billede. Dette er et nøgletrin for at opnå rotationsinvarians , da nøglepunktsbeskrivelsen kan repræsenteres med hensyn til denne orientering og derfor bliver rotationsinvariant for billedet.
Først og fremmest tages et gaussisk sløret billede på nøglepunkter med skala , så alle beregninger udføres på en skala-invariant måde. For et skaleret billede er gradientværdien og orienteringen forudberegnet baseret på pixelforskellen .
Beregning af størrelsen og retningen for gradienten udføres for hver pixel i nærheden af nøglepunktet i det gaussiske slørede billede L. Der dannes et retningshistogram med 36 områder, der hver dækker 10 grader. Hvert punkt i den omgivende boks føjes til histogramområdet, vægtet af gradientens størrelse og af et Gauss-vægtet cirkulært vindue med , som er 1,5 gange nøglepunktets skala. Toppene i dette histogram svarer til de dominerende retninger. Når histogrammet er udfyldt, tildeles retninger svarende til de højeste toppe og lokale toppe, der er inden for 80 % af de højeste toppe, til nøglepunktet. Hvis der er tildelt flere retninger, oprettes der et ekstra nøglepunkt, der har samme placering og skala som det oprindelige punkt for hver yderligere retning.
De foregående trin finder placeringen af nøglepunkter på bestemte skalaer og tildeler dem en orientering. Dette giver invarians for punktplacering, skala og rotation. Nu ønsker vi at beregne en vektor af deskriptorer for hvert nøglepunkt, sådan at deskriptoren er meget forskellig og delvist invariant i forhold til andre ændringer såsom belysning, synspunkter og så videre. Dette trin udføres på det billede, der er tættest på nøglepunktets skala.
Først og fremmest oprettes et sæt retningshistogrammer på 4x4 tilstødende pixels med 8 områder i hver. Disse histogrammer beregnes ud fra størrelses- og orienteringsværdierne for elementerne i 16×16-området omkring nøglepunktet, således at hvert histogram indeholder elementer fra en 4×4-underregion af den oprindelige nabolagsregion. Værdierne er yderligere vægtet af en Gaussisk funktion svarende til halvdelen af bredden af deskriptorvinduet. Håndtaget bliver derefter en vektor af alle værdierne af disse histogrammer. Da der er 4×4=16 histogrammer med 8 områder hver, har vektoren 128 elementer. Denne vektor er normaliseret til enhedslængde for at sikre, at den er invariant at affine ændringer i belysningen. For at reducere effekten af ikke-lineær belysning anvendes en tærskel på 0,2, og vektoren normaliseres igen. Tærskelprocessen kan forbedre matchningsresultater, selvom der ikke er nogen ikke-lineære lyseffekter [18] . Tærskelværdien på 0,2 er valgt empirisk og udskiftning af en fast tærskel med en målrettet beregnet kan forbedre sammenligningsresultaterne [18] .
Selvom deskriptordimensionen (dvs. 128) virker høj, fungerer mindre deskriptorer ikke så godt [3] , og beregningsomkostningerne forbliver lave, fordi den omtrentlige BBF-metode bruges til at finde den nærmeste nabo (se nedenfor). Længere deskriptorer ville give bedre resultater, men ikke meget, og der er fare for øget følsomhed over for forvrængning og aliasing. Det er også blevet vist, at funktionsmatchningsnøjagtigheden er større end 50 % for synsvinkelændringer op til 50 grader. Derfor er SIFT-deskriptorer invariante over for små affine ændringer. For at teste skelneevnen af SIFT-deskriptorer måles matchnøjagtigheden også med hensyn til et forskelligt antal nøglepunkter i testdatabasen, og det har vist sig, at matchnøjagtigheden kun falder lidt for store databaser, hvilket indikerer, at SIFT-funktioner er meget skelnelige .
Der er blevet udført intensiv forskning for at evaluere effektiviteten af forskellige lokale deskriptorer, herunder SIFT [19] . De vigtigste resultater er vist nedenfor:
De udførte tests tyder stærkt på, at SIFT-baserede deskriptorer er de mest stabile og skelnelige og derfor de mest anbefalede til funktionsmatchning. Men nyligt udviklede funktionsbeskrivelser såsom SURF er ikke blevet undersøgt i disse forsøg.
SURF har vist sig at have effektivitet tæt på SIFT, men samtidig er algoritmen meget hurtigere [20] . Andre undersøgelser har vist, at når hastighed ikke er en kritisk faktor, udkonkurrerer SIFT SURF [21] [22] . Især, når man ser bort fra samplingseffekter, er SIFT-billeddeskriptoren væsentligt bedre end SURF-billedbeskrivelsen. Samtidig består ekstremummet i skalarummet af determinanten af hessian for den simple singulære punktdetektor i SURF af væsentligt bedre singulære punkter sammenlignet med ekstremum i skalarummet for Laplacian, for hvilke algoritmen til bestemmelse af singular point i SIFT udfører en numerisk tilnærmelse [21] .
Billedtilpasningsydelse af SIFT-beskrivelser kan forbedres med hensyn til at opnå højere ydeevne og lavere 1-nøjagtighedsscore[ klargør ] ( engelsk 1-præcisionsscore ) ved at erstatte det skalerbare rumlige ekstremum af den Gaussiske differensoperator i den oprindelige SIFT med ekstremummet af den hessiske determinant i det skalerbare rum, eller ved at overveje en mere generel familie af generaliserede singulære punkter i skalerbar plads [21] .
For nylig er en let modificeret version af deskriptoren blevet foreslået, ved hjælp af et ikke-ensartet histogramgitter, hvilket væsentligt forbedrer kvaliteten [23] . I stedet for at bruge et 4x4-gitter af histogramområder udvides alle områder mod midten af træk. Dette forbedrer deskriptorers modstandsdygtighed over for skalaændringer.
SIFT-Rank-deskriptoren [24] har vist sig at forbedre ydeevnen af standard SIFT-deskriptoren til affin funktionsmatching. SIFT-Rank-deskriptoren genereres fra standard SIFT-deskriptoren ved at tildele hvert område af histogrammet en rang i en sorteret række af områder. Den euklidiske afstand mellem SIFT-Rank-deskriptorer er invariant under vilkårlige monotone ændringer i histogramværdier og er relateret til Spearmans rangkorrelationskoefficienter .
Hvis det er muligt for et SIFT-system at finde forskellige nøglepunkter, der er invariante i placering, skala og rotation og modstandsdygtige over for affine transformationer (ændringer i skala , rotation , shift og position) og ændringer i belysning, de er nyttige til genkendelse af objekter. Disse trin er angivet nedenfor
SIFT-funktioner kan i princippet anvendes på ethvert problem, hvor billedmatchning er påkrævet. Der kan arbejdes på applikationer såsom genkendelse af specifikke kategorier af objekter i 2D-billeder, rekonstruktion af 3D-objekter, bevægelsessporing og segmentering, robotplacering, panoramabilledsammensætning og epipolær kalibrering . Nogle af disse applikationer diskuteres mere detaljeret nedenfor.
Denne applikation [26] bruger et stereo trinokulært system til at estimere 3D-placeringen af et cue point. Nøglepunkter bruges kun, når de vises i alle 3 billeder med konsekvente uoverensstemmelser, hvilket resulterer i meget sjældne frafald. Når robotten bevæger sig, bestemmer den dens placering ved hjælp af funktionsrelationer med det eksisterende 3D-kort og tilføjer derefter trinvist funktioner til kortet, mens den opdaterer 3D-positionen ved hjælp af et Kalman-filter. Dette giver en pålidelig og præcis løsning på problemet med at lokalisere en robot i et ukendt miljø.
SIFT-funktionsmatchning kan bruges til billedsammensætning til fuldautomatisk panoramakonstruktion fra ikke-panoramiske rammer. SIFT-funktionerne udtrukket fra inputbillederne matches mod hinanden for at finde k nærmeste naboer i hvert billede. Disse matches bruges derefter til at finde m billedmatchende kandidater for hvert billede. Homografierne mellem par af billeder beregnes derefter ved hjælp af RANSAC ( Random sample consensus ), og en probabilistisk model bruges til verifikation . Da der ikke er nogen begrænsninger på inputbillederne, anvendes en grafsøgning på de tilsluttede billedmatchende komponenter, så hver tilsluttet komponent matcher et panorama. Til sidst, for hver tilsluttet komponent, udføres blokjustering for at løse kameraparametrene, og panoramaet behandles ved hjælp af multi -band blending . På grund af den SIFT-inspirerede tilgang til genkendelse af objekter til panoramasyning er det resulterende system ufølsomt over for billedrækkefølge, orientering, skala og belysning. Indgangsbillederne kan indeholde flere panoramaer og billedstøj (hvoraf nogle måske ikke engang er en del af det sammensatte billede) [27] .
Denne applikation bruger SIFT-funktioner til 3D-objektgenkendelse og 3D-modellering sammenhæng med augmented reality , hvor de skabte kunstige objekter i en præcis positur overlejres på rigtige billeder. Et SIFT-match er defineret for flere 2D-billeder af en scene eller et objekt taget fra forskellige vinkler. Dette bruges med blokjustering til at bygge en sparsom 3D-model af den pågældende scene og samtidig gendanne kamerapositioner og kalibreringsparametre. Derefter bestemmes det virtuelle objekts position, orientering og størrelse i forhold til rammekoordinaterne for den betragtede model. Til online positionssporing udvindes SIFT-funktioner fra den aktuelle videoramme og matches med allerede beregnede funktioner, hvilket resulterer i et sæt 2D-til-3D-matches. Disse matches bruges derefter til at beregne den aktuelle kameraposition til virtuel projektion og slutbehandling. Reguleringsteknikken bruges til at reducere jitter i den virtuelle projektion [28] . SIFT 3D-udvidelser er også blevet implementeret til at genkende og fremhæve rigtige 3D -objekter [29] [30] .
Udvidelser af SIFT-deskriptoren til 2+1-dimensionelle rumlige tidsdata er blevet undersøgt i forbindelse med genkendelse af menneskelige handlinger i video [29] [31] [32] [33] . Oprettelsen af lokale positionsafhængige histogrammer i 2D SIFT-algoritmen udvides fra 2D til 3D for at beskrive SIFT-funktionerne i rum-tid-domænet. Til anvendelse til genkendelse af menneskelige handlinger i video udføres træningsvideoer enten fra specifikke spatiotemporale punkter eller på et tilfældigt sted, tidspunkt og skala. Rum-tid-regionerne omkring disse enestående punkter beskrives derefter ved hjælp af en 3D SIFT-deskriptor. Disse deskriptorer samles derefter i en " pose med ord " spatiotemporal model . 3D SIFT-beskrivelser, der er udtrukket fra testklip, matches mod disse ord for at klassificere menneskelige handlinger.
Forfatterne hævder, at deres 3D SIFT-deskriptor yder væsentligt bedre end andre tilgange såsom simple 2D SIFT-deskriptorer og gradientværdi [34] .
Den funktionsbaserede morfometri ( FBM) teknik [35] [35] bruger ekstrema i forskellen mellem det Gaussiske skaleringsrum MRI'er(resonansbilledermagnetiskeat analysere og klassificere 3DtilFBM modellerer et billede sandsynligt som en collage af uafhængige træk bestemt af billedgeometri og etiketgrupper, såsom sunde genstande og genstande svarende til Alzheimers sygdom. Funktionerne udtrækkes først til individuelle billeder fra en 4D Gaussisk skaleringsforskel, og modelleres derefter med hensyn til deres udseende, geometri og statistik om samtidig forekomst i en gruppe på tværs af flere billeder. FBM er blevet valideret i Alzheimers sygdomsanalyse med et sæt af ~200 volumetrisk billeddannelse (MRI) af den menneskelige hjerne, der automatisk detekterer etablerede indikatorer for Alzheimers sygdom i hjernen og klassificerer ikke-akutte sygdomme i nye billeder med en rate på 80 % [ 35] .
Konkurrerende metoder til skala-invariant objektgenkendelse under støj og delvis overlapning er som følger.
RIFT [36] : Rotations -invariant generalisering af SIFT . RIFT-deskriptoren er konstrueret ved hjælp af cirkulære normaliserede skiver opdelt i koncentriske ringe med samme bredde, og inden for hver ring beregnes et histogram af gradientens retning. For at opnå rotationsinvarians måles orienteringen ved hvert punkt i forhold til retningen fra midten.
G-RIF [37] : Generaliseret Robust Invariant Feature er en generel kontekstdeskriptor, der koder kantorientering, kanttæthed og farveinformation i en enkelt nøgle, der kombinerer perceptuel information med rumlig kodning. Objektgenkendelsesskemaet bruger nabokonteksten til at evaluere objektmodeller baseret på afstemning.
"SURF" [38] : Speeded Up Robust Features er højtydende skala- og rotationsinvariante detektorer/deskriptorer, der hævdes at nærme sig eller endda overgå tidligere foreslåede skemaer med hensyn til reproducerbarhed, klarhed og pålidelighed. SURF er afhængig af fuld foldningsbilleder for at reducere beregningstiden og er baseret på styrken af førende eksisterende detektorer og deskriptorer (ved at bruge et hurtigt mål baseret på den hessiske matrix for detektorer og sandsynlighedsfordelingsbaserede deskriptorer). Den beskriver fordelingen af Haar wavelet -reaktionerne blandt enkeltpunktets naboer. Fuld billeder bruges til fremskyndelse, og kun 64-dimensionelle funktionsvektorer bruges til at reducere beregnings- og matchningstid. Indekseringstrinnet er baseret på tegnet for Laplacian , hvilket øger matchningshastigheden og robustheden af deskriptoren.
PCA-SIFT [39] og GLOH [19] er varianter af SIFT. PCA-SIFT-deskriptoren er en vektor af billedgradienter i x- og y-retningerne beregnet i det understøttede område. Gradientområdet er opdelt i 39×39 steder, så vektorens dimension er 3042. Dimensionen reduceres til 36 ved hjælp af hovedkomponenternes metode . Lokationsorienteringsgradienthistogram ( GLOH ) er en udvidelse af SIFT-deskriptoren og blev udviklet for at øge dens robusthed og skelnbarhed. SIFT-deskriptoren beregnes i logaritmiske polære koordinater af et positionsgitter med tre områder i de radiale retninger (radius sat til 6, 11 og 15) og 8 i vinkelretningerne, hvilket resulterer i 17 områder. Det centrale område er ikke opdelt i vinkelretninger. Gradientretningerne er kvantificeret i 16 områder, hvilket resulterer i et histogram med 272 områder. Størrelsen af denne deskriptor er reduceret af principal komponent metoden . Kovariansmatricen for Principal Component Method evalueres på stykker indsamlet fra forskellige billeder. De 128 største egenvektorer bruges til beskrivelsen.
Gauss-SIFT [21] er en ren billeddeskriptor defineret ved at måle alle billeder af den underliggende SIFT-deskriptor med en Gaussisk afledt, snarere end at tilnærme den afledede i en billedpyramide, som det gøres i standard SIFT. Med denne tilgang kan effekten af diskretisering af rum og skala reduceres til et minimum, hvilket potentielt kan resultere i mere nøjagtige billeddeskriptorer. Lindeberg [21] kombinerede sådanne Gauss-SIFT billeddeskriptorer med et sæt af generaliserede entals punktskala rum, inklusive Gauss Laplacian, den Hessiske determinant, fire nye karakteristiske mål for den usignerede og signerede Hessian, samt Harris-Laplace og Shea -Thomas enestående pointer. I en intensiv eksperimentel kørsel på en database med reklametavler indeholdende flere transformationer af 12 reklametavler med hensyn til zoom op til 6x og synsretningen op til en vinkel på 45 grader, blev det vist, at en signifikant stigning i billedbehandlingseffektiviteten (højere effektivitet scores og lavere scores 1 -nøjagtighed) kan opnås ved at erstatte Laplacian af Gaussian af entalspunkterne med determinanten for Hessian af entalspunkterne. Da den singularpunkt Gaussisk forskel antager en numerisk tilnærmelse af Laplacian af singularpunktet Gaussian, viser dette, at det er muligt at øge matchningsydelsen signifikant ved at erstatte singularpunktet Hessian forskel i SIFT med singulære punkt Hessian determinant. Yderligere præstationsgevinster kan opnås yderligere ved at overveje et usigneret hessisk trækstyrkemål eller 0 på anden måde. En numerisk sammenligning mellem Gauss-SIFT-deskriptoren og den tilsvarende Gauss-SURF-deskriptor viste også, at Gauss-SIFT generelt klarer sig væsentligt bedre end Gauss-SURF for et stort antal forskellige singulære punktskala-rumdetektorer. Undersøgelsen viser således, at SIFT-billeddeskriptor-diskretiseringseffektreduktionen er væsentligt bedre end SURF-billeddeskriptoren, dog er funktionspunktdetektoren i SURF, som kan betragtes som en numerisk tilnærmelse til ekstremum i skalarummet af den hessiske determinant, er væsentligt bedre end funktionspunktdetektoren i SIFT.
Wagner og kolleger har udviklet to objektgenkendelsesalgoritmer, der er specielt tilpasset begrænsningerne af eksisterende mobiltelefoner [40] . I modsætning til den klassiske tilgang bruger SIFT Wagner et al. FAST hjørnedetekteringsalgoritmen til funktionsdetektion. Algoritmen indeholder også en offline forberedelsesfase, hvor funktioner oprettes på forskellige zoomniveauer, og en online fase, hvor funktioner kun genereres til et fast zoomniveau på telefonens kamera. Derudover oprettes funktionerne kun fra faste områder på 15×15 pixels, og der oprettes kun en 36-dimensionel SIFT-deskriptor. Tilgangen blev yderligere udvidet ved integration med Scalable Vocabulary Tree [41 ] . Dette muliggør effektiv genkendelse af et stort antal objekter af mobiltelefonen. Fremgangsmåden er primært begrænset af mængden af tilgængelig RAM .
KAZE og A-KAZE (KAZE Features and Kaze Boosted Features) er en ny 2D-funktionsdetektions- og karakteriseringsmetode, der yder bedre end SIFT og SURF. Det har vundet stor popularitet på grund af det faktum, at det distribueres frit og har åbne kildekoder. Algoritmen er heller ikke patenteret. KAZE blev skabt af Pablo F. Alcantarilla, Adrien Bartoli og Andrew J. Davison [42] .