Local Features - Week 5/6/7 Flashcards

1
Q

What are the two types of object recognition?

A

Model based object recognition - Find the razors given a 3D model

Image based object recognition - Given a picture of the razor find the razors in the image

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a feature in computer vision?

A

Local, meaningful, detectable parts of the image

Location of a sudden change

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Why are features useful in computer vision?

A

They have a high information content

Invariant to change of view point, illumination

Reduces computational burden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Why are features useful in computer vision?

A

They have a high information content

Invariant to change of view point, illumination

Reduces computational burden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are some applications of image features?

A

Visual SLAM (simultaneous Localisation and Mapping)

Image Matching (Are two images of the same thing?)

Image alignment
3D reconstruction
Motion Tracking
Indexing and database retrieval
Robot Navigation
Other…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the procedure for image stitching?

A

Detect feature points in both images
Find corresponding pairs
Use these pairs to align the images

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the general approach to finding and describing features in images?

A
  1. Find a set of distinctive key points (interest points)
  2. Define a region around each key point (interest point)
  3. Extract and normalise the region content
  4. Compute a local descriptor from the normalised region
  5. Match local descriptors
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the requirements for local features?

A

Region extraction needs to be repeatable and:
- Invariant to translation, rotation, scale changes
- Robust or covariant to out-of-plane (~affine) transformations
Robust to lighting variations, noise, blue, quantisation

Locality: Features are local, therefore robust fo occlusion and clusster

Quantity: Need a sufficient number of regions to cover the object

Distinctiveness - The regions should contain “interesting” structure.

Efficiency - Close to real-time performance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Why are corners good for features?

A

Edges only localise in one direction

Corners provide repeatable points for matching, so are worth detecting.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the idea behind Harris corner detection?

A

In the region around a corner, image gradient has two or more dominant directions.

So shifting a window around a corner in any direction should give a large change in intensity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the three distinctive interest points for corners?

A

“flat” region: no change in all directions

“Edge” region: no change along the edge direction

“Corner” significant change in all directions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How is the 2x2 matrix M computed for a region that is being checked for a corner? What actually is M?

A

the gradient with respect to x times the gradient with respect to y multiplied by the window function at the point same point

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the three types of covariance matrices?

A

Spherical, Diagonal and full covariances

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Given eigenvalues lambda 1 and 2 of the M matrix of a point on the image, what identifies flat, edge and corner regions?

A

If both lambdas are small, then E is almost constant in all directions, so the region is flat

If one lambda is much greater than the other then it is an edge region

If both lambdas are large and lambda1 ~ lambda2 then the region is a corner

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How is the R corner response in the Harris Corner Detector calculated?

A

R = Det(M) - alpha * trace(M)^2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How does the value R in the Harris Corner Detector related to the image regions?

A

The flat regions R has a low value

For Corner regions, R has a high value

For edge regions R has a negative value

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

How does the value R in the Harris Corner Detector related to the image regions?

A

The flat regions R has a low value

For Corner regions, R has a high value

For edge regions R has a negative value

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is the Harris corner detector workflow?

A

Compute the corner responses R

Find the points with large corner responses through thresholding.

Take only the local maxima of R

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Why do we need to sum over a window for the uniform window function but not for the gaussian window?

A

By computing gaussian blur in the first place we’ve already computed the weighted sum

20
Q

Do Harris detectors provide rotation invariance?

A

Yes the corner response is invariant to the image rotation

21
Q

Do Harris detectors provide scale invariance?

A

No, if only looking at a small area, a corner could be classified as many edges

22
Q

What are the advantages of the Harris detector providing interest points

A

Precise localisation
High repeatability

In order to compare these points, we need to compute a descriptor over a region. Scale invariant interest regions

23
Q

What is the naive approach to scale invariant region selection / description?

A

Multi-scale procedure, compare descriptors while varying the patch size.

Computationally inefficient, still possible for matching

Prohibitive for retrieval in large databases

Prohibitive for recognition

24
Q

What is the solution to scale invariant region selection?

A

To design a function on the region which is “scale invariant” (the same for corresponding regions, even if they are at different scales) to use as the descriptor

25
Q

