diff --git a/CMakeLists.txt b/CMakeLists.txt index bca06f2..d72eb95 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,7 @@ find_package(catkin REQUIRED add_action_files(DIRECTORY action FILES DetectScene.action + DetectObjects.action ) add_message_files( @@ -26,8 +27,8 @@ add_message_files( BoundingBoxList.msg BoundingBox2D.msg Cavity.msg + PeopleScene.msg Face.msg - FaceList.msg ImageList.msg LaserScanSegment.msg LaserScanSegmentList.msg @@ -37,6 +38,8 @@ add_message_files( ObjectList.msg ObjectView.msg ObjectViews.msg + NamedColor.msg + NamedShape.msg Person.msg PersonList.msg Plane.msg diff --git a/action/DetectObjects.action b/action/DetectObjects.action new file mode 100644 index 0000000..9593079 --- /dev/null +++ b/action/DetectObjects.action @@ -0,0 +1,6 @@ +# Empty Goal +--- +# Result +mas_perception_msgs/ObjectList objects +--- +# Empty Feedback 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/NamedColor.msg b/msg/NamedColor.msg new file mode 100644 index 0000000..58faa74 --- /dev/null +++ b/msg/NamedColor.msg @@ -0,0 +1,13 @@ +string WHITE=white +string BLACK=black +string RED=red +string GREEN=green +string BLUE=blue +string ORANGE=orange +string YELLOW=yellow +string BROWN=brown +string PURPLE=purple +string PINK=pink +string OTHER=other + +string color diff --git a/msg/NamedShape.msg b/msg/NamedShape.msg new file mode 100644 index 0000000..2aed160 --- /dev/null +++ b/msg/NamedShape.msg @@ -0,0 +1,7 @@ +string CYLINDER=cylinder +string BOX=box +string SPHERE=sphere +string ELLIPSE=ellipse +string OTHER=other + +string shape diff --git a/msg/Object.msg b/msg/Object.msg index 2abcba2..15d9ea4 100644 --- a/msg/Object.msg +++ b/msg/Object.msg @@ -13,9 +13,15 @@ string category # The object's id in a database int32 database_id -# Probability +# Probability float32 probability +# dominant object color +NamedColor dominant_color + +# object shape +NamedShape shape + # Extracted RGB image of the image sensor_msgs/Image rgb_image diff --git a/msg/PeopleScene.msg b/msg/PeopleScene.msg new file mode 100644 index 0000000..5aaa8c4 --- /dev/null +++ b/msg/PeopleScene.msg @@ -0,0 +1,5 @@ +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 +uint32 num_detected_people # should match the length of 'people' and ROI fields diff --git a/msg/Person.msg b/msg/Person.msg index c6476d5..32d82b6 100644 --- a/msg/Person.msg +++ b/msg/Person.msg @@ -1,21 +1,21 @@ -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 # unique string that identify the person +string name # given name, e.g. 'John Doe' +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