CHANGELOG

Changelog for package hri_face_detect

2.0.10 (2024-09-16)

  • use python3-mediapipe-pip on non-PAL environments While here, add missing dep on cv_bridge

  • Contributors: Séverin Lemaignan

2.0.9 (2024-09-09)

  • fixed quality of service camera-related subscribers

  • Contributors: lorenzoferrini

2.0.8 (2024-08-19)

  • rename diagnostics msg to match documentation (and diagnostic_aggregator) categories

  • Contributors: Séverin Lemaignan

2.0.7 (2024-07-04)

  • linting

  • Contributors: Séverin Lemaignan

2.0.6 (2024-07-04)

  • launch: use get_pal_configuration from launch_pal

  • expose the ‘deterministic_ids’ in the _with_args launch file

  • Contributors: Séverin Lemaignan

2.0.5 (2024-05-24)

  • Removed quotes from topic values

  • Contributors: Raquel Ros

2.0.4 (2024-05-23)

  • fix configuration node name

  • fix get _pal_configuration

  • Contributors: Luka Juricic

2.0.3 (2024-05-08)

  • [launch] impl logic to load overlaid parameters This commit: - add (and install) default parameters values in config/00-defaults.yml - rename (unchanged) launch/face_detect.launch.py to launch/face_detect_with_args.launch.py - add a new launch/face_detect.launch.py that implements the PAPS-007 logic to fetch possible parameters, remappings and node arguments via ament_index

  • Contributors: Séverin Lemaignan

2.0.2 (2024-04-24)

  • add pal module

  • Contributors: Luka Juricic

2.0.1 (2024-02-06)

  • fix image calibration K name to lowercase k. This caused the publication of TF frames to be broken.

  • assign default score detection in case of mesh detection

  • add usage example to README

  • Contributors: Luka Juricic

2.0.0 (2024-01-18)

  • port to ROS 2 Humble

  • change license to apache2

  • change folder structure

  • Contributors: Luka Juricic

1.5.3 (2023-11-27)

  • rework filtering frame validation Now, does not pre-validate the filtering frame: simply try to transform to the filtering frame if it is provided, and continue without using filtering frame if it is not available. Helps in the case hri_face_detect starts before the robot’s TF is fully published -> the filtering will start in the correct frame as soon as it become available.

  • Contributors: Séverin Lemaignan

1.5.2 (2023-10-27)

  • port facedetection external cmake to project one

  • add tkinter dependency

  • Contributors: Luka Juricic

1.5.1 (2023-10-24)

  • fix library external project dependency

  • Contributors: Luka Juricic

1.5.0 (2023-10-18)

  • change detector to Yunet - large refactor - remove record node - use timer based logic to process the most recent image only - add Yunet detector as standalone C library - add Yunet python bindings - use Yunet as always on detector - use Mediapipe face mesh detector to refine near faces - update documentation

  • Contributors: Luka Juricic

1.4.9 (2023-07-05)

  • change RoI message type to hri_msgs/NormalizedRegionOfInterest2D

  • Contributors: Luka Juricic

1.4.8 (2023-06-22)

  • added filtering_frame parameter the user can now decide which frame to use to filter the faces position

  • Contributors: lorenzoferrini

1.4.7 (2023-05-23)

  • face pose filtering using the one-euro filter

  • Contributors: lorenzoferrini

1.4.6 (2023-05-12)

  • add diagnostics

  • Migrate to new python3-mediapipe rosdep key

  • Contributors: Séverin Lemaignan, lukajuricic, mathiasluedtke

1.4.5 (2023-03-08)

  • ensure mediapipe is not called from 2 threads in parallel This was causing mediapipe internal timestamp issues

  • Contributors: Séverin Lemaignan

1.4.4 (2022-10-06)

  • fix FacialLandmark object initialisation When face_mesh=False, the arguments for the FacialLandmarks objects initialisation were not correctly disposed, as the first element in a FacialLandmarks message is supposed to be a Header.

  • Contributors: lorenzoferrini

1.4.3 (2022-08-31)

  • more update to hri_msgs-0.8.0

  • Contributors: Séverin Lemaignan

1.4.2 (2022-08-31)

  • update to hri_msgs-0.8.0

  • Contributors: Séverin Lemaignan

1.4.1 (2022-08-02)

  • ensure face id are strings starting with a letter

  • [cosmetic] code formatting

  • pep8 code formatting

  • add tool to record faces

  • Contributors: Séverin Lemaignan

1.4.0 (2022-04-29)

  • large refactor of the code In particular: - added a Face class to maintain the state of a detected face - reworked how detection results are returned, to simplify code

  • publish aligned versions of the face under /humans/faces/<id>/aligned (aligned faces are rotated such as the eyes are always horizontal)

  • warn about faces height and width having to be equal

  • store various face publishers as dict to ease future extension

  • Delegated face estimation process to function.

  • publish empty list of faces upon closing to clean up state

  • update launch file to match hri_fullbody arguments names

  • [doc] node suitable for production

  • Contributors: Séverin Lemaignan, lorenzoferrini

1.3.1 (2022-03-01)

  • Use tf frame from source image

  • Contributors: lorenzoferrini

1.3.0 (2022-03-01)

  • changing the frames name syntax from face<id> to face_<id> and gaze<id> to gaze_<id> for compliance with ROS4HRI spec

  • [minor] adding default value for camera topics in launch

  • Documentation update

  • Fixed the default number of detectable faces to 10

  • Facial Landmark msg implementation Fully implemented facial landmark msg publishing for both basic face detection and face mesh detection

  • Contributors: lorenzoferrini

1.2.0 (2022-02-14)

  • mediapipe Face-mesh based face detection It is now possible to decide between two Mediapipe different solutions for face detection: face_detection and face_mesh. Since the overall performance (taking into account cpu, memory and detection results) appears to be better in the latter case, face_mesh detection will be the default option.

  • add missing deps

  • [minor] launch file modified according to new features available It is now possible to specify the solution to use (face_detection/face_mesh) and the maximum number of faces detectable by the face_mesh model as launch file parameters

  • max_num_faces as initialization parameter for FaceDetector class

  • [WiP] Correcting face orientation and introducing gaze frame Face and gaze frame orientation according to ROS4HRI convention.

  • Facial landmarks publishing Now publishing the facial landmarks according to the ROS4HRI definition, on the topic /humans/faces/<body_id>/landmarks. Additionally, the face frame is published now as face_<body_id> and the debug code has been removed.

  • first rough implementation of PnP head pose estimation

  • Contributors: Séverin Lemaignan, lorenzoferrini

1.1.0 (2022-01-18)

  • publish cropped faces under subtopic /cropped

  • add _preallocate_topics parameter (instead of hard-coded constant)

  • code formatting

  • RegionOfInterestStamped -> regionOfInterest to match changes in hri_msgs 0.2.1

  • Contributors: Séverin Lemaignan

1.0.1 (2021-11-09)

  • Added the dependency on python-mediapipe

  • Publish an Empty msg on /hri_detect_face/ready when ready to start This is eg required for automated testing, to ensure the node is fully ready before publishing the first frames.

  • added minimal node setup

  • Added basic readme

  • Simple, rough node using Google Mediapipe to perform fast face detection

  • Contributors: Séverin Lemaignan