Source code for bob.bio.face.annotator.bobipdlib

from . import Base, bounding_box_to_annotations
import bob.ip.facedetect


class BobIpDlib(Base):
    """Annotator using bob.ip.dlib"""

    def __init__(self, **kwargs):
        super(BobIpDlib, self).__init__(**kwargs)
        from bob.ip.dlib import DlibLandmarkExtraction
        self.detector = DlibLandmarkExtraction(bob_landmark_format=True)

[docs] def annotate(self, image, **kwargs): """Annotates an image using bob.ip.dlib Parameters ---------- image : numpy.array An RGB image in Bob format. **kwargs Ignored. Returns ------- dict Annotations contain: (topleft, bottomright, leye, reye, nose, mouthleft, mouthright). """ landmarks = self.detector(image) if not landmarks: return None bounding_box = bob.ip.facedetect.bounding_box_from_annotation( source='eyes', **landmarks) landmarks.update(bounding_box_to_annotations(bounding_box)) return landmarks