43
CS 556: Computer Vision Lecture 3 Prof. Sinisa Todorovic [email protected] 1

CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

CS 556: Computer Vision

Lecture 3

Prof. Sinisa Todorovic

[email protected]

1

Page 2: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Interest Points

• Harris corners

• Hessian points

• SIFT Difference-of-Gaussians

• SURF

2

Page 3: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Properties of Interest Points

• Locality -- robust to occlusion, noise

• Saliency -- rich visual cue

• Stable under affine transforms

• Distinctiveness -- differ across distinct objects

• Efficiency -- easy to compute3

Page 4: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Example of Detecting Harris Corners

4

Page 5: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Harris Corner Detector

5

homogeneous region⇓

no change in all directions

edge⇓

no change along the edge

corner⇓

change in all directions

Source: Frolova, Simakov, Weizmann Institute

scanning window

Page 6: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Harris Corner Detector

6

2D convolutionSource: Frolova, Simakov, Weizmann Institute

E(x, y) = w(x, y) ⇤ [I(x + u, y + v)� I(x, y)]2

Page 7: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Harris Corner Detector

7

change weighting window shifted image original image

Source: Frolova, Simakov, Weizmann Institute

E(x, y) =X

m,n

w(m, n)[I(x + u + m, y + v + n)� I(x + m, y + n)]2

Page 8: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Harris Detector Example

8

input image

E(x, y)I(x, y)

2D map of changes

Page 9: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Harris Corner Detector

9

image derivatives along x and y axes

Taylor series expansion

For small shiftsu � 0v � 0

I(x + u, y + v) ⇡ I(x, y) +@I

@x

u +@I

@y

v

I(x + u, y + v) ⇡ I(x, y) + [Ix

I

y

]

u

v

Page 10: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Harris Corner Detector

10

E(x, y) = w(x, y) ⇤✓

I(x, y) + [Ix

I

y

]

u

v

�� I(x, y)

◆2

= w(x, y) ⇤✓

[Ix

I

y

]

u

v

�◆2

= w(x, y) ⇤✓

[Ix

I

y

]

u

v

�◆T ✓[I

x

I

y

]

u

v

�◆

Page 11: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Harris Corner Detector

11

E(x, y) = w(x, y) ⇤ [u v]

I

x

I

y

�[I

x

I

y

]

u

v

= [u v]✓

w(x, y) ⇤

I

2x

(x, y) I

x

(x, y)Iy

(x, y)I

x

(x, y)Iy

(x, y) I

2y

(x, y)

�◆

| {z }M(x,y)

u

v

Page 12: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Weighted Image Gradient

12

Image is discrete ⇒ Gradient is approximate

We always find the gradient of the kernel !

w(x, y;�) ⇤ I

x

(x, y) = w

x

(x, y;�) ⇤ I(x, y)

w(x, y;�) ⇤ Iy(x, y) = wy(x, y;�) ⇤ I(x, y)

Page 13: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Harris Corner Detector

13

E(x, y) = [u v]M(x, y)

u

v

M(x, y) =

(wx

⇤ I)2 (wx

⇤ I)(wy

⇤ I)(w

x

⇤ I)(wy

⇤ I) (wy

⇤ I)2

(x,y)

Page 14: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Eigenvalues and Eigenvectors of M

• Eigenvectors of M -- directions of the largest change of E(x,y)

• Eigenvalues of M -- the amount of change along eigenvectors14

��1

��2

E(x, y) = [u v]M(x, y)

u

v

Page 15: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Detection of Harris Corners using the Eigenvalues of M

15

�2

�1

Page 16: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Harris Detector

16

f(�) =�1(�)�2(�)

�1(�) + �2(�)=

det(M(�))trace(M(�))

objective function

Page 17: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Harris Detector Example

17

input image

Page 18: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Harris Detector Example

18

f values color codedred = high valuesblue = low values

Page 19: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Harris Detector Example

19

f values thresholded

Page 20: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Harris Detector Example

20

Harris features = Spatial maxima of f values

Page 21: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Example of Detecting Harris Corners

21

Page 22: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

22

Hessian determinantHessian determinant

!"

#$%

&=

yyxy

xyxx

IIII

