From 8473fbe8d4891f68817ea417793faaec3800c17f Mon Sep 17 00:00:00 2001 From: Minh Nguyen Date: Fri, 5 Jul 2019 21:19:57 +0200 Subject: [PATCH] refactor person description messages * remove name & id fields in Face.msg in favor of identity field in Person.msg * remove safe_pose field in Person.msg, so safety logic will be isolated from data model * add comments about legacy field in Person.msg, but not removing for compatibility * remove unused message FaceList.msg * is motivated by discussion in b-it-bots/mas_domestic_robotics#152 --- CMakeLists.txt | 2 +- msg/Face.msg | 9 +++------ msg/FaceList.msg | 15 --------------- msg/PeopleScene.msg | 4 ++++ msg/Person.msg | 41 ++++++++++++++++++++--------------------- 5 files changed, 28 insertions(+), 43 deletions(-) delete mode 100644 msg/FaceList.msg create mode 100644 msg/PeopleScene.msg diff --git a/CMakeLists.txt b/CMakeLists.txt index af8baca..40abcbd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,8 +26,8 @@ add_message_files( BoundingBoxList.msg BoundingBox2D.msg Cavity.msg + PeopleScene.msg Face.msg - FaceList.msg ImageList.msg LaserScanSegment.msg LaserScanSegmentList.msg diff --git a/msg/Face.msg b/msg/Face.msg index 5405d3d..2633f62 100644 --- a/msg/Face.msg +++ b/msg/Face.msg @@ -1,8 +1,5 @@ -Header header # standard header -uint32 ID # unique identifier to a face -string name # name of the person with this face -float32 leftEyeCenterX # postion of the left eye of the face +float32 leftEyeCenterX # postion of the left eye of the face float32 leftEyeCenterY -float32 rightEyeCenterX # postion of the right eye of the face +float32 rightEyeCenterX # postion of the right eye of the face float32 rightEyeCenterY -sensor_msgs/Image image # image of the face +sensor_msgs/Image image # image of the face diff --git a/msg/FaceList.msg b/msg/FaceList.msg deleted file mode 100644 index 1284f5f..0000000 --- a/msg/FaceList.msg +++ /dev/null @@ -1,15 +0,0 @@ -Header header # sequence ID: consecutively increasing ID - ## uint32 seq - # Two-integer timestamp that is expressed as: - # * stamp.secs: seconds (stamp_secs) since epoch - # * stamp.nsecs: nanoseconds since stamp_secs - # time-handling sugar is provided by the client library - ## time stamp - # Frame this data is associated with - # 0: no frame - # 1: global frame - ## string frame_id - -uint32 num_faces # number of detected faces - -Face[] faces # list of detected faces diff --git a/msg/PeopleScene.msg b/msg/PeopleScene.msg new file mode 100644 index 0000000..173dc62 --- /dev/null +++ b/msg/PeopleScene.msg @@ -0,0 +1,4 @@ +sensor_msgs/Image scene_image # store scene image which contain people +mas_perception_msgs/Person[] people # list of people in scene +sensor_msgs/RegionOfInterest[] face_rois # bounding boxes of people's faces +sensor_msgs/RegionOfInterest[] body_rois # bounding boxes of people's full body \ No newline at end of file diff --git a/msg/Person.msg b/msg/Person.msg index c6476d5..04a5af0 100644 --- a/msg/Person.msg +++ b/msg/Person.msg @@ -1,21 +1,20 @@ -Header header # standard header - -uint32 id # unique identifier to a person - -geometry_msgs/PoseStamped pose # real pose of a detected person - -geometry_msgs/PoseStamped safe_pose # safety pose for a detected person (to approach by base) - -sensor_msgs/Image rgb_image # image cropped to the bounding box of the detected person - -float32 height # measured height of the person - -float32 width # measured width of the person - -float32 depth # measured depth of the person - -bool is_tracked # is the user tracked - -bool is_occluded # is the user occluded - -float32 probability # probability of beeing a person at this pose +string identity +float32 age +mas_perception_msgs/Face face +sensor_msgs/Image body_image # extracted RGB image of the person +sensor_msgs/PointCloud2 body_points # extracted point cloud of the person + +string[] attribute_names # e.g. gender, emotion,... +string[] attributes # e.g. male, angry,... +float32[] attribute_confidences # e.g. 0.71, 0.80,... + +geometry_msgs/PoseStamped pose # 3D pose of the detected person + +# fields used by `mcr_people_tracking`, `mcr_leg_detection`, and `mdr_follow_person` +# potentially removable since the packages themselves are old and not well-maintained and possibly overlapping +# with 'wg-perception/people' +Header header +uint32 id +bool is_tracked # is the user tracked +bool is_occluded # is the user occluded +float32 probability # probability of beeing a person at this pose