A novel face detection algorithm under hypothesis-verification scheme is presented, which includes three stags: skin region extraction, face candidate generation, and face candidate verification. This algorithm has several advantages: first, the skin chroma chart is fuzzily enhanced, which guarantees better discriminant power; second, through post-processing the extracted skin regions, overlapped regions are separated, which reduces the face detection complexity; third and the most important, maximum valley peaks from morphological operations are used as the invariant facial features for face hypothesis, which are more stable and accuracy than the commonly used valley block centers; fourth, to speed up the system, a multi-threshold fusion based image segmentation algorithm is proposed to constrain unreasonable candidates. At last, support vector machine is used for face verification, which is perfect for this task. For more than 1000 face images with different sizes, poses, expressions and lighting conditions, also including some gray images, the false rejection rate (FRR) is below 0.8%, false acceptance rate (FAR) is below 2.5%, and the average detection time is 2.55s. Experiments also show that the eye locations are very accuracy.