stereolabs / zed-ros2-wrapper

ROS 2 wrapper for the ZED SDK
https://www.stereolabs.com/docs/ros2/
Apache License 2.0
161 stars 165 forks source link

Object re-identification with deep learning and trajectories filtering #84

Open AmitNativ1984 opened 2 years ago

AmitNativ1984 commented 2 years ago

Preliminary Checks

Proposal

New 3.7 SDK gives the option to enable objects re-identification by setting BatchParameters::enable and provides control over: id_retention_time, and latency.

Even though enable tracking is referenced in zed_camera_components.cpp, https://github.com/stereolabs/zed-ros2-wrapper/blob/55a4302c6365ab2742e61f4cbfbd34960d3955b2/zed_components/src/zed_camera/src/zed_camera_component.cpp#L1130

sl::ObjectDetectionParameters od_p;
od_p.enable_mask_output = false;
od_p.enable_tracking = mObjDetTracking;
od_p.image_sync = true;
od_p.detection_model = mObjDetModel;
od_p.filtering_mode = mObjFilterMode;
od_p.enable_body_fitting = mObjDetBodyFitting;
od_p.body_format = mObjDetBodyFmt;

it is not provided in the launch file: https://github.com/stereolabs/zed-ros2-wrapper/blob/55a4302c6365ab2742e61f4cbfbd34960d3955b2/zed_wrapper/config/zed2i.yaml#L28

object_detection:
        od_enabled:                 false           # True to enable Object Detection [only ZED 2]
        confidence_threshold:       50.0            # [DYNAMIC] - Minimum value of the detection confidence of an object [0,100]
        model:                      0               # '0': MULTI_CLASS_BOX - '1': MULTI_CLASS_BOX_ACCURATE - '2': HUMAN_BODY_FAST - '3': HUMAN_BODY_ACCURATE - '4': MULTI_CLASS_BOX_MEDIUM - '5': HUMAN_BODY_MEDIUM - '6': PERSON_HEAD_BOX 
        filtering_mode:             1               # '0': NONE - '1': NMS3D - '2': NMS3D_PER_CLASS
        mc_people:                  true            # [DYNAMIC] - Enable/disable the detection of persons for 'MULTI_CLASS_X' models
        mc_vehicle:                 true            # [DYNAMIC] - Enable/disable the detection of vehicles for 'MULTI_CLASS_X' models
        mc_bag:                     true            # [DYNAMIC] - Enable/disable the detection of bags for 'MULTI_CLASS_X' models
        mc_animal:                  true            # [DYNAMIC] - Enable/disable the detection of animals for 'MULTI_CLASS_X' models
        mc_electronics:             true            # [DYNAMIC] - Enable/disable the detection of electronic devices for 'MULTI_CLASS_X' models
        mc_fruit_vegetable:         true            # [DYNAMIC] - Enable/disable the detection of fruits and vegetables for 'MULTI_CLASS_X' models
        mc_sport:                   true            # [DYNAMIC] - Enable/disable the detection of sport-related objects for 'MULTI_CLASS_X' models
        body_fitting:               true           # Enable/disable body fitting for 'HUMAN_BODY_FAST' and 'HUMAN_BODY_ACCURATE' models
        body_format:                1               # '0': POSE_18 - '1': POSE_34 [Only if `HUMAN_BODY_*` model is selected]
        qos_history:                1               # '1': KEEP_LAST - '2': KEEP_ALL
        qos_depth:                  1               # Queue size if using KEEP_LAST
        qos_reliability:            1               # '1': RELIABLE - '2': BEST_EFFORT
        qos_durability:             2               # '1': TRANSIENT_LOCAL - '2': VOLATILE

Use-Case

object tracking with re-identification

Anything else?

No response

Myzhar commented 2 years ago

The re-identification is not yet available in the ROS2 wrapper. It will be added soon.

AmitNativ1984 commented 2 years ago

Thanks!

shruthiR-fauna commented 2 days ago

Curious if support for this has been added for this in the ROS2 wrapper yet?