SlideShare une entreprise Scribd logo
1  sur  82
Télécharger pour lire hors ligne
Computer Vision
SBE 404, Spring 2020Professor
Ahmed M. Badawi
ambadawi@eng1.cu.edu.eg
http://scholar.google.com.eg/citations?user=r9pLu6EAAAAJ&hl=en
http://www.bmes.cufe.edu.eg
TA’s:
Eman Marzban
eman.marzban@eng1.cu.edu.eg
Asem Abdelaziz
asem.a.abdelaziz@eng1.cu.edu.eg
Face detection & Recognition
• Recognition problem & Biometrics
• Introduction to Machine Learning
• Training & Classifiers
• Bayes rules & Skin Detection
• Dimensionality Reduction
• Principal Components Analysis (PCA)
• Face Recognition using PCA
What traits qualify to be a biometric?
Universality
Distinctiveness
Performance
Acceptability
Circumvention
Some other important requirements:
Permanence
Collectability
Some slides are adapted from J. Hayes, S. Seitz, D. Hoiem and L. Lazebnik
Biometric Technologies
Technology Accuracy Convenience Cost Size
Fingerprint 5 5 4 4
Voice 1 5 5 5
Face 2 3 4 3
Hand 3 3 2 2
Iris 5 2 3 3
1 (worst) ---------- 5 (best)
Face Detection and Recognition
Recognition problems
What is it?
Object and scene recognition
Who is it?
Identity recognition
Where is it?
Object detection
What are they doing?
Activities
All of these are classification problems
7
Illumination (light)
ORL database
Pose
Expression
Variations
Cairo 2000 database
Classification
The machine learning framework
Apply a prediction function to a feature representation of
the image to get the desired output:
f( ) = “apple”
f( ) = “tomato”
f( ) = “cow”
Slide credit: L. Lazebnik
The machine learning framework
y = f(x)
Training: given a training set of labeled examples {(x1,y1), …,
(xN,yN)}, estimate the prediction function f by minimizing the
prediction error on the training set
Testing: apply f to a never before seen test example x and
output the predicted value y = f(x)
output prediction
function
Image
feature
Slide credit: L. Lazebnik
Prediction
Steps
Training
Labels
Training
Images
Training
Training
Image
Features
Image
Features
Testing
Test Image
Learned
model
Learned
model
Slide credit: D. Hoiem and L. Lazebnik
Features
Raw pixels
Histograms
HOG & GIST
descriptors
Slide credit: L. Lazebnik
Classifiers: Nearest neighbor
f(x) = label of the training example nearest to x
All we need is a distance function for our inputs
No training required!
Test
example
Training
examples
from class 1
Training
examples
from class 2
Slide credit: L. Lazebnik
Classifiers: Linear
Find a linear function to separate the classes:
f(x) = sgn(w  x + b)
Slide credit: L. Lazebnik
Many classifiers to choose from
SVM
Neural networks
Naïve Bayes
Bayesian network
Logistic regression
Randomized Forests
Boosted Decision Trees
K-nearest neighbor
RBMs
Etc.
Which is the best one?
Slide credit: D. Hoiem
Images in the training set must be annotated with the
“correct answer” that the model is expected to produce
Contains a motorbike
Recognition task and supervision
Slide credit: L. Lazebnik
Unsupervised “Weakly” supervised Fully supervised
Definition depends on task
Slide credit: L. Lazebnik
Generalization
How well does a learned model generalize from the
data it was trained on to a new test set?
Training set (labels known) Test set (labels
unknown)
Slide credit: L. Lazebnik
Generalization
Components of generalization error
• Bias: how much the average model over all training sets differ
from the true model?
– Error due to inaccurate assumptions/simplifications made by
the model
• Variance: how much models estimated from different training
sets differ from each other
Underfitting: model is too “simple” to represent all the relevant class
characteristics
• High bias and low variance
• High training error and high test error
Overfitting: model is too “complex” and fits irrelevant characteristics
(noise) in the data
• Low bias and high variance
• Low training error and high test error
Slide credit: L. Lazebnik
Classification
Assign input vector to one of two or more classes
Any decision rule divides input space into decision
regions separated by decision boundaries
Slide credit: L. Lazebnik
Nearest Neighbor Classifier
Assign label of nearest training data point to
each test data point
Voronoi partitioning of feature space
for two-category 2D and 3D data
from Duda et al.
Source: D. Lowe
K-nearest neighbor
x x
x
x
x
x
x
x
o
o
o
o
o
o
o
x2
x1
+
+
1-nearest neighbor
x x
x
x
x
x
x
x
o
o
o
o
o
o
o
x2
x1
+
+
3-nearest neighbor
x x
x
x
x
x
x
x
o
o
o
o
o
o
o
x2
x1
+
+
5-nearest neighbor
x x
x
x
x
x
x
x
o
o
o
o
o
o
o
x2
x1
+
+
Using K-NN
Simple, a good one to try first
What to remember about
classifiers
• No free lunch: machine learning algorithms are tools,
not dogmas
• Try simple classifiers first
• Better to have smart features and simple classifiers
than simple features and smart classifiers
• Use increasingly powerful classifiers with more
training data (bias-variance tradeoff)
Slide credit: D. Hoiem
Similarity
Eg.
Nearest neighbor (min Euclidean distance)
K-voting
NN or SVM
Bayes prob.
Biometrics capturing and recognition environment
Controlled or not
Illumination (light)
Pose
Expression (activity)
Camera sensor (cellphone or High res sensor)
Make up
Occlusions (face parts)
Face recognition is well matured under controlled environment
What is recognition?
Some of following slides by Steve Seitz
A different taxonomy from [Csurka et al. 2006]:
Recognition
• Where is this particular object?
Categorization
• What kind of object(s) is(are) present?
Content-based image retrieval
• Find me something that looks similar
Detection
• Locate all instances of a given class
Readings
• C. Bishop, “Neural Networks for Pattern
Recognition”, Oxford University Press, 1998,
Chapter 1.
• Forsyth and Ponce, Chap 22.3 (through 22.3.2--
eigenfaces)
• Turk, M. and Pentland, A. Eigenfaces for
recognition. Journal of Cognitive Neuroscience,
1991
• Viola, P. A. and Jones, M. J. (2004). Robust
real-time face detection. IJCV, 57(2), 137–154.
Sources
• Steve Seitz, CSE 455/576, previous quarters
• Fei-Fei, Fergus, Torralba, CVPR’2007 course
• Efros, CMU 16-721 Learning in Vision
• Freeman, MIT 6.869 Computer Vision: Learning
• Linda Shapiro, CSE 576, Spring 2007
Face Recognition and Detection
Face recognition and detection
• Color-based skin detection
• Recognition: eigenfaces [Turk & Pentland]
and parts [Moghaddan & Pentland]
• Detection: boosting [Viola & Jones]
Face detection
How to tell if a face is present?
Skin detection
Skin pixels have a distinctive range of colors
• Corresponds to region(s) in RGB color space
Skin classifier
• A pixel X = (R,G,B) is skin if it is in the skin (color) region
• How to find this region?
skin
Skin detection
Learn the skin region from examples
• Manually label skin/non pixels in one or more “training images”
• Plot the training data in RGB space
– skin pixels shown in orange, non-skin pixels shown in gray
– some skin pixels may be outside the region, non-skin pixels inside.
CSE 576, Spring 2008 Face Recognition and Detection 36
Skin classifier
Given X = (R,G,B): how to determine if it is skin or not?
• Nearest neighbor
– find labeled pixel closest to X
• Find plane/curve that separates the two classes
– popular approach: Support Vector Machines (SVM)
• Data modeling
– fit a probability density/distribution model to each class
Probability
• X is a random variable
• P(X) is the probability that X achieves a certain
value
continuous X discrete X
called a PDF
-probability distribution/density function
-a 2D PDF is a surface
-3D PDF is a volume
Probabilistic skin classification
Model PDF / uncertainty
• Each pixel has a probability of being skin or not skin
Skin classifier
• Given X = (R,G,B): how to determine if it is skin or not?
• Choose interpretation of highest probability
Where do we get and ?
R is a vector
Learning conditional PDF’s
We can calculate P(R | skin) from a set of training images
• It is simply a histogram over the pixels in the training images
• each bin Ri contains the proportion of skin pixels with color Ri
• This doesn’t work as well in higher-dimensional spaces. Why not?
Approach: fit parametric PDF functions
• common choice is rotated Gaussian
– center
– covariance
Learning conditional PDF’s
We can calculate P(R | skin) from a set of training images
But this isn’t quite what we want
• Why not? How to determine if a pixel is skin?
• We want P(skin | R) not P(R | skin)
• How can we get it?
CSE 576, Spring 2008 Face Recognition and Detection 41
Bayes rule
In terms of our problem:
what we measure
(likelihood)
domain knowledge
(prior)
what we want
(posterior)
normalization term
What can we use for the prior P(skin)?
• Domain knowledge:
– P(skin) may be larger if we know the image contains a person
– For a portrait, P(skin) may be higher for pixels in the center
• Learn the prior from the training set. How?
– P(skin) is proportion of skin pixels in training set
Bayesian estimation
Bayesian estimation
• Goal is to choose the label (skin or ~skin) that maximizes the
posterior ↔ minimizes probability of misclassification
– this is called Maximum A Posteriori (MAP) estimation
likelihood posterior (unnormalized)
Skin detection results
44
This same procedure applies in more general
circumstances
• More than two classes
• More than one dimension
General classification
Example: face detection
• Here, X is an image region
– dimension = # pixels
– each face can be thought of as a
point in a high dimensional space
H. Schneiderman, T. Kanade. "A Statistical Method for 3D
Object Detection Applied to Faces and Cars". CVPR 2000
Face Recognition & Detection
Face recognition and detection
• color-based skin detection
• recognition: eigenfaces [Turk & Pentland]
and parts [Moghaddan & Pentland]
• detection: boosting [Viola & Jones]
Eigenfaces for recognition
Matthew Turk and Alex Pentland
J. Cognitive Neuroscience
1991
Linear subspaces
Classification can be expensive:
• Big search prob (e.g., nearest neighbors) or store large PDF’s
Suppose the data points are arranged as above
• Idea—fit a line, classifier measures distance to line
convert x into v1, v2 coordinates
What does the v2 coordinate measure?
What does the v1 coordinate measure?
- distance to line
- use it for classification—near 0 for orange pts
- position along line
- use it to specify which orange point it is
Dimensionality reduction
Dimensionality reduction
• We can represent the orange points with only their v1 coordinates
(since v2 coordinates are all essentially 0)
• This makes it much cheaper to store and compare points
• A bigger deal for higher dimensional problems
Linear subspaces
Consider the variation along direction v
among all of the orange points:
What unit vector v minimizes var?
What unit vector v maximizes var?
Solution: v1 is eigenvector of A with largest eigenvalue
v2 is eigenvector of A with smallest eigenvalue
Principal component analysis
Suppose each data point is N-dimensional
• Same procedure applies:
• The eigenvectors of A define a new coordinate system
– eigenvector with largest eigenvalue captures the most
variation among training vectors x
– eigenvector with smallest eigenvalue has least variation
• We can compress the data using the top few eigenvectors
– corresponds to choosing a “linear subspace”
» represent points on a line, plane, or “hyper-plane”
– these eigenvectors are known as the principal components
The space of faces
An image is a point in a high dimensional space
• An N x M image is a point in RNM
• We can define vectors in this space as we did in the 2D case
+=
CSE 576, Spring 2008 Face Recognition and Detection 52
Dimensionality reduction
The set of faces is a “subspace” of the set of images
• We can find the best subspace using PCA
• This is like fitting a “hyper-plane” to the set of faces
– spanned by vectors v1, v2, ..., vK
– any face
Eigenfaces
PCA extracts the eigenvectors of A
• Gives a set of vectors v1, v2, v3, ...
• Each vector is a direction in face space
– what do these look like?
Projecting onto the eigenfaces
The eigenfaces v1, ..., vK span the space of faces
• A face is converted to eigenface coordinates by
Recognition with eigenfaces
Algorithm
1. Process the image database (set of images with labels)
• Run PCA—compute eigenfaces
• Calculate the K coefficients for each image
2. Given a new image (to be recognized) x, calculate K
coefficients
3. Detect if x is a face
4. If it is a face, who is it?
– Find closest labeled face in database
» nearest-neighbor in K-dimensional space
Choosing the dimension K
K NMi =
eigenvalues
How many eigenfaces to use?
Look at the decay of the eigenvalues
• the eigenvalue tells you the amount of variance “in the direction” of
that eigenface
• ignore eigenfaces with low variance
• Get cumulative curve by integrating left figure. Then for example of
variance 90%, get corresponding K that keeps 90% of variance
View-Based and Modular
Eigenspaces for Face Recognition
Alex Pentland, Baback Moghaddam and
Thad Starner
CVPR’94
Part-based eigenfeatures
Learn a separate
eigenspace for each
face feature
Boosts performance
of regular
eigenfaces
Morphable Face Models
Rowland and Perrett ’95
Lanitis, Cootes, and Taylor ’95, ’97
Blanz and Vetter ’99
Matthews and Baker ’04, ‘07
Morphable Face Model
Use subspace to model elastic 2D or 3D shape
variation (vertex positions), in addition to
appearance variation
Shape S
Appearance T
Morphable Face Model
3D models from Blanz and Vetter ‘99


