                              + self.bounding_box['right']) / 2.0,
                             (self.bounding_box['top']
                              + self.bounding_box['bottom']) / 2.0])
  
          center[1] -= (self.bounding_box['bottom']
                        - self.bounding_box['top']) * 0.12
  
          scale = (self.bounding_box['right']
                   - self.bounding_box['left']
                   + self.bounding_box['bottom']
                   - self.bounding_box['top']) / 195.0
 
</s> remove         scale = (self.bounding_box['right']
                 - self.bounding_box['left']
                 + self.bounding_box['bottom']
                 - self.bounding_box['top']) / 195.0
 </s> add         scale = (detected_face['right']
                 - detected_face['left']
                 + detected_face['bottom']
                 - detected_face['top']) / 195.0 </s> remove         center = np.array([(self.bounding_box['left']
                            + self.bounding_box['right']) / 2.0,
                           (self.bounding_box['top']
                            + self.bounding_box['bottom']) / 2.0])
 </s> add         center = np.array([(detected_face['left']
                            + detected_face['right']) / 2.0,
                           (detected_face['top']
                            + detected_face['bottom']) / 2.0]) </s> remove     def get_bounding_box(self, d_rect):
        """ Return the corner points of the bounding box """
        self.bounding_box = {'left': d_rect.left(),
                             'top': d_rect.top(),
                             'right': d_rect.right(),
                             'bottom': d_rect.bottom()}

    def get_center_scale(self):
 </s> add     @staticmethod
    def get_center_scale(detected_face): </s> remove         free_mem = self.vram_free - buffer
 </s> add         if self.device != -1:
            free_mem = self.vram_free - buffer
        else:
            # Limit to 2GB if using CPU
            free_mem = 2048
 </s> remove         pixel_count = self.width * self.height
 </s> add         image = self.image_rgb
        if input_is_predetected_face:
            return image
        center[1] -= (detected_face['bottom']
                      - detected_face['top']) * 0.12
                              + self.bounding_box['right']) / 2.0,
                             (self.bounding_box['top']
                              + self.bounding_box['bottom']) / 2.0])
  
        center[1] -= (detected_face['bottom']
                      - detected_face['top']) * 0.12
        center[1] -= (detected_face['bottom']
                      - detected_face['top']) * 0.12
  
          scale = (self.bounding_box['right']
                   - self.bounding_box['left']
                   + self.bounding_box['bottom']
                   - self.bounding_box['top']) / 195.0
keep keep keep keep replace replace keep keep keep keep keep
 DLib scaling amends (#461)

* Scaling area fix and rework of frames and bounding boxes

* Update DLib scaling and initialization 
lib/face_alignment/extractor.py