• The same keypoint can be found in several images despite geometric and photometric transformations. These points usually don’t keep moving around in the image. This helps tracking. • Saliency (Uniquely identifiable) • Each keypoint is distinctive • Compactness and efficiency • Many fewer keypoints than image pixels • Locality • A keypoint occupies a relatively small area of the image; robust to clutter and occlusion NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 5/18
looking through a small window • Shifting a window in any direction should give a large change in intensity NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 7/18
W for the shift [u, v]: E(u, v) ≈ u v x,y I2 x x,y Ix Iy x,y Ix Iy x,y I2 y u v • The surface E(u,v) is locally approximated by a quadratic form. • In which directions does it have the smallest/greatest change? NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 7/18
= x,y I2 x x,y Ix Iy x,y Ix Iy x,y I2 y • Analysis of λ1 and λ2 , the eigenvalues of M NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 7/18
= det(M) − k(trace(M))2 • |R| is small: λ1 and λ2 are small → the region is flat. • R < 0: λ1 >> λ2 or vice versa → the region is edge. • R is large: λ1 and λ2 are large and λ1 ∼ λ2 , → corner. • k is a sensitivity parameter, usually chosen in [0.04, 0.06]. • Kanade and Tomasi (1994): threshold R = min(λ1, λ2 ) • Experimentally, this score criteria was much better. • Nobel (1998): R = det(M) det(M) + ϵ NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 7/18
of image Ix and Iy • Compute three images corresponding to three terms in matrix M. Convolve these three images with a Gaussian filter. • Harris uses a Gaussian weighting instead: E(u, v) = (x,y)∈W w(x, y) [I(x + u, y + v) − I(x, y)]2 • Compute R(a, b) for every pixel (a, b) • Find local maxima by thresholding R and applying non maximum suppression. NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 7/18
image is transformed, corner locations doe not change. • covariance: when the image is transformed, corner locations get transformed with the same function. NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 7/18
J = aI + b • Only derivatives are used: invariance to intensity shift J = I + b • Intensity scaling: J = aI Corner location is not covariant to scaling! NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 7/18
pixels in an image that share some common property (E.g grayscale value). NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 9/18
the source images to several binary images by thresholding the source image with thresholds: minThreshold : thresholdStep : maxThreshold 2. Grouping: Extract connected components from every binary image and calculate their centers. 3. Merging: Blobs whose centers are located closer than minDistBetweenBlobs are merged. 4. Center and Radius Calculation: The centers and radii of the new merged blobs are computed and returned. NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 9/18
on bright regions in an image. • Blob = superposition of two ripples NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 10/18
y; σ) = σ2∆gσ ∗ f (x, y), gσ (x, y) = 1 2πσ2 e− x2+y2 2σ2 • σ2 is a scale normalization; without, lim σ→+∞ L(x, y; σ) = 0 • Strong positive responses for dark blobs (maximum response for σ = r/ √ 2). • Strong negative responses for bright blobs of similar size. • For a given blob, choose the right scale for the right blob size. NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 10/18
LoG at several scales. • Find local maxima of squared Laplacian response in scale-space • Select (x, y, σ) that maximizes NormalizedLoG(x, y, σ). 1T. Lindeberg. Feature detection with automatic scale selection. IJCV, 1998. NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 12/18
snσ0 . • Select the scale where the LoG response is maximum. • Accept a keypoints only if its scale is a local maximum across scales. • Remove weak keypoints using a threshold on Harris and LoG. 2K.Mikolajczyk, C.Shmitd ”Indexing Based on Scale invariant Interest Points”, 2001. NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 14/18
at multiple scales, allowing recognition regardless of image size. • Rotation Invariance: Features remain consistent even if the image is rotated. • Robust to Illumination Changes: Uses gradient-based descriptors, making it resistant to lighting variations. • Distinctive Features: Can match features across different images with high accuracy. NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 16/18
σ) that maximizes DoG(x, y, σ) (approximation of LoG) in all three dimensions. • Use of an efficient implementation. • Keypoints description: Definition of a feature vector for each keypoint. NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 16/18
images. • Images of the same octave have same size. • Each octave has 5 images obtained by increasing the blur. NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 16/18
images. • Image size reduction • Reason 1: when σ increases, the kernel size needed for precise calculations increases, and so do the calculation time. We reduce the image size instead of increasing σ. • Reason 2: After the convolution with the Gauss kernel, the higher frequencies in the image spectrum are almost erased - there is no gain in keeping a higher resolution NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 16/18
over the pixels. X is marked as a ”key point” if its DoG is the greatest or least of all 26 neighbors. NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 16/18
• Removing low contrast features in the DoG image. • Removing edges: use the Harris corner detector. NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 16/18
unique orientation to circular image windows: • Create histogram of local gradient directions in the patch • Assign canonical orientation at peak of smoothed histogram • Any later calculations are done relative to this orientation. This ensures rotation invariance. NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 16/18
keypoint. • A 16x16 window around the keypoint. This 16x16 window is broken into sixteen 4x4 windows. NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 16/18
keypoint. • Within each 4x4 window, gradient magnitudes and orientations are calculated. These orientations are put into an 8 bin histogram. NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 16/18
keypoint. • Form weighted histogram (8 bin) for 4x4 regions • Weight by magnitude and spatial Gaussian • Concatenate 16 histograms in one long vector of 128 dimensions. NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 16/18
robust to scaling and rotation. • The 16 × 16 size is chosen to ensure enough gradient information while still being computationally efficient. • The keypoint itself is located at the center of the region (which can be interpolated to subpixel accuracy), and the 16×16 patch is used to describe the local structure. • Dividing the 16 × 16 neighborhood into 4 × 4 subregions • Capturing Spatial Layout: If we computed a single histogram for the entire 16 × 16 region, we would lose information about the spatial arrangement of gradients. NHSM - 4th year: Computer vision - Keypoints (Week 3-5) - M. Hachama ([email protected]) 16/18