• 沒有找到結果。

Outline • Features H i d • Harris corner detector • SIFT • Applications Features Features (2)Features • Also known as interesting points, salient points or keypoints Points that you can easily point or keypoints

N/A
N/A
Protected

Academic year: 2022

Share "Outline • Features H i d • Harris corner detector • SIFT • Applications Features Features (2)Features • Also known as interesting points, salient points or keypoints Points that you can easily point or keypoints"

Copied!
38
0
0

加載中.... (立即查看全文)

全文

(1)

Features

Digital Visual Effects, Spring 2009g , p g Yung-Yu Chuang

2009/3/19 2009/3/19

with slides by Trevor Darrell Cordelia Schmid David Lowe Darya Frolova Denis Simakov with slides by Trevor Darrell Cordelia Schmid, David Lowe, Darya Frolova, Denis Simakov, Robert Collins and Jiwon Kim

Announcements

• Project #1 will be due next Wednesday, around a week from now You have a total of 10 delay a week from now. You have a total of 10 delay days without penalty, but you are advised to use them wisely

use them wisely.

• We reserve the rights for not including late h k f tif t ti

homework for artifact voting.

• Project #2 will be assigned next Thursday.

Outline

• Features

H i d

• Harris corner detector

• SIFT

• Applications

Features

Features

(2)

Features

• Also known as interesting points, salient points or keypoints Points that you can easily point or keypoints. Points that you can easily point out their correspondences in multiple images using only local information

using only local information.

?

Desired properties for features

• Distinctive: a single feature can be correctly matched with high probability

matched with high probability.

• Invariant: invariant to scale, rotation, affine, ill i ti d i f b t t hi illumination and noise for robust matching across a substantial range of affine distortion,

i i t h d Th t i it i viewpoint change and so on. That is, it is repeatable.

Applications

• Object or scene recognition

S f i

• Structure from motion

• Stereo

• Motion tracking

•• …

Components

• Feature detection locates where they are

F d i i d ib h h

• Feature description describes what they are

• Feature matching decides whether two are the same one

(3)

Harris corner detector Harris corner detector

Moravec corner detector (1980)

• We should easily recognize the point by looking through a small window

through a small window

• Shifting a window in any direction should give a

l h i i t it

large change in intensity

Moravec corner detector

flat

Moravec corner detector

flat

(4)

Moravec corner detector

flat edgeg

Moravec corner detector

flat edge corner

i l t d i t g isolated point

Moravec corner detector

Change of intensity for the shift [u,v]:

[ ]

+ +

=

y x

y x I v y u x I y x w v

u E

,

) 2

, ( ) ,

( ) , ( )

, (

y x,

window shifted intensity

function intensity

intensity

Four shifts: (u,v) = (1,0), (1,1), (0,1), (-1, 1)( ) ( ) ( ) ( ) ( ) Look for local maxima in min{E}

Problems of Moravec detector

• Noisy response due to a binary window function O l f hif 45 d i

• Only a set of shifts at every 45 degree is considered

• Only minimum of E is taken into account

ÖHarris corner detector (1988) solves these problems

problems.

(5)

Harris corner detector

Noisy response due to a binary window function

¾U G i f i

¾Use a Gaussian function

Harris corner detector

Only a set of shifts at every 45 degree is considered

¾C id ll ll hif b T l ’ i

¾Consider all small shifts by Taylor’s expansion

[ ]

+ +

= w x y I x u y v I x y

v u

E( , )

( , )

[

( , ) ( , )

]

2

y x

y y

y

,

) , ( ) ,

( ) , ( )

, (

[ ]

+ +

= w(x,y) I u I v O(u2,v2) 2

+ +

= Au Cuv Bv

v u

E( , ) 2 2 2

[ ]

+ +

y x

y

xu I v O u v

I y x w

,

) , ( )

, (

=

y x

x x y

I y x w A

,

2( , ) )

, ( ) , (

=

y x

y x y

I y x w B

,

2( , ) )

