Skip to content

extended_object_detection_node

moscowsky edited this page Jun 5, 2024 · 26 revisions

extended_object_detection_node

Package main node provides ROS-interface. Node allows to subscribe on multiple cameras (but if tracking is used, provide only one source).

1. ROS-interface

1.1. Parameters

  • ~object_base (string, default: none) Must be provided. Path to XML-file of object base (also know as config file).
  • ~rgb_image_topics (list of strings, default: []) Must be provided. Names of input topics with RGB-images. Must contain at least one topic.
  • ~rgb_info_topics (list of strings, default: []) Must be provided. Names of input topics with camera information to rgb_image_topics (must be same size).
  • ~depth_image_topics (list of strings, default: []) Names of input topics with depth-map images (if used). If provided must be same size as rgb_image_topics.
  • ~depth_info_topics (list of string, default: []) Names of input topics with camera information of depth-map images. Must be same size as depth_image_topics.
  • ~publish_image_output (bool, default: false) If true, then the image with the recognition results will be published in the ~detected_image topic.
  • ~rate_limit_sec (double, default: 0.1) Limits of detecting rate. Frame will be skipped if time between previous detection and current time is less
  • ~allowed_lag_sec (double, default: 0.0) If time stamp between new frame and current time is less, this frame will be rejected. If ==0 no frames will be rejected.
  • ~subs_queue_size (int, default: 10) Queue size for camera topic synchronization.
  • ~stats_window (int, default: 10) Window size for detection rate calculation.
  • ~use_actual_time (bool, default: false) If true, that all time stamps of detection result will be current time, if false stamp of source frame
  • ~publish_markers (bool, default: false) If true, then the node will publish MarkerArray for rviz.
  • ~selected_on_start_simple_objects (list of ints, default: empty) If empty, then all Simple Objects specified in the database will be recognized. If the first element is -1, then none will be recognized, otherwise only Simple Objects with the specified identifiers will be recognized.
  • ~selected_on_start_complex_objects (list of ints, default: empty) If empty, then all Complex Objects specified in the database will be recognized. If the first element is -1, then none will be recognized, otherwise only Complex Objects with the specified identifiers will be recognized.
  • ~print_info (bool, default: true) Prints rate and proceed frame number on output image.

1.2. Subscribed topics

As specified in rgb_image_topics, rgb_info_topics, depth_image_topics and depth_info_topics.

1.3. Published topics

1.4. Services

2. Visualization

2.1. Image

Simple objects detection: detection Simple Objects The following information is available for recognized Simple Objects in the image:

  1. Bounding rect
  2. Text info (from up to bottom)
  • ID of the object in the object base, the name of the object in the object base and the total confidence coefficient, indicated in square brackets
  • The list of Attributes of this object, including: attribute mode ("+" - recognition, "-" - check, ">" - extract - [see the section Recognizing Simple Objects] (simpleobject_detection)), attribute name, attribute confidence factor in square brackets, numerical extra extracted information in curly brackets*, text extra extracted information in round brackets*.
  1. Object contour, if at least one of the features supports its extraction.

All elements drawn with green color.

* - only for those indications that provide such information.

Recognition of simple objects with tracking enabled: detection Simple Objects tracking

The following information is available:

  • When using tracking, the track identifier is added to the object text after the confidence factor in round brackets.
  • When an object is recognized using a tracker, not a detector, then the color of all elements changes from green to yellow. When the object is lost, it turns red.
  • A curve is added indicating the movement history of this object.
  • In case of recognition by the tracker, no attributes in detection mode are indicated. Instead, the type of tracker and its confidence factor are indicated.

When recognizing Complex Objects: detection complex objects

The following information is available:

  1. The bounding rectangle of a Complex Object (can match one of the Simple Objects)
  2. The main text of a Complex Object, its ID and name, placed above the frame of a Complex Object
  3. For each Simple Object:
    • Its bounding rectangle
    • Inner name of Simple Object in Complex (see section Complex Objects) and own name of Simple Object

All elements are colored cyan. All elements of Complex Objects are drawn on top of Simple Objects

2.2. Rviz markers

rviz markers with point cloud rviz markers with point cloud

Simple Objects are also drawn with green, when the tracker is running, the color changes to yellow and red, respectively. Complex Objects are also drawn with cyan.

rviz markers with point cloud

Also for Complex Objects, the general frame is drawn with a thicker line. For Simple Objects that are part of a Complex, all visualization_types settings apply. For the Complex Objects only main_text and rects make sense.

Clone this wiki locally