What are some face detection (not recognition) algorithms suitable for limited (embedded) processors? I am looking at a hardware based platform for surveillance class of applications. I want to identify faces of people as they appear in the scene. 

I don't intend to really apply face recognition (then or later). Also orientation of faces can be assumed straight for practical purposes. Face detected once needs no further processing.

Is there is a fast (efficient) algorithm to detect faces from the live video source?
We know that the problem is solved because our cell phones and digital cameras can do it. You might be able to find out what algorithm they use by trawling the patent databases.

Computer vision libraries like OpenCV and SimpleCV offer face detection as a standard feature. See for example Near realtime face detection on the iPhone w/ OpenCV port. If you want to DIY see Simple Face-detection Algorithm Based on Minimum Facial Features.