Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition,...

51
1 Object Recognition Lecture 11, April 20 th , 2009 Lexing Xie EE4830 Digital Image Processing http://www.ee.columbia.edu/~xlx/ee4830/

Transcript of Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition,...

Page 1: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

1

Object Recognition

Lecture 11, April 20th, 2009

Lexing Xie

EE4830 Digital Image Processing http://www.ee.columbia.edu/~xlx/ee4830/

Page 2: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

2

Announcements

� HW#5 due today

� HW#6� last HW of the semester

� Problems 1-3 (100 pts + bonus) Due May 5th

� Covers object recognition and image compression

� Two written problems

� one programming with code skeleton given (rewards best recognition accuracy in class)

� Problems 4-5 (bonus points only) due May 7th

� Covers image reconstruction (lecture 13)

� Two written problems

Page 3: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

3

Roadmap to Date

Spatial Domain processing and enhancement

Image Transform and Filtering

Morphological Processing

Image Descriptors

Image Segmentation

Applications:Image Restoration, Object recognition, Image

Compression, Indexing and Retrieval, Reconstruction

Page 4: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

4

Lecture Outline

Problem: object recognition from images.

� What and why

� Pattern recognition primer

� Object recognition in controlled environments

� State of the art object recognition systems

Page 5: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

5

What is Object Recognition?

perceptibleperceptible materialmaterial

thingthing

Courtesy of http://people.csail.mit.edu/torralba/iccv2005/

Page 6: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

6

What is Object Recognition?

Sensory data Descriptions

Apple

+

One of the fundamental problems of computer vision:

Color, texture, shape, motion, size, weight, smell, touch, sound, …

“toy”, “stuffed Pooh”, “a frontal, close-up shot of stuffed Pooh”, “ToysRus#345812”, …

Page 7: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

7

Why?

� Science

� How do we recognize objects?

� Practice

� Robot navigation

� Medical diagnosis

� Security

� Industrial inspection and automation

� Human-computer interface

� Information retrieval

� …

Page 8: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

8

Applications of Object Recognition

Some images from http://www.cs.utexas.edu/~grauman/research/research.html

Page 9: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

9

Page 10: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

10

Lecture Outline

� Object recognition: what and why

� Object recognition in controlled environments

� Distance-based classifiers

� generalized linear classifiers

� Neural networks

� Bayes classifiers

� Object recognition in practice

� General object recognition systems

� Summary

Page 11: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

11

Objects as Vectors …

Page 12: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

12image vector representation

Page 13: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

13

pattern classifier from examples

� goal: given x, infer y

� learning from examples: supervised learning� given (xi, yi=f(xi)), i=1,…,N for some unknown function f

� find a “good approximation” to f

� rules versus data� encode human knowledge as rules

� e.g. the petal length and width of iris

� appropriate scenarios for supervised learning� no human expert (predict strength to cure AIDS given new molecule structure)

� human can perform task but can’t describe how they do it (e.g. handwriting recognition, object recognition)

� the desired function is changing constantly w.r.t. time, or user (stock trading decisions, user-specific spam filtering)

Page 14: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

14

minimum distance classifier

step 1: calculate “class prototypes” as the means

step 2: use the prototypes to classify a new example

“discriminant” function f:

Page 15: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

15

nearest neighbor classifier

� steps:� store all training examples

� classify a new example x? by finding the training example (xi, yi) that’s nearest to x? according to Euclidean distance, and copying the labels

Page 16: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

16

nearest neighbor classifier

“discriminant” function f: gray area -1; white area +1

� (implicit) decision boundaries form a subset of the Voronoi diagram of the training data – each line segment is equidistant between two points

� comments� conditioned on the distance metric

� prone to noisy, poorly scaled features

� can “smooth” the decision by looking at K-neighbors and vote

� good news: kNN is “universally consistent”

Page 17: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

17

linear classifier

� two desirables

� explicit (linear) decision boundary

� use many training examples/prototypes but do not need to remember all

Page 18: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

18

the perceptron algorithm

� learning a linear classifier

� given training data (xi, yi) and loss function

� find: weight vector [w; b] that minimizes expected loss on training data

� start from initial weights w0

� compute gradient

� update

� repeat until convergence

η : learning rate

use hinge loss:

Page 19: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

19

computing the gradient

compute gradient given

� η must decrease to zero in order to guarantee convergence.

� some algorithms (Newton’s) can automatically select η.

� local minimum is the global minimum for hinge loss

contribution from each training sample

contribution from each dimension of each training sample

Page 20: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

20

are all linear classifiers created equal?

� all of the separating hyper-planes have zero (hinge) loss

� the perceptron algorithm will stop as soon as

� may some hyper-planes more preferable to others

Page 21: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

21

Support Vector Machines

� Two key ideas:

� The “best” separating hyperplane has the largest margin.

� Class boundary can be linear in a higher-dimensional space, e.g.,

generalized linear discriminant

weighted (generalized) inner product with “support vectors”

Page 22: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

22

Neural Networks

Page 23: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

23

Neural Network Decision Boundaries

a single hidden layer, feed forward neural network is capable of approximating any continuous, multivariate function to any desired degree of accuracy and that failure to map a function arises from poor choice of network parameters, or an insufficient number of hidden neurons.

[Cybenko 1989]