, (

=

y x

y

x x y I x y

I y x w C

,

) , ( ) , ( ) , (

Harris corner detector

Equivalently, for small shifts [u,v] we have a bilinear i ti

approximation:

[ ]

⎢ ⎤

≅ ⎡

v v u

u v u

E( , ) M

, where M is a 2×2 matrix computed from image derivatives:

( ) Ix2 IxIy

M

⎢ ⎦

⎢⎣

=

y

x x y y

y

I I y I x w

,

) 2

, M (

Harris corner detector (matrix form) x

u x

u I

0

I

0

E ( ) = | ( + ) − ( ) |

2

u

T

I I

I ⎟⎟ ⎞ −

⎜⎜ ⎛ + ∂

=

2

u u I

I ⎟⎟ ⎠

⎜⎜ ⎝ + ∂

=

2

0 0

u u I

T

= ∂

2

u

T T

II

u u u

T

u I I

= ∂

Mu u

T

=

(6)

Harris corner detector

Only minimum of E is taken into account

¾A b i i i h

¾A new corner measurement by investigating the shape of the error function

represents a quadratic function; Thus, we can analyze E’s shape by looking at the property

Mu u

T

can analyze E s shape by looking at the property of M

Harris corner detector

High-level idea: what shape of the error function will we prefer for features?

will we prefer for features?

80 100

80 100

80 100

20 40 60

20 40 60

20 40 60

10 12 10

0 20

10 12 10

0 20

10 12 10

0 20

0 2 4 6 8

0 5

0 2 4 6 8 10

0 5

0 2 4 6 8 10

0 5

fl d

flat edge corner

Quadratic forms

• Quadratic form (homogeneous polynomial of degree two) of n variables x

degree two) of n variables xi

• Examples

=

Symmetric matrices

• Quadratic forms can be represented by a real symmetric matrix A where

symmetric matrix A where

(7)

Eigenvalues of symmetric matrices

Brad Osgood

Eigenvectors of symmetric matrices

Eigenvectors of symmetric matrices

T

x Q Λ Q x

Ax x

T T

T

=

= 1 z z

T

( ) ( ) Q Q x Λ Λ Q Q x x

x

T T

=

T

=

1 1q λ

2 2q

λ

z z = 1

( ) ( )

Λy y

x Q Λ x Q

=

T

( ) ( ) Λ

21

y

T

Λ

12

y

T

= x

T

x = 1

z z

T

=

Harris corner detector

Intensity change in shifting window: eigenvalue analysis

λ1, λ2 – eigenvalues of M

[ ]

⎢ ⎤

≅ ⎡u

v u v u

E( , ) , M

direction of the

Elli E( )

⎥⎦

⎣v

direction of the slowest change direction of the

fastest change

Ellipse E(u,v) = const

g

max)-1/2

min)-1/2

(8)

Visualize quadratic functions

T

⎥⎤

⎢⎡

⎥⎤

⎢⎡

⎥⎤

⎢⎡

⎥=

⎢ ⎤

=⎡1 0 1 0 1 0 1 0

A

⎢ ⎦

⎥⎣

⎢ ⎦

⎥⎣

⎢ ⎦

=⎣

⎥⎦

⎢⎣

= 0 1 0 1 0 1 0 1

A

Visualize quadratic functions

T

⎥⎤

⎢⎡

⎥⎤

⎢⎡

⎥⎤

⎢⎡

⎥=

⎢ ⎤

= ⎡4 0 1 0 4 0 1 0

A

⎢ ⎦

⎥⎣

⎢ ⎦

⎥⎣

⎢ ⎦

=⎣

⎥⎦

⎢⎣

= 0 1 0 1 0 1 0 1

A

Visualize quadratic functions

T

⎥⎤

⎢⎡ −

⎥⎤

⎢⎡

⎥⎤

⎢⎡ −

⎥⎤

