CSE 6367 - Project

Due date: Friday, May 7, 11:55pm.

The final programming project constitutes 30% of the grade (20% for programming, 10% for the project presentation). The project must be submitted on WebCT. Students also have the option to choose their own topic, as long as they have obtained the instructor's approval for the proposed topic by April 6. The project presentations will take place Monday, May 10, and Tuesday, May 11.

No extensions will be given, except for well-documented medical (or otherwise serious) emergencies, in which case extensions will be granted at the sole discretion of the instructor, and according strictly to UTA guidelines.


Implement a face detector that is trained using AdaBoost, combines information from skin color and rectangle filters, and utilizes the ideas of bootstrapping and classifier cascades. In particular, the following methods/concepts must be utilized in this face detector:


All the data that you need from this project can be downloaded from zipped file training_test_data.zip, which has size 47MB. You can access individual files from directory training_test_data, When you train your system, you can use windows from images in directory training_faces as positive examples. As negative examples, you can use windows from images in directory training_nonfaces. For bootstrapping, once you have trained a detector, you should apply it to all images in training_faces and training_nonfaces, identify windows where the detector makes mistakes, add those windows to the training set, and retrain.

As test data, you can use the images in directories test_cropped_faces, test_face_photos, and test_nonfaces. You are not allowed to use any of these test data for training.

Submission Instructions

You should submit all your code, and also whatever data was computed and saved by your training algorithm. Do not submit any training and test images, you can assume that we have the entire training_test_data directory on our computer.


Grading will be based on how well you applied knowledge that you obtained in this course in order to design a detector that is accurate and efficient. 25% of the project grade will be assigned to each of the four components of the system (AdaBoost, skin detection, bootstrapping, cascades). As part of your project, you must submit a project writeup that clearly documents the choices you made in your implementation, and a justification for each choice. The project writeup must include a thorough experimental evaluation of each component of the system, and how incorporating that component into the overall system affects system performance.

In addition to correctness and quality of implementation, you will also be graded based on:

In general, this project is intended to be a simulation of a project that you could be assigned when working in the real world. In such projects, much less is specified that in a typical homework assignment; the system designer needs to evaluate different choices at each step, and finally make choices that lead to a good product/system. Also, the system designer must be able to explain what was done, justify different choices, and describe clearly how well each component works. During this course you have learned a variety of different computer vision methods, and you have also encountered several different approaches for making system design choices and for justifying those choices. This is an opportunity to use what you have learned.


Students will need to present their project implementations, in a 5-10 minute presentation, for which slides should be prepared. The project presentations will take place Monday, May 10, and Tuesday, May 11. The presentations should specify the main choices that were made in designing the system, and the accuracy/efficiency of the results that were obtained on the test data.