|
|
from deepface import DeepFace |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def represent(img_path, model_name, detector_backend, enforce_detection, align): |
|
|
try: |
|
|
result = {} |
|
|
embedding_objs = DeepFace.represent( |
|
|
img_path=img_path, |
|
|
model_name=model_name, |
|
|
detector_backend=detector_backend, |
|
|
enforce_detection=enforce_detection, |
|
|
align=align, |
|
|
) |
|
|
result["results"] = embedding_objs |
|
|
return result |
|
|
except Exception as err: |
|
|
return {"error": f"Exception while representing: {str(err)}"}, 400 |
|
|
|
|
|
|
|
|
def verify( |
|
|
img1_path, img2_path, model_name, detector_backend, distance_metric, enforce_detection, align |
|
|
): |
|
|
try: |
|
|
obj = DeepFace.verify( |
|
|
img1_path=img1_path, |
|
|
img2_path=img2_path, |
|
|
model_name=model_name, |
|
|
detector_backend=detector_backend, |
|
|
distance_metric=distance_metric, |
|
|
align=align, |
|
|
enforce_detection=enforce_detection, |
|
|
) |
|
|
return obj |
|
|
except Exception as err: |
|
|
return {"error": f"Exception while verifying: {str(err)}"}, 400 |
|
|
|
|
|
|
|
|
def analyze(img_path, actions, detector_backend, enforce_detection, align): |
|
|
try: |
|
|
result = {} |
|
|
demographies = DeepFace.analyze( |
|
|
img_path=img_path, |
|
|
actions=actions, |
|
|
detector_backend=detector_backend, |
|
|
enforce_detection=enforce_detection, |
|
|
align=align, |
|
|
silent=True, |
|
|
) |
|
|
result["results"] = demographies |
|
|
return result |
|
|
except Exception as err: |
|
|
return {"error": f"Exception while analyzing: {str(err)}"}, 400 |
|
|
|
|
|
def find(img_path, db_path, model_name, detector_backend, distance_metric, enforce_detection, align): |
|
|
try: |
|
|
obj = DeepFace.find( |
|
|
img_path=img_path, |
|
|
db_path=db_path, |
|
|
model_name=model_name, |
|
|
detector_backend=detector_backend, |
|
|
distance_metric=distance_metric, |
|
|
align=align, |
|
|
enforce_detection=enforce_detection, |
|
|
) |
|
|
return obj |
|
|
except Exception as err: |
|
|
return {"error": f"Exception while Findind: {str(err)}"}, 400 |
|
|
|
|
|
|
|
|
def sync_datasets(): |
|
|
try: |
|
|
DeepFace.sync_datasets() |
|
|
return {'data': 'synced successfully'}, 200 |
|
|
except Exception as e: |
|
|
return {'error': str(e)}, 400 |
|
|
|
|
|
def delete_pkls(): |
|
|
try: |
|
|
DeepFace.delete_pkls() |
|
|
return {'data': 'pkl files deleted successfully'}, 200 |
|
|
except Exception as e: |
|
|
return {'error': str(e)}, 400 |