-
Notifications
You must be signed in to change notification settings - Fork 22
1 Face Detection
In our program , We use dlib to detect faces in each frame. This is a simple part of our program.
from face_api.py
module.
import dlib
...
_detector = dlib.get_frontal_face_detector()
...
def detect_faces(img, min_score=2, max_idx=2):
output = []
# The third argument to run is an optional adjustment to the detection threshold,
# where a negative value will return more detections and a positive value fewer.
# Also, the idx tells you which of the face sub-detectors matched. This can be
# used to broadly identify faces in different orientations.
dets, scores, idx = _detector.run(img, 1, -1)
for i, d in enumerate(dets):
if scores[i] >= min_score and max_idx >= idx[i]:
output.append([d, scores[i]])
return output
_detector
is created using the scan_fhog_pyramid
object from dlib
, it's an instance of object_detector
. This object is a tool for detecting the positions of objects (in our case , face) in an image. ( read more )
According to dlib notes :
This face detector is made using the now classic Histogram of Oriented Gradients (HOG) feature combined with a linear classifier, an image pyramid, and sliding window detection scheme. This type of object detector is fairly general and capable of detecting many types of semi-rigid objects in addition to human faces.
With dlib
face detector , We can find bounding rectangle of faces in each frames.