Computer vision: models, learning and inference

50
Computer vision: models, learning and inference Chapter 6 Learning and Inference in Vision

Transcript of Computer vision: models, learning and inference

Computer vision: models, learning and inference

Chapter 6

Learning and Inference in Vision

Structure

22Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

• Computer vision models

– Two types of model

• Worked example 1: Regression

• Worked example 2: Classification

• Which type should we choose?

• Applications

Computer vision models

• Observe measured data, x• Draw inferences from it about state of world, w

Examples:

– Observe adjacent frames in video sequence– Infer camera motion

– Observe image of face– Infer identity

– Observe images from two displaced cameras– Infer 3d structure of scene

3Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Regression vs. Classification

• Observe measured data, x

• Draw inferences from it about world, w

When the world state w is continuous we’ll call this regression

When the world state w is discrete we call this classification

4Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Ambiguity of visual world

• Unfortunately visual measurements may be compatible with more than one world state w

– Measurement process is noisy

– Inherent ambiguity in visual data

• Conclusion: the best we can do is compute a probability distribution Pr(w|x) over possible states of world

5Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Refined goal of computer vision

• Take observations x

• Return probability distribution Pr(w|x) over possible worlds compatible with data

(not always tractable – might have to settle for an approximation to this distribution, samples from it, or the best (MAP) solution for w)

6Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Components of solution

We need

• A model that mathematically relates the visual data xto the world state w. Model specifies family of relationships, particular relationship depends on parameters q

• A learning algorithm: fits parameters q from paired training examples xi,wi

• An inference algorithm: uses model to return Pr(w|x) given new observed data x.

7Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Types of Model

The model mathematically relates the visual data x to the world state w. Two main categories of model

1. Model contingency of the world on the data Pr(w|x)

2. Model contingency of data on world Pr(x|w)

8Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Generative vs. Discriminative

1. Model contingency of the world on the data Pr(w|x)

(DISCRIMINATIVE MODEL)

2. Model contingency of data on world Pr(x|w)

(GENERATIVE MODELS)

Generative as probability model over data and so when we draw samples from model, we GENERATE new data

9Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Type 1: Model Pr(w|x) -Discriminative

How to model Pr(w|x)?

1. Choose an appropriate form for Pr(w)

2. Make parameters a function of x

3. Function takes parameters q that define its shape

Learning algorithm: learn parameters q from training data x,w

Inference algorithm: just evaluate Pr(w|x)

10Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Type 2: Pr(x|w) - Generative

How to model Pr(x|w)?

1. Choose an appropriate form for Pr(x)

2. Make parameters a function of w

3. Function takes parameters q that define its shape

Learning algorithm: learn parameters q from training data x,w

Inference algorithm: Define prior Pr(w) and then compute Pr(w|x) using Bayes’ rule

11Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Summary

Two different types of model depend on the quantity of interest:1. Pr(w|x) Discriminative

2. Pr(w|x) Generative

Inference in discriminative models easy as we directly model posterior Pr(w|x). Generative models require more complex inference process using Bayes’ rule

12Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Structure

1313Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

• Computer vision models

– Two types of model

• Worked example 1: Regression

• Worked example 2: Classification

• Which type should we choose?

• Applications

Worked example 1: Regression

Consider simple case where

• we make a univariate continuous measurement x• use this to predict a univariate continuous state w

(regression as world state is continuous)

14Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Regression application 1:Pose from Silhouette

15Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Regression application 2:Head pose estimation

16Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Worked example 1: Regression

Consider simple case where

• we make a univariate continuous measurement x• use this to predict a univariate continuous state w

(regression as world state is continuous)

17Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Type 1: Model Pr(w|x) -Discriminative

How to model Pr(w|x)?

1. Choose an appropriate form for Pr(w)

2. Make parameters a function of x

3. Function takes parameters q that define its shape

Learning algorithm: learn parameters q from training data x,w

Inference algorithm: just evaluate Pr(w|x)

18Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Type 1: Model Pr(w|x) -Discriminative

How to model Pr(w|x)?

1. Choose an appropriate form for Pr(w)

2. Make parameters a function of x

3. Function takes parameters q that define its shape

19Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

1. Choose normal distribution over w2. Make mean m linear function of x

(variance constant)

3. Parameters are f0, f1, s2.

This model is called linear regression.

Parameters are y-offset, slope and variance

20Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Learning algorithm: learn q from training data x,y. E.g. MAP

21Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Inference algorithm: just evaluate Pr(w|x) for new data x

22Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Type 2: Pr(x|w) - Generative

