NVIDIA DeepStream SDK API Reference

8.0 Release
nvds_tracker_meta.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2020-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
24 #ifndef _NVDS_TRACKER_META_H_
25 #define _NVDS_TRACKER_META_H_
26 
27 #include <stdint.h>
28 #include "nvll_osd_struct.h"
29 
30 #define MAX_LABEL_SIZE 128
31 
32 #ifdef __cplusplus
33 extern "C"
34 {
35 #endif
36 typedef enum { EMPTY = 0,
37  ACTIVE = 1,
38  INACTIVE = 2,
39  TENTATIVE = 3,
40  PROJECTED = 4,
43 
47  typedef struct _NvDsTargetMiscDataFrame
48 {
50  uint32_t frameNum;
54  float confidence;
56  uint32_t age;
60  float visibility;
61 
63 
64 
69 {
73  uint32_t numObj;
75  uint32_t numAllocated;
77  uint64_t uniqueId;
79  uint16_t classId;
82 
84 
89 {
93  uint32_t streamID;
95  uint64_t surfaceStreamID;
97  uint32_t numAllocated;
99  uint32_t numFilled;
101 
106 {
110  uint32_t numAllocated;
112  uint32_t numFilled;
114  void* priv_data;
116 
120 typedef struct _NvDsReidTensorBatch
121 {
123  uint32_t featureSize;
125  uint32_t numFilled;
127  float* ptr_host;
129  float* ptr_dev;
131  void* priv_data;
133 
134 
139 
143 typedef struct _NvDsObjConvexHull
144 {
146  int* list;
150  uint32_t numPoints;
152 
156 typedef struct _NvDsObjReid
157 {
159  uint32_t featureSize;
161  float* ptr_host;
163  float* ptr_dev;
164 } NvDsObjReid;
165 
169 typedef struct _NvDsObj3DBbox
170 {
172  float xCentre;
173  float yCentre;
174  float zCentre;
175  /* 3D bbox dimensions */
176  float xLen;
177  float yLen;
178  float zLen;
179  /* 3D bbox rotation */
180  float xRot;
181  float yRot;
182  float zRot;
183  /* 3D bbox velocity */
184  float xVel;
185  float yVel;
186  float zVel;
187 } NvDsObj3DBbox;
188 
189 #ifdef __cplusplus
190 }
191 #endif
192 
193 #endif
194 
_NvDsReidTensorBatch::ptr_host
float * ptr_host
ReID vector on CPU.
Definition: nvds_tracker_meta.h:127
_NvDsObjReid::ptr_dev
float * ptr_dev
ReID vector pointer on GPU.
Definition: nvds_tracker_meta.h:163
_NvDsTargetMiscDataObject::objLabel
char objLabel[MAX_LABEL_SIZE]
An array of the string describing the target class.
Definition: nvds_tracker_meta.h:81
_NvDsTargetMiscDataObject::numObj
uint32_t numObj
Number of frames this target appreared in the past.
Definition: nvds_tracker_meta.h:73
_NvOSD_RectParams
Holds the box parameters of the box to be overlayed.
Definition: nvll_osd_struct.h:140
_NvDsObj3DBbox::xLen
float xLen
Definition: nvds_tracker_meta.h:176
_NvDsObj3DBbox::zVel
float zVel
Definition: nvds_tracker_meta.h:186
_NvDsObjConvexHull::numPoints
uint32_t numPoints
Holds the number of points in the list.
Definition: nvds_tracker_meta.h:150
TENTATIVE
@ TENTATIVE
\ tracking is not confirmed or w/ low confidence, so not reporting the outputs, but keep tracking (i....
Definition: nvds_tracker_meta.h:39
_NvDsTargetMiscDataStream
All misc targets data for a given stream.
Definition: nvds_tracker_meta.h:88
_NvDsReidTensorBatch::priv_data
void * priv_data
Pointer to internal buffer pool needed by gst pipelines to return buffers.
Definition: nvds_tracker_meta.h:131
NvDsReidTensorBatch
struct _NvDsReidTensorBatch NvDsReidTensorBatch
ReID tensor of the batch.
_NvDsTargetMiscDataStream::streamID
uint32_t streamID
Stream id the same as frame_meta->pad_index.
Definition: nvds_tracker_meta.h:93
_NvDsTargetMiscDataStream::surfaceStreamID
uint64_t surfaceStreamID
Stream id used inside tracker plugin.
Definition: nvds_tracker_meta.h:95
_NvDsObjReid::featureSize
uint32_t featureSize
ReID vector length.
Definition: nvds_tracker_meta.h:159
_NvDsObj3DBbox::xCentre
float xCentre
Centroid of the 3D bbox.
Definition: nvds_tracker_meta.h:172
_NvDsReidTensorBatch::ptr_dev
float * ptr_dev
ReID vector on GPU.
Definition: nvds_tracker_meta.h:129
_NvDsReidTensorBatch::featureSize
uint32_t featureSize
Each target's ReID vector length.
Definition: nvds_tracker_meta.h:123
_NvDsTargetMiscDataFrame::tBbox
NvOSD_RectParams tBbox
Bounding box.
Definition: nvds_tracker_meta.h:52
_NvDsTargetMiscDataBatch::list
NvDsTargetMiscDataStream * list
Pointer to array of stream lists.
Definition: nvds_tracker_meta.h:108
NvDsTargetMiscDataObject
struct _NvDsTargetMiscDataObject NvDsTargetMiscDataObject
All misc data output for a single target.
_NvDsObjReid
Holds Reid Vector information for an object.
Definition: nvds_tracker_meta.h:156
_NvDsTargetMiscDataFrame::trackerState
TRACKER_STATE trackerState
Curret Tracker State.
Definition: nvds_tracker_meta.h:58
_NvDsTargetMiscDataFrame::confidence
float confidence
Tracking confidence.
Definition: nvds_tracker_meta.h:54
NvDsTargetMiscDataStream
struct _NvDsTargetMiscDataStream NvDsTargetMiscDataStream
All misc targets data for a given stream.
_NvDsObj3DBbox::yRot
float yRot
Definition: nvds_tracker_meta.h:181
QUASIACTIVE
@ QUASIACTIVE
\ tracking is completed, the tracklet is about to be archived, and some projected points are appended...
Definition: nvds_tracker_meta.h:41
NvDsTargetMiscDataBatch
struct _NvDsTargetMiscDataBatch NvDsTargetMiscDataBatch
Batch of all streams of a given target misc output.
_NvDsTargetMiscDataObject::uniqueId
uint64_t uniqueId
Target tracking id.
Definition: nvds_tracker_meta.h:77
NvDsObj3DBbox
struct _NvDsObj3DBbox NvDsObj3DBbox
Holds 3D bbox information for an object.
_NvDsTargetMiscDataFrame::age
uint32_t age
Tracking age.
Definition: nvds_tracker_meta.h:56
NvDsTrajectoryBatch
NvDsTargetMiscDataBatch NvDsTrajectoryBatch
Batch of trajectory data in all streams.
Definition: nvds_tracker_meta.h:138
_NvDsObj3DBbox::zLen
float zLen
Definition: nvds_tracker_meta.h:178
_NvDsObj3DBbox::yVel
float yVel
Definition: nvds_tracker_meta.h:185
NvDsObjReid
struct _NvDsObjReid NvDsObjReid
Holds Reid Vector information for an object.
_NvDsTargetMiscDataStream::numAllocated
uint32_t numAllocated
Maximum number of objects allocated.
Definition: nvds_tracker_meta.h:97
_NvDsObj3DBbox::xRot
float xRot
Definition: nvds_tracker_meta.h:180
NvDsObjConvexHull
struct _NvDsObjConvexHull NvDsObjConvexHull
Holds convex hull information.
_NvDsObjConvexHull
Holds convex hull information.
Definition: nvds_tracker_meta.h:143
_NvDsTargetMiscDataObject::classId
uint16_t classId
Target class id.
Definition: nvds_tracker_meta.h:79
_NvDsTargetMiscDataStream::numFilled
uint32_t numFilled
Number of objects in this frame.
Definition: nvds_tracker_meta.h:99
_NvDsTargetMiscDataBatch::priv_data
void * priv_data
Pointer to internal buffer pool needed by gst pipelines to return buffers.
Definition: nvds_tracker_meta.h:114
_NvDsTargetMiscDataObject::numAllocated
uint32_t numAllocated
Maximum number of frames allocated.
Definition: nvds_tracker_meta.h:75
_NvDsTargetMiscDataFrame::frameNum
uint32_t frameNum
Frame number.
Definition: nvds_tracker_meta.h:50
_NvDsTargetMiscDataStream::list
NvDsTargetMiscDataObject * list
Pointer to targets inside this stream.
Definition: nvds_tracker_meta.h:91
_NvDsTargetMiscDataFrame
A single frame of misc data for a given Target.
Definition: nvds_tracker_meta.h:47
NvDsTargetMiscDataFrame
struct _NvDsTargetMiscDataFrame NvDsTargetMiscDataFrame
A single frame of misc data for a given Target.
INACTIVE
@ INACTIVE
\ tracking is being confirmed by detectors and actively reporting outputs
Definition: nvds_tracker_meta.h:38
_NvDsTargetMiscDataFrame::visibility
float visibility
bbox visibility with respect to the image border
Definition: nvds_tracker_meta.h:60
_NvDsObjConvexHull::numPointsAllocated
uint32_t numPointsAllocated
Holds the number of blocks allocated for the list.
Definition: nvds_tracker_meta.h:148
_NvDsReidTensorBatch::numFilled
uint32_t numFilled
Number of reid vectors in the batch.
Definition: nvds_tracker_meta.h:125
MAX_LABEL_SIZE
#define MAX_LABEL_SIZE
Definition: nvds_tracker_meta.h:30
_NvDsTargetMiscDataObject::list
NvDsTargetMiscDataFrame * list
Pointer to a list per-frame information of the target.
Definition: nvds_tracker_meta.h:71
_NvDsTargetMiscDataBatch
Batch of all streams of a given target misc output.
Definition: nvds_tracker_meta.h:105
_NvDsObjReid::ptr_host
float * ptr_host
ReID vector pointer on CPU.
Definition: nvds_tracker_meta.h:161
_NvDsObj3DBbox
Holds 3D bbox information for an object.
Definition: nvds_tracker_meta.h:169
_NvDsObj3DBbox::zCentre
float zCentre
Definition: nvds_tracker_meta.h:174
_NvDsObj3DBbox::yLen
float yLen
Definition: nvds_tracker_meta.h:177
_NvDsTargetMiscDataBatch::numAllocated
uint32_t numAllocated
Number of blocks allocated for the list.
Definition: nvds_tracker_meta.h:110
_NvDsObj3DBbox::xVel
float xVel
Definition: nvds_tracker_meta.h:184
nvll_osd_struct.h
EMPTY
@ EMPTY
Definition: nvds_tracker_meta.h:36
TRACKER_STATE
TRACKER_STATE
Definition: nvds_tracker_meta.h:36
_NvDsObj3DBbox::zRot
float zRot
Definition: nvds_tracker_meta.h:182
PROJECTED
@ PROJECTED
\ tracking is just started and in a probational period. Waiting to become ACTIVE
Definition: nvds_tracker_meta.h:40
_NvDsTargetMiscDataBatch::numFilled
uint32_t numFilled
Number of filled blocks in the list.
Definition: nvds_tracker_meta.h:112
_NvDsObjConvexHull::list
int * list
Holds a pointer to a list or array of object information blocks.
Definition: nvds_tracker_meta.h:146
ACTIVE
@ ACTIVE
\ The corresponding tracker is no longer is in use
Definition: nvds_tracker_meta.h:37
_NvDsReidTensorBatch
ReID tensor of the batch.
Definition: nvds_tracker_meta.h:120
_NvDsTargetMiscDataObject
All misc data output for a single target.
Definition: nvds_tracker_meta.h:68
_NvDsObj3DBbox::yCentre
float yCentre
Definition: nvds_tracker_meta.h:173