⎢⎡3.25 1.30 0.50 0.87 1 0 0.50 0.87

A

⎢ ⎦

⎣− −

⎥⎦

⎢⎣

⎥⎦

⎢⎣− −

⎥=

⎢ ⎦

=⎣

50 . 0 87 . 0 4 0 50 . 0 87 . 0 75

. 1 30 . A 1

Visualize quadratic functions

T

⎥⎤

⎢⎡ −

⎥⎤

⎢⎡

⎥⎤

⎢⎡ −

⎥⎤

⎢⎡7.75 3.90 0.50 0.87 1 0 0.50 0.87

A

⎢ ⎦

⎣− −

⎥⎦

⎢⎣

⎥⎦

⎢⎣− −

⎥=

⎢ ⎦

=⎣

50 . 0 87 . 0 10 0 50 . 0 87 . 0 25

. 3 90 . A 3

(9)

Harris corner detector

λ2 edge Classification of λ2

Corner

λ andλ are large

edge λ2>> λ1 image points

using eigenvalues

of M: λ1and λ2are large,

λ1 ~ λ2;

Eincreases in all

of M:

directions

λ1and λ2are small;

Eis almost constant edge

flat

λ1

s a ost co sta t

in all directions flat λ1>> λ2

λ1

Harris corner detector

4 )

( 00 11 2 10 01

11

00 a a a a a

a + ± +

λ = Only for reference,

you do not need

Measure of corner response:

= 2

λ you do not need

them to compute R

Measure of corner response:

(

trace

)

2

detM k M

R detM k

(

traceM

)

R= −

d M

λ λ

2 1

2 1

trace det

λ λ

λ λ

+

=

= M M

(k – empirical constant k = 0 04-0 06)

2 1

(k empirical constant, k 0.04 0.06)

Harris corner detector Another view

(10)

Another view Another view

Summary of Harris detector

1. Compute x and y derivatives of image I

G

Ix = σxIy =GσyI

2. Compute products of derivatives at every pixel

3 C t th f th d t f

x

x Ix I

I 2 = ⋅ Iy2 = IyIy Ixy = IxIy

3. Compute the sums of the products of derivatives at each pixel

2

2 ' x

x G I

S = σSy2 =Gσ'Iy2 Sxy =Gσ'Ixy

Summary of Harris detector

4. Define the matrix at each pixel

⎥⎥

⎢⎢

=⎡

) , ( )

, (

) , ( )

