Spaces:
Sleeping
Sleeping
from facenet_pytorch import MTCNN | |
import torch | |
from PIL import Image | |
import numpy as np | |
class FaceDetector: | |
def __init__(self): | |
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') | |
self.model = MTCNN(keep_all=True, post_process=False, device=device) | |
def detect_bboxes(self, img: Image.Image) -> np.ndarray: | |
boxes, probs = self.model.detect(img) | |
return boxes | |
def extract_faces(self, img: Image.Image, bboxes) -> torch.Tensor: | |
face_images_tensors = self.model.extract(img, bboxes, save_path='dev/extracted/extracted.jpg') | |
return face_images_tensors | |