IHessian )(

2))(det( xyyyxx IIIIHessian −=

Ixx

Ixy

Hessian detector (Beaudet, 1978)Hessian detector (Beaudet, 1978)

Iyy

Source: Tuytelaars

Page 23: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Hessian Detector

23

E(x, y) = [u v]H(x, y)

uv

H(x, y;�) = w(x, y;�) ⇤

Ixx

(x, y) Ixy

(x, y)Ixy

(x, y) Iyy

(x, y)

H(x, y;�) =

wxx

(x, y;�) ⇤ I(x, y) wxy

(x, y;�) ⇤ I(x, y)w

xy

(x, y;�) ⇤ I(x, y) wyy

(x, y;�) ⇤ I(x, y)

Page 24: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Hessian Detector

24

objective function

f(�) =�1(�)�2(�)

�1(�) + �2(�)=

det(H(�))trace(H(�))

Page 25: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Properties of Harris Corners

• Invariance to variations of imaging parameters:

• Illumination?

• Camera distance, i.e., scale ?

• Camera viewpoint, i.e., affine transformation?

25

Page 26: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Harris/Hessian Detector is NOT Scale Invariant

26 Source: L. Fei-Fei

“edge”

“edge”“edge”

“corner”

Page 27: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

27

Automatic scale selectionAutomatic scale selection

)),((1

σxIfmii�

Function responses for increasing scale Scale trace (signature)

Source: Tuytelaars

Page 28: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

28

Automatic scale selectionAutomatic scale selection

)),((1

σxIfmii�

Function responses for increasing scale Scale trace (signature)

Source: Tuytelaars

Page 29: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

29

Automatic scale selectionAutomatic scale selection

)),((1

σxIfmii�

Function responses for increasing scale Scale trace (signature)

Source: Tuytelaars

Page 30: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

30

Automatic scale selectionAutomatic scale selection

)),((1

σxIfmii�

Function responses for increasing scale Scale trace (signature)

Source: Tuytelaars

Page 31: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

31

Automatic scale selectionAutomatic scale selection

)),((1

σxIfmii�

Function responses for increasing scale Scale trace (signature)

Source: Tuytelaars

Page 32: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

32

Automatic scale selectionAutomatic scale selection

)),((1

σxIfmii�

Function responses for increasing scale Scale trace (signature)

Source: Tuytelaars

Page 33: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

33

Automatic scale selectionAutomatic scale selection

)),((1

σxIfmii�

Function responses for increasing scale Scale trace (signature)

)),((1

σxIfmii "

Source: Tuytelaars

Page 34: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

34

Automatic scale selectionAutomatic scale selection

)),((1

σxIfmii�

Function responses for increasing scale Scale trace (signature)

)),((1

σxIfmii "

Source: Tuytelaars

Page 35: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

35

Automatic scale selectionAutomatic scale selection

)),((1

σxIfmii�

Function responses for increasing scale Scale trace (signature)

)),((1

σxIfmii "

Source: Tuytelaars

Page 36: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

36

Automatic scale selectionAutomatic scale selection

)),((1

σxIfmii�

Function responses for increasing scale Scale trace (signature)

)),((1

σxIfmii "

Source: Tuytelaars

Page 37: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

37

Automatic scale selectionAutomatic scale selection

)),((1

σxIfmii�

Function responses for increasing scale Scale trace (signature)

)),((1

σxIfmii "

Source: Tuytelaars

Page 38: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

38

Automatic scale selectionAutomatic scale selection

)),((1

σxIfmii�

Function responses for increasing scale Scale trace (signature)

)),((1

σxIfmii "

Source: Tuytelaars

Page 39: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

39

Automatic scale selectionAutomatic scale selection

)),((1

σxIfmii�

Function responses for increasing scale Scale trace (signature)

)),((1

σ ""xIfmii� Source: Tuytelaars

Page 40: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Popular Kernels: Difference of Gaussians

40

DoG(�) = G(x, y; k�)�G(x, y;�)

G(x, y;�) =

1p2⇡�

exp

✓�x

2+ y

2

2�

2

Difference ofGaussians

Gaussian

w(�) ⇤ I

Page 41: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

Selected Scales = Extrema of DoG/Laplacian

• Convolve the image with Gaussians whose sigma increases

• Then, subsample, and repeat the convolutions

• Finally, find extrema in the 3D DoG or Laplacian space41 Source: D. Lowe

Page 42: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

SIFT Detector

• Find a local maximum of

• simultaneously in:

• 2D space of the image

• Scale

42

scale

x

y

← DoG →

← D

oG →

E(x, y;�) = DOG(x, y;�) ⇤ I(x, y)

Page 43: CS 556: Computer Vision Lecture 3 - College of Engineeringweb.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/lectures/CS556_3.pdfHarris Corner Detector 5 homogeneous region ⇓ no

SURF Detector

43

E(x, y) = [u v]H(x, y)

uv

Hessian matrix

H(x, y;�) =

wxx

(x, y;�) ⇤ I(x, y) wxy

(x, y;�) ⇤ I(x, y)w

xy

(x, y;�) ⇤ I(x, y) wyy

(x, y;�) ⇤ I(x, y)

implemented using Haar wavelets