How to model Pr(x|w)?

1. Choose an appropriate form for Pr(x)

2. Make parameters a function of w

3. Function takes parameters q that define its shape

Learning algorithm: learn parameters q from training data x,w

Inference algorithm: Define prior Pr(w) and then compute Pr(w|x) using Bayes’ rule

23Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Type 2: Pr(x|w) - Generative

How to model Pr(x|w)?

1. Choose an appropriate form for Pr(x)

2. Make parameters a function of w

3. Function takes parameters q that define its shape

1. Choose normal distribution over x2. Make mean m linear function of w

(variance constant)

3. Parameter are f0, f1, s2.

24Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Learning algorithm: learn q from training data x,w. e.g. MAP

25Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Pr(x|w) x Pr(w) = Pr(x,w)

Can get back to joint probability Pr(x,y)

26Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Inference algorithm: compute Pr(w|x) using Bayes rule

27Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Structure

2828Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

• Computer vision models

– Three types of model

• Worked example 1: Regression

• Worked example 2: Classification

• Which type should we choose?

• Applications

Worked example 2: Classification

Consider simple case where

• we make a univariate continuous measurement x • use this to predict a discrete binary world

w

(classification as world state is discrete)

29Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Classification Example 1:Face Detection

30Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Classification Example 2:Pedestrian Detection

31Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Classification Example 3:Face Recognition

32Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Classification Example 4:Semantic Segmentation

33Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Worked example 2: Classification

Consider simple case where

• we make a univariate continuous measurement x • use this to predict a discrete binary world

w

(classification as world state is discrete)

34Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Type 1: Model Pr(w|x) -Discriminative

How to model Pr(w|x)?

– Choose an appropriate form for Pr(w)

– Make parameters a function of x

– Function takes parameters q that define its shape

Learning algorithm: learn parameters q from training data x,w

Inference algorithm: just evaluate Pr(w|x)

35Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Type 1: Model Pr(w|x) -Discriminative

How to model Pr(w|x)?

1. Choose an appropriate form for Pr(w)

2. Make parameters a function of x

3. Function takes parameters q that define its shape

36Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

1. Choose Bernoulli dist. for Pr(w)2. Make parameters a function of x

3. Function takes parameters f0 and f1

This model is called logistic regression.

Two parameters

Learning by standard methods (ML,MAP, Bayesian)Inference: Just evaluate Pr(w|x)

37Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Type 2: Pr(x|w) - Generative

How to model Pr(x|w)?

1. Choose an appropriate form for Pr(x)

2. Make parameters a function of w

3. Function takes parameters q that define its shape

Learning algorithm: learn parameters q from training data x,w

Inference algorithm: Define prior Pr(w) and then compute Pr(w|x) using Bayes’ rule

38Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Type 2: Pr(x|w) - Generative

How to model Pr(x|w)?

1. Choose an appropriate form for Pr(x)

2. Make parameters a function of w

3. Function takes parameters q that define its shape

1. Choose a Gaussian distribution for Pr(x)

2. Make parameters a function of discrete binary w

3. Function takes parameters m0,

m1, s2

0, s2

1 that define its shape

39Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

40Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Learn parameters m0, m1, s2

0, s2

1 that define its shape

41Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Inference algorithm: Define prior Pr(w) and then compute Pr(w|x) using Bayes’ rule

Structure

4242Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

• Computer vision models

– Three types of model

• Worked example 1: Regression

• Worked example 2: Classification

• Which type should we choose?

• Applications

Which type of model to use?

1. Generative methods model data – costly and many aspects of data may have no influence on world state

43Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Which type of model to use?

2. Inference simple in discriminative models

3. Data really is generated from world –generative matches this

4. If missing data, then generative preferred

5. Generative allows imposition of prior knowledge specified by user

44Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Structure

4545Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

• Computer vision models

– Three types of model

• Worked example 1: Regression

• Worked example 2: Classification

• Which type should we choose?

• Applications

Application: Skin Detection

4646Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Application: Background subtraction

4747Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Application: Background subtraction

But consider this scene in which the foliage is blowing in the wind. A normal distribution is not good enough! Need a way to make more complex distributions

4848Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Future Plan

• Seen two types of model

– Probability density function

– Linear regression

– Logistic regression

• Next three chapters concern these models

4949Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

Conclusion

50Computer vision: models, learning and inference. ©2011 Simon J.D. Prince

• To do computer vision we build a model relating the image data x to the world state that we wish to estimate w

• Three types of model• Model Pr(w|x) -- discriminative• Model Pr(w|x) – generative