Distinctive Image Feature from Scale-Invariant KeyPoints
Published byModified over 5 years ago
Presentation on theme: "Distinctive Image Feature from Scale-Invariant KeyPoints"— Presentation transcript:
1 Distinctive Image Feature from Scale-Invariant KeyPoints David G. Lowe, 2004
2 Presentation Content Introduction Related Research Algorithm Keypoint localizationOrientation assignmentKeypoint descriptorRecognizing images using keypoint descriptorsAchievements and ResultsConclusion
3 IntroductionImage matching is a fundamental aspect of many problems in computer vision.So how do we do that?
4 Scale Invariant Feature Transform (SIFT) Object or Scene recognition.Using local invariant image features. (keypoints)ScalingRotationIllumination3D camera viewpoint (affine)Clutter / noiseOcclusionRealtime
5 Related Research Corner detectors Moravec 1981 Harris and Stepens 1988 Zhang 1995Torr 1995Schmid and Mohr 1997Scale invariantCrowley and Parker 1984Shokoufandeh 1999Lindeberg 1993, 1994Lowe 1999 (this author)Invariant to full affine transformationBaumberg 2000Tuytelaars and Van Gool 2000Mikolajczyk and Schmid 2002Schaffalitzky and Zisserman 2002Brown and Lowe 2002
6 Keypoint DetectionGoal: Identify locations and scales that can be repeatably assigned under differing views of the same object.Keypoints detection is done at a specific scale and locationDifference of gaussian function
7 Search for stable features across all possible scales D(x, y, σ) = (G(x, y, kσ) − G(x, y, σ)) ∗ I (x, y)= L(x, y, kσ) − L(x, y, σ).σ = amount of smoothingk = constant : 2^(1/s)
8 KeyPoint Detection Reasonably low cost Scale sensative Number of scale samples per octave?
9 3 scale samples per octave where used (although more is better).
10 Determine amount of smoothing (σ) Loss of high frequency information so double up
11 Accurate Keypoint Localization (1/2) Use Taylor expansion to determine the interpolated location of the extrema (local maximum). Calculate the extrema at this exact location and discart extrema below 3% difference of it surroundings.
12 Accurate Keypoint Localization (2/2) Eliminating Edge ResponsesDeffine a Hessian matrix with derivatives of pixel values in 4 directionsDetirmine ratio of maxiumum eigenvalue divided by smaller one.
14 Orientation Assignment Caluculate orientation and magnitude of gradients in each pixelHistogram of orientations of sample points near keypoint.Weighted by its gradient magnitude and by a Gaussian-weighted circular window with a σ that is 1.5 times that of the scale of the keypoint.
15 Stable orientation results Multiple keypoints for multiple histogram peaksInterpolation
16 The Local Image Discriptor We now can find keypoints invariant to location scale and orientation.Now compute discriptors for each keypoint.Highly distinctive yet invariant for illumination and 3D viewpoint changes.Biologically inspired approach.
17 Divide sample points around keypoint in 16 regions (4 regions used in picture) Create histogram of orientations of each region (8 bins)Trilinear interpolation.Vector normalization
18 Descriptor TestingThis graph shows the percent of keypoints giving the correct match to a database of 40,000 keypoints as a function of width of the n×n keypoint descriptor and the number of orientations in each histogram. The graph is computed for images with affine viewpoint change of 50 degrees and addition of 4% noise.
19 Keypoint MatchingLook for nearest neighbor in database (euclidean distance)Comparing the distance of the closest neighbor to that of the second-closest neighbor.Distance closest / distance second-closest > 0.8 then discard.
20 Efficient Nearest Neighbor Indexing . 128-dimensional feature vectorBest-Bin-First (BBF)Modified k-d tree algorithm.Only find an approximate answer.Works well because of 0.8 distance rule.
21 Clustering with the Hough Transform Select 1% inliers among 99% outliersFind clusteres of features that vote for the same object pose.2D locationScaleOrientationLocation relative to original training image.Use broad bin sizes.
22 Solution for Affine Parameters An affine transformation correctly accounts for 3D rotation of a planar surface under orthographic projection, but the approximation can be poor for 3D rotation of non-planar objects. Basiclly: we do not create a 3D representation of the object.
23 The affine transformation of a model point [x y] to an image point [u v] can be written as Outliers are discardedNew matches can be found by top-down matching