Skip to content
Snippets Groups Projects
Commit bc24891d authored by Rainer Kartmann's avatar Rainer Kartmann
Browse files

Fix imports, handling images without faces

parent 3815c61a
No related branches found
No related tags found
1 merge request!146Face recognition
......@@ -10,13 +10,16 @@ import cv2
import numpy as np
import face_recognition
from armarx_core import cmake_helper
from armarx_core import slice_loader
from armarx import arviz as viz
from armarx_memory import client as mem
from armarx.pose_helper import convert_position_to_global
from armarx import FramedPositionBase
slice_loader.load_armarx_slice("VisionX", "core/ImageProcessorInterface.ice")
slice_loader.load_armarx_slice("VisionX", "components/Calibration.ice")
from armarx_vision.image_processor import ImageProcessor
from visionx import StereoCalibrationInterfacePrx
......@@ -80,11 +83,15 @@ class FaceDetection(ImageProcessor):
abs_path = face_image_path.get_system_path()
if os.path.isfile(abs_path):
name = profile.names.spoken[0] or id.entity_name
if logger is not None:
logger.info("Loading person '%s'.", name)
logger.debug("Creating face encoding for person '%s'.", name)
image = face_recognition.load_image_file(abs_path)
encoding = face_recognition.face_encodings(image)[0]
encodings_of_faces = face_recognition.face_encodings(image)
if len(encodings_of_faces) > 0:
if logger:
logger.info(f"Loaded image of person '{name}' from '{abs_path}.")
encoding = encodings_of_faces[0]
else:
if logger:
logger.info(f"Found no faces in image '{abs_path}' ...")
face_encodings.append(encoding)
......@@ -193,7 +200,7 @@ class FaceDetection(ImageProcessor):
position_3d=position_3d,
position_2d=position_2d,
extents_2d=extents_2d,
profile_id=person.profile_id
profile_id=person.profile_id,
)
face_recognitions.append(recognition)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment