NVIDIA DeepStream SDK API Reference

7.1 Release
post_processor_struct.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: MIT
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice shall be included in
13  * all copies or substantial portions of the Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21  * DEALINGS IN THE SOFTWARE.
22  */
23 
24 #ifndef __POST_PROCESS_STRUCT_HPP__
25 #define __POST_PROCESS_STRUCT_HPP__
26 
27 #include <iostream>
28 #include <vector>
29 #include <memory>
30 #include "gstnvdsinfer.h"
31 
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 #define _PATH_MAX 4096
38 #define _MAX_STR_LENGTH 1024
39 
43 #define getDimsCHWFromDims(dimsCHW,dims) \
44  do { \
45  (dimsCHW).c = (dims).d[0]; \
46  (dimsCHW).h = (dims).d[1]; \
47  (dimsCHW).w = (dims).d[2]; \
48  } while (0)
49 
50 #define getDimsHWCFromDims(dimsCHW,dims) \
51  do { \
52  (dimsCHW).h = (dims).d[0]; \
53  (dimsCHW).w = (dims).d[1]; \
54  (dimsCHW).c = (dims).d[2]; \
55  } while (0)
56 
57 #define DIVIDE_AND_ROUND_UP(a, b) ((a + b - 1) / b)
58 
59 inline const char *safeStr(const std::string &str)
60 {
61  return str.c_str();
62 }
63 
64 inline bool string_empty(const char* str) {
65  return !str || strlen(str) == 0;
66 }
67 
68 constexpr float DEFAULT_PRE_CLUSTER_THRESHOLD = 0.2;
69 constexpr float DEFAULT_POST_CLUSTER_THRESHOLD = 0.0;
70 constexpr float DEFAULT_EPS = 0.0;
71 constexpr int DEFAULT_GROUP_THRESHOLD = 0;
72 constexpr int DEFAULT_MIN_BOXES = 0;
73 constexpr float DEFAULT_DBSCAN_MIN_SCORE = 0;
74 constexpr float DEFAULT_NMS_IOU_THRESHOLD = 0.3;
75 constexpr int DEFAULT_TOP_K = -1;
76 constexpr bool ATHR_ENABLED = true;
77 constexpr float ATHR_THRESHOLD = 60.0;
78 constexpr int PROCESS_MODEL_FULL_FRAME = 1;
79 constexpr int PROCESS_MODEL_OBJECTS = 2;
80 
84 typedef enum {
103 
104 
105 typedef enum {
111 
112 #define printMsg(level, tag_str, fmt, ...) \
113  do { \
114  char* baseName = strrchr((char*)__FILE__, '/'); \
115  baseName = (baseName) ? (baseName + 1) : (char*)__FILE__; \
116  char logMsgBuffer[5 * _MAX_STR_LENGTH + 1]; \
117  snprintf(logMsgBuffer, 5 * _MAX_STR_LENGTH, \
118  tag_str " NvDsPostProcess::%s() <%s:%d> : " fmt, \
119  __func__, baseName, __LINE__, ##__VA_ARGS__); \
120  fprintf(stderr, "%s\n", logMsgBuffer); \
121  } while (0)
122 
123 #define printError(fmt, ...) \
124  do { \
125  printMsg (NVDSINFER_LOG_ERROR, "Error in", fmt, ##__VA_ARGS__); \
126  } while (0)
127 
128 #define printWarning(fmt, ...) \
129  do { \
130  printMsg (NVDSINFER_LOG_WARNING, "Warning from", fmt, ##__VA_ARGS__); \
131  } while (0)
132 
133 #define printInfo(fmt, ...) \
134  do { \
135  printMsg (NVDSINFER_LOG_INFO, "Info from", fmt, ##__VA_ARGS__); \
136  } while (0)
137 
138 #define printDebug(fmt, ...) \
139  do { \
140  printMsg (NVDSINFER_LOG_DEBUG, "DEBUG", fmt, ##__VA_ARGS__); \
141  } while (0)
142 
143 typedef struct
144 {
145  unsigned int roiTopOffset;
146  unsigned int roiBottomOffset;
147  unsigned int detectionMinWidth;
148  unsigned int detectionMinHeight;
149  unsigned int detectionMaxWidth;
150  unsigned int detectionMaxHeight;
152 
156 typedef struct
157 {
160 
164 
165 
169 typedef enum
170 {
177 
181 typedef enum {
186 
187 
191 typedef enum
192 {
214 
218 typedef struct
219 {
223 
227 
230  float eps;
233  int minBoxes;
240  float minScore;
245  int topK;
246 
247  unsigned int roiTopOffset;
248  unsigned int roiBottomOffset;
249  unsigned int detectionMinWidth;
250  unsigned int detectionMinHeight;
251  unsigned int detectionMaxWidth;
252  unsigned int detectionMaxHeight;
254 
256 
257 
258 
263 {
266  unsigned int uniqueID;
267 
271  unsigned int maxBatchSize;
272 
277 
278 
281 
283  unsigned int numDetectedClasses;
284 
288 
292 
294 
298  unsigned int numOutputLayers;
299 
301  unsigned int gpuID;
302 
305 
308 
312 
319 
322 
325  gboolean preprocessor_support = FALSE;
327 
331 typedef struct
332 {
334  unsigned int classId;
335 
337  float left;
339  float top;
341  float width;
343  float height;
344 
349 
353 typedef struct
354 {
358  unsigned int attributeIndex;
360  unsigned int attributeValue;
368 
369 
374 
378 typedef struct
379 {
381  unsigned int classId;
382 
384  float left;
386  float top;
388  float width;
390  float height;
391 
395 
397  float *mask;
399  unsigned int mask_width;
401  unsigned int mask_height;
403  unsigned int mask_size;
405 
409 typedef struct
410 {
412  float left;
414  float top;
416  float width;
418  float height;
422  char *label;
423  /* confidence score of the detected object. */
424  float confidence;
425  /* Instance mask information for the object. */
426  float *mask;
428  unsigned int mask_width;
430  unsigned int mask_height;
432  unsigned int mask_size;
434 
439 typedef struct
440 {
444  unsigned int numObjects;
446 
451 typedef struct
452 {
458  unsigned int numAttributes;
461  char *label;
463 
467 typedef struct
468 {
470  unsigned int width;
472  unsigned int height;
474  unsigned int classes;
477  int *class_map;
483 
484 typedef struct NvDsPoint3f {
485  float x;
486  float y;
487  float z;
488 } NvDsPoint3f;
489 
493 typedef struct
494 {
496  unsigned int width;
498  unsigned int height;
499 
500  unsigned int num_key_points;
501  float *data;
503 
504 
508 typedef struct
509 {
516  union
517  {
530  };
532 
537 typedef struct
538 {
542  unsigned int numFrames;
543 
549 
552  void **hostBuffers;
554  unsigned int numHostBuffers;
555 
557  void* priv;
559 
560 #ifdef __cplusplus
561 }
562 #endif
563 
567 typedef struct
568 {
572  unsigned int numClassesConfigured;
578  std::vector<float> perClassPreclusterThreshold;
579  /* Per-class threshold to be applied after the clustering operation. */
580  std::vector<float> perClassPostclusterThreshold;
581 
583 
584 
588  std::vector<NvDsPostProcessAttribute> attributes;
590  std::string label;
591 
593  NvDsPostProcessObjectInfo() = default;
595  for (auto &attr : attributes) {
596  if (attr.attributeLabel)
597  free (attr.attributeLabel);
598  }
599  }
600 };
601 
602 
608 {
614  unsigned long last_inferred_frame_num;
618  unsigned long last_accessed_frame_num;
622 
623 
624 #endif
NvDsPostProcessObject
Holds information about one detected object.
Definition: post_processor_struct.h:409
_NvDsPostProcessContextInitParams::clusterMode
NvDsPostProcessClusterMode clusterMode
Holds the type of clustering mode.
Definition: post_processor_struct.h:307
NvDsPoint3f::x
float x
Definition: post_processor_struct.h:485
NvDsPostProcessBatchOutput::numFrames
unsigned int numFrames
Holds the number of elements in frames.
Definition: post_processor_struct.h:542
NvDsPostProcessObjectInfo::label
std::string label
Cached string label.
Definition: post_processor_struct.h:590
NvDsPostProcessBatchOutput::numOutputDeviceBuffers
unsigned int numOutputDeviceBuffers
Holds the number of elements in *outputDeviceBuffers.
Definition: post_processor_struct.h:548
NvDsPostProcessContextInitParams
struct _NvDsPostProcessContextInitParams NvDsPostProcessContextInitParams
Holds the initialization parameters required for the NvDsPostProcessContext interface.
NvDsPostProcessObjectInfo::attributes
std::vector< NvDsPostProcessAttribute > attributes
Vector of cached classification attributes.
Definition: post_processor_struct.h:588
_NvOSD_RectParams
Holds the box parameters of the box to be overlayed.
Definition: nvll_osd_struct.h:140
NvDsPostProcessColorParams::bg_color
NvOSD_ColorParams bg_color
Definition: post_processor_struct.h:162
NvDsPostProcessBatchOutput::frames
NvDsPostProcessFrameOutput * frames
Holds a pointer to an array of outputs for each frame in the batch.
Definition: post_processor_struct.h:540
NvDsPostProcessParseObjectInfo
NvDsPostProcessObjectDetectionInfo NvDsPostProcessParseObjectInfo
A typedef defined to maintain backward compatibility.
Definition: post_processor_struct.h:373
_NvDsPostProcessContextInitParams::labelsFilePath
char labelsFilePath[_PATH_MAX]
Holds the pathname of the labels file containing strings for the class labels.
Definition: post_processor_struct.h:276
NvDsPostProcessObjectDetectionInfo
Holds information about one parsed object from a detector's output.
Definition: post_processor_struct.h:331
_NvDsPostProcessContextInitParams::customBBoxInstanceMaskParseFuncName
char customBBoxInstanceMaskParseFuncName[_MAX_STR_LENGTH]
Holds the name of the bounding box and instance mask parse function in the custom library.
Definition: post_processor_struct.h:311
NvDsPostProcessInstanceMaskInfo::classId
unsigned int classId
Holds the ID of the class to which the object belongs.
Definition: post_processor_struct.h:381
_NvDsPostProcessContextInitParams::classifierThreshold
float classifierThreshold
Holds the minimum confidence threshold for the classifier to consider a label valid.
Definition: post_processor_struct.h:291
NvDsPostProcessObjectInfo::~NvDsPostProcessObjectInfo
~NvDsPostProcessObjectInfo()
Definition: post_processor_struct.h:594
_NvDsPostProcessContextInitParams::inferInputDims
NvDsInferDimsCHW inferInputDims
Inference input dimensions for runtime engine.
Definition: post_processor_struct.h:304
NvDsPostProcessDetectionParams::detectionMinHeight
unsigned int detectionMinHeight
Definition: post_processor_struct.h:250
NvDsPostProcessAttribute
Holds information about one classified attribute.
Definition: post_processor_struct.h:353
NvDsPostProcessInstanceMaskInfo::height
float height
Holds the height of the object's bounding box.
Definition: post_processor_struct.h:390
NvDsPostProcessInstanceMaskInfo::left
float left
Holds the horizontal offset of the bounding box shape for the object.
Definition: post_processor_struct.h:384
NvDsPostProcessBatchOutput::priv
void * priv
Holds a private context pointer for the set of output buffers.
Definition: post_processor_struct.h:557
NvDsPostProcessDetectionParams
Holds detection and bounding box grouping parameters.
Definition: post_processor_struct.h:218
NvDsPostProcessDetectionFilterParams::roiBottomOffset
unsigned int roiBottomOffset
Definition: post_processor_struct.h:146
NvDsPostProcessNetworkType
NvDsPostProcessNetworkType
Defines network types.
Definition: post_processor_struct.h:191
NvDsPostProcessBatchOutput::hostBuffers
void ** hostBuffers
Holds a pointer to an array of pointers to host buffers for this batch.
Definition: post_processor_struct.h:552
_NvDsPostProcessObjectHistory::under_inference
int under_inference
Boolean indicating if the object is already being inferred on.
Definition: post_processor_struct.h:610
NvDsPostProcessDetectionParams::color_params
NvDsPostProcessColorParams color_params
Definition: post_processor_struct.h:253
DEFAULT_MIN_BOXES
constexpr int DEFAULT_MIN_BOXES
Definition: post_processor_struct.h:72
NVDSPOSTPROCESS_SUCCESS
@ NVDSPOSTPROCESS_SUCCESS
operation succeeded.
Definition: post_processor_struct.h:86
NvDsPostProcessObjectDetectionInfo::detectionConfidence
float detectionConfidence
Holds the object detection confidence level; must in the range [0.0,1.0].
Definition: post_processor_struct.h:347
DEFAULT_POST_CLUSTER_THRESHOLD
constexpr float DEFAULT_POST_CLUSTER_THRESHOLD
Definition: post_processor_struct.h:69
NvDsPostProcessSegmentationOutput::width
unsigned int width
Holds the width of the output.
Definition: post_processor_struct.h:470
NvDsPostProcessAttribute::attributeValue
unsigned int attributeValue
Holds the the attribute's output value.
Definition: post_processor_struct.h:360
gstnvdsinfer.h
NvDsPostProcessInstanceMaskInfo::mask_width
unsigned int mask_width
Holds width of mask.
Definition: post_processor_struct.h:399
NvDsPostProcessDetectionParams::detectionMaxHeight
unsigned int detectionMaxHeight
Definition: post_processor_struct.h:252
NvDsPostProcessParseDetectionParams::perClassPreclusterThreshold
std::vector< float > perClassPreclusterThreshold
Holds a per-class vector of detection confidence thresholds to be applied prior to the clustering ope...
Definition: post_processor_struct.h:578
NvDsPostProcessDetectionFilterParams::detectionMaxHeight
unsigned int detectionMaxHeight
Definition: post_processor_struct.h:150
DEFAULT_EPS
constexpr float DEFAULT_EPS
Definition: post_processor_struct.h:70
NvDsPostProcessObject::classIndex
int classIndex
Holds the index for the object's class.
Definition: post_processor_struct.h:420
NvDsPostProcessObject::top
float top
Holds the object's offset from the top boundary of the frame.
Definition: post_processor_struct.h:414
NvDsPostProcessObjectDetectionInfo::width
float width
Holds the width of the object's bounding box.
Definition: post_processor_struct.h:341
NvDsPostProcessDetectionParams::eps
float eps
Holds the epsilon to control merging of overlapping boxes.
Definition: post_processor_struct.h:230
_NvDsPostProcessContextInitParams::numDetectedClasses
unsigned int numDetectedClasses
Holds the number of classes detected by a detector network.
Definition: post_processor_struct.h:283
_NvDsPostProcessContextInitParams::perClassDetectionParams
NvDsPostProcessDetectionParams * perClassDetectionParams
Holds per-class detection parameters.
Definition: post_processor_struct.h:287
NvDsPostProcessFrameOutput::bodyPoseOutput
NvDsPostProcessBodyPoseOutput bodyPoseOutput
Holds classifier output.
Definition: post_processor_struct.h:529
_NvDsPostProcessObjectHistory::cached_info
NvDsPostProcessObjectInfo cached_info
Cached object information.
Definition: post_processor_struct.h:620
NvDsPostProcessBodyPoseOutput::data
float * data
Definition: post_processor_struct.h:501
NvDsPostProcessObjectInfo
Holds the cached information of an object.
Definition: post_processor_struct.h:586
NvDsPostProcessClassificationOutput::label
char * label
Holds a pointer to a string containing a label for the classified output.
Definition: post_processor_struct.h:461
NvDsPostProcessDetectionFilterParams::detectionMinWidth
unsigned int detectionMinWidth
Definition: post_processor_struct.h:147
_NvDsPostProcessContextInitParams::uniqueID
unsigned int uniqueID
Holds a unique identifier for the instance.
Definition: post_processor_struct.h:266
NvDsPostProcessDetectionOutput
Holds information on all objects detected by a detector network in one frame.
Definition: post_processor_struct.h:439
NVDSPOSTPROCESS_CLUSTER_NONE
@ NVDSPOSTPROCESS_CLUSTER_NONE
Definition: post_processor_struct.h:175
NvDsPostProcessObjectDetectionInfo::top
float top
Holds the vertical offset of the object's bounding box.
Definition: post_processor_struct.h:339
NvDsPostProcessStatus
NvDsPostProcessStatus
Enum for the status codes returned by NvDsPostProcessAlgorithm.
Definition: post_processor_struct.h:84
DEFAULT_DBSCAN_MIN_SCORE
constexpr float DEFAULT_DBSCAN_MIN_SCORE
Definition: post_processor_struct.h:73
NvDsPostProcessColorParams::have_border_color
int have_border_color
Definition: post_processor_struct.h:158
NvDsPostProcessObject::mask_height
unsigned int mask_height
Holds height of mask.
Definition: post_processor_struct.h:430
NvDsPostProcessInstanceMaskInfo
Holds information about one parsed object and instance mask from a detector's output.
Definition: post_processor_struct.h:378
NVDSPOSTPROCESS_OUTPUT_PARSING_FAILED
@ NVDSPOSTPROCESS_OUTPUT_PARSING_FAILED
Output parsing failed.
Definition: post_processor_struct.h:95
NvDsPostProcessDetectionParams::detectionMinWidth
unsigned int detectionMinWidth
Definition: post_processor_struct.h:249
NvDsPostProcessInstanceMaskInfo::mask
float * mask
Holds object segment mask.
Definition: post_processor_struct.h:397
NvDsPostProcessObject::mask
float * mask
Definition: post_processor_struct.h:426
NVDSPOSTPROCESS_CLUSTER_DBSCAN_NMS_HYBRID
@ NVDSPOSTPROCESS_CLUSTER_DBSCAN_NMS_HYBRID
Definition: post_processor_struct.h:174
NvDsPoint3f::y
float y
Definition: post_processor_struct.h:486
safeStr
const char * safeStr(const std::string &str)
Definition: post_processor_struct.h:59
NvDsPostProcessColorParams
Holds the bounding box coloring information for one class;.
Definition: post_processor_struct.h:156
NvDsPostProcessTensorOrder_kNCHW
@ NvDsPostProcessTensorOrder_kNCHW
Definition: post_processor_struct.h:182
DEFAULT_GROUP_THRESHOLD
constexpr int DEFAULT_GROUP_THRESHOLD
Definition: post_processor_struct.h:71
PROCESS_MODEL_OBJECTS
constexpr int PROCESS_MODEL_OBJECTS
Definition: post_processor_struct.h:79
NvDsPostProcessDetectionFilterParams
Definition: post_processor_struct.h:143
NvDsPostProcessDetectionParams::nmsIOUThreshold
float nmsIOUThreshold
IOU threshold to be used with NMS mode of clustering.
Definition: post_processor_struct.h:242
NvDsPostProcessSegmentationOutput::class_map
int * class_map
Holds a pointer to an array for the 2D pixel class map.
Definition: post_processor_struct.h:477
NvDsPostProcessAttribute::attributeLabel
char * attributeLabel
Holds a pointer to a string containing the attribute's label.
Definition: post_processor_struct.h:366
NvDsPostProcessBatchOutput::numHostBuffers
unsigned int numHostBuffers
Holds the number of elements in hostBuffers.
Definition: post_processor_struct.h:554
NvDsPostProcessObject::confidence
float confidence
Definition: post_processor_struct.h:424
NvDsPostProcessInstanceMaskInfo::top
float top
Holds the vertical offset of the object's bounding box.
Definition: post_processor_struct.h:386
_NvDsPostProcessObjectHistory::last_inferred_frame_num
unsigned long last_inferred_frame_num
Number of the frame in the stream when the object was last inferred on.
Definition: post_processor_struct.h:614
NvDsPostProcessInstanceMaskInfo::detectionConfidence
float detectionConfidence
Holds the object detection confidence level; must in the range [0.0,1.0].
Definition: post_processor_struct.h:394
NvDsPostProcessColorParams::have_bg_color
int have_bg_color
Definition: post_processor_struct.h:161
NvDsPostProcessAttribute::attributeConfidence
float attributeConfidence
Holds the attribute's confidence level.
Definition: post_processor_struct.h:362
_NvDsPostProcessContextInitParams::segmentationThreshold
float segmentationThreshold
Definition: post_processor_struct.h:293
NVDSPOSTPROCESS_CUSTOM_LIB_FAILED
@ NVDSPOSTPROCESS_CUSTOM_LIB_FAILED
Custom Library interface implementation failed.
Definition: post_processor_struct.h:91
NvDsPostProcessBodyPoseOutput::height
unsigned int height
Holds the height of the output.
Definition: post_processor_struct.h:498
NVDSPOSTPROCESS_CLUSTER_DBSCAN
@ NVDSPOSTPROCESS_CLUSTER_DBSCAN
Definition: post_processor_struct.h:172
NvDsPostProcessObject::label
char * label
Holds a pointer to a string containing a label for the object.
Definition: post_processor_struct.h:422
_NvDsPostProcessContextInitParams::gpuID
unsigned int gpuID
Holds the ID of the GPU which is to run the inference.
Definition: post_processor_struct.h:301
NvDsPostProcessFrameOutput::outputType
NvDsPostProcessNetworkType outputType
Holds an output type indicating the valid member in the union of detectionOutput, classificationOutpu...
Definition: post_processor_struct.h:513
NvDsPostProcessDetectionParams::postClusterThreshold
float postClusterThreshold
Hold the bounding box detection threshold to be applied post clustering operation.
Definition: post_processor_struct.h:226
DEFAULT_PRE_CLUSTER_THRESHOLD
constexpr float DEFAULT_PRE_CLUSTER_THRESHOLD
Definition: post_processor_struct.h:68
NvDsPostProcessClusterMode
NvDsPostProcessClusterMode
Enum for clustering mode for detectors.
Definition: post_processor_struct.h:169
NvDsPostProcessInstanceMaskInfo::width
float width
Holds the width of the object's bounding box.
Definition: post_processor_struct.h:388
NvDsPostProcessNetworkType_Detector
@ NvDsPostProcessNetworkType_Detector
Specifies a detector.
Definition: post_processor_struct.h:195
_NvDsPostProcessObjectHistory::last_accessed_frame_num
unsigned long last_accessed_frame_num
Number of the frame in the stream when the object was last accessed.
Definition: post_processor_struct.h:618
NvDsPoint3f
struct NvDsPoint3f NvDsPoint3f
NvDsPostProcessDetectionOutput::objects
NvDsPostProcessObject * objects
Holds a pointer to an array of objects.
Definition: post_processor_struct.h:442
_NvDsPostProcessContextInitParams
Holds the initialization parameters required for the NvDsPostProcessContext interface.
Definition: post_processor_struct.h:262
_NvDsPostProcessContextInitParams::customClassifierParseFuncName
char customClassifierParseFuncName[_MAX_STR_LENGTH]
Name of the custom classifier attribute parsing function in the custom library.
Definition: post_processor_struct.h:318
NVDSPOSTPROCESS_CLUSTER_GROUP_RECTANGLES
@ NVDSPOSTPROCESS_CLUSTER_GROUP_RECTANGLES
Definition: post_processor_struct.h:171
NvDsPostProcessDetectionParams::roiTopOffset
unsigned int roiTopOffset
Definition: post_processor_struct.h:247
NvDsPostProcessObjectDetectionInfo::left
float left
Holds the horizontal offset of the bounding box shape for the object.
Definition: post_processor_struct.h:337
NvDsPostProcessFrameOutput
Holds the information inferred by the network on one frame.
Definition: post_processor_struct.h:508
NVDSPOSTPROCESS_INVALID_PARAMS
@ NVDSPOSTPROCESS_INVALID_PARAMS
Invalid parameters were supplied.
Definition: post_processor_struct.h:93
NvDsPostProcessBatchOutput::outputDeviceBuffers
void ** outputDeviceBuffers
Holds a pointer to an array of pointers to output device buffers for this batch.
Definition: post_processor_struct.h:546
NvDsPostProcessObject::mask_size
unsigned int mask_size
Holds size of mask in bytes.
Definition: post_processor_struct.h:432
_NvDsPostProcessContextInitParams::classifier_type
char * classifier_type
Definition: post_processor_struct.h:323
NvDsPostProcessBodyPoseOutput::num_key_points
unsigned int num_key_points
Definition: post_processor_struct.h:500
NVDSPOSTPROCESS_LOG_ERROR
@ NVDSPOSTPROCESS_LOG_ERROR
Definition: post_processor_struct.h:106
NvDsInferDimsCHW
Holds the dimensions of a three-dimensional layer.
Definition: nvdsinfer.h:59
ATHR_ENABLED
constexpr bool ATHR_ENABLED
Definition: post_processor_struct.h:76
_NvDsPostProcessContextInitParams::networkType
NvDsPostProcessNetworkType networkType
Holds the network type.
Definition: post_processor_struct.h:280
NvDsPostProcessNetworkType_Segmentation
@ NvDsPostProcessNetworkType_Segmentation
Specifies a segmentation network.
Definition: post_processor_struct.h:201
NvDsPostProcessDetectionOutput::numObjects
unsigned int numObjects
Holds the number of objects in objects.
Definition: post_processor_struct.h:444
NvDsPostProcessDetectionParams::preClusterThreshold
float preClusterThreshold
Holds the bounding box detection threshold to be applied prior to clustering operation.
Definition: post_processor_struct.h:222
NvDsPostProcessDetectionParams::detectionMaxWidth
unsigned int detectionMaxWidth
Definition: post_processor_struct.h:251
NvDsPostProcessTensorOrder_kNHWC
@ NvDsPostProcessTensorOrder_kNHWC
Definition: post_processor_struct.h:183
_NvDsPostProcessContextInitParams::outputLayerNames
char ** outputLayerNames
Holds a pointer to an array of pointers to output layer names.
Definition: post_processor_struct.h:296
NvDsPostProcesLogLevel
NvDsPostProcesLogLevel
Definition: post_processor_struct.h:105
_NvDsPostProcessContextInitParams::segmentationOutputOrder
NvDsPostProcessTensorOrder segmentationOutputOrder
Holds output order for segmentation network.
Definition: post_processor_struct.h:321
NvDsPostProcessSegmentationOutput
Holds information parsed from segmentation network output for one frame.
Definition: post_processor_struct.h:467
ATHR_THRESHOLD
constexpr float ATHR_THRESHOLD
Definition: post_processor_struct.h:77
NvDsPostProcessInstanceMaskInfo::mask_size
unsigned int mask_size
Holds size of mask in bytes.
Definition: post_processor_struct.h:403
NvDsPostProcessBatchOutput
Holds the output for all of the frames in a batch (an array of frame), and related buffer information...
Definition: post_processor_struct.h:537
NvDsPostProcessBodyPoseOutput
Holds information parsed from bodypose network output for one frame.
Definition: post_processor_struct.h:493
_PATH_MAX
#define _PATH_MAX
Definition: post_processor_struct.h:37
DEFAULT_TOP_K
constexpr int DEFAULT_TOP_K
Definition: post_processor_struct.h:75
NvDsPostProcessDetectionParams::groupThreshold
int groupThreshold
Holds the minimum number boxes in a cluster to be considered an object during grouping using OpenCV g...
Definition: post_processor_struct.h:236
NvDsPostProcessClassificationOutput::numAttributes
unsigned int numAttributes
Holds the size of the attributes array.
Definition: post_processor_struct.h:458
NvDsPostProcessDetectionFilterParams::detectionMaxWidth
unsigned int detectionMaxWidth
Definition: post_processor_struct.h:149
NvDsPostProcessInstanceMaskInfo::mask_height
unsigned int mask_height
Holds height of mask.
Definition: post_processor_struct.h:401
NvDsPostProcessDetectionParams::roiBottomOffset
unsigned int roiBottomOffset
Definition: post_processor_struct.h:248
_NvDsPostProcessContextInitParams::maxBatchSize
unsigned int maxBatchSize
Holds the maximum number of frames to be inferred together in a batch.
Definition: post_processor_struct.h:271
NvDsPostProcessNetworkType_BodyPose
@ NvDsPostProcessNetworkType_BodyPose
Bodypose 3D.
Definition: post_processor_struct.h:207
NVDSPOSTPROCESS_UNKNOWN_ERROR
@ NVDSPOSTPROCESS_UNKNOWN_ERROR
Unknown error was encountered.
Definition: post_processor_struct.h:101
_NvDsPostProcessContextInitParams::preprocessor_support
gboolean preprocessor_support
Holds boolean value to show whether preprocessor support is there.
Definition: post_processor_struct.h:325
NvDsPostProcessTensorOrder
NvDsPostProcessTensorOrder
Defines UFF layer orders.
Definition: post_processor_struct.h:181
NvDsPostProcessObject::mask_width
unsigned int mask_width
Holds width of mask.
Definition: post_processor_struct.h:428
NVDSPOSTPROCESS_LOG_WARNING
@ NVDSPOSTPROCESS_LOG_WARNING
Definition: post_processor_struct.h:107
NvDsPostProcessSegmentationOutput::height
unsigned int height
Holds the height of the output.
Definition: post_processor_struct.h:472
NvDsPostProcessFrameOutput::classificationOutput
NvDsPostProcessClassificationOutput classificationOutput
Holds classifier output.
Definition: post_processor_struct.h:523
_NvOSD_ColorParams
Holds the color parameters of the box or text to be overlayed.
Definition: nvll_osd_struct.h:81
NvDsPostProcessColorParams::border_color
NvOSD_ColorParams border_color
Definition: post_processor_struct.h:159
_NvDsPostProcessObjectHistory
Holds the inference information/history for one object based on it's tracking id.
Definition: post_processor_struct.h:607
NvDsPostProcessObject::height
float height
Holds the object's height.
Definition: post_processor_struct.h:418
PROCESS_MODEL_FULL_FRAME
constexpr int PROCESS_MODEL_FULL_FRAME
Definition: post_processor_struct.h:78
NvDsPostProcessTensorOrder_kNC
@ NvDsPostProcessTensorOrder_kNC
Definition: post_processor_struct.h:184
NvDsPostProcessDetectionParams::minBoxes
int minBoxes
Holds the minimum number of boxes in a cluster to be considered an object during grouping using DBSCA...
Definition: post_processor_struct.h:233
NvDsPostProcessFrameOutput::segmentationOutput
NvDsPostProcessSegmentationOutput segmentationOutput
Holds classifier output.
Definition: post_processor_struct.h:526
NvDsPostProcessDetectionFilterParams::detectionMinHeight
unsigned int detectionMinHeight
Definition: post_processor_struct.h:148
NvDsPostProcessParseDetectionParams::perClassPostclusterThreshold
std::vector< float > perClassPostclusterThreshold
Definition: post_processor_struct.h:580
NvDsPostProcessNetworkType_Classifier
@ NvDsPostProcessNetworkType_Classifier
Specifies a classifier.
Definition: post_processor_struct.h:198
_NvDsPostProcessContextInitParams::customBBoxParseFuncName
char customBBoxParseFuncName[_MAX_STR_LENGTH]
Holds the name of the custom bounding box function in the custom library.
Definition: post_processor_struct.h:315
NvDsPostProcessAttribute::attributeIndex
unsigned int attributeIndex
Holds the index of the attribute's label.
Definition: post_processor_struct.h:358
NvDsPostProcessObjectHistory
struct _NvDsPostProcessObjectHistory NvDsPostProcessObjectHistory
Holds the inference information/history for one object based on it's tracking id.
NvDsPostProcessClassificationOutput::attributes
NvDsPostProcessAttribute * attributes
Holds a pointer to an array of attributes.
Definition: post_processor_struct.h:456
NvDsPoint3f::z
float z
Definition: post_processor_struct.h:487
NvDsPostProcessDetectionFilterParams::roiTopOffset
unsigned int roiTopOffset
Definition: post_processor_struct.h:145
NvDsPostProcessObject::left
float left
Holds the object's offset from the left boundary of the frame.
Definition: post_processor_struct.h:412
NVDSPOSTPROCESS_LOG_INFO
@ NVDSPOSTPROCESS_LOG_INFO
Definition: post_processor_struct.h:108
NVDSPOSTPROCESS_RESOURCE_ERROR
@ NVDSPOSTPROCESS_RESOURCE_ERROR
Resource error was encountered.
Definition: post_processor_struct.h:99
NvDsPostProcessDetectionParams::topK
int topK
Number of objects with objects to be filtered in the decensding order of probability.
Definition: post_processor_struct.h:245
NvDsPostProcessClassificationOutput
Holds information on all attributes classifed by a classifier network for one frame.
Definition: post_processor_struct.h:451
NvDsPostProcessDetectionParams::minScore
float minScore
Minimum score in a cluster for the cluster to be considered an object during grouping.
Definition: post_processor_struct.h:240
NvDsPostProcessObjectDetectionInfo::height
float height
Holds the height of the object's bounding box.
Definition: post_processor_struct.h:343
NvDsPostProcessSegmentationOutput::class_probability_map
float * class_probability_map
Holds a pointer to an array containing raw probabilities.
Definition: post_processor_struct.h:481
NvDsPostProcessObjectInfo::NvDsPostProcessObjectInfo
NvDsPostProcessObjectInfo()=default
NvDsPostProcessNetworkType_Other
@ NvDsPostProcessNetworkType_Other
Specifies other.
Definition: post_processor_struct.h:212
NvDsPostProcessFrameOutput::detectionOutput
NvDsPostProcessDetectionOutput detectionOutput
Holds detector output.
Definition: post_processor_struct.h:520
NvDsPostProcessParseDetectionParams::numClassesConfigured
unsigned int numClassesConfigured
Holds the number of classes requested to be parsed, starting with class ID 0.
Definition: post_processor_struct.h:572
NvDsPostProcessObjectDetectionInfo::classId
unsigned int classId
Holds the ID of the class to which the object belongs.
Definition: post_processor_struct.h:334
NvDsPostProcessBodyPoseOutput::width
unsigned int width
Holds the width of the output.
Definition: post_processor_struct.h:496
_NvDsPostProcessContextInitParams::numOutputLayers
unsigned int numOutputLayers
Holds the number of output layer names.
Definition: post_processor_struct.h:298
NVDSPOSTPROCESS_CLUSTER_NMS
@ NVDSPOSTPROCESS_CLUSTER_NMS
Definition: post_processor_struct.h:173
NVDSPOSTPROCESS_CONFIG_FAILED
@ NVDSPOSTPROCESS_CONFIG_FAILED
Failed to configure the instance possibly due to an erroneous initialization property.
Definition: post_processor_struct.h:89
NvDsPoint3f
Definition: post_processor_struct.h:484
NVDSPOSTPROCESS_LOG_DEBUG
@ NVDSPOSTPROCESS_LOG_DEBUG
Definition: post_processor_struct.h:109
NvDsPostProcessSegmentationOutput::classes
unsigned int classes
Holds the number of classes supported by the network.
Definition: post_processor_struct.h:474
NvDsPostProcessParseDetectionParams
Holds the detection parameters required for parsing objects.
Definition: post_processor_struct.h:567
_NvDsPostProcessObjectHistory::last_inferred_coords
NvOSD_RectParams last_inferred_coords
Bounding box co-ordinates of the object when it was last inferred on.
Definition: post_processor_struct.h:612
_MAX_STR_LENGTH
#define _MAX_STR_LENGTH
Definition: post_processor_struct.h:38
NvDsPostProcessNetworkType_InstanceSegmentation
@ NvDsPostProcessNetworkType_InstanceSegmentation
Specifies a instance segmentation network.
Definition: post_processor_struct.h:205
string_empty
bool string_empty(const char *str)
Definition: post_processor_struct.h:64
DEFAULT_NMS_IOU_THRESHOLD
constexpr float DEFAULT_NMS_IOU_THRESHOLD
Definition: post_processor_struct.h:74
NvDsPostProcessObject::width
float width
Holds the object's width.
Definition: post_processor_struct.h:416
NVDSPOSTPROCESS_CUDA_ERROR
@ NVDSPOSTPROCESS_CUDA_ERROR
CUDA error was encountered.
Definition: post_processor_struct.h:97