Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU)
ThinkEdge SE70 (NVIDIA Jetson Xavier NX) • DeepStream Version
6.1.1 • JetPack Version (valid for Jetson only)
R35 (release), REVISION: 1.0, GCID: 31346300, BOARD: t186ref, EABI: aarch64, DATE: Thu Aug 25 18:41:45 UTC 2022 • TensorRT Version
8.4.1-1+cuda11.4 • NVIDIA GPU Driver Version (valid for GPU only)
[ 13.906] (II) Module nvidia: vendor=“NVIDIA Corporation”
[ 13.914] (II) NVIDIA dlloader X Driver 35.1.0 Release Build (bugfix_main) (buildbrain@mobile-u64-5562-d3000) Thu Aug 25 11:12:05 PDT 2022
[ 13.914] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs • Issue Type( questions, new requirements, bugs)
question • How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
Implement a pipeline with NvDCF component included, and observe successful object tracking, with incrementing object_id values. • Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)
I’d like to initiate specific application logic upon the deregistration/termination of a tracked object. I could create something myself by manually doing the math with a combination of frame counting against maxShadowTrackingAge, but it seems like surely there’s some “DeepStream” way to do this instead of me building it myself. I’ve read the documentation and haven’t encountered any such method or pattern in any of the examples or documented features, but may not be using the write terms to search for. All I want to do is call a function against an object as it’s leaving the object tracking lifecycle. What’s the best approach?
Thanks for responding kesong!
I must have been unclear. I do not want to terminate the object myself, but I need my application to be able to respond to the target lifecycle termination event.
My application is monitoring for object detection, and is acting upon tracked targets during their lifespan. Once an object is no longer being tracked I want to initiate further application logic. Current behaviour of the tracker component is that it reports object id values for tracked objects along with confidence values, and any objects below the configured threshold for tracking (but within the shadow tracking window) will not be reported, so if i’m considering object id values frame-over-frame then i may see the same object id drop off for a few frames and then come back again. Or it may drop off, fall outside the shadow tracking window, and the same object could possibly be reported with a new object id value if confidence values increase again. That’s fine, but the “disapearance” of the first object id is an event I would like to act upon.
It feels like probably a common use case, and like the tracker logic “knows” when an object is no longer tracked, so I’m wondering how to leverage that knowledge to initiate action within my application. I could calculate it myself by manually maintaining a list of known object id values and their ages, then when the configured shadow tracking age is exceeded I can spring into action - it just seems silly not to use the tracker for what it’s already doing.
Thanks kesong! Great follow-up. Based on the documentation that looks like exactly what I need. I’m stuck with v6.1.1 for now, but it’s nice to see that the capability has been implemented. Very much appreciate your help.