What's the current state-of-the-art method for determining if an image contains one or more people, and their locations in the image?
EDIT: I've seen some similar work using OpenCV's Haar classifier. Can anyone comment on how this fares compared to other methods?
There are several methods that can do this, depending on what you want to achieve. First of all, what does location mean? Is is a bounding box or a pixel-level segmentation of the image? What kind of scenes do you have? Are people in all sorts of positions? And do you just have single still images?
If you can assume that the faces of the people are visible, you might just want to try a face recognition algorithm. Finding a face is a much easier problem than finding a person. A place to start here would be the classic Viola and Jones algorithm.
I recommend you look at the outcome of the Pascal VOC challenge. There are both detection (bounding box), segmentation (pixel level) and human action recognition challenges.
One possibility would be to use some variant of Felzenszwalbs "Deformable parts model". This is a generic object detector that works very well in practice and I think code is available.
If you want a stick figure of the people, you should go for the action recognition works. They focus more on people and return more than a bounding box.
For segmentation, I can't really say if there is one approach I'd totally recommend.
edit: How could I forget the "poselets" work by Malik's group. Maybe check that out first :)
This answer is marked "community wiki".