m
i
iimodel a
1
SS 

m
i
iimodel b
1
TT
Face Recognition Resources
Face Recognition Home Page:
• http://www.cs.rug.nl/~peterkr/FACE/face.html
PAMI Special Issue on Face & Gesture (July ‘97)
FERET
• http://www.dodcounterdrug.com/facialrecognition/Feret/feret.htm
Face-Recognition Vendor Test (FRVT 2000)
• http://www.dodcounterdrug.com/facialrecognition/FRVT2000/frvt2000.htm
Biometrics Consortium
• http://www.biometrics.org
Face Recognition & Detection
Face recognition and detection
• color-based skin detection
• recognition: eigenfaces [Turk & Pentland]
and parts [Moghaddan & Pentland]
• detection: boosting [Viola & Jones]
Example: Face Detection
Scan window over image
Classify window as either:
• Face
• Non-face
ClassifierWindow
Face
Non-face
Then recognize face by Eigen analysis
Robust real-time face detection
Paul A. Viola and Michael J. Jones
Intl. J. Computer Vision
57(2), 137–154, 2004
(originally in CVPR’2001)
(slides adapted from Bill Freeman, MIT 6.869, April 2005)
Scan classifier over locs. & scales
“Learn” classifier from data
Training Data
• 5000 faces (frontal)
• 108 non faces
• Faces are normalized
• Scale, translation
Many variations
• Across individuals
• Illumination
• Pose (rotation both in plane and out)
Characteristics of algorithm
• Feature set (…is huge about 16M features)
• Efficient feature selection using AdaBoost
• New image representation: Integral Image
• Cascaded Classifier for rapid detection
 Fastest known face detector for gray scale
