COMP 776 Spring 2009
Final Assignment: Bag-of-Features Image Classification (with Competition!)
Due date: April 21, 5PM
The Data (45 MB)(source: Caltech Vision Group)
The goal of the assignment is to implement a system for bag-of-features image classification. The author of the highest-performing system will get a prize (see below)! The goal is to perform four-class image classification, with the four classes being airplanes, motorbikes, faces, and cars. The data file contains training and test subdirectories for each category. The test subdirectories contain 50 images each, and the training subdirectories contain up to 500 images each. You must test your system on all the test images, and train it on at least 50 training images per class (take either the first 50 ones or a random subset of 50). Keep in mind that using more training data will almost certainly result in better performance. However, if your computational resources are limited and your system is slow, it's OK to use less training data to save time. You can also experiment with splitting up the training images into two subsets, one for learning the visual dictionary, and one for learning the classifier.
System Outline and Implementation Details
GradingFor full credit, you should implement a working, fully documented system by making a single implementation choice for each of the above components, and obtain results that are (significantly) above chance. The performance of your system should be measured in terms of the classification rate, or the percentage of all test images correctly classified by your system. Please make sure that the best classification rate achieved by your algorithm is prominently featured in the report.
For bonus points, you should compare performance of different implementation choices for one or more system components, and/or investigate the effect of important system parameters (dictionary size, number of training images used, k in kNN, etc.). Wherever relevant, feel free to discuss computation time in addition to classification rate.
The grading will be based primarily on your report. I do not intend to run your code, though you must include it, and I may be looking at some parts of it. The report should thoroughly document everything you implemented and all important experimental findings (recognition rates for different versions of features, descriptors, classifiers, etc.). If you download code from the Web, state exactly where you downloaded and how you used the code. DO NOT download somebody else's complete recognition system, only individual pieces that help with some aspects of the assignment.
Competition!!!In an attempt to make this assignment more fun and exciting, I am adding a competition aspect. The person who achieves the highest classification rate on the dataset will receive bonus points and a valuable prize that will be disclosed by me on the last day of class. Apart from the competition, the classification rate of your algorithm will not be strongly considered as part of your grade, unless it is a reflection of serious implementation mistakes.
Turning in the AssignmentAs usual, please email me or post on the Web your report in PDF and your code. The firm deadline is 5PM, Tuesday, April 21. If you think you might have a problem meeting this deadline, please let me know ahead of time! Late assignments will not be accepted without prior arrangement.