          :attr:`~plugins.extract._base.Extractor.batchsize`:
  
          >>> {'filename': [<filenames of source frames>],
          >>>  'image': [<source images>],
          >>>  'scaled_image': <np.array of images standardized for prediction>,
          >>>  'scale': [<scaling factors for each image>],
          >>>  'pad': [<padding for each image>],
          >>>  'detected_faces': [[<lib.faces_detect.DetectedFace objects]]}
  
          Parameters
 
</s> remove         >>>  'image': <the source image as a numpy.array in BGR color format>}
 </s> add         >>>  'image': <the source image as a numpy.ndarray in BGR color format>} </s> remove         >>>  'image': <the source image as a numpy.array in BGR color format>,
 </s> add         >>>  'image': <the source image as a numpy.ndarray in BGR color format>, </s> remove         qname_dict = dict(detect="extract_detect_in",
                          align="extract_align_in",
                          mask="extract_mask_in")
        qname = "extract_detect_in" if self._is_parallel else qname_dict[self.phase]
 </s> add         qname = "extract_{}_in".format(self.phase) </s> remove         >>>                                    "image": np.array(image)})
 </s> add         >>>                                    "image": numpy.array(image)}) </s> remove         >>>                                    "image": np.array(image),
 </s> add         >>>                                    "image": numpy.array(image),
        >>>  'scaled_image': <numpy.ndarray of images standardized for prediction>,
          :attr:`~plugins.extract._base.Extractor.batchsize`:
  
          >>> {'filename': [<filenames of source frames>],
          >>>  'image': [<source images>],
        >>>  'scaled_image': <numpy.ndarray of images standardized for prediction>,
          >>>  'scale': [<scaling factors for each image>],
          >>>  'pad': [<padding for each image>],
          >>>  'detected_faces': [[<lib.faces_detect.DetectedFace objects]]}
  
          Parameters
keep keep keep keep replace keep keep keep keep keep
 Smart Mask - Extract code review

- Lint simple_tests.py
- Only reformat alignments file if it exists otherwise change filename
- Update legacy alignments to new format at all stages
- faces_detect.Mask.from_dict - logging format fix
- convert.py fix otf for new pipeline
- cli.py - Add note that masks not used. Revert convert masks
- faces_detect.py - Revert non-extract code
- Add .p and .pickle extensions for serializer
- plugins/extract revert some changes
- scripts/fsmedia - Revert code changes
- Pipeline - cleanup
- Consistant alpha channel stripping (fixes single-process)
- Store landmarks as numpy array
- Code attribution
- Normalize feed face and reference face to 0.0 - 1.0 in convert
- Lock in mask VRAM sized
- Add documentation to plugin_loader
- Update alignments tool to work with new format 
plugins/extract/detect/_base.py