images
Image features
• “Rectangle filters”
• Similar to Haar wavelets
• Differences between
sums of pixels in
adjacent rectangles
Partial sum
Any rectangle is
D = 1+4-(2+3)
Also known as:
• summed area tables [Crow84]
• boxlets [Simard98]
Integral Image
Huge library of filters
Constructing the classifier
Perceptron yields a sufficiently powerful classifier
Use AdaBoost to efficiently choose best features
• add a new hi(x) at each round
• each hi(xk) is a “decision stump” b=Ew(y [x> q])
a=Ew(y [x< q])
x
hi(x)
q
Constructing the classifier
For each round of boosting:
•Evaluate each rectangle filter on each example
•Sort examples by filter values
•Select best threshold for each filter (min error)
Use sorting to quickly scan for optimal
threshold
•Select best filter/threshold combination
•Weight is a simple function of error rate
•Reweight examples
(There are many tricks to make this more
efficient.)
Good reference on boosting
Friedman, J., Hastie, T. and Tibshirani, R.
Additive Logistic Regression: a Statistical
View of Boosting
http://www-stat.stanford.edu/~hastie/Papers/boost.ps
“We show that boosting fits an additive logistic
regression model by stagewise optimization of a
criterion very similar to the log-likelihood, and present
likelihood based alternatives. We also propose a
multi-logit boosting procedure which appears to have
advantages over other methods proposed so far.”
Trading speed for accuracy
Given a nested set of classifier hypothesis
classes
Computational Risk Minimization
Speed of face detector (2001)
Speed is proportional to the average number of
features computed per sub-window.
On the MIT+CMU test set, an average of 9
features (/ 6061) are computed per sub-window.
On a 700 Mhz Pentium III, a 384x288 pixel image
takes about 0.067 seconds to process (15 fps).
Roughly 15 times faster than Rowley-Baluja-
Kanade and 600 times faster than
Schneiderman-Kanade.
Sample results
Summary (Viola-Jones)
• Fastest known face detector for gray images
• Three contributions with broad applicability:
Cascaded classifier yields rapid
classification
AdaBoost as an extremely efficient feature
selector
Rectangle Features + Integral Image can
be used for rapid image analysis
Face detector comparison
Informal study by Andrew Gallagher, CMU,
for CMU 16-721 Learning-Based Methods in
Vision, Spring 2007
• The Viola Jones algorithm OpenCV
implementation was used. (<2 sec per image).
• For Schneiderman and Kanade, Object Detection
Using the Statistics of Parts [IJCV’04], the
www.pittpatt.com demo was used. (~10-15
seconds per image, including web transmission).
Face Recognition and Detection
Schneiderman
KanadeViola
Jones
Summary
Face recognition and detection
• color-based skin detection
• recognition: eigenfaces [Turk & Pentland]
and parts [Moghaddan & Pentland]
• detection: boosting [Viola & Jones]
Final Project 5 announced:
1- Given standard face datasets
http://www.face-rec.org/databases/
2- Detect Faces (color or grayscale)
3- Recognize faces based on PCA/Eigen analysis
4- Report performance and plot ROC curve
Due date: May 17th 11:59pm

