Skip to content

SiftExtraction

Michal W. Tarnowski edited this page Oct 6, 2021 · 1 revision

SiftExtraction.num_threads

default: -1
Number of threads for feature extraction.

SiftExtraction.use_gpu

default: 1 (enabled)
Whether to use the GPU for feature extraction.

SiftExtraction.gpu_index

default: -1
Index of the GPU used for feature extraction. For multi-GPU extraction, you should separate multiple GPU indices by comma, e.g. "0,1,2,3". See: Multi-GPU support in feature extraction/matching

SiftExtraction.max_image_size

default: 3200
Maximum image size, otherwise image will be down-scaled.

SiftExtraction.max_num_features

default: 8192
Maximum number of features to detect, keeping larger-scale features.

SiftExtraction.first_octave

default: -1
First octave in the pyramid, i.e. -1 upsamples the image by one level. By convention, the octave of index 0 starts with the image full resolution. Specifying an index greater than 0 starts the scale space at a lower resolution (e.g. 1 halves the resolution). Similarly, specifying a negative index starts the scale space at an higher resolution image, and can be useful to extract very small features (since this is obtained by interpolating the input image, it does not make much sense to go past -1).

SiftExtraction.num_octaves

default: 4
Number of octaves. Increasing the scale by an octave means doubling the size of the smoothing kernel, whose effect is roughly equivalent to halving the image resolution. By default, the scale space spans as many octaves as possible (i.e. roughly log2(min(width, height))), which has the effect of searching keypoints of all possible sizes.

SiftExtraction.octave_resolution

default: 3
Number of levels per octave. Each octave is sampled at this given number of intermediate scales. Increasing this number might in principle return more refined keypoints, but in practice can make their selection unstable due to noise.

SiftExtraction.peak_threshold

default: 0.0067
Peak threshold for detection. This is the minimum amount of contrast to accept a keypoint. Increase to eliminate more keypoints.

SiftExtraction.edge_threshold

default: 10
Edge threshold for detection. Decrease to eliminate more keypoints.

SiftExtraction.estimate_affine_shape

default: 0 (disabled)
Estimate affine shape of SIFT features in the form of oriented ellipses as opposed to original SIFT which estimates oriented disks.

SiftExtraction.max_num_orientations

default: 2
Maximum number of orientations per keypoint if not SiftExtraction.estimate_affine_shape.

SiftExtraction.upright

default: 0 (disabled)
Fix the orientation to 0 for upright features.

SiftExtraction.domain_size_pooling

default: 0 (disabled)
Enable the more discriminative DSP-SIFT features instead of plain SIFT. Domain-size pooling computes an average SIFT descriptor across multiple scales around the detected scale. DSP-SIFT outperforms standard SIFT in most cases.
This was proposed in Domain-Size Pooling in Local Descriptors: DSP-SIFT, J. Dong and S. Soatto, CVPR 2015. This has been shown to outperform other SIFT variants and learned descriptors in Comparative Evaluation of Hand-Crafted and Learned Local Features, Schönberger, Hardmeier, Sattler, Pollefeys, CVPR 2016.

SiftExtraction.dsp_min_scale

default: 0.1667
Domain-size pooling parameters. See: SiftExtraction.domain_size_pooling

SiftExtraction.dsp_max_scale

default: 3
Domain-size pooling parameters. See: SiftExtraction.domain_size_pooling

SiftExtraction.dsp_num_scales

default: 10
Domain-size pooling parameters. See: SiftExtraction.domain_size_pooling