  
      For each source item, the plugin must pass a dict to finalize containing:
      {"filename": <filename of source frame>,
       "image": <source image>,
       "detected_faces": <list of BoundingBoxes>, (Class defined in /lib/faces_detect)
       "landmarks": <list of landmarks>}
      """
  
  import logging
  import os
 
</s> remove      "detected_faces": <list of BoundingBoxes>}
 </s> add      "detected_faces": <list of bounding box dicts as defined in lib/plugins/extract/detect/_base>} </s> remove      "detected_faces": <list of BoundingBoxes>} (Class defined in /lib/faces_detect)
 </s> add      "detected_faces": <list of dicts containing bounding box points>}}

    - Use the function self.to_bounding_box_dict(left, right, top, bottom) to define the dict </s> remove             Must return a list of BoundingBox's"""
 </s> add             Must return a list of bounding box dicts (See module docstring)""" </s> remove         face = face.to_bounding_box()
 </s> add         face = face.to_bounding_box_dict() </s> remove from ._base import BoundingBox, cv2, Detector, logger
 </s> add from ._base import cv2, Detector, logger
     "detected_faces": <list of bounding box dicts as defined in lib/plugins/extract/detect/_base>,
  
      For each source item, the plugin must pass a dict to finalize containing:
      {"filename": <filename of source frame>,
       "image": <source image>,
     "detected_faces": <list of bounding box dicts as defined in lib/plugins/extract/detect/_base>,
       "landmarks": <list of landmarks>}
      """
  
  import logging
  import os
keep keep keep keep replace keep keep keep keep keep
 Bugfix: Extract - Remove BoundingBox object and replace with dict 
plugins/extract/align/_base.py