Page 24: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

24

Digit Recognition with Neural Net

� LeCun et al, 1992, 1998, …http://yann.lecun.com/exdb/mnist/

0

1

Page 25: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

25

probabilistic classifiers

� what about probabilities

� p(x|y) is usually easy to obtain from training data

� can we estimate p(y|x) ?

Page 26: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

26

Bayes classifier

Page 27: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

27

Bayes classifier for Gaussian classes

Page 28: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

28

estimating the conditionals

� how do we estimate p(x|y)

� x1, x2, …, xN discrete:count over observed samplesto get the conditional histograms

�x1, x2, …, xN continuous and conditionally Gaussian

x scalar

Page 29: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

29

Page 30: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

30

Bayes classifier example

Page 31: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

31

Page 32: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

32

classification results

Page 33: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

33

exercise

P(x|ωj) being 1-D Gaussians with identical covariance.1) Towards which direction should the decision boundary move if p(ω1)>p(ω2)?Left/right/stay-put2) What if there is a third Gaussian?

Page 34: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

34

homework problem 2: classifying digits

� instruction/sample code available

� load digits from the MNIST dataset

� baseline 1-NN classifier

� experiment/observe/improve

� k-NN, with k=3, 5

� play with features space (PCA, …)

� Optionally experiment with other classifiers (SVM, neural net, …)

� compute error rate

� post examples that are correctly/incorrectly classified

� discuss what was tried and observed

Page 35: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

35

Lecture Outline

� object recognition: what and why

� object recognition as pattern classification

� general object recognition systems

� real-world challenges

� object recognition: a systems view

� current commercial systems

� survey of state-of the art

� demo websites

Page 36: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

36

Object Recognition End-to-End

Pre-processing

Feature Extraction

Sensor(s)

Classification

Post-processing

train classifier

Pre-processing

Feature Extraction

Sensor(s)

training testing

images

segments

features

classes

� window� parts or patches� salient points

� pixel vector� descriptors

� face? car?� statue of liberty?

� spatial/temporal smoothing� context, etc.

Recognition Target

Page 37: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

37

� Commercial object recognition

� Currently a $4 billion/year industry for inspection and assembly

� Almost entirely based on template matching

� Upcoming applications

� Mobile robots, toys, user interfaces

� Location recognition

� Digital camera panoramas, 3D scene modeling

Object Recognition in Practice

courtesy of David Lowe, website and CVPR 2003 Tutorial

Page 38: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

38

Industrial Applications

http://www.cs.ubc.ca/spider/lowe/vision.html

Page 39: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

39

http://www.appian-tech.com/

Page 40: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

40

http://www.sportvision.com/

Page 41: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

41

http://www.dipix.com/

Page 42: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

42

What to Recognize

Specific

Wild card Tower Bridge

Categories

building buildingbutterfly butterfly

The Stata Center

Kristen Grauman, http://www.cs.utexas.edu/~grauman/research/

Page 43: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

43

Recognize Specific Objects (1)

Appearance Matching

[Nayar, Murase et. al.]

Page 44: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

44

� PCA on the training set.

� Estimate parameters of a low-dimensional pose manifold with splines.

� Match new image to the closest point on the manifold.

Page 45: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

45

Recognize Specific Objects (2)

� Part-based approach

� Image content is transformed into local feature coordinates that are invariant to translation, rotation, scale, and other imaging parameters

� select “interest points” that are stable extrema points across different scales.

SIFT Features David Lowe, CVPR 2003 Tutorial

Page 46: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

46

SIFT Descriptor

� Thresholded image gradients are sampled over 16x16 array of locations in scale space (Gaussian-weighted).

� Create array of orientation histograms

� 8 orientations x 4x4 histogram array = 128 dimensions

David Lowe, CVPR 2003 Tutorial

Page 47: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

47

Object Category Recognition

Page 48: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

48

Overview of object category recognition …see iccv tutorial

Page 49: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

49

Demos

� Pittpatt http://demo.pittpatt.com/

Page 50: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

50It’s not just vision…

•8pm 10 Oct 05

•London

•3pm 10 Sep 05

•downloaded

from http://...

•10am 7 Sep 05

•Australian park

•Jim, Jill nearby

•4pm 8 Sep 05

•Sydney

“two koalas

seen on nat. park trip

with Jim and Jill”

“John and

his new car”

Integrate with mobile sensor information (GPS, time, nearby object or people), calendar, schedule…Infer semantically rich meta-data labels from joint sources.

“Jill and koala on

nat. park trip”

“office parking lot”

“car to consider

purchasing”

http://www.cs.utexas.edu/~grauman/research/research.html

Page 51: Object Recognition - Columbia Universityxlx/ee4830/notes/lec11.pdf · handwriting recognition, object recognition) the desired function is changing constantly w.r.t. time, or user

51

Summary

� The object recognition problem

� Pattern classification primer

� Object recognition grown up

� Readings: G&W 12.1-12.2

� Reference: Duda, Hart, Stork, “Pattern Classification”, 2nd Ed.

� Next time: Image Compression

Additional acknowledgements: Dan Ellis, EE6820 Slides; Duda, Hart& Stork, Pattern classificaion 2nd Ed., David Claus and Christoph F. Eick: Nearest Neighbor Editing and Condensing Techniques