You are on page 1of 68

EECE 5639 Computer Vision I

Lecture 1
Corners, Invarianc
Hw2 has been poste
Next Clas
Descriptors, Model Fitting

1
s

Point Features
Corners

Corners are useful


Which city?

3
Corners are useful

Textureless patches are nearly impossible to localize.

4
Corners are useful

Patches with large contrast are easier to nd.

5
fi
Corners are useful

Patches with large contrast are easier to nd, but edges cannot be localized.

6
fi
Corners are useful

Corners are easier!!

7
Harris Corner Detector
The Harris corner detector gives a mathematical approach for
determining the amount of changes when we move in all directions a
small window.

8
Harris Corner Detector
Change of intensity for the shift [u,v]:

Change
Window In
Function Intensity

Window w(x,y):

Harris Detector

M is computed from the


gradient components

10
Harris Detector

Intensity change in shifting window eigenvalue analysis:

11
Classi cation via Eigenvalues

12
fi
Corner Response Measure

13
Corner Response Measure

R = det M - k trace2(M)

14
Corner Response Example

R score; Gradient computed with Sobel mask


Window Gaussian, sigma=1

15

Corner Response Example: Edges

R < - 10000

16
Corner Response Example: Corners

R > 10000

17
Corner Response Example:

-10000 < R < 10000


Neither edges nor corners

18

Harris Corner Detection Algorithm


Compute the Image Gradient
Ix = Gx,s * I and Iy = Gy,s *
Compute products of derivatives at each pixe
I2x = Ix . Ix and I2y = Iy. Iy and Ixy = Ix . I
Compute the sums of the products at each pixel using a window
averaging
S2x = Gs’ * I2x S2y = Gs’ * I2y Sxy = Gs’ * Ix
De ne the Matrix at each pixel M = [S2x Sxy ; Sxy S2y]
Compute the response R = det M - k trace(M)2
Threshold
Compute Nonmax suppression

19
fi
:

Invariance Properties
Af ne Intensity Change

20
fi
Invariance Properties
Rotation

Eigenvalues do not change -> Invariant

Scale

Not Invariant!

21
Example

22
Example

23
Example

Harris corner detector nds local maxima at different set of


points, depending on the scale of the window we sum over.

24
fi
Scale Invariant Interest Points

25
Scale Invariant Interest Points
How can we independently select interest points in each image, such
that the detections are repeatable across different scales?

26
Scale Invariant Interest Points

27
Scale Invariant Interest Points

28
Scale Invariant Interest Points
Our goal is to match objects in different images

29
Scale Invariant Interest Points
Our goal is to match objects in different images

• Find interest points in each image


• Form a vector description of each point
• Compare the vectors
30

Scale Invariant Detection

Intuition: Find scale that gives local maxima of some function


f in both, position and scale.
31
Scale Invariant Detection
Design a function on the region (circle), which is “scale invariant”
(the same for corresponding regions, even if they are at different scales)


– For a point in one image, we can consider it as a function of region size (circle radius)
– Find the local maxima (scale invariant)

Example: average intensity. For corresponding regions (even of different sizes) it will be the same.

f Image 1
f Image 2

scale = 1/2

region size
region size

32

Scale at Local Maxima

33
Automatic Scale Selection
Scale signature: Function response for increasing scale

34
Automatic Scale Selection
Scale signature: Function response for increasing scale

35
Automatic Scale Selection
Scale signature: Function response for increasing scale

36
Automatic Scale Selection
Scale signature: Function response for increasing scale

37
Automatic Scale Selection
Scale signature: Function response for increasing scale

38
Automatic Scale Selection
Scale signature: Function response for increasing scale

39
Automatic Scale Selection
Scale signature: Function response for increasing scale

40
Automatic Scale Selection
Scale signature: Function response for increasing scale

41
Automatic Scale Selection
Scale signature: Function response for increasing scale

42
Automatic Scale Selection
Scale signature: Function response for increasing scale

43
What can be a “signature” function f?

44
How is it a “blob” detector

45
How is it a “blob” detector

46
How is it a “blob” detector

47
How is it a “blob” detector

48
How is it a “blob” detector

49
Gaussian Derivatives

50
Gaussian Derivatives: LoG

51
“Characteristic Scale”
Scale that produces a peak of Laplacian Response.

52
LoG

53
LoG

54
LoG

55
LoG

56
LoG

57
LoG

58
Scale-Space Blob Detection
Interest points are local maxima in both position and scale.

List of x,y, sigma

59
Example

60
Computation Time
Computing LoG requires convolutions at different scale
Large σ requires large lters (more time to compute)

61
fi
s

Scale Invariant Detection


Functions for determining scale

Kernels:

(Laplacian)

(Difference of Gaussians)
(more efficient to implement)

where Gaussian

Note: both kernels are invariant to scale


and rotation

62

DoG Approximation of the LoG

63
Scale Invariant Detectors
Harris-Laplacian
Find local maximum of:
Harris corner detector in space (image coordinates

← Laplacian →
Laplacian in scale
scale

← Harris (corner) → x

• SIFT (Lowe) scale

← DoG →
Find local maximum of:
– Difference of Gaussians in
space and scale y

← DoG → x
64


D. Lowe’s DoG
Compute a Gaussian Image Pyrami
Compute Difference of Gaussians at every scal
Find local maxima in scal

65
e

D. Lowe’s DoG
Compute a Gaussian Image Pyrami
Compute Difference of Gaussians at every scal
Find local maxima in scal

66
e

D. Lowe’s DoG
Compute a Gaussian Image Pyrami
Compute Difference of Gaussians at every scal
Find local maxima in scal

67
e

D. Lowe’s DoG
Compute a Gaussian Image Pyrami
Compute Difference of Gaussians at every scal
Find local maxima in scal

68
e

You might also like