9.913 pattern recognition for vision class9 - object detection and recognition bernd heisele

27
9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Upload: dwain-taylor

Post on 18-Jan-2018

225 views

Category:

Documents


0 download

DESCRIPTION

Object Detection Task: Given an input image, determine if there are objects of a given class in the image and where they are located.

TRANSCRIPT

Page 1: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

9.913 Pattern Recognition for Vision

Class9 - Object Detection and Recognition

Bernd Heisele

Page 2: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Outline

• Object Detection• Object Recognition

Page 3: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Object Detection

• Task: Given an input image, determine if there are objects of a given class in the image and where they are located.

Page 4: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Face Detection System Architecture

Page 5: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Testing

Page 6: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Image Features

Page 7: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

ROC for Image Features

Gray

Gray + Haar

Haar

Gray + Grad

Page 8: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Positive Training Data

Page 9: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Real vs. Synthetic

Real

Synthetic

Page 10: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

ROC for Classifiers

LDA

Linear SVM

Poly2

Page 11: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Global vs. Components

(Whole Face)

Page 12: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Component-based Detection

Page 13: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Some Examples

Page 14: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

ROC Component vs. Global

• About 40000 faces

• 68 people

• 13 poses

• 43 illuminations condition

• CMU PIE database

Page 15: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Training on Faces

Positive

Facial Negative

Non-facial Negative

Use the remainder of the face in the negative training set

Page 16: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Training on Faces

Red: Trained on facial and non-facial negative set.

Blue: Trained only on non-facial negative set.

Page 17: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Pair-wise Biasing

Often, many components classify correctly, with only a few errors.

Use the pair-wise relative position information from training data to bias the result image.

Page 18: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Pair-wise Biasing

Result Images

Biased Results

Page 19: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

ROC Pair-wise Biasing

Red: Trained on facial and non-facial negative set.

Blue: Trained only on non-facial negative set.

Dashed: Biasing andtrained on facial and non-facial negative set.

Page 20: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Pedestrian Detection

Page 21: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Object Recognition

• Task: Given an image of and object of a particular class identify which exemplar it is.

Page 22: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Recognition System Architecture

Page 23: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Multi-class Classification with SVM

Training: N (N-1) / 2Classification: N - 1

Training: NClassification: N

The two different architecture has similar performance!!

Page 24: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Global Approach

1. Detect and extract face

2. Feed gray values of extracted face into N SVMs

3. Classify based on maximum output

Each SVM is one vs. all approach

Page 25: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Global Approach with Clustering

T1. Partition training images of each person into viewpoint- specific clusters

T2. Train a SVM on each cluster.

R1. Detect and extract face

R2. Feed extracted face to all SVMs

R3. Take maximum over all SVM outputs

Page 26: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

Component-based Approach

1. Detect face and extract components

2. Combine gray values of components to a feature vector , and feed to the N SVMs

3. Take maximum over all SVM outputs

Page 27: 9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele

ROC Component vs. Global Recognition

• Trained and tested on frontal and rotated faces.