logo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Readme
Files and versions

33 lines
1.0 KiB

from typing import NamedTuple
import warnings
warnings.filterwarnings("ignore")
from towhee.utils.ndarray_utils import to_ndarray
from deepface import DeepFace
import numpy as np
from towhee.types.image import Image
from towhee.operator import NNOperator
from towhee import register
from towhee.types.image_utils import to_pil
from towhee._types import Image
from towhee.types import arg, to_image_color
@register(output_schema=['vec'])
class DeepfaceFaceEmbedding(NNOperator):
def __init__(self, model_name: str) -> None:
super().__init__()
self.model_name=model_name
@arg(1, to_image_color('RGB'))
def __call__(self,img: Image) -> np.ndarray:
open_cv_image = np.array(img)
# Convert RGB to BGR
open_cv_image = open_cv_image[:, :, ::-1].copy()
# img.to_ndarray()
embedding=DeepFace.represent(open_cv_image, model_name = self.model_name)
embedding=np.array(embedding)
return embedding
def train(self):
"""
For training model
"""
pass