FYI, there are OpenCV-based face detection nodes in ROS (Robot Operating System by Willow Garage) that publish the detected face positions using a stereo pair (which prunes false positives based on face depth/size estimates). Slightly modified to use one camera or a Kinect, and you would have a python consumer node that requires a mere 5 lines of Python code. ;-)