Vision and Learning CIS680 Project

 

Object Recognition Challenge:

 

Develop an object recognition algorithm with the following test cases in mind.  You may assume the image to be recognized is segmented.

 

  1. NIST digit database, 10 object class, 60,000 training/10,000 testing cases

http://yann.lecun.com/exdb/mnist

You need not to use the entire 60,000 training image, but you need to report error rate on the 10,000 test image.

 

  1. CMU Face recognition database, 2 object class,

http://www.cis.upenn.edu/~jshi/Teaching/cis700-002/Project/FACE/

The algorithm should use 75% of the faces, and non-faces in the database as training example, and report ROC curve on the remaining 25% in the database.

 

You need to write the following three functions:

 

Training.m

                  Input: 

                                    X: training images

                                    Y: class labels for the corresponding training images

                                    Para:  additional parameters for the learning alorithm

                  Output:

                                    H: a classifier with its parameters that maps X-> Y

 

Testing.m

                  Input:

                                    X: test images

                                    H: a classifier with its parameters that maps X-> Y

    Note: if you need to use the nearest neighbor classifier, you should store the necessary information in H.

                  Ouput:

                                    Y: class label for each of the test images

 

Error_measure.m

                  Input:

                                    Y_target: correct class labels

                                    Y_computed: computed class labels

                                    Options: the type of error need to be comptued

                  Output:

                                    Test_error:

                                    ROC:

 

Possible Algorithms:

 

You are free to develop any algorithm you wish for this task. 

 

You can choose a number of classifier to boost.  Hand build feature (such as Viola face feature), decision tree.

Viola&Jones: http://citeseer.ist.psu.edu/viola01robust.html

 

Osuna: http://citeseer.ist.psu.edu/osuna97training.html

 

Ioffe&Forsyth: http://www.cs.berkeley.edu/~ioffe/trees.pdf

Felzenszwalb&Huttenlocher: http://www.cs.cornell.edu/~dph/papers/pictorial-structures.pdf

 

Belongie, Malik, Puzicha: http://citeseer.nj.nec.com/belongie02shape.html

Scheinderman&Kanade: http://www.cs.cmu.edu/afs/cs.cmu.edu/user/hws/www/IJCV_final4.pdf

 

 

Mahamud, Hebert, Lafferty: http://www.cs.cmu.edu/~mahamud/eccv-2002.pdf

 

 

In design such algorithms, there are several issues you need to make a decision on.

 

 

 

 

 

Deadlines: