Here is the first homework from my computational photography course at Columbia. For this homework we had to use a freely available face detector to correctly rotate a set or images that had been rotated either 0, 90, 180, or 270 degrees. For each image we then needed to identify if the image was a photo of a group or of an individual. Finally we were required to use the face detector to extract a smoothed face image from a video. I did my project in C++ using the Haar cascade detectors baked into OpenCV 2.2. For the video portion of the homework I used a Kalman filter to smooth the detected face location and determine a good subimage location when the face detector failed to return a result. In the still images there are multiple colored boxes around each face. These boxes correspond to the different detector packages. The results were not as good as I would have liked. The detectors I used are based on Haar like features and I think some of the symmetry of the faces was preserved in the rotations causing the detectors to misfire. More example images can be found on the flickr set for this project. The video results are below. I put the code up on Google code. The source needs a bit of refactoring but I will be hacking on it all semester so it should get cleaned up.
Here is the first homework from my computational photography course at Columbia. For this homework we had to use a freely available face detector to correctly rotate a set or images that had been rotated either 0, 90, 180, or 270 degrees. For each image we then needed to identify if the image was a photo of a group or of an individual. Finally we were required to use the face detector to extract a smoothed face image from a video. I did my project in C++ using the Haar cascade detectors baked into OpenCV 2.2. For the video portion of the homework I used a Kalman filter to smooth the detected face location and determine a good subimage location when the face detector failed to return a result. In the still images there are multiple colored boxes around each face. These boxes correspond to the different detector packages. The results were not as good as I would have liked. The detectors I used are based on Haar like features and I think some of the symmetry of the faces was preserved in the rotations causing the detectors to misfire. More example images can be found on the flickr set for this project. The video results are below. I put the code up on Google code. The source needs a bit of refactoring but I will be hacking on it all semester so it should get cleaned up.
You can follow any responses to this entry through the RSS 2.0 Both comments and pings are currently closed.