, ) (

, (

2 2

y x S y x S

y x S y x y S

x

M x xy

5 Compute the response of the detector at each

⎥⎦

⎢⎣Sxy(x,y) Sy2(x, y)

5. Compute the response of the detector at each pixel

(

trace

)

2

detM k M

R = −

6. Threshold on value of R; compute nonmax i

( )

suppression.

(11)

Harris corner detector (input) Corner response R

Threshold on R Local maximum of R

(12)

Harris corner detector Harris detector: summary

• Average intensity change in direction [u,v] can be expressed as a bilinear form:

expressed as a bilinear form:

[ ]

u

v u v u

E( , ) , M

• Describe a point in terms of eigenvalues of M:

[ ]

⎢ ⎦

≅ ⎣ v v u v u

E( , ) , M

p g

measure of corner response

(

1 2

)

2

2

1

λ λ λ

λ

− +

= k

R

• A good (corner) point should have a large intensity change in all directions i e R should be large

(

1 2

)

2

1

λ λ λ

λ

k +

R

change in all directions, i.e. R should be large positive

Now we know where features are

• But, how to match them?

Wh i h d i f f ? Th

• What is the descriptor for a feature? The

simplest solution is the intensities of its spatial i hb Thi i ht t b b t t

neighbors. This might not be robust to brightness change or small shift/rotation.

1 2 3

4 5 6

7 8 9

( )

7 8 9

(

1 2 3 4 5 6 7 8 9

)

Corner detection demo

http://www cim mcgill ca/ dparks/CornerDetector/mainApplet htm http://www.cim.mcgill.ca/~dparks/CornerDetector/mainApplet.htm

(13)

Harris detector: some properties

• Partial invariance to affine intensity change 9 Only derivatives are used =>

invariance to intensity shift I → I + b 9 Intensity scale: I → a I

R R

R

threshold

R

x(image coordinate) x(image coordinate)

Harris Detector: Some Properties

• Rotation invariance

Ellipse rotates but its shape (i.e. eigenvalues) remains the same

the same

Corner response Ris invariant to image rotation

Harris Detector is rotation invariant

Repeatability rate:

# correspondences

# correspondences

# possible correspondences

Harris Detector: Some Properties

• But: non-invariant to image scale!

All points will be

l ifi d d Corner !

classified as edges

(14)

Harris detector: some properties

• Quality of Harris detector for different scale changes

changes

Repeatability rate:

# d

# correspondences

# possible correspondences

Scale invariant detection

• Consider regions (e.g. circles) of different sizes around a point

around a point

• Regions of corresponding sizes will look the i b th i

same in both images

Scale invariant detection

• The problem: how do we choose corresponding i l i d d tl i h i ?

circles independently in each image?

• Aperture problem

SIFT

(Scale Invariant Feature Transform)

(15)

SIFT

• SIFT is an carefully designed procedure with empirically determined parameters for the empirically determined parameters for the invariant and distinctive features.

SIFT stages:

• Scale-space extrema detection

K i l li i detector

• Keypoint localization

• Orientation assignment

detector

d i t

• Keypoint descriptor descriptor

( ) ( )

local descriptor A 500 500 i i b 2000 f

A 500x500 image gives about 2000 features

1. Detection of scale-space extrema

• For scale invariance, search for stable features across all possible scales using a continuous across all possible scales using a continuous function of scale, scale space.

SIFT D G filt f l b it i

• SIFT uses DoG filter for scale space because it is efficient and as stable as scale-normalized L l i f G i

Laplacian of Gaussian.

DoG filtering

Convolution with a variable-scale Gaussian

Difference-of-Gaussian (DoG) filter

Convolution with the DoG filter

(16)

Scale space

σ doubles for the next octave the next octave

K=2(1/s)

Dividing into octave is for efficiency only.

Detection of scale-space extrema

Keypoint localization

X is selected if it is larger or smaller than all 26 neighbors

Decide scale sampling frequency

• It is impossible to sample the whole space, tradeoff efficiency with completeness

tradeoff efficiency with completeness.

• Decide the best sampling frequency by

i ti 32 l i bj t t experimenting on 32 real image subject to synthetic transformations. (rotation, scaling,

ffi t t h b i ht d t t h

affine stretch, brightness and contrast change, adding noise…)

(17)

Decide scale sampling frequency

for detector, repeatability repeatability for descriptor, p , distinctiveness

s=3 is the best for larger s too many unstable features s=3 is the best, for larger s, too many unstable features

Decide scale sampling frequency

Pre-smoothing

σ =1 6 plus a double expansion σ =1.6, plus a double expansion

Scale invariance

(18)

2. Accurate keypoint localization

• Reject points with low contrast (flat) and poorly localized along an edge (edge) poorly localized along an edge (edge)

• Fit a 3D quadratic function for sub-pixel i

maxima

6 6

5

1

1 00 +1

-1 +1

2. Accurate keypoint localization

• Reject points with low contrast and poorly localized along an edge

localized along an edge

• Fit a 3D quadratic function for sub-pixel i

maxima

6

2

2 ) 0 ( ) '' 0 ( ' ) 0 ( )

( f x

x f f x

f + +

3 61

6

5 2 6 2 3 2

2 2 6 6 )

(x x x x x

f + + = +

3 ˆ=1 0 x

6 2 ) (

' x = x= f

1 1 1 2 1

1 0 +1

3 61 3 3 1 3 2 1 6 ˆ)

( =

+

= x f 0 1

-1 +1

3 1

2. Accurate keypoint localization

• Taylor series of several variables

• Two variables

f f 1 2f 2f 2f

⎟⎟

⎜⎜

+

+

+

⎟⎟

⎜⎜

+

+

2 2 2

2 ) 1

0 , 0 ( ) ,

( y

y y xy f y x x f

x x y f

y x f x f f

y x f

2f 2f

[ ]

+

+

⎟⎟

⎜⎜

⎟⎟

⎜⎜

y x f f

y x

f x x

f y y x

x y f x f f

y

f x 2 2

2 1 0

0

⎝ ⎦

⎝ ⎦ y

y y

f y x y f

y x

y 0 2

( ) ( )0

1 2

+

+ f f

f

f T

( ) ( ) T x

x x x x

0

x 2

2

+ +

f f

f

f T

Accurate keypoint localization

• Taylor expansion in a matrix form, x is a vector, f maps x to a scalar

f maps x to a scalar

Hessian matrix

⎛ ∂f ⎛ ∂2f2f2fHessian matrix (often symmetric)

⎟⎟

⎟⎞

⎜⎜

⎜⎛

∂∂

f x f

1 ⎟⎟⎟⎞

⎜⎜

⎜⎛

2 2

2

1 2

1 2

1 n

f f

f

x x

f x

x f x

f L

gradient

⎟⎟

⎜⎜

x

f

M1 ⎟⎟⎟⎟

⎜⎜

⎜⎜

2 2

2 2 2

1 2 2

xn

x f x

f x

x f

M O M

M

L

⎟⎟

⎟⎟

⎜ ⎠

⎜⎜

⎝ ∂

∂fM

⎟⎟

⎜⎜

2 2 2

2f f f

L M O M

M

⎟⎠

⎜⎝ ∂xn

⎜ ⎠

⎝∂xnx1xnx2xn2

(19)

2D illustration 2D example

17 1 1 -17 -1 -1 7 7

9

7 7 7

7 -9

9 7 7

-9

Derivation of matrix form

x g x)= T (

h ∂h =

x g x)= (

h =

∂x

Derivation of matrix form

x g x)= T (

h(x)=g x ⎛ ∂h

h

( )

⎛ xM1

⎟⎞

⎜⎜

⎜⎛

x g

h

h 1 1

( )

⎟⎟

⎜ ⎠

=

n n

x g

g1 L M g

x =

⎟⎟

⎜ ⎠

⎜⎜

=

⎟⎟

⎜⎜

⎜ ∂

∂ =

h g

h M M

n

= n gixi

⎟ ⎝

⎜ ⎠

⎝ ∂ n n

x g

i= i

gi 1

(20)

Derivation of matrix form

Ax x x)= T (

h

∂h =

x h

Derivation of matrix form

( )

Ta11 L a1nx1

Ax x x)= T (

h

( )

⎟⎟

⎜ ⎠

⎜⎜

⎟⎝

⎟⎟

⎜ ⎠

⎜⎜

= n T

x a a

x

x M

L M O M L

1 1

∑∑

n n an1 annxn

∑∑

= =

=

i j

j i ijx x a

1 1

⎞ ⎛

⎛ ∂h n n

⎟⎟

⎟⎞

⎜⎜

⎜⎛ +

⎟⎟

⎜⎜

∑ ∑

= =

n

i

n

j

j j i

i x a x

x a h

h 1 1

1 1

1 A x Ax

x

T +

=

⎟⎟

⎟⎟

⎜⎜

⎜⎜

+

=

⎟⎟

⎟⎟

⎜⎜

⎜⎜

= ∂

n

n

j

x a x

h a

h 1

M M

A AT )

⎟⎟ (

⎜⎜ ⎠

⎟ +

⎜ ⎠

⎝ ∂

∑ ∑

= =

i j

j nj i

in n

x a x

x 1 a 1 =(AT +A)x

Derivation of matrix form

f f

f f

f

hT 1⎜⎛∂22 T ⎟⎞ ∂ T2

f f x

f x f

f h

2 2

2 2

1

x x

x x

x

x

+ ∂

= ∂

⎟⎟

⎜⎜

∂ +∂

∂ + ∂

= ∂

Accurate keypoint localization

• x is a 3-vector

• Change sample point if offset is larger than 0 5

• Change sample point if offset is larger than 0.5

• Throw out low contrast (<0.03)

(21)

Accurate keypoint localization

• Throw out low contrast |D(xˆ)|<0.03

1 2

T D

D

x

x x x x

x ˆ ˆ

2 ˆ 1 ˆ)

(

2 1 1 2

2 2 2

T T

T

T D

D D D

+

+

=

x x x x x x

x 2

ˆ 1

1 2 2 2 1 2

2 T 2

D D D D D

D D

+ +

=

x x x x x x

x 2

ˆ 1

1 2 2 2 2 2

2 T

T

T D D D D D

D D

+

+

=

x x x x

x 2

ˆ 1

1 2 2

T T

T

T D D D

D D

+

+

=

x x x x

1

ˆ) 2 (

ˆ 1

T

T T

D

D D D

+

+

=

x xˆ 2 1 DT

D

+

=

Eliminating edge responses

Hessian matrix at keypoint locationyp

L t Let

r=10 Keep the points with

Maxima in D Remove low contrast and edges

(22)

Keypoint detector

233x89 832 extrema

729 after con- t t filt i

536 after cur- trast filtering vature filtering

3. Orientation assignment

• By assigning a consistent orientation, the

keypoint descriptor can be orientation invariant keypoint descriptor can be orientation invariant.

• For a keypoint, L is the Gaussian-smoothed i ith th l t l

image with the closest scale,

(Lx Ly) (Lx, Ly) m

θ

orientation histogram (36 bins)

Orientation assignment Orientation assignment

(23)

Orientation assignment Orientation assignment

σ=1.5*scale of the keypointy

Orientation assignment Orientation assignment

(24)

Orientation assignment

accurate peak position is determined by fittingy g

Orientation assignment

36-bin orientation histogram over 360°

36 bin orientation histogram over 360 , weighted by m and 1.5*scale falloff Peak is the orientation

Peak is the orientation

Local peak within 80% creates multiple orientations

orientations

About 15% has multiple orientations and they contribute a lot to stability

0

y y

0

SIFT descriptor 4. Local image descriptor

• Thresholded image gradients are sampled over 16x16 array of locations in scale space

• Create array of orientation histograms (w.r.t. key orientation)

8 orientations x 4x4 histogram array 128 dimensions

• 8 orientations x 4x4 histogram array = 128 dimensions

• Normalized, clip values larger than 0.2, renormalize

σ=0.5*width

(25)

Why 4x4x8? Sensitivity to affine change

Feature matching

• for a feature x, he found the closest feature x1 and the second closest feature x If the

and the second closest feature x2. If the

distance ratio of d(x, x1) and d(x, x1) is smaller than 0 8 then it is accepted as a match

than 0.8, then it is accepted as a match.

SIFT flow

(26)

Maxima in D Remove low contrast

Remove edges SIFT descriptor

(27)

Estimated rotation

• Computed affine transformation from rotated image to original image:

image to original image:

0.7060 -0.7052 128.4230 0 7057 0 7100 128 9491 0.7057 0.7100 -128.9491 0 0 1.0000

• Actual transformation from rotated image to i i l i

original image:

0.7071 -0.7071 128.6934 0.7071 0.7071 -128.6934 0 0 1.0000

SIFT extensions SIFT extensions

PCA

(28)

PCA-SIFT

• Only change step 4

P i f l l di

• Pre-compute an eigen-space for local gradient patches of size 41x41

• 2x39x39=3042 elements

• Only keep 20 componentsy p p

• A more compact descriptor

GLOH (Gradient location-orientation histogram)

SIFT SIFT

17 location bins 17 location bins 16 orientation bins

Analyze the 17x16=272-d Analyze the 17x16 272 d

eigen-space, keep 128 components SIFT is still considered the best.

Multi-Scale Oriented Patches

• Simpler than SIFT. Designed for image matching.

[Brown Szeliski Winder CVPR’2005]

[Brown, Szeliski, Winder, CVPR 2005]

• Feature detector

– Multi-scale Harris corners

– Orientation from blurred gradient – Geometrically invariant to rotation

• Feature descriptor

– Bias/gain normalized sampling of local patch (8x8) – Photometrically invariant to affine changes in y g

intensity

Multi-Scale Harris corner detector

= 2 s

• Image stitching is mostly concerned with g g y matching images that have the same scale, so sub-octave pyramid might not be necessary.py g y

(29)

Multi-Scale Harris corner detector

smoother version of gradients

Corner detection function:

Pick local maxima of 3x3 and larger than 10

Keypoint detection function

Experiments show roughly h f

the same performance.

Non-maximal suppression

• Restrict the maximal number of interest points, but also want them spatially well distributed but also want them spatially well distributed

• Only retain maximums in a neighborhood of di

radius r.

• Sort them by strength, decreasing r from infinity until the number of keypoints (500) is satisfied.

Non-maximal suppression

(30)

Sub-pixel refinement Orientation assignment

• Orientation = blurred gradient

Descriptor Vector

• Rotation Invariant Frame

S l iti ( ) i t ti (θ) Scale-space position (x, y, s) + orientation (θ)

MOPS descriptor vector

• 8x8 oriented patch sampled at 5 x scale. See TR for details

for details.

• Sampled from with i 5

spacing=5

8 pixels

(31)

MOPS descriptor vector

• 8x8 oriented patch sampled at 5 x scale. See TR for details

for details.

• Bias/gain normalisation: I’ = (I – μ)/σ

• Wavelet transform

8 pixels

Detections at multiple scales

Summary

• Multi-scale Harris corner detector S b i l fi

• Sub-pixel refinement

• Orientation assignment by gradients

• Blurred intensity patch as descriptor

Feature matching

• Exhaustive search

f h f t i i l k t ll th th – for each feature in one image, look at all the other

features in the other image(s)

Hashing

• Hashing

– compute a short descriptor from each feature vector, or hash longer descriptors (randomly)

or hash longer descriptors (randomly)

• Nearest neighbor techniques

– k-trees and their variants (Best Bin First)

(32)

Wavelet-based hashing

• Compute a short (3-vector) descriptor from an 8x8 patch using a Haar “wavelet”

8x8 patch using a Haar wavelet

• Quantize each value into 10 (overlapping) bins

• Quantize each value into 10 (overlapping) bins (103 total entries)

[B S li ki Wi d CVPR’2005]

• [Brown, Szeliski, Winder, CVPR’2005]

Nearest neighbor techniques

• k-D tree and and

• Best Bin First (BBF)

Indexing Without Invariants in 3D Object Recognition, Beis and Lowe, PAMI’99

Applications Applications

Recognition

SIFT Features

(33)

3D object recognition 3D object recognition

Office of the past

Video of desk Images from PDF Internal representation

Track &

recognize recognize

Desk Desk

T T+1

Scene Graph

Image retrieval

> 5000 5000 images

change in viewing angle

(34)

Image retrieval

22 correct matches

Image retrieval

> 5000 5000 images change in viewing angle

change in viewing angle + scale change

Robot location Robotics: Sony Aibo

SIFT is used for

¾ Recognizing

¾ Recognizing charging station

¾ Communicating g with visual cards

¾ Teaching object recognition

¾ soccer

(35)

Structure from Motion

• The SFM Problem

Reconstruct scene geometry and camera motion – Reconstruct scene geometry and camera motion

from two or more images

Track

2D Features EstimateEstimate

3D Optimize

(Bundle Adjust) Fit Surfaces

SFM Pipelinep

Structure from Motion

Poor mesh Good mesh

Augmented reality Automatic image stitching

(36)

Automatic image stitching Automatic image stitching

Automatic image stitching Automatic image stitching

(37)

Reference

• Chris Harris, Mike Stephens, A Combined Corner and Edge Detector, 4th Alvey Vision Conference, 1988, pp147-151.

• David G. Lowe, Distinctive Image Features from Scale-Invariant Keypoints, International Journal of Computer Vision, 60(2), 2004, pp91-110

pp91 110.

• Yan Ke, Rahul Sukthankar, PCA-SIFT: A More Distinctive Representation for Local Image Descriptors, CVPR 2004.

• Krystian Mikolajczyk, Cordelia Schmid, A performance evaluation of local descriptors, Submitted to PAMI, 2004.

SIFT Keypoint Detector David Lowe

SIFT Keypoint Detector, David Lowe.

Matlab SIFT Tutorial, University of Toronto.

Project #2 Image stitching

• Assigned: 3/26

Ch k i 11 59 4/12

• Checkpoint: 11:59pm 4/12

• Due: 11:59am 4/22

• Work in pairs

Reference software

• Autostitch

http:// cs bc ca/ mbro n/a tostitch/a tostitch html http://www.cs.ubc.ca/~mbrown/autostitch/autostitch.html

• Many others are available online.

Tips for taking pictures

• Common focal point

R i i l FOV

• Rotate your camera to increase vertical FOV

• Tripod

• Fixed exposure?

(38)

Bells & whistles

• Recognizing panorama B dl dj

• Bundle adjustment

• Handle dynamic objects

• Better blending techniques

Artifacts

• Take your own pictures and generate a stitched image be creative

image, be creative.

http://www.cs.washington.edu/education/courses/cse590ss/01wi/projec ts/project1/students/allen/index.html

Submission

• You have to turn in your complete source, the executable a html report and an artifact executable, a html report and an artifact.

• Report page contains:

description of the project, what do you learn, algorithm, implementation details, results, bells and whistles…

• Artifacts must be made using your own program.

Reference

• Chris Harris, Mike Stephens, A Combined Corner and Edge Detector, 4th Alvey Vision Conference, 1988, pp147-151.

• David G. Lowe, Distinctive Image Features from Scale-Invariant Keypoints, International Journal of Computer Vision, 60(2), 2004, pp91-110

pp91 110.

• Yan Ke, Rahul Sukthankar, PCA-SIFT: A More Distinctive Representation for Local Image Descriptors, CVPR 2004.

• Krystian Mikolajczyk, Cordelia Schmid, A performance evaluation of local descriptors, Submitted to PAMI, 2004.

SIFT Keypoint Detector David Lowe

SIFT Keypoint Detector, David Lowe.

Matlab SIFT Tutorial, University of Toronto.

參考文獻

相關文件

play soccer, watch TV, sing karaoke, play computer games, read books, play board games.. draw, make models, listen to music, dance, paint, do

exploring, climbing, dancing, watching TV, swimming, singing, playing soccer cute, athletic, friendly, strong, funny, smart.. Let’s go

In this final project, you are going to be part of an exciting machine learning competition. Consider a startup company that features a coming product on the

5 Create features of V1,V2 and testing data sets for validation set blending, including the predictions of models in step 2 and some optional extra features.. 6 Treat V1 as the

context, which language features / patterns might we guide students to notice and help them infer rules or

An electronic textbook is a comprehensive and self-contained curriculum package with digital print-on demand contents and electronic features (e-features include multimedia

 Teachers have to understand the salient features of the three pedagogical approaches of Direct Instruction, Enquiry Learning and Co-construction outlined below and

• You can make good use of this opportunity and become more aware of the importance of teaching information texts with an explicit emphasis on understanding the features of academic