Skip to content
Snippets Groups Projects

Working out embeddings

Merged Tiago de Freitas Pereira requested to merge small-refactoring into feature-extractors
Files
25
@@ -2,7 +2,7 @@ import bob.bio.base
from bob.bio.base.pipelines.vanilla_biometrics import Distance
from bob.bio.base.pipelines.vanilla_biometrics import VanillaBiometricsPipeline
from bob.bio.face.preprocessor import FaceCrop
from bob.bio.face.embeddings.GenericOpenCV import OpenCVModel
from bob.bio.face.embeddings.pytorch import AFFFE_2021
from bob.pipelines import wrap
import scipy.spatial
from sklearn.pipeline import make_pipeline
@@ -20,26 +20,36 @@ else:
annotation_type = None
fixed_positions = None
cropped_positions={'leye':(100,140), 'reye':(100,95)}
preprocessor_transformer = FaceCrop(cropped_image_size=(224,224), cropped_positions=cropped_positions, color_channel='rgb',fixed_positions=fixed_positions,allow_upside_down_normalized_faces=True)
cropped_positions = {"leye": (110, 144), "reye": (110, 96)}
transform_extra_arguments = (None if (cropped_positions is None or fixed_positions is not None) else (("annotations", "annotations"),))
#Extractor
weights = None # PATH/TO/WEIGHTS
config = None # PATH/TO/CONFIG
extractor_transformer = OpenCVModel(weights=weights,config=config)
preprocessor_transformer = FaceCrop(
cropped_image_size=(224, 224),
cropped_positions=cropped_positions,
color_channel="rgb",
fixed_positions=fixed_positions,
allow_upside_down_normalized_faces=True,
)
transform_extra_arguments = (
None
if (cropped_positions is None or fixed_positions is not None)
else (("annotations", "annotations"),)
)
extractor_transformer = AFFFE_2021()
#Algorithm
algorithm = Distance(distance_function = scipy.spatial.distance.cosine,is_distance_function = True)
# Algorithm
algorithm = Distance(
distance_function=scipy.spatial.distance.cosine, is_distance_function=True
)
# Chain the Transformers together
transformer = make_pipeline(
wrap(["sample"], preprocessor_transformer,transform_extra_arguments=transform_extra_arguments),
wrap(
["sample"],
preprocessor_transformer,
transform_extra_arguments=transform_extra_arguments,
),
wrap(["sample"], extractor_transformer)
# Add more transformers here if needed
)
Loading