What is the common approach to automatic scale selection?

A

Take a signature function (Maybe scale-invariant?) (e.g. a good one is the laplacian of the gaussian filter - the second derivative of 2D gaussian)

Compute the signature function at different region sizes, find the maximum of the function at those scales, the region size for which the maximum is achieved should be invariant to image scale.

The two f against region size plots are generated separately from each other, then their local maximums are computed and compared.

26
Q

Is the Laplacian a scalar?

A

Yes, can be found using a single mask

27
Q

Does the laplacian of an image retain orientation information?

A

No, orientation information is lost

28
Q

What effect does taking the laplacian of an image have on noise

A

The Laplacian is the the sum of second-order derivatives of the image.

Taking derivatives increases noise, so the laplacian is very noise sensitive.

29
Q

What is the laplacian always paired with?

A

It is always paired with a smoothing operation, to deal with the fact that is amplifies noise.

30
Q

How is the characteristic scale defined?

A

The scale that produces peak of Laplacian response

31
Q

What can be used as an approximation of Laplacian of Gaussian?

A

Difference of gaussians
Take the gaussian with a value sigma, and a scaled value k*sigma and compute their difference, producing a similar function to the laplacian of gaussians

32
Q

What is the state of the art for feature matching?

A

SIFT

33
Q

How is feature invariance achieved?

A
  1. Make sure the feature detector is invariant to translation, rotation and scale
    - Know how to find interest points (locations and their corresponding characteristic scales)
    - Know how to remove the effects of difference in scale once we detect one of these interest points
  2. Design an invariant feature descriptor
34
Q

What is the disadvantage of using patches with pixel intensities as descriptors?

A

Small changes (scale, rotation, 3D viewpoint change) can affect matching score a lot

35
Q

What is a better method for descriptors than pixel intensities?

A

Histogram of gradient directions of the patch

36
Q

How are rotation invariant descriptors created?

A

Final local orientation
- Dominant direction of gradient for the image patch

Rotate the patch according to the above angle
- This puts the patches into a canonical orientation

37
Q

How does SIFT describe features?

A

It first gets features and normalises them (typically to 16x16 size), say with DoG (Difference of gaussians - approximation of Laplacian).

Then it gets the gradient orientation over a 16x16 pixel region around the interest point. Computes a histogram of image gradient orientation for all pixels within 4 4x4 sub-patches, makes a histogram of them in 8 bins.

All of the histogram counts are then concatenated to give a 128 dimension descriptor vector for the feature.

38
Q

What do the sift descriptors of one image yield?

A

For each feature / patch:
- 128-dimensional descriptor: each is a histogram of the gradient orientations within a patch
- A scale parameter specifying the size of the patch
- An orientation parameter specifying the specifying the angle of the patch
- 2D points giving the position of each patch

39
Q

How is the best feature for each feature determined?

A
  1. Define a distance function that compares two descriptors
  2. Test all the features in one image to a feature in the other, find the one with minimum distance
40
Q

What common distance functions exist to compare features?

A

SSD - Sum squared distance of the descriptor, can give good scores to ambiguous matches (think fence tops)

Ratio distance = SSD(f1,f2) / SSD(f1,f2’)
Where f is the best SSD match, f’ is the second best SSD match. Gives large values (~1) for ambiguous matches

41
Q

How are bad feature matches removed?

A

Thresholding based on the feature distance (matches with a distance greater than e.g. 100, removed)

42
Q

What are true positives for feature matches?

A

The number of detected matches which are correct

43
Q

What are false positives for feature matches?

A

The number of detected matches that are incorrect

44
Q

What curve is used to evaluate a feature matcher?

A

An ROC curve (“Receiver Operator Characteristic”)

45
Q

What is the true positive rate for feature matches?

A

The number of matches found by the matcher / The number of potentially correct matches

46
Q

What is the false positive rate for feature matches?

A

The number of matches found by the matcher that were incorrect / The number of features that don’t actually have a match

47
Q

What are some of the applications of features?

A

Image alignment (e.g. mosaics)
3D reconstruction
Motion Tracking
Object recognition
Indexing and database retrieval
Robot navigation
Panorama stitching
Recognition of specific objects