          self.w = w
          self.y = y
          self.h = h
          self.landmarks = landmarks
      
      def landmarksAsXY(self):
          return [(p.x, p.y) for p in self.landmarks.parts()]
 
</s> remove         return [(p.x, p.y) for p in self.landmarks.parts()]
 </s> add         if self.landmarksXY:
            return self.landmarksXY
        self.landmarksXY = [(p.x, p.y) for p in self.landmarks.parts()]
        return self.landmarksXY </s> remove     def __init__(self, image, x, w, y, h, landmarks):
 </s> add     def __init__(self, image=None, x=None, w=None, y=None, h=None, landmarks=None, landmarksXY=None): </s> remove         for idx, face in self.get_faces(image):
 </s> add         faces = self.get_faces(image)
        rvals = []
        for idx, face in faces: </s> remove         self.faces_detected = 0
 </s> add 
        self.landmarksXY = landmarksXY

          self.w = w
          self.y = y
          self.h = h
          self.landmarks = landmarks
        self.landmarksXY = landmarksXY

      def landmarksAsXY(self):
          return [(p.x, p.y) for p in self.landmarks.parts()]
keep keep keep keep replace keep keep
 Added serializers.

This speeds up convert speed x4 on my machine. 
lib/faces_detect.py