insight-platform / Savant

Python Computer Vision & Video Analytics Framework With Batteries Included
https://savant-ai.io
Apache License 2.0
542 stars 44 forks source link

Add tracker postprocessing function #507

Closed bwsw closed 10 months ago

bwsw commented 11 months ago

The function, by default, removes objects which the tracker creates.

bwsw commented 11 months ago

@denisvmedyantsev do we need to filter out the default top-level ROI object too, after the tracker?

denisvmedyantsev commented 11 months ago

There could be "primary" models after the tracker. I think we shouldn't filter out top-level RoI.

bwsw commented 11 months ago

@denisvmedyantsev I mean prevent the tracker from modifying coordinates for a top-level ROI.

abramov-oleg commented 10 months ago

@bwsw

Added a disable-obj-init config key for nvtracker elements' properties. The value by default is false to avoid introducing any changes to current behavior. Example:

    - element: nvtracker
      properties:
        tracker-width: 640
        tracker-height: 384
        ll-lib-file: /opt/nvidia/deepstream/deepstream/lib/libnvds_nvmultiobjecttracker.so
        # specify tracking config file
        ll-config-file: ${oc.env:PROJECT_PATH}/samples/peoplenet_detector/config_tracker_NvSORT.yml
        disable-obj-init: true

If the disable-obj-init is set to true for a given nvtracker element a src pad (output) probe will be added to it before adding the element to the pipeline. The probe iterates DS metadata structures looking for objects that were created by nvtracker and removes them.

denisvmedyantsev commented 10 months ago

Set disable-obj-init default value to true in #529.