Contenu connexe

Similaire à Lecture 7&8 computer vision face_recognition

Introduction to Machine Learning Aristotelis Tsirigos
Introduction to Machine Learning Aristotelis Tsirigos Introduction to Machine Learning Aristotelis Tsirigos
Introduction to Machine Learning Aristotelis Tsirigos butest
 
Generalization abstraction
Generalization abstractionGeneralization abstraction
Generalization abstractionEdward Blurock
 
bag-of-words models
bag-of-words models bag-of-words models
bag-of-words models Xiaotao Zou
 
Machine Learning workshop by GDSC Amity University Chhattisgarh
Machine Learning workshop by GDSC Amity University ChhattisgarhMachine Learning workshop by GDSC Amity University Chhattisgarh
Machine Learning workshop by GDSC Amity University ChhattisgarhPoorabpatel
 
Lecture 09(introduction to machine learning)
Lecture 09(introduction to machine learning)Lecture 09(introduction to machine learning)
Lecture 09(introduction to machine learning)Jeet Das
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine LearningAI Summary
 
Machine Learning Foundations for Professional Managers
Machine Learning Foundations for Professional ManagersMachine Learning Foundations for Professional Managers
Machine Learning Foundations for Professional ManagersAlbert Y. C. Chen
 
Computational Biology, Part 4 Protein Coding Regions
Computational Biology, Part 4 Protein Coding RegionsComputational Biology, Part 4 Protein Coding Regions
Computational Biology, Part 4 Protein Coding Regionsbutest
 
Brief Tour of Machine Learning
Brief Tour of Machine LearningBrief Tour of Machine Learning
Brief Tour of Machine Learningbutest
 
slides
slidesslides
slidesbutest
 
slides
slidesslides
slidesbutest
 
Mit6870 orsu lecture2
Mit6870 orsu lecture2Mit6870 orsu lecture2
Mit6870 orsu lecture2zukun
 
Introduction to machine learning-2023-IT-AI and DS.pdf
Introduction to machine learning-2023-IT-AI and DS.pdfIntroduction to machine learning-2023-IT-AI and DS.pdf
Introduction to machine learning-2023-IT-AI and DS.pdfSisayNegash4
 
How Machine Learning Helps Organizations to Work More Efficiently?
How Machine Learning Helps Organizations to Work More Efficiently?How Machine Learning Helps Organizations to Work More Efficiently?
How Machine Learning Helps Organizations to Work More Efficiently?Tuan Yang
 
Introduction to Data Mining
Introduction to Data MiningIntroduction to Data Mining
Introduction to Data MiningKai Koenig
 
Presentation on Machine Learning and Data Mining
Presentation on Machine Learning and Data MiningPresentation on Machine Learning and Data Mining
Presentation on Machine Learning and Data Miningbutest
 
CSTalks - On machine learning - 2 Mar
CSTalks - On machine learning - 2 MarCSTalks - On machine learning - 2 Mar
CSTalks - On machine learning - 2 Marcstalks
 

Similaire à Lecture 7&8 computer vision face_recognition (20)

Introduction to Machine Learning Aristotelis Tsirigos
Introduction to Machine Learning Aristotelis Tsirigos Introduction to Machine Learning Aristotelis Tsirigos
Introduction to Machine Learning Aristotelis Tsirigos
 
Generalization abstraction
Generalization abstractionGeneralization abstraction
Generalization abstraction
 
bag-of-words models
bag-of-words models bag-of-words models
bag-of-words models
 
Machine Learning workshop by GDSC Amity University Chhattisgarh
Machine Learning workshop by GDSC Amity University ChhattisgarhMachine Learning workshop by GDSC Amity University Chhattisgarh
Machine Learning workshop by GDSC Amity University Chhattisgarh
 
Lecture 09(introduction to machine learning)
Lecture 09(introduction to machine learning)Lecture 09(introduction to machine learning)
Lecture 09(introduction to machine learning)
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
 
Machine Learning Foundations for Professional Managers
Machine Learning Foundations for Professional ManagersMachine Learning Foundations for Professional Managers
Machine Learning Foundations for Professional Managers
 
Computational Biology, Part 4 Protein Coding Regions
Computational Biology, Part 4 Protein Coding RegionsComputational Biology, Part 4 Protein Coding Regions
Computational Biology, Part 4 Protein Coding Regions
 
Brief Tour of Machine Learning
Brief Tour of Machine LearningBrief Tour of Machine Learning
Brief Tour of Machine Learning
 
slides
slidesslides
slides
 
slides
slidesslides
slides
 
PPT s09-machine vision-s2
PPT s09-machine vision-s2PPT s09-machine vision-s2
PPT s09-machine vision-s2
 
Mit6870 orsu lecture2
Mit6870 orsu lecture2Mit6870 orsu lecture2
Mit6870 orsu lecture2
 
Introduction to machine learning-2023-IT-AI and DS.pdf
Introduction to machine learning-2023-IT-AI and DS.pdfIntroduction to machine learning-2023-IT-AI and DS.pdf
Introduction to machine learning-2023-IT-AI and DS.pdf
 
Machine_Learning.pptx
Machine_Learning.pptxMachine_Learning.pptx
Machine_Learning.pptx
 
How Machine Learning Helps Organizations to Work More Efficiently?
How Machine Learning Helps Organizations to Work More Efficiently?How Machine Learning Helps Organizations to Work More Efficiently?
How Machine Learning Helps Organizations to Work More Efficiently?
 
Learning from data
Learning from dataLearning from data
Learning from data
 
Introduction to Data Mining
Introduction to Data MiningIntroduction to Data Mining
Introduction to Data Mining
 
