Finding faces in an image can be quite a challenging issue. There are some commercial and Open Source frameworks available to developers in order to make the task of finding faces easier. A commercially available library that I can recommend is Neurotechnology VeryLook. Probably the most famous Open Source framework for face detection is Intel's OpenCV (Open Computer Vision) which is capable of a whole lot more than just detecting faces. As it is based on the C++ programming language it is not easy to use in .NET environment. EmguCV solves this issue by providing a .NET interface to OpenCV functions. While these frameworks are powerful, they are not so easy to use.
Face Detection with 10 lines of code - VB.NET - CodeProject