Title: Feature tracking Class 5
1Feature trackingClass 5
- Read Section 4.1 of course notes
- http//www.cs.unc.edu/marc/tutorial/node49.html
- Read Shi and Tomasis paper on good features to
track - http//www.unc.edu/courses/2004fall/comp/290/089/p
apers/shi-tomasi-good-features-cvpr1994.pdf - Read Lowes paper on SIFT features
- http//www.unc.edu/courses/2004fall/comp/290/089/p
apers/Lowe_ijcv03.pdf
2Dont forget Assignment 1(due by next Tuesday
before class)
- Find a camera
- Calibration approach 1
- Build/use calibration grid (2 orthogonal planes)
- Perform calibration using (a) DLT and (b)
complete gold standard algorithm (assume error
only in images, model radial distortion, ok to
click points by hand) - Calibration approach 2
- Build/use planar calibration pattern
- Use Bouguets matlab calibration toolbox
(Zhangs approach) - http//www.vision.caltech.edu/bouguetj/calib_doc/
- (or implement it yourself for extra points)
- Compare results of approach 1(a),1(b) and 2
- Make short report of findings and be ready to
discuss in class
3Single view metrology
- Allows to relate height of point to height of
camera
4Single view metrology
- Allows to transfer point from one plane to another
5Feature trackingClass 5
- Read Section 4.1 of course notes
- http//www.cs.unc.edu/marc/tutorial/node49.html
- Read Shi and Tomasis paper on good features to
track - http//www.unc.edu/courses/2004fall/comp/290/089/p
apers/shi-tomasi-good-features-cvpr1994.pdf - Read Lowes paper on SIFT features
- http//www.unc.edu/courses/2004fall/comp/290/089/p
apers/Lowe_ijcv03.pdf
6Feature matching vs. tracking
Image-to-image correspondences are key to passive
triangulation-based 3D reconstruction
Extract features independently and then match by
comparing descriptors
Extract features in first images and then try to
find same feature back in next view
What is a good feature?
7Comparing image regions
- Compare intensities pixel-by-pixel
I(x,y)
I(x,y)
Dissimilarity measures
Sum of Square Differences
8Comparing image regions
- Compare intensities pixel-by-pixel
I(x,y)
I(x,y)
Similarity measures
Zero-mean Normalized Cross Correlation
9Feature points
- Required properties
- Well-defined
- (i.e. neigboring points should all be
different) - Stable across views
(i.e. same 3D point should be extracted as
feature for neighboring viewpoints)
10Feature point extraction
Find points that differ as much as possible from
all neighboring points
homogeneous
edge
corner
11Feature point extraction
- Approximate SSD for small displacement ?
- Image difference, square difference for pixel
12Feature point extraction
homogeneous
edge
corner
Find points for which the following is maximum
i.e. maximize smallest eigenvalue of M
13Harris corner detector
- Use small local window
- Maximize cornerness
- Only use local maxima, subpixel accuracy through
second order surface fitting - Select strongest features over whole image and
over each tile (e.g. 1000/image, 2/tile)
14Simple matching
- for each corner in image 1 find the corner in
image 2 that is most similar (using SSD or NCC)
and vice-versa - Only compare geometrically compatible points
- Keep mutual best matches
What transformations does this work for?
15Feature matching example
What transformations does this work for?
What level of transformation do we need?
16Wide baseline matching
- Requirement to cope with larger variations
between images - Translation, rotation, scaling
- Foreshortening
- Non-diffuse reflections
- Illumination
geometric transformations
photometric changes
17Wide-baseline matching example
(Tuytelaars and Van Gool BMVC 2000)
18Lowes SIFT features
(Lowe, ICCV99)
- Recover features with position, orientation and
scale
19Position
- Look for strong responses of DOG filter
(Difference-Of-Gaussian) - Only consider local maxima
20Scale
- Look for strong responses of DOG filter
(Difference-Of-Gaussian) over scale space - Only consider local maxima in both position and
scale - Fit quadratic around maxima for subpixel
21Orientation
- Create histogram of local gradient directions
computed at selected scale - Assign canonical orientation at peak of smoothed
histogram - Each key specifies stable 2D coordinates (x, y,
scale, orientation)
22Minimum contrast and cornerness
23SIFT descriptor
- Thresholded image gradients are sampled over
16x16 array of locations in scale space - Create array of orientation histograms
- 8 orientations x 4x4 histogram array 128
dimensions
24(No Transcript)
25Matas et al.s maximally stable regions
- Look for extremal regions
http//cmp.felk.cvut.cz/matas/papers/matas-bmvc02
.pdf
26Mikolaczyk and Schmid LoG Features
27Feature tracking
- Identify features and track them over video
- Small difference between frames
- potential large difference overall
- Standard approach
- KLT (Kanade-Lukas-Tomasi)
28Good features to track
- Use same window in feature selection as for
tracking itself - Compute motion assuming it is small
- Affine is also possible, but a bit harder (6x6 in
stead of 2x2)
29Example
30Example
31Synthetic example
32Good features to keep tracking
- Perform affine alignment between first and last
frame - Stop tracking features with too large errors
33Live demo
LKdemo
34Next class triangulation and reconstruction
m1
C1
L1
Triangulation
- calibration
- correspondences