deepface
copied
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
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
|