Thursday, December 30, 2010

Face Detection and Face Matching

We took a sample of recording by making 4 people sit and shake their heads :-) it was fun! This was done in the computer vision laboratory of DSCE college with the help of Prof. Ramesh Babu.

I am now in a stage thinking how to grab the co-ordinates of the faces of the students in the classroom.

1) We could sample the frames at 1 frame per second (I think this should be more than enough).

2) After that, we should detect the faces. This is the stage where we may have to give up on some faces which are either concealed or isn't clearly visible. We cannot expect to have all the faces in our frames.

3) We may want to do both face detection and face matching here (the reason is obvious, or aint it?)

I hit on this nice package to face detect.


and upload a picture and see what happens ( you can either upload a picture or paste the link)


This algorithm does a great job provided all the faces are clearly visible and if the picture is of good resolution. The algorithm is available as a Python API client library which I today figured out how to use.

I am planning to assign this task to two of my bright friends Vijay and Vijesh :

 

Thursday, December 23, 2010

The Plan so Far



We are going to split our work into three components:

1) Capturing the data from a live classroom

2) Running a face detection algorithm on all the frames in the video and generating the matrix of locations of audience.

3) Analyse the data thus obtained.

We are going to capture a video of a set of 40 people listening to a lecture of 60 minutes duration. We will provide our audience with a sheet of paper and ask them to rate the lecture every 5 minutes for 60 full minutes.

We will then see whether there exists a correlation between the audience rating every 5 minutes (average rating of all audience) and the head movement captured in the camcorder.

There are a couple of issues involved in this experiment:

a) How do we ensure that our audience rate the speaker every minute without fail?

b) Will there be a lot of head movement when the audience put their head down to rate the speaker every 5 minutes?

Your thoughts and inputs invited....

Follow up Posting Based on Comments

This is a follow up posting based on the comments that I received for my previous posting. I have made this as an FAQ:

Q) What is Captivation Quotient?

A: We measure this on a 10 point scale. I define this the reverse way, I say that the CQ is 0 if everyone is listening without any head movement and if there is a lot of head movement then the CQ score increases towards 10. I am still not sure what situation should amount to a 10 on 10. Maybe you guys must suggest me :-)

Q) What if students are sleeping or what if a student is nodding his head just because he is understanding every bit?

A: In a given classroom, it is very improbable that everyone is sleeping. So, we can discount this case. The way audience nod their head when they understand the lecture is way different from the way they move their head when the class gets boring. I believe we must be able to detect the difference very easily.

Q) What if students are moving their heads constantly just because they are taking notes from the slides?

A: Again the same reasoning holds good. There is a pattern in which we move heads when we write down notes or when we nod our heads acknowledging that we are understanding what the speaker is speaking. Our motive is to silence such patterns in our data.