VLFeat – Documentatie MATLAB API SIFT

VLFeat - Documentatie MATLAB API SIFT met behulp

[FRAMES, DESCRS] = VL_DSIFT (I) haalt een dichte verzameling van SIFT functies uit afbeelding I. I klasse SINGLE en grijstinten moet zijn. FRAMES is een 2 x NUMKEYPOINTS, elke kolom het opslaan van het centrum (X, Y) van een Keypoint frame (alle frames hebben dezelfde schaal en oriëntatie). DESCRS is een 128 x NUMKEYPOINTS matrix met één descriptor per kolom, in het zelfde formaat van VL_SIFT ().

VL_DSIFT () niet berekenen een Gaussische schaal ruimte van het beeld I. In plaats daarvan, het beeld moet vooraf worden gladgestreken op het gewenste schaalniveau, E.B. met de functie VL_IMSMOOTH ().

De omvang van de geëxtraheerde descriptoren wordt bestuurd door de optie SIZE, d.w.z. de breedte in pixels van een ruimtelijke bak (herinneren dat een SIFT descriptor is een ruimtelijk histogram met 4 x 4 bins).


De bemonsteringsdichtheid wordt bestuurd door de optie STEP, die de horizontale en verticale verplaatsing van elke functie Cetner naar de volgende.

De bemonsterde beeldgebied wordt gecontroleerd door de optie verlopen, het definiëren van een rechthoek in welke functies worden comptued. Een descriptor is bij de rechthoek als alle centra van de ruimtelijke bakken zijn inbegrepen. De linkerbovenhoek descriptor wordt geplaatst, zodat de-uppler links ruimtelijke bin centrum is algined met de linkerbovenhoek van de rechthoek.

Standaard VL_DSIFT () berekent functies gelijk aan VL_SIFT (). Echter, de FAST optie worden gebruikt voor het inschakelen van een variant van de descriptor (zie VLFeat C API documentatie voor meer details), die weliswaar niet strikt gelijk, het is veel sneller.

VL_DSIFT () accepteert de volgende opties:

Extracten een SIFT descriptor elke stap pixels.

Een ruimtelijke bin beslaat SIZE pixels.

Bounds [hele afbeelding]

Hiermee geeft u een rechthoekig gebied waar de beschrijvingen moeten worden afgezogen. Het formaat is [xMin, yMin XMAX, YMAX]. Als deze optie niet wordt opgegeven, wordt het de entiere gebruikt. Het selectiekader wordt geknipt om het beeld heen.

Indien gespecificeerd, draagt ​​bij aan de FRAMES ouptut argument een derde rij containint de descriptor norm, of engergy, voordat contrast normalisatie. Deze informatie kan worden gebruikt om lage contrast descriptors onderdrukken.

Indien gespecificeerd, gebruik dan een stuksgewijze-flat, in plaats van Gauss, window functie. Hoewel deze breekt exacte equivalentie Zeef, in de praktijk veel sneller te berekenen.

Indien opgegeven, wordt de descriptor geretourneerd in floating point in plaats van integer-formaat.

Geef de geometrie van de descriptor als [NX NY NO], waarbij NX is het aantal bin in de X-richting, NY in de Y-richting, en de NO nubmer oriëntatie bakken.

Indien gespecificeerd, zijn breedsprakig.

BETREKKING TOT DE SIFT DETECTOR

In de standaard SIFT detector / tem, uitgevoerd door VL_SIFT (), is de grootte van een ruimtelijk bak met betrekking tot de keypoint schaal door een vermenigvuldiger, genaamd vergrotingsfactor en aangeduid magnif. Daarom is de keypoint schaal overeenkomend met de descriptoren geëxtraheerd VL_DSIFT () gelijk aan SIZE / magnif. VL_DSIFT () maakt geen gebruik van magnif omdat, door het gebruik van dichte bemonstering, vermijdt dat het opsporen van sleutelpunten in de eerste plance.

VL_DSIFT () niet glad de afbeelding als SIFT doet. Daarom, om gelijkwaardige resultaten te verkrijgen, het beeld moet worden approriately pre-gladgestreken. Bedenk dat in SIFT, voor een Keypoint van de schaal S, is het beeld pre-afgevlakt door een Gauss variantie S. ^ 2 – 1/4 (zie VL_SIFT () en VLFeat C API documentatie).

Dit voorbeeld produceert gelijk SIFT omschrijvingen gebruikt VL_DSIFT () en VL_SIFT ():

De gelijkwaardigheid is nooit exact te wijten aan (i) grens effecten en (ii) het feit dat VL_SIFT () downsamples het beeld om berekening op te slaan. Het is echter gewoonlijk zeer goed.

In categorisering is het vaak nuttig om onder-glad het beeld, comared standaard SIFT, met het oog op de hellingen scherp te houden.

Verdere details over de geometrie

Zoals gezegd, de VL_DSIFT () descriptoren hebben betrekking op de selectiekader opgegeven door GRENZEN = [xMin YMIN XMAX YMAX]. Zo is de top-links bin van de top-links descriptor wordt geplaatst op (Xmin, YMIN). De volgende drie bakken aan de rechterkant zijn op xMin + SIZE, xMin + 2 * SIZE, xMin + 3 * SIZE. de X coordiante van het centrum van de eerste descriptor is daarom bij (xMin + xMin + 3 * SIZE) / 2 = xMin + 3/2 * SIZE. Als bijvoorbeeld Xmin = 1 en SIZE = 3 (standaardwaarden), X-coördinaat van de centrum van de eerste descriptor is 1 + 3/2 * 3 = 5,5. Voor de tweede descriptor onmiddellijk rechts ervan Hierdoor 5,5 + STEP, enzovoort.

Bron: www.vlfeat.org

Leave a comment

Your email address will not be published.


*


tien + veertien =