Академический Документы
Профессиональный Документы
Культура Документы
Camera Models
1 / 38
Outline
1
Feature Detection Harris Corner Tomasis Good Feature Comparison SIFT Feature Descriptors SIFT Descriptors Feature Matching Summary Exercise Further Reading Reference
Leow Wee Kheng (CS4243) Camera Models 2 / 38
3 4 5 6 7
Feature Detection
Feature Detection
For image registration, need to obtain correspondence between images. Basic idea: detect feature points, also called keypoints match feature points in dierent images Want feature points to be detected consistently and matched correctly. Many features available Harris corner Tomasis good features to track SIFT: Scale Invariant Feature Transform SURF: Speeded Up Robust Feature GLOH: Gradient Location and Orientation Histogram etc.
Leow Wee Kheng (CS4243) Camera Models 3 / 38
Feature Detection
Harris Corner
Harris Corner
Observation:
x
A shifted corner produces some dierence in the image. A shifted uniform region produces no dierence. So, look for large dierence in shifted image.
Camera Models
4 / 38
Feature Detection
Harris Corner
Suppose an image patch W at x is shifted by a small amount x. Then, the sum-squared dierence at x is E (x ) =
x i W
(1)
(2)
This is also called the auto-correlation function. Apply Taylors series expansion to I (xi + x): I (xi + x, yi + y ) = I (xi , yi ) + I I x + y x y (3) (4) (5)
5 / 38
= I ( x i , yi ) + I x x + I y y = I ( x i ) + ( I ) x where I = (Ix , Iy ) .
Leow Wee Kheng (CS4243) Camera Models
Feature Detection
Harris Corner
[I x x + I y y ] 2
2 2 2 2 x + 2Ix Iy xy + Iy y Ix W
Ix Iy
A=
Ix Iy
W
(9)
Camera Models
6 / 38
Feature Detection
Harris Corner
A captures intensity pattern in W . Response R(x) of Harris corner detector is given by [HS88]: R(x) = det A (tr A)2 . (10)
Two ways to dene corners: (1) Large response The locations x with R(x) greater than certain threshold. (2) Local maximum The locations x where R(x) are greater than those of their neighbors, i.e., apply non-maximum suppression.
Camera Models
7 / 38
Feature Detection
Harris Corner
Many corners are detected near each other. So, better to nd local maximum.
Leow Wee Kheng (CS4243) Camera Models 8 / 38
Feature Detection
(11)
wIx Iy
A=
wIx Iy
W
(12)
Camera Models
9 / 38
Feature Detection
A is a 2 2 matrix. This means there exist scalar values 1 , 2 and vectors v1 , v2 such that A v i = i v i , i = 1, 2 (13)
1 if i = j 0 otherwise
(14)
Camera Models
10 / 38
Feature Detection
(1)
(3)
(1) If both i are small, then feature does not vary much in any direction. uniform region (bad feature) (2) If the larger eigenvalue 1 2 , then the feature varies mainly in the direction of v1 . edge (bad feature) (3) If both eigenvalues are large, then the feature varies signicantly in both directions. corner or corner-like (good feature) (4) In practice, I has a maximum value (e.g., 255). So, 1 , 2 also have an upper bound. So, only have to check that min(1 , 2 ) is large enough.
Camera Models
11 / 38
Feature Detection
Camera Models
12 / 38
Feature Detection
Comparison
Comparison
Tomasis good feature uses smallest eigenvalue min(1 , 2 ). Harris corner uses det A (tr A)2 = 1 2 (1 + 2 )2 . Brown et al. [BSW05] use the harmonic mean det A 1 2 = . tr A 1 + 2 (15)
Camera Models
13 / 38
Feature Detection
Camera Models
14 / 38
Feature Detection
Camera Models
15 / 38
Feature Detection
Camera Models
16 / 38
Feature Detection
Scale Invariance
Scale Invariance
In many applications, the scale of the object of interest may vary in dierent images.
Simple but inecient solution: Extract features at many dierent scales. Match them to the objects known features at a particular scale. More ecient solution: Extract features that are invariant to scale.
Leow Wee Kheng (CS4243) Camera Models 17 / 38
Feature Detection
SIFT
SIFT
Scale Invariant Feature Transform (SIFT) [Low04]. Convolve input image I with Gaussian G of various scale : L(x, y, ) = G(x, y, ) I (x, y ) where G(x, y, ) = 1 x2 + y 2 exp 2 2 2 2 (16)
(17)
This produces L at dierent scales. To detect stable keypoint, convolve image I with dierence of Gaussian: D(x, y, ) = (G(x, y, k ) G(x, y, )) I (x, y ) = L(x, y, k ) L(x, y, ).
Leow Wee Kheng (CS4243) Camera Models
(18)
18 / 38
Feature Detection
SIFT
Have 3 dierent scales within each octave (doubling of ). Successive DOG images are subtracted to produce D. D images in a lower octave are downsampled by factor of 2.
Leow Wee Kheng (CS4243) Camera Models 19 / 38
Feature Detection
SIFT
Detect local maximum and minimum of D(x, y, ): Compare a sample point with its 8 neighbors in the same scale and 9 neighbors in the scale above and below. Select it if it is larger or smaller than all neighbors. Obtain position x, y and scale of keypoint. Orientation of keypoint can be computed as (x, y ) = tan1 L(x, y + 1) L(x, y 1) . L(x + 1, y ) L(x 1, y ) (19)
Gradient magnitude of keypoint can be computed as m(x, y ) = (L(x + 1, y ) L(x 1, y ))2 + (L(x, y + 1) L(x, y 1))2 . (20)
Camera Models
20 / 38
Feature Detection
SIFT
Keypoints detected may include edge points. Edge points are not good because dierent edge points along an edge may look the same. To reject edge points, form the Hessian H for each keypoint H= and reject those for which tr H2 > 10. det H (22) Dxx Dxy Dxy Dyy (21)
Camera Models
21 / 38
Feature Detection
Better Invariance
Better Invariance
Rotation invariance Estimate dominant orientation of keypoint. Normalize orientation. Ane invariance Fit ellipse to auto-correlation function or Hessian. Apply PCA to determine principal axes. Normalize according to principal axes. For more details, refer to [Sze10] Section 4.1.1.
Camera Models
22 / 38
Feature Descriptors
Feature Descriptors
Why need feature descriptors? Keypoints give only the positions of strong features. To match them across dierent images, have to characterize them by extracting feature descriptors. What kind of feature descriptors? Able to match corresponding points across images accurately. Invariant to scale, orientation, or even ane transformation. Invariant to lighting dierence.
Camera Models
23 / 38
Feature Descriptors
SIFT Descriptors
SIFT Descriptors
Compute gradient magnitude and orientation in 16 16 region around keypoint location at the keypoints scale. Coordinates and gradient orientations are measured relative to keypoint orientation to achieve orientation invariance. Weighted by Gaussian window. Collect into 4 4 orientation histograms with 8 orientation bins. Bin value = sum of gradient magnitudes near that orientation.
Leow Wee Kheng (CS4243) Camera Models 24 / 38
Feature Descriptors
SIFT Descriptors
Get 4 4 8 = 128 element feature vector. Normalize feature vector to unit length to reduce eect of linear illumination change. To reduce eect of nonlinear illumination change, threshold feature values to 0.2 and renormalize feature vector to unit length.
Camera Models
25 / 38
Feature Descriptors
[MS05] found that GLOH performs the best, followed closely by SIFT.
Leow Wee Kheng (CS4243) Camera Models 26 / 38
Feature Descriptors
(b)
Feature Descriptors
Sample detected SURF keypoints. With adaptive non-maximal suppression, keypoints are well spread out.
(b)
28 / 38
Feature Matching
Feature Matching
Measure dierence as Euclidean distance between feature vectors:
1/2
d(u, v ) =
i
(ui v i )
(23)
Several possible matching strategies: Return all feature vectors with d smaller than a threshold. Nearest neighbor: feature vector with smallest d. Nearest neighbor distance ratio: NNDR = d1 d2 (24)
d1 , d2 : distances to the nearest and 2nd nearest neighbors. If NNDR is small, nearest neighbor is a good match.
Leow Wee Kheng (CS4243) Camera Models 29 / 38
Feature Matching
Some matches are correct, some are not. Can include other info such as color to improve match accuracy. In general, no perfect matching results.
Leow Wee Kheng (CS4243) Camera Models 30 / 38
Feature Matching
Feature matching methods can give false matches. Manually select good matches. Or use robust method to remove false matches:
True matches are consistent and have small errors. False matches are inconsistent and have large errors.
Camera Models
31 / 38
Summary
Summary
Harris corner detector and Tomasis algorithm nd corner points. SIFT keypoint: invariant to scale. SIFT descriptors: invariant to scale, orientation, illumination change. Variants of SIFT: PCA-SIFT, SURF, GLOH.
Camera Models
32 / 38
Summary
Software Available
SIFT code is available in Lowes web site: www.cs.ubc.ca/lowe/keypoints Available in OpenCV 2.1:
Corner detectors: Harris corner, Tomasis good feature. Subpixel corner location. Feature descriptors: SURF, StarDetector.
SciPy supports k -D Tree for nearest neighbor search. Fast nearest neighbor search library: mloss.org/software/view/143/ Approximate nearest neighbor search library: www.cs.umd.edu/mount/ANN/
Leow Wee Kheng (CS4243) Camera Models 33 / 38
Exercise
Exercise
(1) Derive the auto-correlation matrix A given in Eq. 9.
Camera Models
34 / 38
Further Reading
Further Reading
Subpixel location of corner: [BK08] p. 319321. Orientation and ane invariance: [Sze10] Section 4.1.1. SIFT: [Low04] SURF: [BTVG06] GLOH: [MS05] Adaptive non-maximal suppression: [Sze10] Section 4.1.1, [BSW05].
Camera Models
35 / 38
Reference
Reference I
Bradski and Kaehler. Learning OpenCV: Computer Vision with the OpenCV Library. OReilly, 2008. M. Brown, R. Szeliski, and S. Winder. Multi-image matching using multi-scale oriented patches. In Proc. CVPR, pages 510517, 2005. H. Bay, T. Tuytelaars, and L. Van Gool. SURF: Speeded up robust features. In Proc. ECCV, pages 404417, 2006. C. Harris and M. J. Stephens. A combined corner and edge detector. In Alvey Vision Conference, pages 147152, 1988.
Camera Models
36 / 38
Reference
Reference II
Y. Ke and R. Sukthankar. PCA-SIFT: a more distinctive representation for local image descriptors. In Proc. CVPR, pages 506513, 2004. D. G. Lowe. Distinctive image features from scale-invariant keypoints. Int. J. Computer Vision, 60:91110, 2004. K. Mikolajczyk and C. Schmid. A performance evaluation of local descriptors. IEEE Trans. on PAMI, 27(10):16151630, 2005.
Camera Models
37 / 38
Reference
Reference III
J. Shi and C. Tomasi. Good features to track. In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pages 593600, 1994. http://citeseer.nj.nec.com/shi94good.html, http://vision.stanford.edu/public/publication/. R. Szeliski. Computer Vision: Algorithms and Applications. Springer, 2010.
Camera Models
38 / 38