Esempio n. 1
0
 def extract_one_face(self, alignment, image):
     """ Extract one face from image """
     logger.trace("Extracting one face: (frame: '%s', alignment: %s)",
                  self.current_frame, alignment)
     face = DetectedFace()
     face.from_alignment(alignment, image=image)
     face.load_aligned(image, size=self.size, align_eyes=self.align_eyes)
     return face
Esempio n. 2
0
 def extract_one_face(self, alignment, image):
     """ Extract one face from image """
     logger.trace("Extracting one face: (frame: '%s', alignment: %s)",
                  self.current_frame, alignment)
     face = DetectedFace()
     face.from_alignment(alignment, image=image)
     face.load_aligned(image, size=self.size, align_eyes=self.align_eyes)
     return face
Esempio n. 3
0
File: media.py Progetto: aejot/fs
 def extract_one_face(self, alignment, image):
     """ Extract one face from image """
     face = DetectedFace()
     face.from_alignment(alignment, image=image)
     face.load_aligned(image,
                       size=self.size,
                       padding=self.padding,
                       align_eyes=self.align_eyes)
     return face
Esempio n. 4
0
 def transform_landmarks(self, alignments):
     """ For each face transform landmarks and return """
     landmarks = dict()
     for _, faces, _, _ in alignments.yield_faces():
         for face in faces:
             detected_face = DetectedFace()
             detected_face.from_alignment(face)
             detected_face.load_aligned(None, size=self.size, align_eyes=False)
             landmarks[detected_face.hash] = detected_face.aligned_landmarks
     return landmarks
Esempio n. 5
0
 def align_face(self, faces, align_eyes, size, filename):
     """ Align the detected face and add the destination file path """
     final_faces = list()
     image = faces["image"]
     landmarks = faces["landmarks"]
     detected_faces = faces["detected_faces"]
     for idx, face in enumerate(detected_faces):
         detected_face = DetectedFace()
         detected_face.from_dlib_rect(face, image)
         detected_face.landmarksXY = landmarks[idx]
         detected_face.load_aligned(image, size=size, align_eyes=align_eyes)
         final_faces.append({"file_location": self.output_dir / Path(filename).stem,
                             "face": detected_face})
     faces["detected_faces"] = final_faces
Esempio n. 6
0
 def align_face(self, faces, align_eyes, size, filename):
     """ Align the detected face and add the destination file path """
     final_faces = list()
     image = faces["image"]
     landmarks = faces["landmarks"]
     detected_faces = faces["detected_faces"]
     for idx, face in enumerate(detected_faces):
         detected_face = DetectedFace()
         detected_face.from_bounding_box(face, image)
         detected_face.landmarksXY = landmarks[idx]
         detected_face.load_aligned(image, size=size, align_eyes=align_eyes)
         final_faces.append({"file_location": self.output_dir / Path(filename).stem,
                             "face": detected_face})
     faces["detected_faces"] = final_faces
Esempio n. 7
0
    def load_aligned_face(self):
        """ Align the faces for vgg_face input """
        for filename, face in self.filters.items():
            logger.debug("Loading aligned face: '%s'", filename)
            bounding_box = face["detected_faces"][0]
            image = face["image"]
            landmarks = face["landmarks"][0]

            detected_face = DetectedFace()
            detected_face.from_bounding_box_dict(bounding_box, image)
            detected_face.landmarksXY = landmarks
            detected_face.load_aligned(image, size=224)
            face["face"] = detected_face.aligned_face
            del face["image"]
            logger.debug("Loaded aligned face: ('%s', shape: %s)", filename,
                         face["face"].shape)
Esempio n. 8
0
 def align_face(faces, align_eyes, size, padding=48):
     """ Align the detected face """
     final_faces = list()
     image = faces["image"]
     landmarks = faces["landmarks"]
     detected_faces = faces["detected_faces"]
     for idx, face in enumerate(detected_faces):
         detected_face = DetectedFace()
         detected_face.from_dlib_rect(face, image)
         detected_face.landmarksXY = landmarks[idx]
         detected_face.frame_dims = image.shape[:2]
         detected_face.load_aligned(image,
                                    size=size,
                                    padding=padding,
                                    align_eyes=align_eyes)
         final_faces.append(detected_face)
     faces["detected_faces"] = final_faces