fer-demo-1 / face_detector.py
jlynxdev's picture
Upload 13 files
b066d77 verified
raw
history blame contribute delete
632 Bytes
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