lecture 5: image interpolation and features cs4670: computer vision kavita bala

35
Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Upload: chastity-bridges

Post on 29-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Lecture 5: Image Interpolation and Features

CS4670: Computer VisionKavita Bala

Page 2: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Announcements

• Tell us if conflicts on PA 1 grading

• iclickerGo– Tell us if you don’t have it

Page 3: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Upsampling

• This image is too small for this screen:• How can we make it 10 times as big?

• Simplest approach: repeat each row and column 10 times

Page 4: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Image interpolation

Original image: x 10

Page 5: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Image interpolation

Also used for resampling

Page 6: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Upsampling

• This image is too small for this screen:• How can we make it 10 times as big?• Simplest approach:

repeat each row and column 10 times

• (“Nearest neighbor interpolation”)

Page 7: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Image interpolation

Recall how a digital image is formed

• It is a discrete point-sampling of a continuous function• If we could somehow reconstruct the original function, any new

image could be generated, at any resolution and scale

1 2 3 4 5

Adapted from: S. Seitz

d = 1 in this example

Page 8: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Image interpolation

1 2 3 4 5

d = 1 in this example

Recall how a digital image is formed

• It is a discrete point-sampling of a continuous function• If we could somehow reconstruct the original function, any new

image could be generated, at any resolution and scale

Adapted from: S. Seitz

Page 9: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Image interpolation

1 2 3 4 52.5

1

• Convert to a continuous function:

• Reconstruct by convolution with a reconstruction filter, h

• What if we don’t know ?• Guess an approximation:• Can be done in a principled way: filtering

d = 1 in this example

Adapted from: S. Seitz

Page 10: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Image interpolation

Nearest-neighbor interpolation

Linear interpolation

Source: B. Curless

Page 11: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Reconstruction filters• What does the 2D version of this hat function look like?

Better filters give better resampled images• Bicubic is common choice

performs linear interpolation

(tent function) performs bilinear interpolation

Cubic reconstruction filter

Page 12: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Image interpolation

“Ideal” reconstruction

Nearest-neighbor interpolation

Linear interpolation

Gaussian reconstruction

Source: B. Curless

Page 13: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Image interpolation

Nearest-neighbor interpolation Bilinear interpolation Bicubic interpolation

Original image: x 10

Page 14: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Image interpolation

Also used for resampling

Page 15: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Feature detection and matching

Page 16: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Reading

• Szeliski: 4.1

Page 17: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Motivation: Automatic panoramas

Credit: Matt Brown

Page 18: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

http://research.microsoft.com/en-us/um/redmond/groups/ivm/HDView/HDGigapixel.htmHD View

Also see GigaPan: http://gigapan.org/

Motivation: Automatic panoramas

Page 19: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Why extract features?

• Motivation: panorama stitching– We have two images – how do we combine them?

Page 20: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Why extract features?

• Motivation: panorama stitching– We have two images – how do we combine them?

Step 1: extract featuresStep 2: match features

Page 21: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Why extract features?

• Motivation: panorama stitching– We have two images – how do we combine them?

Step 1: extract featuresStep 2: match features

Step 3: align images

Page 22: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Example: estimating “fundamental matrix” that corresponds two views

Slide from Silvio Savarese

Page 23: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Example: structure from motion

Page 24: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Applications • Feature points are used for:

– Image alignment – 3D reconstruction– Motion tracking– Robot navigation– Indexing and database retrieval– Object recognition

Page 25: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Matching can be challenging

Fei-Fei Li

Page 28: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Harder still?

Page 29: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

NASA Mars Rover imageswith SIFT feature matches

Answer below (look for tiny colored squares…)

Page 30: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Approach

Feature detection: find it

Feature descriptor: represent it

Feature matching: match it

Feature tracking: track it, when motion

Page 31: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Features• Global vs. local representations• Local: describe and match local regions• Robust to

– Occlusions– Articulation– Intra-category variation

Fei-Fei Li

Page 32: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Advantages of local features

Locality – features are local, so robust to occlusion and clutter

Quantity– hundreds or thousands in a single image

Distinctiveness: – can differentiate a large database of objects

Efficiency– real-time performance achievable

Page 33: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Invariant local featuresFind features that are invariant to transformations

– geometric invariance: translation, rotation, scale– photometric invariance: brightness, exposure, …

Feature Descriptors

Page 34: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Overview

K. Grauman, B. Leibe

Af Bf

B1

B2

B3A1

A2 A3

Tffd BA ),(

1. Find a set of distinctive features

3. Extract and normalize the region content

2. Define a region around each feature

4. Compute a local descriptor from the normalized region

5. Match local descriptors

Page 35: Lecture 5: Image Interpolation and Features CS4670: Computer Vision Kavita Bala

Goals for Features

Detect points that are repeatable and distinctive