          """ Initialize CV2 DNN Detector Model"""
          self.model = cv2.dnn.readNetFromTensorflow(self.model_path)  # pylint: disable=no-member
          self.model.setPreferableTarget(cv2.dnn.DNN_TARGET_CPU)  # pylint: disable=no-member
  
      def process_input(self, batch: BatchType) -> None:
          """ Compile the detected faces for prediction
  
          Parameters
          ----------
          batch: :class:`AlignerBatch`
 
</s> remove     @classmethod
    def get_pts_from_predict(cls, batch: AlignerBatch):
 </s> add     def get_pts_from_predict(self, batch: AlignerBatch): </s> remove logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
 </s> add logger = logging.getLogger(__name__)
    def faces_to_feed(self, faces: np.ndarray) -> np.ndarray:
        """ Convert a batch of face images from UINT8 (0-255) to fp32 (0.0-255.0)

        Parameters
        ----------
        faces: :class:`numpy.ndarray`
            The batch of faces in UINT8 format

        Returns
        -------
        class: `numpy.ndarray`
            The batch of faces as fp32
        """
        return faces.astype("float32").transpose((0, 3, 1, 2))

          """ Initialize CV2 DNN Detector Model"""
          self.model = cv2.dnn.readNetFromTensorflow(self.model_path)  # pylint: disable=no-member
          self.model.setPreferableTarget(cv2.dnn.DNN_TARGET_CPU)  # pylint: disable=no-member
  
    def faces_to_feed(self, faces: np.ndarray) -> np.ndarray:
        """ Convert a batch of face images from UINT8 (0-255) to fp32 (0.0-255.0)

        Parameters
        ----------
        faces: :class:`numpy.ndarray`
            The batch of faces in UINT8 format

        Returns
        -------
        class: `numpy.ndarray`
            The batch of faces as fp32
        """
        return faces.astype("float32").transpose((0, 3, 1, 2))

      def process_input(self, batch: BatchType) -> None:
          """ Compile the detected faces for prediction
  
          Parameters
          ----------
          batch: :class:`AlignerBatch`
keep keep keep add keep keep keep keep keep keep
 Extract: Implement re-align/2nd pass
   - implement configurable re-align function in extract
  - update locales + documentation
  - re-factor align._base and split to separate modules
  - move normalization method to plugin parent
  - bugfix: FAN use zeros for pre-processing crop
  - lint AlignedFilter 
plugins/extract/align/cv2_dnn.py