I wouldn't try to detect the different features of all types of hoods. What I would do is following these steps:
- Use a robust person detection algorithm. The latentSVM detector of Felzenszwalb or the Integral Channel detector of Dollar would probably do best here. A simpler approach could be the HOG+SVM combination suggested by Dallal and Triggs.
- Once a person is found, apply a face detector, preferably the Viola and Jones face detection.
- If a detection for a face is found, make sure that it is located in a correct region, so the upper part of the person detection.
- If no face is detected, raise an alarm, because this probably means someone is hiding its identity.
Since Viola and Jones is quite influenced by masking and stuff, it will fail quickly if no actual face features are present.