Computer vision: models, learning and inference
Transcript of Computer vision: models, learning and inference
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