Notes
Slide Show
Outline
1
Announcements
    • Project 2 due today
    • Project 3 out today
      • help session today
2
Recognition
  • Readings
    • C. Bishop, “Neural Networks for Pattern Recognition”, Oxford University Press, 1998, Chapter 1.
    • Forsyth and Ponce, 22.3 (eigenfaces)
3
Recognition
  • Readings
    • C. Bishop, “Neural Networks for Pattern Recognition”, Oxford University Press, 1998, Chapter 1.
    • Forsyth and Ponce, 22.3 (eigenfaces)
4
Recognition problems
  • What is it?
    • Object detection

  • Who is it?
    • Recognizing identity

  • What are they doing?
    • Activities


  • All of these are classification problems
    • Choose one class from a list of possible candidates
5
Face detection
  • How to tell if a face is present?
6
One simple method:  skin detection
  • Skin pixels have a distinctive range of colors
    • Corresponds to region(s) in RGB color space
      • for visualization, only R and G components are shown above
7
Skin detection
  • Learn the skin region from examples
    • Manually label pixels in one or more “training images” as skin or not skin
    • Plot the training data in RGB space
      • skin pixels shown in orange, non-skin pixels shown in blue
      • some skin pixels may be outside the region, non-skin pixels inside.  Why?
8
Skin classification techniques
9
Probability
  • Basic probability
    • X is a random variable
    • P(X) is the probability that X achieves a certain value









    •                                     or



    • Conditional probability:   P(X | Y)
      • probability of X given that we already know Y
10
Probabilistic skin classification
  • Now we can model uncertainty
    • Each pixel has a probability of being skin or not skin
11
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
12
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
13
Bayes rule
  • In terms of our problem:
14
Bayesian estimation
  • Bayesian estimation
    • Goal is to choose the label (skin or ~skin) that maximizes the posterior
      • this is called Maximum A Posteriori (MAP) estimation
15
Skin detection results
16
General classification
  • This same procedure applies in more general circumstances
    • More than two classes
    • More than one dimension

17
Linear subspaces
  • Classification can be expensive
    • Must either search (e.g., nearest neighbors) or store large PDF’s
18
Dimensionality reduction
19
Linear subspaces
20
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 by only 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
21
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
22
Dimensionality reduction
  • The set of faces is a “subspace” of the set of images
    • Suppose it is K dimensional
    • 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
23
Eigenfaces
  • PCA extracts the eigenvectors of A
    • Gives a set of vectors v1, v2, v3, ...
    • Each one of these vectors is a direction in face space
      • what do these look like?
24
Projecting onto the eigenfaces
  • The eigenfaces v1, ..., vK span the space of faces
    • A face is converted to eigenface coordinates by
25
Recognition with eigenfaces
  • Algorithm
    • Process the image database (set of images with labels)
      • Run PCA—compute eigenfaces
      • Calculate the K coefficients for each image
    • Given a new image (to be recognized) x, calculate K coefficients
    • Detect if x is a face



    • If it is a face, who is it?
26
Choosing the dimension K
  • 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
27
Issues:  metrics
  • What’s the best way to compare images?
    • need to define appropriate features
    • depends on goal of recognition task
28
Metrics
  • Lots more feature types that we haven’t mentioned
    • moments, statistics
      • metrics:  Earth mover’s distance, ...
    • edges, curves
      • metrics:  Hausdorff, shape context, ...
    • 3D:  surfaces, spin images
      • metrics:  chamfer (ICP)
    • ...
29
Issues:  feature selection
30
Issues:  data modeling
  • Generative methods
    • model the “shape” of each class
      • histograms, PCA, mixtures of Gaussians
      • graphical models (HMM’s, belief networks, etc.)
      • ...


  • Discriminative methods
    • model boundaries between classes
      • perceptrons, neural networks
      • support vector machines (SVM’s)
31
Generative vs. Discriminative
32
Issues:  dimensionality
  • What if your space isn’t flat?
    • PCA may not help
33
Other Issues
  • Some other factors
    • Prior information, context
    • Classification vs. inference
    • Representation
    • Other recognition problems
      • individuals
      • classes
      • activities
      • low-level properties
        • materials, super-resolution, edges, circles, etc...
34
Issues:  speed
  • Case study:  Viola Jones face detector
  • Exploits three key strategies:
    • simple, super-efficient features
    • image pyramids
    • pruning (cascaded classifiers)
35
Viola/Jones:  features
36
Integral Image  (aka. summed area table)
  • Define the Integral Image




  • Any rectangular sum can be computed in constant time:





  • Rectangle features can be computed as differences between rectangles
37
Viola/Jones:  handling scale
38
Viola/Jones:  cascaded classifiers
  • Given a nested set of classifier hypothesis classes






  • Computational Risk Minimization
39
Cascaded Classifier
  • first classifier: 100% detection, 50% false positives.
  • second classifier:  100% detection, 40% false positives
  •       (20% cumulative)
    • using data from previous stage.
  • third classifier: 100% detection,10% false positive rate
  •       (2% cumulative)


  • Put cheaper classifiers up front


40
Viola/Jones results: