Over the course of a couple of months I wrote a simple face detector and optimized it for ARM processors. The algorithm is lightweight and simply scans for flesh colored blobs, compares them against characteristic descriptors, and generates a pixel map histogram relating image coordinates to body part candidates.
The detector pipeline is optimized to leverage ARM vector unit instructions (NEON) for the color conversion, blob detection, and descriptor comparison phases.
Like many face detection products, this detector requires a (perhaps unrealistically) good lighting environment to function properly. As a result, it can sometimes be difficult for it to detect faces properly and may produce false positives.
Using this detector I produced three comedic iOS apps, which are all currently available on the iOS App Store:
Beauty Profiler: determines your facial beauty from a photo
Wealth Profiler: estimates your wealth from a photo
IQ Profiler: measures your iq from a photo
These apps are for entertainment purposes only! There is of course no real correlation between detected faces and the estimated beauty/wealth/iq.