2

Using version Linux C++ 3.1.1-2802 version the SDK. The descriptions of FaceDetectorMode::LARGE_FACES (To target faces occupying a large area) and FaceDetectorMode::SMALL_FACES (To target faces occupying a small area) are a bit vague/confusing. By "large" is it, for instance, faces that occupy more than 30% of the image's area or between 50% and 80%, or a certain amount of pixels, or what?

Experimenting with PhotoDetector with the FaceDetectorMode::LARGE_FACES and an image that contains 1 face at multiple resolutions (720p, 480p, 240p) I've found that the by face can't occupy most of the image (more than around 30% of the image's width/height) and has to be a certain minimum size in pixels in order to be detected but I can't figure out the relationship.

hwbk
  • 21
  • 1

1 Answers1

3

The main difference in large face and small face mode is what is the minimum size of face they will detect. The image property of interest is the minimum image dimension:

  • Large face: find faces that are at least ~15% the min. image dimension
  • Small face: find faces that are at least ~4% the min. image dimension

Example: In a 640x480 image, 480 is the dimension of interest and that would work out to 72 (0.15 * 480) and 20 (0.04 * 480) pixels for large face mode and small face mode respectively.

The reason there are two modes is that we've tuned each mode for an accuracy & speed tradeoff that works best for each. Small faces for image collections. Large faces for a person in-front of a camera.

Andy Dennie
  • 6,012
  • 2
  • 32
  • 51
Jay Turcot
  • 31
  • 2
  • Thanks but I was wondering about a maximum size cutoff. That is, is there an upper limit on the size of the face? since If I give, for example, an image that is 320x480 or 320x320 which is mostly face the detector fails to find a face (The head is completely visible) – hwbk Nov 02 '16 at 09:08
  • 1
    Hey, can u share examples of the faces the face detector is missing ? – ahamino Dec 07 '16 at 02:19