Presentation on Machine Learning and Data Mining
Presentation on Machine Learning and Data MiningPresentation on Machine Learning and Data Mining
Presentation on Machine Learning and Data Mining
 
CSTalks - On machine learning - 2 Mar
CSTalks - On machine learning - 2 MarCSTalks - On machine learning - 2 Mar
CSTalks - On machine learning - 2 Mar
 

Plus de cairo university

Tocci chapter 13 applications of programmable logic devices extended
Tocci chapter 13 applications of programmable logic devices extendedTocci chapter 13 applications of programmable logic devices extended
Tocci chapter 13 applications of programmable logic devices extendedcairo university
 
Tocci chapter 12 memory devices
Tocci chapter 12 memory devicesTocci chapter 12 memory devices
Tocci chapter 12 memory devicescairo university
 
Tocci ch 9 msi logic circuits
Tocci ch 9 msi logic circuitsTocci ch 9 msi logic circuits
Tocci ch 9 msi logic circuitscairo university
 
Tocci ch 7 counters and registers modified x
Tocci ch 7 counters and registers modified xTocci ch 7 counters and registers modified x
Tocci ch 7 counters and registers modified xcairo university
 
Tocci ch 6 digital arithmetic operations and circuits
Tocci ch 6 digital arithmetic operations and circuitsTocci ch 6 digital arithmetic operations and circuits
Tocci ch 6 digital arithmetic operations and circuitscairo university
 
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...cairo university
 
A15 sedra ch 15 memory circuits
A15  sedra ch 15 memory circuitsA15  sedra ch 15 memory circuits
A15 sedra ch 15 memory circuitscairo university
 
A14 sedra ch 14 advanced mos and bipolar logic circuits
A14  sedra ch 14 advanced mos and bipolar logic circuitsA14  sedra ch 14 advanced mos and bipolar logic circuits
A14 sedra ch 14 advanced mos and bipolar logic circuitscairo university
 
A13 sedra ch 13 cmos digital logic circuits
A13  sedra ch 13 cmos digital logic circuitsA13  sedra ch 13 cmos digital logic circuits
A13 sedra ch 13 cmos digital logic circuitscairo university
 
A09 sedra ch 9 frequency response
A09  sedra ch 9 frequency responseA09  sedra ch 9 frequency response
A09 sedra ch 9 frequency responsecairo university
 
5 sedra ch 05 mosfet revision
5  sedra ch 05  mosfet revision5  sedra ch 05  mosfet revision
5 sedra ch 05 mosfet revisioncairo university
 
Lecture 2 (system overview of c8051 f020) rv01
Lecture 2 (system overview of c8051 f020) rv01Lecture 2 (system overview of c8051 f020) rv01
Lecture 2 (system overview of c8051 f020) rv01cairo university
 
Lecture 1 (course overview and 8051 architecture) rv01
Lecture 1 (course overview and 8051 architecture) rv01Lecture 1 (course overview and 8051 architecture) rv01
Lecture 1 (course overview and 8051 architecture) rv01cairo university
 

Plus de cairo university (20)

Tocci chapter 13 applications of programmable logic devices extended
Tocci chapter 13 applications of programmable logic devices extendedTocci chapter 13 applications of programmable logic devices extended
Tocci chapter 13 applications of programmable logic devices extended
 
Tocci chapter 12 memory devices
Tocci chapter 12 memory devicesTocci chapter 12 memory devices
Tocci chapter 12 memory devices
 
Tocci ch 9 msi logic circuits
Tocci ch 9 msi logic circuitsTocci ch 9 msi logic circuits
Tocci ch 9 msi logic circuits
 
Tocci ch 7 counters and registers modified x
Tocci ch 7 counters and registers modified xTocci ch 7 counters and registers modified x
Tocci ch 7 counters and registers modified x
 
Tocci ch 6 digital arithmetic operations and circuits
Tocci ch 6 digital arithmetic operations and circuitsTocci ch 6 digital arithmetic operations and circuits
Tocci ch 6 digital arithmetic operations and circuits
 
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...
 
A15 sedra ch 15 memory circuits
A15  sedra ch 15 memory circuitsA15  sedra ch 15 memory circuits
A15 sedra ch 15 memory circuits
 
A14 sedra ch 14 advanced mos and bipolar logic circuits
A14  sedra ch 14 advanced mos and bipolar logic circuitsA14  sedra ch 14 advanced mos and bipolar logic circuits
A14 sedra ch 14 advanced mos and bipolar logic circuits
 
A13 sedra ch 13 cmos digital logic circuits
A13  sedra ch 13 cmos digital logic circuitsA13  sedra ch 13 cmos digital logic circuits
A13 sedra ch 13 cmos digital logic circuits
 
A09 sedra ch 9 frequency response
A09  sedra ch 9 frequency responseA09  sedra ch 9 frequency response
A09 sedra ch 9 frequency response
 
5 sedra ch 05 mosfet.ppsx
5  sedra ch 05  mosfet.ppsx5  sedra ch 05  mosfet.ppsx
5 sedra ch 05 mosfet.ppsx
 
5 sedra ch 05 mosfet
5  sedra ch 05  mosfet5  sedra ch 05  mosfet
5 sedra ch 05 mosfet
 
5 sedra ch 05 mosfet revision
5  sedra ch 05  mosfet revision5  sedra ch 05  mosfet revision
5 sedra ch 05 mosfet revision
 
Fields Lec 2
Fields Lec 2Fields Lec 2
Fields Lec 2
 
Fields Lec 1
Fields Lec 1Fields Lec 1
Fields Lec 1
 
Fields Lec 5&amp;6
Fields Lec 5&amp;6Fields Lec 5&amp;6
Fields Lec 5&amp;6
 
Fields Lec 4
Fields Lec 4Fields Lec 4
Fields Lec 4
 
Fields Lec 3
Fields Lec 3Fields Lec 3
Fields Lec 3
 
Lecture 2 (system overview of c8051 f020) rv01
Lecture 2 (system overview of c8051 f020) rv01Lecture 2 (system overview of c8051 f020) rv01
Lecture 2 (system overview of c8051 f020) rv01
 
