-
Notifications
You must be signed in to change notification settings - Fork 1
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).
- ~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.
As specified in rgb_image_topics, rgb_info_topics, depth_image_topics and depth_info_topics.
- ~simple_objects (extended_object_detection/SimpleObjectArray) detected Simple Objects info.
- ~complex_objects (extended_object_detection/ComplexObjectArray) detected Complex Objects info.
- ~detected_image#_ (sensor_msgs/Image) One topic for each input RGB-image with detection result, publishes only if publishImage param is true.
- ~simple_objects_markers (visualization_msgs/MarkerArray) Markers of detected Simple Objects for rviz. Publishes only if publishMarkers parameter is true.
- ~complex_objects_markers (visualization_msgs/MarkerArray) Markers of detected Complex Objects for rviz. Publishes only if publishMarkers parameter is true.
- ~stats (extended_object_detection/StatsArray) Stats information of number of proceeded, skipped and dropped frames and detection rate.
- ~set_simple_objects (extended_object_detection/SetObjects) Allows to remove/add Simple Objects from the list of recognized objects during the node running.
- ~set_complex_objects (extended_object_detection/SetObjects) Allows to remove/add Complex Objects from the list of recognized objects during the node running.
Simple objects detection: The following information is available for recognized Simple Objects in the image:
- Bounding rect
- 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*.
- 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:
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:
The following information is available:
- The bounding rectangle of a Complex Object (can match one of the Simple Objects)
- The main text of a Complex Object, its ID and name, placed above the frame of a Complex Object
- 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
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.
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.
- Home
- ROS-interface
- Interacting with a package through a configuration file
- Common structure of the configuration file
-
Simple objects
- Clusterization
- Filtering
- Tracking
- Attributes
- HSVcolor
- HistColor
- HaarCascade
- Size
- Hough
- Dimension
- BasicMotion
- Aruco
- Feature
- Pose
- DNN
- QR
- QR_Zbar
- LogicAnd
- LogicNot
- LogicOr
- Blob
- Depth
- RoughDist
- Dist
- FaceDlib
- ExractedInfoId
- ExractedInfoString
- UnitTranslation
- SquareObjectDistance
- TorchYOLOv7Attribute
- TorchYOLOv7KeypointAttribute
- ROSSubcriberOpenPoseRaw
- DummyHumanPose
- Complex objects
- Install Guides
- Usage Guides
- Troubleshooting
- Developing