COMS 6998 Computational Photography

Assignment 1. Simple Applications for Face Detection

Due: March 4th, 2011


In this assignment, we will implement some simple computational photography applications using a publically available face detector. Here you can find the face detector in Matlab. It can run in Windows, Linux, and on a Mac. For a given input image, it will detect faces; each detected face is represented as a bounding box.

Application 1. Automatic Rotation of Photographs (5%)

When we take photographs, we often rotate the camera in order to get a good field of view or frame. When we dump the photographs to computers, we need to manually rotate them to the correct orientation.

The idea of this application is to develop an automatic method for rotating photographs, assuming there are faces in the photographs. In other words, if the rotation of the photograph is correct, we will detect faces; if the rotation is wrong, we will detect fewer or no faces. In this assignment, we only consider 4 possible rotations: 0, 90, 180, 270 degrees.

Here you can download a set of 200 photographs with faces.

Application 2. Portraits or Group Shots (5%)

Once we correct for the orientation of the photographs, we can also use the face detector to do a simple classification. Use the same dataset as above to classify the photographs as either portrait (i.e., one face) or group shot (i.e., multiple faces).

Application 3. Simple Face Tracking in Videos (5%)

This is another simple application of the face detector, but here we consider faces in videos. Suppose we have a video clip, in which a person's face is moving. Our goal is to track the face over the video. Here are some video clips.

How to Submit Your Assignment?

You should create a webpage to show your results and explain what you did. Do not modify the webpage after the due date. Send an email to Oliver Cossairt <olivercossairt@gmail.com> with the URL to your webpage - before the due date.