Lecture 1 (course overview and 8051 architecture) rv01
Lecture 1 (course overview and 8051 architecture) rv01Lecture 1 (course overview and 8051 architecture) rv01
Lecture 1 (course overview and 8051 architecture) rv01
 

Dernier

Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086anil_gaur
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdfKamal Acharya
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"mphochane1998
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityMorshed Ahmed Rahath
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Call Girls Mumbai
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksMagic Marks
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network DevicesChandrakantDivate1
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwaitjaanualu31
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadhamedmustafa094
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxSCMS School of Architecture
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...HenryBriggs2
 

Dernier (20)

Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic Marks
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
 

Lecture 7&8 computer vision face_recognition

  • 1. Computer Vision SBE 404, Spring 2020Professor Ahmed M. Badawi ambadawi@eng1.cu.edu.eg http://scholar.google.com.eg/citations?user=r9pLu6EAAAAJ&hl=en http://www.bmes.cufe.edu.eg TA’s: Eman Marzban eman.marzban@eng1.cu.edu.eg Asem Abdelaziz asem.a.abdelaziz@eng1.cu.edu.eg
  • 2. Face detection & Recognition • Recognition problem & Biometrics • Introduction to Machine Learning • Training & Classifiers • Bayes rules & Skin Detection • Dimensionality Reduction • Principal Components Analysis (PCA) • Face Recognition using PCA
  • 3. What traits qualify to be a biometric? Universality Distinctiveness Performance Acceptability Circumvention Some other important requirements: Permanence Collectability Some slides are adapted from J. Hayes, S. Seitz, D. Hoiem and L. Lazebnik
  • 4. Biometric Technologies Technology Accuracy Convenience Cost Size Fingerprint 5 5 4 4 Voice 1 5 5 5 Face 2 3 4 3 Hand 3 3 2 2 Iris 5 2 3 3 1 (worst) ---------- 5 (best)
  • 5. Face Detection and Recognition
  • 6. Recognition problems What is it? Object and scene recognition Who is it? Identity recognition Where is it? Object detection What are they doing? Activities All of these are classification problems
  • 8. Classification The machine learning framework Apply a prediction function to a feature representation of the image to get the desired output: f( ) = “apple” f( ) = “tomato” f( ) = “cow” Slide credit: L. Lazebnik
  • 9. The machine learning framework y = f(x) Training: given a training set of labeled examples {(x1,y1), …, (xN,yN)}, estimate the prediction function f by minimizing the prediction error on the training set Testing: apply f to a never before seen test example x and output the predicted value y = f(x) output prediction function Image feature Slide credit: L. Lazebnik
  • 11. Features Raw pixels Histograms HOG & GIST descriptors Slide credit: L. Lazebnik
  • 12. Classifiers: Nearest neighbor f(x) = label of the training example nearest to x All we need is a distance function for our inputs No training required! Test example Training examples from class 1 Training examples from class 2 Slide credit: L. Lazebnik
  • 13. Classifiers: Linear Find a linear function to separate the classes: f(x) = sgn(w  x + b) Slide credit: L. Lazebnik
  • 14. Many classifiers to choose from SVM Neural networks Naïve Bayes Bayesian network Logistic regression Randomized Forests Boosted Decision Trees K-nearest neighbor RBMs Etc. Which is the best one? Slide credit: D. Hoiem
  • 15. Images in the training set must be annotated with the “correct answer” that the model is expected to produce Contains a motorbike Recognition task and supervision Slide credit: L. Lazebnik
  • 16. Unsupervised “Weakly” supervised Fully supervised Definition depends on task Slide credit: L. Lazebnik
  • 17. Generalization How well does a learned model generalize from the data it was trained on to a new test set? Training set (labels known) Test set (labels unknown) Slide credit: L. Lazebnik
  • 18. Generalization Components of generalization error • Bias: how much the average model over all training sets differ from the true model? – Error due to inaccurate assumptions/simplifications made by the model • Variance: how much models estimated from different training sets differ from each other Underfitting: model is too “simple” to represent all the relevant class characteristics • High bias and low variance • High training error and high test error Overfitting: model is too “complex” and fits irrelevant characteristics (noise) in the data • Low bias and high variance • Low training error and high test error Slide credit: L. Lazebnik
  • 19. Classification Assign input vector to one of two or more classes Any decision rule divides input space into decision regions separated by decision boundaries Slide credit: L. Lazebnik
  • 20. Nearest Neighbor Classifier Assign label of nearest training data point to each test data point Voronoi partitioning of feature space for two-category 2D and 3D data from Duda et al. Source: D. Lowe
  • 25. Using K-NN Simple, a good one to try first
  • 26. What to remember about classifiers • No free lunch: machine learning algorithms are tools, not dogmas • Try simple classifiers first • Better to have smart features and simple classifiers than simple features and smart classifiers • Use increasingly powerful classifiers with more training data (bias-variance tradeoff) Slide credit: D. Hoiem
  • 27. Similarity Eg. Nearest neighbor (min Euclidean distance) K-voting NN or SVM Bayes prob.
  • 28. Biometrics capturing and recognition environment Controlled or not Illumination (light) Pose Expression (activity) Camera sensor (cellphone or High res sensor) Make up Occlusions (face parts) Face recognition is well matured under controlled environment
  • 29. What is recognition? Some of following slides by Steve Seitz A different taxonomy from [Csurka et al. 2006]: Recognition • Where is this particular object? Categorization • What kind of object(s) is(are) present? Content-based image retrieval • Find me something that looks similar Detection • Locate all instances of a given class
  • 30. Readings • C. Bishop, “Neural Networks for Pattern Recognition”, Oxford University Press, 1998, Chapter 1. • Forsyth and Ponce, Chap 22.3 (through 22.3.2-- eigenfaces) • Turk, M. and Pentland, A. Eigenfaces for recognition. Journal of Cognitive Neuroscience, 1991 • Viola, P. A. and Jones, M. J. (2004). Robust real-time face detection. IJCV, 57(2), 137–154.
  • 31. Sources • Steve Seitz, CSE 455/576, previous quarters • Fei-Fei, Fergus, Torralba, CVPR’2007 course • Efros, CMU 16-721 Learning in Vision • Freeman, MIT 6.869 Computer Vision: Learning • Linda Shapiro, CSE 576, Spring 2007
  • 32. Face Recognition and Detection Face recognition and detection • Color-based skin detection • Recognition: eigenfaces [Turk & Pentland] and parts [Moghaddan & Pentland] • Detection: boosting [Viola & Jones]
  • 33. Face detection How to tell if a face is present?
  • 34. Skin detection Skin pixels have a distinctive range of colors • Corresponds to region(s) in RGB color space Skin classifier • A pixel X = (R,G,B) is skin if it is in the skin (color) region • How to find this region? skin
  • 35. Skin detection Learn the skin region from examples • Manually label skin/non pixels in one or more “training images” • Plot the training data in RGB space – skin pixels shown in orange, non-skin pixels shown in gray – some skin pixels may be outside the region, non-skin pixels inside.
  • 36. CSE 576, Spring 2008 Face Recognition and Detection 36 Skin classifier Given X = (R,G,B): how to determine if it is skin or not? • Nearest neighbor – find labeled pixel closest to X • Find plane/curve that separates the two classes – popular approach: Support Vector Machines (SVM) • Data modeling – fit a probability density/distribution model to each class
  • 37. Probability • X is a random variable • P(X) is the probability that X achieves a certain value continuous X discrete X called a PDF -probability distribution/density function -a 2D PDF is a surface -3D PDF is a volume
  • 38. Probabilistic skin classification Model PDF / uncertainty • Each pixel has a probability of being skin or not skin Skin classifier • Given X = (R,G,B): how to determine if it is skin or not? • Choose interpretation of highest probability Where do we get and ? R is a vector
  • 39. Learning conditional PDF’s We can calculate P(R | skin) from a set of training images • It is simply a histogram over the pixels in the training images • each bin Ri contains the proportion of skin pixels with color Ri • This doesn’t work as well in higher-dimensional spaces. Why not? Approach: fit parametric PDF functions • common choice is rotated Gaussian – center – covariance
  • 40. Learning conditional PDF’s We can calculate P(R | skin) from a set of training images But this isn’t quite what we want • Why not? How to determine if a pixel is skin? • We want P(skin | R) not P(R | skin) • How can we get it?
  • 41. CSE 576, Spring 2008 Face Recognition and Detection 41 Bayes rule In terms of our problem: what we measure (likelihood) domain knowledge (prior) what we want (posterior) normalization term What can we use for the prior P(skin)? • Domain knowledge: – P(skin) may be larger if we know the image contains a person – For a portrait, P(skin) may be higher for pixels in the center • Learn the prior from the training set. How? – P(skin) is proportion of skin pixels in training set
  • 42. Bayesian estimation Bayesian estimation • Goal is to choose the label (skin or ~skin) that maximizes the posterior ↔ minimizes probability of misclassification – this is called Maximum A Posteriori (MAP) estimation likelihood posterior (unnormalized)
  • 44. 44 This same procedure applies in more general circumstances • More than two classes • More than one dimension General classification Example: face detection • Here, X is an image region – dimension = # pixels – each face can be thought of as a point in a high dimensional space H. Schneiderman, T. Kanade. "A Statistical Method for 3D Object Detection Applied to Faces and Cars". CVPR 2000
  • 45. Face Recognition & Detection Face recognition and detection • color-based skin detection • recognition: eigenfaces [Turk & Pentland] and parts [Moghaddan & Pentland] • detection: boosting [Viola & Jones]
  • 46. Eigenfaces for recognition Matthew Turk and Alex Pentland J. Cognitive Neuroscience 1991
  • 47. Linear subspaces Classification can be expensive: • Big search prob (e.g., nearest neighbors) or store large PDF’s Suppose the data points are arranged as above • Idea—fit a line, classifier measures distance to line convert x into v1, v2 coordinates What does the v2 coordinate measure? What does the v1 coordinate measure? - distance to line - use it for classification—near 0 for orange pts - position along line - use it to specify which orange point it is
  • 48. Dimensionality reduction Dimensionality reduction • We can represent the orange points with only their v1 coordinates (since v2 coordinates are all essentially 0) • This makes it much cheaper to store and compare points • A bigger deal for higher dimensional problems
  • 49. Linear subspaces Consider the variation along direction v among all of the orange points: What unit vector v minimizes var? What unit vector v maximizes var? Solution: v1 is eigenvector of A with largest eigenvalue v2 is eigenvector of A with smallest eigenvalue
  • 50. Principal component analysis Suppose each data point is N-dimensional • Same procedure applies: • The eigenvectors of A define a new coordinate system – eigenvector with largest eigenvalue captures the most variation among training vectors x – eigenvector with smallest eigenvalue has least variation • We can compress the data using the top few eigenvectors – corresponds to choosing a “linear subspace” » represent points on a line, plane, or “hyper-plane” – these eigenvectors are known as the principal components
  • 51. The space of faces An image is a point in a high dimensional space • An N x M image is a point in RNM • We can define vectors in this space as we did in the 2D case +=
  • 52. CSE 576, Spring 2008 Face Recognition and Detection 52 Dimensionality reduction The set of faces is a “subspace” of the set of images • We can find the best subspace using PCA • This is like fitting a “hyper-plane” to the set of faces – spanned by vectors v1, v2, ..., vK – any face
  • 53. Eigenfaces PCA extracts the eigenvectors of A • Gives a set of vectors v1, v2, v3, ... • Each vector is a direction in face space – what do these look like?
  • 54. Projecting onto the eigenfaces The eigenfaces v1, ..., vK span the space of faces • A face is converted to eigenface coordinates by
  • 55. Recognition with eigenfaces Algorithm 1. Process the image database (set of images with labels) • Run PCA—compute eigenfaces • Calculate the K coefficients for each image 2. Given a new image (to be recognized) x, calculate K coefficients 3. Detect if x is a face 4. If it is a face, who is it? – Find closest labeled face in database » nearest-neighbor in K-dimensional space
  • 56. Choosing the dimension K K NMi = eigenvalues How many eigenfaces to use? Look at the decay of the eigenvalues • the eigenvalue tells you the amount of variance “in the direction” of that eigenface • ignore eigenfaces with low variance • Get cumulative curve by integrating left figure. Then for example of variance 90%, get corresponding K that keeps 90% of variance
  • 57. View-Based and Modular Eigenspaces for Face Recognition Alex Pentland, Baback Moghaddam and Thad Starner CVPR’94
  • 58. Part-based eigenfeatures Learn a separate eigenspace for each face feature Boosts performance of regular eigenfaces
  • 59. Morphable Face Models Rowland and Perrett ’95 Lanitis, Cootes, and Taylor ’95, ’97 Blanz and Vetter ’99 Matthews and Baker ’04, ‘07
  • 60. Morphable Face Model Use subspace to model elastic 2D or 3D shape variation (vertex positions), in addition to appearance variation Shape S Appearance T
  • 61. Morphable Face Model 3D models from Blanz and Vetter ‘99   m i iimodel a 1 SS   m i iimodel b 1 TT
  • 62. Face Recognition Resources Face Recognition Home Page: • http://www.cs.rug.nl/~peterkr/FACE/face.html PAMI Special Issue on Face & Gesture (July ‘97) FERET • http://www.dodcounterdrug.com/facialrecognition/Feret/feret.htm Face-Recognition Vendor Test (FRVT 2000) • http://www.dodcounterdrug.com/facialrecognition/FRVT2000/frvt2000.htm Biometrics Consortium • http://www.biometrics.org
  • 63. Face Recognition & Detection Face recognition and detection • color-based skin detection • recognition: eigenfaces [Turk & Pentland] and parts [Moghaddan & Pentland] • detection: boosting [Viola & Jones]
  • 64. Example: Face Detection Scan window over image Classify window as either: • Face • Non-face ClassifierWindow Face Non-face Then recognize face by Eigen analysis
  • 65. Robust real-time face detection Paul A. Viola and Michael J. Jones Intl. J. Computer Vision 57(2), 137–154, 2004 (originally in CVPR’2001) (slides adapted from Bill Freeman, MIT 6.869, April 2005)
  • 66. Scan classifier over locs. & scales
  • 67. “Learn” classifier from data Training Data • 5000 faces (frontal) • 108 non faces • Faces are normalized • Scale, translation Many variations • Across individuals • Illumination • Pose (rotation both in plane and out)
  • 68. Characteristics of algorithm • Feature set (…is huge about 16M features) • Efficient feature selection using AdaBoost • New image representation: Integral Image • Cascaded Classifier for rapid detection  Fastest known face detector for gray scale images
  • 69. Image features • “Rectangle filters” • Similar to Haar wavelets • Differences between sums of pixels in adjacent rectangles
  • 70. Partial sum Any rectangle is D = 1+4-(2+3) Also known as: • summed area tables [Crow84] • boxlets [Simard98] Integral Image
  • 71. Huge library of filters
  • 72. Constructing the classifier Perceptron yields a sufficiently powerful classifier Use AdaBoost to efficiently choose best features • add a new hi(x) at each round • each hi(xk) is a “decision stump” b=Ew(y [x> q]) a=Ew(y [x< q]) x hi(x) q
  • 73. Constructing the classifier For each round of boosting: •Evaluate each rectangle filter on each example •Sort examples by filter values •Select best threshold for each filter (min error) Use sorting to quickly scan for optimal threshold •Select best filter/threshold combination •Weight is a simple function of error rate •Reweight examples (There are many tricks to make this more efficient.)
  • 74. Good reference on boosting Friedman, J., Hastie, T. and Tibshirani, R. Additive Logistic Regression: a Statistical View of Boosting http://www-stat.stanford.edu/~hastie/Papers/boost.ps “We show that boosting fits an additive logistic regression model by stagewise optimization of a criterion very similar to the log-likelihood, and present likelihood based alternatives. We also propose a multi-logit boosting procedure which appears to have advantages over other methods proposed so far.”
  • 75. Trading speed for accuracy Given a nested set of classifier hypothesis classes Computational Risk Minimization
  • 76. Speed of face detector (2001) Speed is proportional to the average number of features computed per sub-window. On the MIT+CMU test set, an average of 9 features (/ 6061) are computed per sub-window. On a 700 Mhz Pentium III, a 384x288 pixel image takes about 0.067 seconds to process (15 fps). Roughly 15 times faster than Rowley-Baluja- Kanade and 600 times faster than Schneiderman-Kanade.
  • 78. Summary (Viola-Jones) • Fastest known face detector for gray images • Three contributions with broad applicability: Cascaded classifier yields rapid classification AdaBoost as an extremely efficient feature selector Rectangle Features + Integral Image can be used for rapid image analysis
  • 79. Face detector comparison Informal study by Andrew Gallagher, CMU, for CMU 16-721 Learning-Based Methods in Vision, Spring 2007 • The Viola Jones algorithm OpenCV implementation was used. (<2 sec per image). • For Schneiderman and Kanade, Object Detection Using the Statistics of Parts [IJCV’04], the www.pittpatt.com demo was used. (~10-15 seconds per image, including web transmission).
  • 80. Face Recognition and Detection Schneiderman KanadeViola Jones
  • 81. Summary Face recognition and detection • color-based skin detection • recognition: eigenfaces [Turk & Pentland] and parts [Moghaddan & Pentland] • detection: boosting [Viola & Jones]
  • 82. Final Project 5 announced: 1- Given standard face datasets http://www.face-rec.org/databases/ 2- Detect Faces (color or grayscale) 3- Recognize faces based on PCA/Eigen analysis 4- Report performance and plot ROC curve Due date: May 17th 11:59pm