  
          For Detect:
              the expected output for the ``prediction`` key of the :attr:`batch` dict should be a
              ``list`` of :attr:`batchsize` of detected face points. These points should be either
              a ``list``, ``tuple`` or ``numpy.array`` with the first 4 items being the `left`,
              `top`, `right`, `bottom` points, in that order
          """
          raise NotImplementedError
  
      def process_output(self, batch):
 
</s> remove             This should be a ``list`` or ``numpy.array`` of :attr:`batchsize` containing a
            ``list``, ``tuple`` or ``numpy.array`` of `(x, y)` co-ords of the 68 point landmarks
            as calculated from the :attr:`model`.
 </s> add             This should be a ``list`` or ``numpy.ndarray`` of :attr:`batchsize` containing a
            ``list``, ``tuple`` or ``numpy.ndarray`` of `(x, y)` coordinates of the 68 point
            landmarks as calculated from the :attr:`model`. </s> remove         This method is overridable at the `<plugin_type>` level (ie.
 </s> add         This method should be overridden at the `<plugin_type>` level (IE. </s> remove                     self.name, self._plugin_type, self.batchsize)
 </s> add                     self.name, self._plugin_type.title(), self.batchsize) </s> remove         This method is overridable at the `<plugin_type>` level (ie.
 </s> add         This method should be overridden at the `<plugin_type>` level (IE. </s> remove         be overriden within plugins themselves.
 </s> add         be overridden within plugins themselves.
            a ``list``, ``tuple`` or ``numpy.ndarray`` with the first 4 items being the `left`,
  
          For Detect:
              the expected output for the ``prediction`` key of the :attr:`batch` dict should be a
              ``list`` of :attr:`batchsize` of detected face points. These points should be either
            a ``list``, ``tuple`` or ``numpy.ndarray`` with the first 4 items being the `left`,
              `top`, `right`, `bottom` points, in that order
          """
          raise NotImplementedError
  
      def process_output(self, batch):
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/_base.py